scbc.tools.h 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. // 下列 ifdef 块是创建使从 DLL 导出更简单的
  2. // 宏的标准方法。此 DLL 中的所有文件都是用命令行上定义的 SCBCTOOLS_EXPORTS
  3. // 符号编译的。在使用此 DLL 的
  4. // 任何其他项目上不应定义此符号。这样,源文件中包含此文件的任何其他项目都会将
  5. // SCBCTOOLS_API 函数视为是从 DLL 导入的,而此 DLL 则将用此宏定义的
  6. // 符号视为是被导出的。
  7. #ifdef SCBCTOOLS_EXPORTS
  8. #define SCBCTOOLS_API __declspec(dllexport)
  9. #else
  10. #define SCBCTOOLS_API __declspec(dllimport)
  11. #endif
  12. #include "TableInfo.h"
  13. /* 0
  14. 描述:使用批次号初始化https接口环境。
  15. DownloadMidData、ReportKeyCopyResults、BatchReportKeyCopyResults前调用;
  16. 参数:lpOrder 批次号;
  17. 返回:
  18. true成功;false失败;
  19. */
  20. extern SCBCTOOLS_API bool ScbcInit(const char* lpOrder);
  21. /* 1
  22. 描述:查询指定批次MID信息。
  23. 一般用于DownloadMidData调用后,查询是否下载成功;或者下载前,查询该批次是否已经在下载中;
  24. 参数:lpOrder 批次号;
  25. 返回:
  26. 0=表示该批次未下载过,不存在数据库中;
  27. 1=表示该批次已存在,但未下载完成,请调用DownloadMidData完成下载;
  28. 2=表示该批次已完成下载;
  29. 3=表示该批次下载失败(再次调用DownloadMidData可断点下载);
  30. -1=表示lpOrder参数空;
  31. -2=表示打开db失败;
  32. -3=表示查询批次出错;
  33. -4=表示数据异常;
  34. */
  35. extern SCBCTOOLS_API int QueryMidInfo(const char* lpOrder);
  36. /* 2
  37. 描述:下载指定批次MID数据;(后台线程下载),调用QueryMidInfo查询是否下载完成;
  38. 参数:lpOrder 批次号;
  39. 返回:
  40. 0=表示该批次不存在云服务器(批次信息未导入);
  41. 1=表示该批次在云服务器中存在,下载任务后台启动中;
  42. 2=表示该批次已完成下载;
  43. -1=表示lpOrder参数空;
  44. -2=表示打开db失败;
  45. -3=表示查询批次出错;
  46. -4=表示数据异常;
  47. -5=表示https网络请求失败;
  48. */
  49. extern SCBCTOOLS_API int DownloadMidData(const char* lpOrder);
  50. /* 3
  51. 描述:查询SN对应的Keys;
  52. 参数:
  53. lpSN 条码;
  54. lpKeys 返回的字符串,json数组格式;
  55. len lpkeys缓存区长度;
  56. 返回:
  57. 0=表示没有该sn,不存在数据库中;
  58. 1=表示获取sn绑定的keys成功;
  59. -1=表示lpSN参数空;
  60. -2=表示打开数据库失败;
  61. -3=表示查询SN出错;
  62. -4=表示数据异常;
  63. */
  64. extern SCBCTOOLS_API int QueryKeyInfo(const char* lpSN, SNKeys &snKeys);
  65. /* 4
  66. 描述:更新抄写状态;(在抄写key成功后调用该接口)
  67. 参数:lpSN 条码;
  68. 返回:
  69. 0=表示更新sn的抄写状态失败;
  70. 1=表示更新sn的抄写状态成功;
  71. -1=表示lpSN参数空;
  72. -2=表示打开数据库失败;
  73. */
  74. extern SCBCTOOLS_API int UpdateKeyCopyStatus(const char* lpSN);
  75. /* 5
  76. 描述:更新上报状态;(的UpdateKeyCopyStatus成功后调用)
  77. 参数:lpSN 条码;
  78. 返回:
  79. 0=表示更新sn的上报状态失败;
  80. 1=表示更新sn的上报状态成功;
  81. -1=表示lpSN参数空;
  82. -2=表示打开数据库失败;
  83. */
  84. extern SCBCTOOLS_API int UpdateKeyReportStatus(const char* lpSN);
  85. /* 6
  86. 描述:上报抄写结果;
  87. 参数:lpSN 条码;
  88. 返回:
  89. 0=表示在数据库中查询不到该sn的抄写信息,或者该sn未抄写成功;
  90. 1=表示上报抄写结果成功,且更新上报状态成功;
  91. -1=表示lpSN参数空;
  92. -2=表示打开db失败;
  93. -3=表示查询sn出错;
  94. -4=表示数据异常;
  95. -5=表示https网络请求失败;
  96. -6=表示解析https结果异常;
  97. -7=表示上报抄写结果失败;
  98. -8=表示上报抄写结果成功,但更新上报状态失败;此时,需调用UpdateKeyReportStatus更新上报状态;
  99. */
  100. extern SCBCTOOLS_API int ReportKeyCopyResults(const char* lpSN);
  101. /* 7
  102. 描述:批量上报抄写结果。从数据库查询出1000条未上报的sn进行上报;
  103. 参数:无;
  104. 返回:
  105. 0=表示在数据库中查询不到未上报的sn抄写信息,或者所有sn未抄写成功;
  106. 1=表示上报抄写结果成功,且更新上报状态成功;
  107. -1=表示lpSN参数空;
  108. -2=表示打开db失败;
  109. -3=表示查询sn出错;
  110. ////-4=表示数据异常;
  111. -5=表示https网络请求失败;
  112. -6=表示解析https结果异常;
  113. -7=表示上报抄写结果失败;
  114. -8=表示上报抄写结果成功,但批量更新上报状态失败;
  115. */
  116. extern SCBCTOOLS_API int BatchReportKeyCopyResults();
  117. /* 8
  118. 描述:查询批次信息:应下载sn数、实际下载sn数、抄写成功数量、上报成功数量;
  119. 参数:lpOrder 批次号; binfo 返回的bid信息;
  120. 返回:
  121. 0=表示订单不存在数据库中;
  122. 1=表示获取bid信息成功;
  123. -1=表示lpOrder参数空;
  124. -2=表示打开数据库失败;
  125. -3=表示查询订单出错;
  126. -4=表示数据异常;
  127. 注意:一般情况下,应下载数sn数量=实际下载sn数量;
  128. */
  129. extern SCBCTOOLS_API int QueryBidInfo(const char* lpOrder, BidInfo& binfo);
  130. /* 9
  131. 描述:删除批次相关的所有表数量;
  132. 参数:lpOrder 批次号;
  133. 返回:
  134. 0=表示删除失败;
  135. 1=表示删除成功;
  136. -1=表示lpOrder参数空;
  137. -2=表示打开数据库失败;
  138. */
  139. extern SCBCTOOLS_API int RemoveBidData(const char* lpOrder);