RunHttpGet_getIsMaterialsLoanExceptionPage.cpp 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. #include "RunHttpGet_getIsMaterialsLoanExceptionPage.h"
  2. #include "InteractiveData.h"
  3. RunHttpGet_getIsMaterialsLoanExceptionPage::RunHttpGet_getIsMaterialsLoanExceptionPage(InteractiveTask *task, QMutex *mutex)
  4. : RunAbstract(task, mutex)
  5. {
  6. }
  7. void RunHttpGet_getIsMaterialsLoanExceptionPage::http_get_getIsMaterialsLoanExceptionPage()
  8. {
  9. QByteArray outData = InteractiveHttp::http_get_getIsMaterialsLoanExceptionPage();
  10. InteractiveData *pSingletonData = SINGLETON_CREATE(InteractiveData)();
  11. // 进行数据写操作
  12. QWriteLocker locker(&pSingletonData->m_dataCacheLock);
  13. // 如果数据发生改变,缓存信息
  14. if (pSingletonData->m_jsonCacheMaterialsLoanExceptionInfo != outData)
  15. {
  16. pSingletonData->m_jsonCacheMaterialsLoanExceptionInfo = outData;
  17. // 物资信息清理数据缓存
  18. pSingletonData->m_dataCacheMaterialLoadRfid.clear();
  19. pSingletonData->m_dataCacheMaterialLoanName.clear();
  20. // pSingletonData->m_dataCacheMaterialLoanRfid.clear();
  21. pSingletonData->m_dataCacheMaterialLoanTypeIcon.clear();
  22. pSingletonData->m_dataCacheMaterialLoanTypePicture.clear();
  23. QJsonParseError error;
  24. QJsonDocument jsonDoc = QJsonDocument::fromJson(outData, &error);
  25. if (error.error == QJsonParseError::NoError)
  26. {
  27. if(!(jsonDoc.isNull() || jsonDoc.isEmpty()))
  28. {
  29. QJsonObject jsonObjRoot = jsonDoc.object();
  30. if(jsonObjRoot.contains("code") && jsonObjRoot.contains("data"))
  31. {
  32. if (jsonObjRoot.value("code").toInt() == 200 && jsonObjRoot.value("data").isObject())
  33. {
  34. QJsonObject jsonObjData = jsonObjRoot.value("data").toObject();
  35. if (jsonObjData.contains("records") && jsonObjData.value("records").isArray())
  36. {
  37. QJsonArray jsonArrRecords = jsonObjData.value("records").toArray();
  38. for (int i = 0; i < jsonArrRecords.size(); ++i)
  39. {
  40. if (!jsonArrRecords.at(i).isObject())
  41. {
  42. continue;
  43. }
  44. QJsonObject jsonObjRecords = jsonArrRecords.at(i).toObject();
  45. // QString materialsId = jsonObjRecords.value("materialsId").toString();
  46. QString materialsName = jsonObjRecords.value("materialsName").toString();
  47. QString materialsRfid = jsonObjRecords.value("materialsRfid").toString();
  48. QString materialsTypeIcon = jsonObjRecords.value("materialsTypeIcon").toString();
  49. QString materialsTypePicture = jsonObjRecords.value("materialsTypePicture").toString();
  50. if (!pSingletonData->m_dataCacheMaterialLoadRfid.contains(materialsRfid) && materialsRfid != "")
  51. {
  52. pSingletonData->m_dataCacheMaterialLoadRfid.append(materialsRfid);
  53. pSingletonData->m_dataCacheMaterialLoanName.insert(materialsRfid, materialsName);
  54. // pSingletonData->m_dataCacheMaterialLoanRfid.insert(materialsId, materialsRfid);
  55. pSingletonData->m_dataCacheMaterialLoanTypeIcon.insert(materialsRfid, materialsTypeIcon);
  56. pSingletonData->m_dataCacheMaterialLoanTypePicture.insert(materialsRfid, materialsTypePicture);
  57. }
  58. }
  59. }
  60. }
  61. }
  62. }
  63. }
  64. }
  65. }
  66. void RunHttpGet_getIsMaterialsLoanExceptionPage::run()
  67. {
  68. QByteArray outData = InteractiveHttp::http_get_getIsMaterialsLoanExceptionPage();
  69. InteractiveData *pSingletonData = SINGLETON_CREATE(InteractiveData)();
  70. // 进行数据写操作
  71. QWriteLocker locker(&pSingletonData->m_dataCacheLock);
  72. // 如果数据发生改变,缓存信息
  73. if (pSingletonData->m_jsonCacheMaterialsLoanExceptionInfo != outData)
  74. {
  75. pSingletonData->m_jsonCacheMaterialsLoanExceptionInfo = outData;
  76. // 物资信息清理数据缓存
  77. pSingletonData->m_dataCacheMaterialLoadRfid.clear();
  78. pSingletonData->m_dataCacheMaterialLoanName.clear();
  79. // pSingletonData->m_dataCacheMaterialLoanRfid.clear();
  80. pSingletonData->m_dataCacheMaterialLoanTypeIcon.clear();
  81. pSingletonData->m_dataCacheMaterialLoanTypePicture.clear();
  82. QJsonParseError error;
  83. QJsonDocument jsonDoc = QJsonDocument::fromJson(outData, &error);
  84. if (error.error == QJsonParseError::NoError)
  85. {
  86. if(!(jsonDoc.isNull() || jsonDoc.isEmpty()))
  87. {
  88. QJsonObject jsonObjRoot = jsonDoc.object();
  89. if(jsonObjRoot.contains("code") && jsonObjRoot.contains("data"))
  90. {
  91. if (jsonObjRoot.value("code").toInt() == 200 && jsonObjRoot.value("data").isObject())
  92. {
  93. QJsonObject jsonObjData = jsonObjRoot.value("data").toObject();
  94. if (jsonObjData.contains("records") && jsonObjData.value("records").isArray())
  95. {
  96. QJsonArray jsonArrRecords = jsonObjData.value("records").toArray();
  97. for (int i = 0; i < jsonArrRecords.size(); ++i)
  98. {
  99. if (!jsonArrRecords.at(i).isObject())
  100. {
  101. continue;
  102. }
  103. QJsonObject jsonObjRecords = jsonArrRecords.at(i).toObject();
  104. // QString materialsId = jsonObjRecords.value("materialsId").toString();
  105. QString materialsName = jsonObjRecords.value("materialsName").toString();
  106. QString materialsRfid = jsonObjRecords.value("materialsRfid").toString();
  107. QString materialsTypeIcon = jsonObjRecords.value("materialsTypeIcon").toString();
  108. QString materialsTypePicture = jsonObjRecords.value("materialsTypePicture").toString();
  109. if (!pSingletonData->m_dataCacheMaterialLoadRfid.contains(materialsRfid) && materialsRfid != "")
  110. {
  111. pSingletonData->m_dataCacheMaterialLoadRfid.append(materialsRfid);
  112. pSingletonData->m_dataCacheMaterialLoanName.insert(materialsRfid, materialsName);
  113. // pSingletonData->m_dataCacheMaterialLoanRfid.insert(materialsId, materialsRfid);
  114. pSingletonData->m_dataCacheMaterialLoanTypeIcon.insert(materialsRfid, materialsTypeIcon);
  115. pSingletonData->m_dataCacheMaterialLoanTypePicture.insert(materialsRfid, materialsTypePicture);
  116. }
  117. }
  118. }
  119. }
  120. }
  121. }
  122. }
  123. }
  124. }