// test.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include "test.h" #ifdef _DEBUG #define new DEBUG_NEW #endif // 唯一的应用程序对象 CWinApp theApp; using namespace std; int _tmain(int argc, TCHAR* argv[], TCHAR* envp[]) { int nRetCode = 0; // 初始化 MFC 并在失败时显示错误 if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0)) { // TODO: 更改错误代码以符合您的需要 _tprintf(_T("错误: MFC 初始化失败\n")); nRetCode = 1; } else { std::string bid = "DXM1900259"; // 0、初始化环境; if ( !ScbcInit(bid.c_str()) ) { printf("初始化失败\n"); return -1; } // 测试1千次; int i = 1000; while(i--){ printf("\n\n******************No.%ld******************\n", i); // 1、查询订单是否已下载成功; int nRet = QueryMidInfo(bid.c_str()); printf("QueryMidInfo:%d\n", nRet); if ( nRet != 2 ) { printf("订单未下载成功,开始下载\n"); // 未下载成功,开始后台下载; nRet = DownloadMidData(bid.c_str()); printf("DownloadMidData:%d\n", nRet); if ( nRet == 0 ) { printf("该批次未导入系统,无法下载,程序退出\n"); continue; } } else printf("订单已下载\n"); // 2、等待下载成功; while ( nRet != 2 ) { nRet = QueryMidInfo(bid.c_str()); printf("QueryMidInfo:%d\n", nRet); if ( nRet == 2 ) { printf("查询订单已下载成功\n"); } Sleep(1000); } std::string sn = "TEST-TONY-5588"; // 3、获取指定sn的keys,用于抄写key; SNKeys keys; nRet = QueryKeyInfo(sn.c_str(), keys); printf("QueryKeyInfo:%d\n", nRet); // 4、抄写成功后,保存抄写结果; if ( true ) { nRet = UpdateKeyCopyStatus(sn.c_str()); printf("UpdateKeyCopyStatus:%d\n", nRet); } //Sleep(6000); // 5、单个sn抄写结果上报; nRet = ReportKeyCopyResults(sn.c_str()); printf("ReportKeyCopyResults:%d, %s\n", nRet, nRet == 1 ? "上报成功" : "上报失败"); if ( nRet == -8 ) { nRet = UpdateKeyReportStatus(sn.c_str()); printf("UpdateKeyReportStatus:%d\n", nRet); } // 6、1000个sn抄写结果上报; while((nRet = BatchReportKeyCopyResults()) == 1) printf("BatchReportKeyCopyResults:%d, %s\n", nRet, nRet == 1 ? "上报成功" : "上报失败"); // 7、查询应下载sn数量、实际下载sn数据、抄写成功sn数量、上报成功sn数量; BidInfo binfo; nRet = QueryBidInfo(bid.c_str(), binfo); printf("QueryBidInfo:%d\n", nRet, nRet == 1 ? "查询成功": "查询失败"); printf("15秒后,开始删除订单信息\n"); Sleep(15000); // 8、删除批次相关表数据(全部表数量) nRet = RemoveBidData(bid.c_str()); printf("RemoveBidData:%d\n", nRet); printf("删除订单信息成功\n"); } } system("pause"); return nRetCode; }