watercore.h 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #ifndef WATERCORE_H
  2. #define WATERCORE_H
  3. #include <QObject>
  4. #include <QString>
  5. #include <QTimer>
  6. #include <qmqtt.h>
  7. #include "waterserver.h"
  8. #include "waterserver2.h"
  9. #include "waterserver3.h"
  10. #include "waterserver4.h"
  11. #include "wateruserver.h"
  12. #include "wateruserver2.h"
  13. #include "databasethread.h"
  14. #include "logthread.h"
  15. #include "../ytUserInfoProcess/wechartthreads.h"
  16. #include "../ytRTUProcess/ttsthreads.h"
  17. #include "redis.h"
  18. class WaterCore : public QObject
  19. {
  20. Q_OBJECT
  21. public:
  22. explicit WaterCore(QObject *parent = nullptr);
  23. ~WaterCore();
  24. void start();
  25. int redis_init();
  26. int redis_save(const char *cmd);
  27. QString redis_qstring(const char *cmd);
  28. int redis_int(const char *cmd);
  29. void redis_free();
  30. signals:
  31. public slots:
  32. void timeout();
  33. void getOnLine(int deviceidx, QString deviceid, bool flag, QDateTime t);
  34. void getValue(int deviceidx, QString deviceid, QString d1, int d2, int d3, double d4, QString d5, QDateTime t);
  35. void getAlarm(int deviceidx, QString deviceid, QString d1, int d2, int d3, double d4, QString d5, QString note, QDateTime t);
  36. void getCommData(QString data);
  37. void AlarmReport(QString addr, quint64 insertid, QString type, QString time);
  38. void wxchart(quint16 idx, QDateTime t, QString data, bool dirflag);
  39. void repLog(quint16 idx, QDateTime t, QString data, bool dirflag);
  40. void SqlLog(QString log);
  41. void mqttConnect(QString ip,QString port,QString name,QString passwd);
  42. void mqconnected();
  43. private:
  44. QTimer *timer;
  45. DatabaseThread *dbThread;
  46. LogThread *logThread;
  47. WaterServer *waterServer;
  48. waterserver2 *waterServer2;
  49. waterserver3 *waterServer3;
  50. WaterServer4 *waterServer4;
  51. wateruserver *userver;
  52. wateruserver2 *userver2;
  53. quint8 wxcur,repcur;
  54. WechartThreads *wxThreads[3][16];
  55. ttsThreads *wssThread[16];
  56. ttsThreads *repThread[16];
  57. QMQTT::Client *m_client;
  58. quint16 mqttinfoIdx,mqttalarmIdx,mqttmhinfoIdx,mqttmhalertIdx,mqttmhsta0Idx,mqttmhsta1Idx;
  59. int redisconnected;
  60. redisContext *c;
  61. };
  62. #endif // WATERCORE_H