test.cpp 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  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. int i = 10000;
  31. while(i--){
  32. printf("\n\n******************No.%ld******************\n", i);
  33. // 1、查询订单是否已下载成功;
  34. int nRet = QueryMidInfo(bid.c_str());
  35. printf("QueryMidInfo:%d\n", nRet);
  36. if ( nRet != 2 )
  37. {
  38. printf("订单未下载成功,开始下载\n");
  39. // 未下载成功,开始后台下载;
  40. nRet = DownloadMidData(bid.c_str());
  41. printf("DownloadMidData:%d\n", nRet);
  42. if ( nRet == 0 )
  43. {
  44. printf("该批次未导入系统,无法下载,程序退出\n");
  45. continue;
  46. }
  47. }
  48. else
  49. printf("订单已下载\n");
  50. // 2、等待下载成功;
  51. while ( nRet != 2 )
  52. {
  53. nRet = QueryMidInfo(bid.c_str());
  54. printf("QueryMidInfo:%d\n", nRet);
  55. if ( nRet == 2 )
  56. {
  57. printf("查询订单已下载成功\n");
  58. }
  59. Sleep(1000);
  60. }
  61. std::string sn = "TEST-TONY-5588";
  62. // 3、获取指定sn的keys,用于抄写key;
  63. SNKeys keys;
  64. nRet = QueryKeyInfo(sn.c_str(), keys);
  65. printf("QueryKeyInfo:%d\n", nRet);
  66. // 4、抄写成功后,保存抄写结果;
  67. if ( true )
  68. {
  69. nRet = UpdateKeyCopyStatus(sn.c_str());
  70. printf("UpdateKeyCopyStatus:%d\n", nRet);
  71. }
  72. // 5、单个sn抄写结果上报;
  73. nRet = ReportKeyCopyResults(sn.c_str());
  74. printf("ReportKeyCopyResults:%d, %s\n", nRet, nRet == 1 ? "上报成功" : "上报失败");
  75. if ( nRet == -8 )
  76. {
  77. nRet = UpdateKeyReportStatus(sn.c_str());
  78. printf("UpdateKeyReportStatus:%d\n", nRet);
  79. }
  80. // 6、1000个sn抄写结果上报;
  81. nRet = BatchReportKeyCopyResults();
  82. printf("BatchReportKeyCopyResults:%d, %s\n", nRet, nRet == 1 ? "上报成功" : "上报失败");
  83. // 7、查询应下载sn数量、实际下载sn数据、抄写成功sn数量、上报成功sn数量;
  84. BidInfo binfo;
  85. nRet = QueryBidInfo(bid.c_str(), binfo);
  86. printf("QueryBidInfo:%d\n", nRet, nRet == 1 ? "查询成功": "查询失败");
  87. // 8、删除批次相关表数据(全部表数量)
  88. nRet = RemoveBidData(bid.c_str());
  89. printf("RemoveBidData:%d\n", nRet);
  90. }
  91. }
  92. system("pause");
  93. return nRetCode;
  94. }