remotepackconfig.cpp 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. #include "remotepackconfig.h"
  2. #include "globalinfo.h"
  3. RemotePackConfig::RemotePackConfig(QObject *parent) : QObject(parent)
  4. {
  5. connect(&_request,&HttpRequest::result,this,&RemotePackConfig::result);
  6. }
  7. void RemotePackConfig::refConfig()
  8. {
  9. GlobalInfo * glo = GlobalInfo::this_();
  10. // _aid = QString::number(body["user_id"].toInt());
  11. // _token = body["access_token"].toString();
  12. _request.setUserToken(QString::number( glo->user().accountId) ,glo->user().acessToken);
  13. QString url = glo->config().baseUrl + "/v1/configuration";
  14. _request.get(url);
  15. }
  16. void RemotePackConfig::result(int code, const QJsonObject & body)
  17. {
  18. int ecode = body.value("code").toInt(404);
  19. if(ecode != 200){
  20. emit configUpdateError(ecode,body.value("message").toString(""));
  21. return;
  22. }
  23. QJsonArray object = body.value("data").toArray();
  24. _config.jitai = getConfig(object, "A1000100");//机台
  25. _config.dangchegongbanci = getConfig(object, "A1000101");//挡车工班次
  26. _config.dabaogongbanci = getConfig(object, "A1000102");//机台
  27. _config.xiangzhong = getConfig(object, "A1000103");//箱重
  28. _config.tongzhong = getConfig(object, "A1000104");//筒重
  29. _config.guanse = getConfig(object, "A1000105");//管色
  30. _config.nianxiang = getConfig(object, "A1000106");//捻向
  31. _config.zhixiang = getConfig(object, "A1000107");//纸箱
  32. _config.mashu = getConfig(object, "A1000108");//码数
  33. _config.chezhong = getConfig(object, "A1000109");//车重
  34. _config.ganghao = getConfig(object, "A1000110");//缸号
  35. _config.xianghaoxianshiguize = getConfig(object, "A1000111");//箱号显示规则
  36. _config.dabaojiruku = getConfig(object, "A1000112");//打包即入库
  37. _config.dabaoriqishijianxianshifangshi = getConfig(object, "A100013");//打包日期时间显示方式
  38. emit configUpdate(_config);
  39. }
  40. QStringList RemotePackConfig::getConfig(const QJsonArray & data,const QString & key)
  41. {
  42. // QJsonArray data_array = data;
  43. QStringList list;
  44. int nSize = data.size();
  45. for (int i = 0; i < nSize; ++i) {
  46. QJsonValue data_content = data.at(i);
  47. if (data_content.isObject()) {
  48. QJsonObject data_object = data_content.toObject();
  49. if(data_object["key"]==key){
  50. QJsonValue value = data_object.value("value");
  51. if (value.isArray()) {
  52. QJsonArray value_array = value.toArray();
  53. int vSize = value_array.size();
  54. for(int i = 0; i < vSize; ++i){
  55. QJsonValue value_content = value_array.at(i);
  56. if(value_content.isObject()){
  57. QJsonObject value_object = value_content.toObject();
  58. QString option;
  59. if(value_object["value"].isString())
  60. {
  61. option = value_object["value"].toString();
  62. }
  63. if(value_object["value"].isDouble())
  64. {
  65. double mid_key = value_object["value"].toDouble();
  66. option = QString::number(mid_key);
  67. }
  68. list.append(option);
  69. }
  70. }
  71. }
  72. }
  73. }
  74. }
  75. return list;
  76. }