test.cpp 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. // test.cpp : 定义控制台应用程序的入口点。
  2. //
  3. #include "stdafx.h"
  4. #include "test.h"
  5. #ifdef _DEBUG
  6. #define new DEBUG_NEW
  7. #endif
  8. // 唯一的应用程序对象
  9. CWinApp theApp;
  10. using namespace std;
  11. int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
  12. {
  13. int nRetCode = 0;
  14. // 初始化 MFC 并在失败时显示错误
  15. if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
  16. {
  17. // TODO: 更改错误代码以符合您的需要
  18. _tprintf(_T("错误: MFC 初始化失败\n"));
  19. nRetCode = 1;
  20. }
  21. else
  22. {
  23. std::string bid = "DXM1900259";
  24. // 0、初始化环境;
  25. if ( !ScbcInit(bid.c_str()) )
  26. {
  27. printf("初始化失败\n");
  28. return -1;
  29. }
  30. // 1、查询订单是否已下载成功;
  31. int nRet = QueryMidInfo(bid.c_str());
  32. printf("QueryMidInfo:%d\n", nRet);
  33. if ( nRet != 2 )
  34. {
  35. printf("订单未下载成功,开始下载\n");
  36. // 未下载成功,开始后台下载;
  37. nRet = DownloadMidData(bid.c_str());
  38. printf("DownloadMidData:%d\n", nRet);
  39. if ( nRet == 0 )
  40. {
  41. printf("该批次未导入系统,无法下载,程序退出\n");
  42. system("pause");
  43. exit(0);
  44. }
  45. }
  46. else
  47. printf("订单已下载\n");
  48. // 2、等待下载成功;
  49. while ( nRet != 2 )
  50. {
  51. nRet = QueryMidInfo(bid.c_str());
  52. printf("QueryMidInfo:%d\n", nRet);
  53. if ( nRet == 2 )
  54. {
  55. printf("查询订单已下载成功\n");
  56. }
  57. Sleep(1000);
  58. }
  59. std::string sn = "TEST-TONY-5588";
  60. // 3、获取指定sn的keys,用于抄写key;
  61. SNKeys keys;
  62. nRet = QueryKeyInfo(sn.c_str(), keys);
  63. printf("QueryKeyInfo:%d\n", nRet);
  64. // 4、抄写成功后,保存抄写结果;
  65. if ( true )
  66. {
  67. nRet = UpdateKeyCopyStatus(sn.c_str());
  68. printf("UpdateKeyCopyStatus:%d\n", nRet);
  69. }
  70. // 5、单个sn抄写结果上报;
  71. nRet = ReportKeyCopyResults(sn.c_str());
  72. printf("ReportKeyCopyResults:%d, %s\n", nRet, nRet == 1 ? "上报成功" : "上报失败");
  73. if ( nRet == -8 )
  74. {
  75. nRet = UpdateKeyReportStatus(sn.c_str());
  76. printf("UpdateKeyReportStatus:%d\n", nRet);
  77. }
  78. // 6、1000个sn抄写结果上报;
  79. nRet = BatchReportKeyCopyResults();
  80. printf("BatchReportKeyCopyResults:%d, %s\n", nRet, nRet == 1 ? "上报成功" : "上报失败");
  81. // 7、查询应下载sn数量、实际下载sn数据、抄写成功sn数量、上报成功sn数量;
  82. BidInfo binfo;
  83. nRet = QueryBidInfo(bid.c_str(), binfo);
  84. printf("QueryBidInfo:%d\n", nRet, nRet == 1 ? "查询成功": "查询失败");
  85. // 8、删除批次相关表数据(全部表数量)
  86. //nRet = RemoveBidData(bid.c_str());
  87. //printf("RemoveBidData:%d\n", nRet);
  88. }
  89. system("pause");
  90. return nRetCode;
  91. }