coreobject.h 2.9 KB

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