core.h 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  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 "ytServiceShm.h"
  18. #include "db_syncthread.h"
  19. #include "QReplyTimeout.h"
  20. #include "datacenter.h"
  21. #include "wscenter.h"
  22. #include "logthread.h"
  23. #include "subsysreport.h"
  24. class YpYwSyncRep {
  25. public:
  26. explicit YpYwSyncRep(int xh=0,QString id="",QString str=""){
  27. Xh = xh;
  28. Id = id;
  29. JsonStr = str;
  30. }
  31. int Xh;
  32. QString Id;
  33. QString JsonStr;
  34. };
  35. class SyncRep {
  36. public:
  37. explicit SyncRep(QString id="", QString str=""){
  38. Id = id;
  39. JsonStr = str;
  40. }
  41. QString Id;
  42. QString JsonStr;
  43. };
  44. class YpXySyncRep {
  45. public:
  46. explicit YpXySyncRep(int xh=0,QString id="",QString str=""){
  47. Xh = xh;
  48. Id = id;
  49. JsonStr = str;
  50. }
  51. int Xh;
  52. QString Id;
  53. QString JsonStr;
  54. };
  55. class CnSyncRep {
  56. public:
  57. explicit CnSyncRep(int xh=0,QString id="", QString str="", int devcategory=0){
  58. Xh = xh;
  59. Id = id;
  60. JsonStr = str;
  61. devCategory =devcategory;
  62. }
  63. int Xh;
  64. int devCategory;
  65. QString Id;
  66. QString JsonStr;
  67. };
  68. class NewCnSyncRep {
  69. public:
  70. explicit NewCnSyncRep(int xh=0,QString id="", QString str="", int devcategory=0){
  71. Xh = xh;
  72. Id = id;
  73. JsonStr = str;
  74. devCategory =devcategory;
  75. }
  76. int Xh;
  77. int devCategory;
  78. QString Id;
  79. QString JsonStr;
  80. };
  81. class XfzdSyncRep {
  82. public:
  83. explicit XfzdSyncRep(int xh=0,QString id="", QString str="", int devcategory=0, QString devCode=""){
  84. Xh = xh;
  85. Id = id;
  86. JsonStr = str;
  87. devCategory =devcategory;
  88. deviceCode = devCode;
  89. }
  90. int Xh;
  91. int devCategory;
  92. QString Id;
  93. QString JsonStr;
  94. QString deviceCode;
  95. };
  96. class JaSyncRep {
  97. public:
  98. explicit JaSyncRep(int xh=0,QString id="",QString str=""){
  99. Xh = xh;
  100. Id = id;
  101. JsonStr = str;
  102. }
  103. int Xh;
  104. QString Id;
  105. QString JsonStr;
  106. };
  107. class HpSyncRep {
  108. public:
  109. explicit HpSyncRep(int xh=0,QString id="",QString str=""){
  110. Xh = xh;
  111. Id = id;
  112. JsonStr = str;
  113. }
  114. int Xh;
  115. QString Id;
  116. QString JsonStr;
  117. };
  118. class Core : public QObject
  119. {
  120. Q_OBJECT
  121. public:
  122. explicit Core(QObject *parent = 0);
  123. void start();
  124. bool chk_table(QString tablename, QStringList tables);
  125. void db_init();
  126. QList<JaPno> getJaPnoValue(QString pnoset);
  127. QList<CnPno> getPnoValue(QString pnoset);
  128. signals:
  129. void set_cndevlist(QList<CNSyncDev> list);
  130. public slots:
  131. void time_out();
  132. void SyncData(QString uuid, QString jsonstr);
  133. void SyncDisData(QString uuid, QString jsonstr);
  134. void SyncXyData(int xh,QString uuid, QString jsonstr);
  135. void cnSyncData(int xh,QString uuid, QString jsonstr, int devCategory);
  136. void NewcnSyncData(int xh,QString uuid, QString jsonstr, int devCategory);
  137. void XfzdSyncData(int xh,QString uuid, QString jsonstr, int devCategory, QString deviceCode);
  138. void jaSyncData(int xh,QString uuid,QString jsonstr);
  139. void hpSyncData(int xh,QString uuid,QString jsonstr);
  140. void ypYwSyncData(int xh,QString uuid,QString jsonstr);
  141. void companyAlarmChanged(QString companyCode);
  142. void finishedSlot(QNetworkReply *reply);
  143. void reply_timeout();
  144. void finishedSlot2(QNetworkReply *reply);
  145. void finishedSlot3(QNetworkReply *reply);
  146. void finishedSlot4(QNetworkReply *reply);
  147. void finishedSlot5(QNetworkReply *reply);
  148. void finishedSlot6(QNetworkReply *reply);
  149. void finishedSlot7(QNetworkReply *reply);
  150. void finishedSlot8(QNetworkReply *reply);
  151. void finishedSlot9(QNetworkReply *reply);
  152. void reply_timeout2();
  153. void reply_timeout3();
  154. void reply_timeout4();
  155. void reply_timeout5();
  156. void reply_timeout6();
  157. void reply_timeout7();
  158. void reply_timeout8();
  159. void reply_timeout9();
  160. void appendLog(QString log);
  161. void needSync(QString deviceCode);
  162. void subReport(quint16 subType, QString DeviceID, quint64 insertId, bool flag);
  163. void subReport1(quint16 subType, QString DeviceID, quint64 insertId, quint16 flag, QString CompanyCode, QString evt_name, QString evt, QString alarm_time);
  164. void subReport2(quint16 subType, QString artificial_id, quint16 area_status, QString reason, QString handler, QString mobile);
  165. private:
  166. QSqlDatabase db,mdb;
  167. time_t work_time,jaworktime,ypdisworktime,ypxyworktime,xfzdworktime;
  168. bool isRunning,isSending,isSending2,isSending3,isSending4,isSending5,isSending6,isSending7,isSending8,isSending9,mdbOpened;
  169. int ypCount,ypdisCount,ypxyCount,cnCount,jaCount,hpCount;
  170. QTimer *timer;
  171. DB_SyncThread *thread;
  172. QList<JASyncDev> jaDevList;
  173. QList<YPYWSyncDev> ypYwDevList;
  174. QList<HPSyncDev> hpDevList;
  175. QList<CNSyncDev> cnDevList;
  176. QList<NewCNSyncDev> NewcnDevList;
  177. QList<XfzdSyncDev> XfzdDevList;
  178. QList<YPSyncDev> syncDevList;
  179. QList<YPSyncXyDev> syncXyDevList;
  180. QList<YpYwSyncRep> ypYwSyncDataList;
  181. QList<SyncRep> ypSyncdataList;
  182. QList<SyncRep> ypSyncDisdataList;
  183. QList<YpXySyncRep> ypSyncXydataList;
  184. QList<CnSyncRep> cnSyncdataLiet;
  185. QList<NewCnSyncRep> NewcnSyncdataLiet;
  186. QList<XfzdSyncRep> XfzdSyncdataLiet;
  187. QList<JaSyncRep> jaSyncdataLiet;
  188. QList<HpSyncRep> hpSyncdataLiet;
  189. QNetworkAccessManager *netAccessManager, *cnnetAccessManager, *janetAccessManager, *disnetAccessManager, *xynetAccessManager, *hpnetAccessManager,*NewcnnetAccessManager,*ypYwcnnetAccessManager,*XfzdnetAccessManager;
  190. QStringList sqlList, sqlList2,sqlList3;
  191. DataCenter *dc;
  192. WSCenter *wsCenter;
  193. uint times;
  194. LogThread *logThread;
  195. SubSysReport *subReportServer;
  196. // WSCenter *wsCenter;
  197. };
  198. #endif // CORE_H