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