12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- #ifndef DATABASETHREAD_H
- #define DATABASETHREAD_H
- #include <QThread>
- #include <QDateTime>
- #include <QSqlDatabase>
- #include <QSqlQuery>
- #include <QSqlError>
- #include <QVariant>
- #include <QStringList>
- #include <QList>
- #include <qmqtt.h>
- #include "AlarmReport.h"
- class UiPoint{
- public:
- explicit UiPoint(quint64 code=0, int com=0, quint64 point=0, quint64 sta=0, uint t=0){
- DeviceCode = code;
- ComIdx = com;
- PointIdx = point;
- Status = sta;
- T = t;
- }
- quint64 DeviceCode;
- int ComIdx;
- quint64 PointIdx;
- quint64 Status;
- uint T;
- };
- class SyncData {
- public:
- explicit SyncData(quint64 add=0, QByteArray data=nullptr){
- srcAddress=add;
- Data=data;
- }
- quint64 srcAddress;
- QByteArray Data;
- };
- class BaoDev {
- public:
- explicit BaoDev(quint64 id=0, quint64 baoid=0){
- devid = id;
- bao_id = baoid;
- }
- quint64 devid;
- quint64 bao_id;
- };
- class DataBaseThread : public QThread
- {
- Q_OBJECT
- public:
- explicit DataBaseThread(QObject *parent = nullptr);
- void appendSql(QString sql);
- void appendAlarm(AlarmRep rep);
- void appendSta(UiPoint sta);
- void run();
- void check_devlist();
- void check_sysconf();
- bool check_dev(qulonglong devId);
- bool check_pushreport(qulonglong devid);
- quint16 get_method(qulonglong devId);
- int getRecId(qulonglong devId);
- void getSyncData(quint64 srcAddr, QByteArray data);
- void chk_baodevlist();
- void check_mqttdev();
- quint64 inBaoList(quint64 addr);
- signals:
- void SqlAction(QString sql);
- void AlarmReport(quint64 addr, quint64 insertid, QString type, QString time, QString name, quint64 port=0, QString address="");
- void MqttInfo(QString infoStr,QString alarmStr,QString statusStr,QString topic1,QString topic2,QString topic3);
- void MqttInit(QString ip,QString port,QString name,QString passwd);
- public slots:
-
- private:
- int chk_hour;
- QSqlDatabase db;
- QStringList sqlList;
- QList<AlarmRep> alarmRepList;
- QList<UiPoint> uiPointList;
- QList<UiPoint> uiPStatusList;
- QList<SyncData> syncDataList;
- QList<BaoDev> baoDevList;
- };
- #endif // DATABASETHREAD_H
|