coreobject.h 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. #ifndef COREOBJECT_H
  2. #define COREOBJECT_H
  3. #include <QObject>
  4. #include <QJsonDocument>
  5. #include <QJsonArray>
  6. #include <QJsonObject>
  7. #include <QJsonValue>
  8. #include <QJsonParseError>
  9. #include <QNetworkAccessManager>
  10. #include <QNetworkRequest>
  11. #include <QNetworkReply>
  12. #include <QTimer>
  13. #include <QList>
  14. #include <QDateTime>
  15. #include "HCEHomeCMS.h"
  16. #include "HCEHomeAlarm.h"
  17. #include "HCEHomeStream.h"
  18. #include "HCNetSDK.h"
  19. #include <QUuid>
  20. #include <QRegExp>
  21. #include <stdio.h>
  22. #include <unistd.h>
  23. #include <stdlib.h>
  24. #include <string.h>
  25. #include <fcntl.h>
  26. #include <QFile>
  27. #include <QProcess>
  28. #include "../include/YT_EHOME_shm.h"
  29. #include <QXmlStreamReader>
  30. #include <QStringList>
  31. #include <QSqlDatabase>
  32. #include <QSqlQuery>
  33. #include <QVariant>
  34. #include <qmqtt.h>
  35. //#include <QDebug>
  36. #include <QListIterator>
  37. #include "ttsthreads.h"
  38. #include "wechartthreads.h"
  39. #include "logthread.h"
  40. class AlarmEvent {
  41. public:
  42. explicit AlarmEvent(QString id, QString etime, int sta, uint t){
  43. Device_Code = id;
  44. Event_Time = etime;
  45. Event_Status = sta;
  46. t_stamp = t;
  47. }
  48. QString Device_Code;
  49. QString Event_Time;
  50. int Event_Status;
  51. uint t_stamp;
  52. };
  53. class Alarm_Report {
  54. public:
  55. explicit Alarm_Report(QString addr, QString time, QString type, QString sql){
  56. Device_Code = addr;
  57. Event_Time = time;
  58. Event_Name = type;
  59. Sql = sql;
  60. }
  61. QString Device_Code;
  62. QString Event_Time;
  63. QString Event_Name;
  64. QString Sql;
  65. };
  66. class Company_Phone {
  67. public:
  68. explicit Company_Phone(QString companycode, QString phone){
  69. CompanyCode=companycode;
  70. Phone=phone;
  71. }
  72. QString CompanyCode;
  73. QString Phone;
  74. };
  75. class CoreObject : public QObject
  76. {
  77. Q_OBJECT
  78. public:
  79. explicit CoreObject(QObject *parent = 0);
  80. ~CoreObject();
  81. void start();
  82. bool shm_load();
  83. void shm_init();
  84. void AlarmReport(QString addr, QString type, QString time, QString companyCode, quint64 insertid);
  85. void chkPhoneList();
  86. void appendLog(QString log);
  87. QString getCompanyCode(QString addr);
  88. bool checkAlarmDevTime(QString deviceid);
  89. void clear_devalarm(AlarmEvent devAlarm,bool isFtp);
  90. QStringList sqlList;
  91. QList<AlarmEvent> alarmList;
  92. QList<Alarm_Report> reportList;
  93. QList<Company_Phone> companyphoneList;
  94. signals:
  95. public slots:
  96. void time_out();
  97. void process_stop();
  98. void chartlog(quint16 idx, QDateTime t, QString data, bool dirflag);
  99. void mqconnected();
  100. void finishedSlot(QNetworkReply *reply);
  101. private:
  102. QTimer *timer;
  103. bool isWorking;
  104. QList<QProcess *> processList;
  105. QSqlDatabase db;
  106. ttsThreads *wssThread[8];
  107. ttsThreads *spThread[8];
  108. WechartThreads *wxThreads[2][8];
  109. LogThread *logThread;
  110. int repcur,wxcur;
  111. int synchour,hour;
  112. uint alarmTime[DEVICES_COUNT];
  113. long alarmListenHandle,eventListenHandle;
  114. LONG lEventUserID;
  115. QMQTT::Client *m_client;
  116. quint16 infomqttIdx,alarmmqttIdx,statusIdx;
  117. QString statusStr;
  118. QNetworkAccessManager *netAccessManager;
  119. };
  120. #endif // COREOBJECT_H