core.h 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. #ifndef CORE_H
  2. #define CORE_H
  3. #include <QObject>
  4. #include <QTimer>
  5. #include <QSqlDatabase>
  6. #include <QSqlQuery>
  7. #include <QVariant>
  8. #include <QDir>
  9. #include <QFileInfo>
  10. #include <QDateTime>
  11. #include <QFileInfoList>
  12. #include <QStringList>
  13. #include <QList>
  14. #include <QNetworkAccessManager>
  15. #include <QNetworkRequest>
  16. #include <QNetworkReply>
  17. #include <QUuid>
  18. #include "ytServiceShm.h"
  19. #include "QReplyTimeout.h"
  20. #include "wscenter.h"
  21. #include "logthread.h"
  22. #include "databasethread.h"
  23. class YpYwSyncRep {
  24. public:
  25. explicit YpYwSyncRep(int xh=0,QString id="",QString str=""){
  26. Xh = xh;
  27. Id = id;
  28. JsonStr = str;
  29. }
  30. int Xh;
  31. QString Id;
  32. QString JsonStr;
  33. };
  34. class SyncRep {
  35. public:
  36. explicit SyncRep(QString id="", QString str=""){
  37. Id = id;
  38. JsonStr = str;
  39. }
  40. QString Id;
  41. QString JsonStr;
  42. };
  43. class YPSyncDev{
  44. public:
  45. explicit YPSyncDev(int id=0, QString ownerName="", QString ownerCode="",QString unitinfo="",QString company="",int deviceType=0)
  46. {
  47. Id = id;
  48. OwnerName = ownerName;
  49. OwnerCode = ownerCode;
  50. Unitinfo = unitinfo;
  51. Company = company;
  52. DeviceType = deviceType;
  53. }
  54. int Id;
  55. QString OwnerName;
  56. QString OwnerCode;
  57. QString Unitinfo;
  58. QString Company;
  59. int DeviceType;
  60. };
  61. class XfzdSyncDev{
  62. public:
  63. explicit XfzdSyncDev(QString deviceCode="", QString deviceName="", QString descript="",int deviceType=0, QString deviceTypeName="", QString openProjectId="", int devtype=0, QString data="",QString port="",QString deviceFloor="")
  64. {
  65. DeviceCode = deviceCode;
  66. DeviceName = deviceName;
  67. Descript = descript;
  68. DeviceType = deviceType;
  69. DeviceTypeName = deviceTypeName;
  70. OpenProjectId= openProjectId;
  71. devCategory = devtype;
  72. Data = data;
  73. Port = port;
  74. DeviceFloor = deviceFloor;
  75. }
  76. QString DeviceCode;
  77. QString DeviceName;
  78. QString Descript;
  79. int DeviceType;
  80. QString DeviceTypeName;
  81. QString OpenProjectId;
  82. int devCategory;
  83. QString Data;
  84. QString Port;
  85. QString DeviceFloor;
  86. };
  87. class XfzdSyncRep {
  88. public:
  89. explicit XfzdSyncRep(int xh=0,QString id="", QString str="", int devcategory=0, QString devicecode=""){
  90. Xh = xh;
  91. Id = id;
  92. JsonStr = str;
  93. devCategory =devcategory;
  94. deviceCode = devicecode;
  95. }
  96. int Xh;
  97. int devCategory;
  98. QString Id;
  99. QString JsonStr;
  100. QString deviceCode;
  101. };
  102. class CnPno{
  103. public:
  104. explicit CnPno(QString name="", int pno=0, QString def=""){
  105. PName = name;
  106. Pno = pno;
  107. Default = def;
  108. }
  109. QString PName;
  110. int Pno;
  111. QString Default;
  112. };
  113. class Core : public QObject
  114. {
  115. Q_OBJECT
  116. public:
  117. explicit Core(QObject *parent = 0);
  118. ~Core();
  119. void start();
  120. bool chk_table(QString tablename, QStringList tables);
  121. void db_init();
  122. QList<CnPno> getPnoValue(QString pnoset);
  123. signals:
  124. public slots:
  125. void time_out();
  126. void SyncData(QString uuid, QString jsonstr);
  127. void companyAlarmChanged(QString companyCode);
  128. void finishedSlot(QNetworkReply *reply);
  129. void reply_timeout();
  130. void appendLog(QString log);
  131. void needSync(QString deviceCode);
  132. void XfzdSyncData(int xh,QString uuid, QString jsonstr, int devCategory, QString deviceCode);
  133. void finishedSlot9(QNetworkReply *reply);
  134. void reply_timeout9();
  135. private:
  136. QSqlDatabase db,mdb;
  137. time_t lhworktime,work_time,xfzdworktime,lhworktime1;
  138. int hour,hour1,minute;
  139. bool isRunning,isSending,mdbOpened,isSending9;
  140. int ypCount,ypdisCount,ypxyCount,cnCount,jaCount,hpCount;
  141. QTimer *timer;
  142. QList<YPSyncDev> syncDevList;
  143. QList<XfzdSyncDev> XfzdDevList;
  144. QList<YpYwSyncRep> ypYwSyncDataList;
  145. QList<SyncRep> ypSyncdataList;
  146. QList<SyncRep> ypSyncDisdataList;
  147. QList<XfzdSyncRep> XfzdSyncdataLiet;
  148. QNetworkAccessManager *netAccessManager,*XfzdnetAccessManager;
  149. QStringList sqlList, sqlList2,sqlList3;
  150. WSCenter *wsCenter;
  151. uint times;
  152. LogThread *logThread;
  153. DataBaseThread *dbThread;
  154. // WSCenter *wsCenter;
  155. };
  156. #endif // CORE_H