#ifndef DB_SYNCTHREAD_H #define DB_SYNCTHREAD_H #include #include #include #include #include #include #include #include #include #include #include #include #include #include "AlarmSet.h" #include "programconf.h" class YPSyncDev{ public: explicit YPSyncDev(QString ownerCode="", QString objType="",QString objCode="",int startPort=0, uint recCur=0) { OwnerCode = ownerCode; ObjType = objType; ObjCode = objCode; StartPort = startPort; RecCur = recCur; } QString OwnerCode; QString ObjType; QString ObjCode; int StartPort; uint RecCur; }; class JASyncDev{ public: explicit JASyncDev(QString pid="", QString bid="", QString fid="",QString tid="",QString mid="", QString zid="", int val=0, QString device_id="", QString device_name="", QString device_data="", QString name="", QString detection_id="", QString sid="", QString mainframe_id="", QString mainframe_name="", QString loop_number="", QString position_number="", QString report_time="", int device_type=0, QString company_code="") { Pid = pid; Bid = bid; Fid = fid; Tid = tid; Mid = mid; Zid = zid; Val = val; Device_id = device_id; Device_name = device_name; Device_data = device_data; Name = name; Detection_id = detection_id; Sid = sid; Mainframe_id = mainframe_id; Mainframe_name = mainframe_name; Loop_number = loop_number; Position_number = position_number; Report_time = report_time; Device_type = device_type; Company_code = company_code; } QString Pid; QString Bid; QString Fid; QString Tid; QString Mid; QString Zid; QString Rid; int Val; QString Device_id; QString Device_name; QString Device_data; QString Name; QString Detection_id; QString Sid; QString Mainframe_id; QString Mainframe_name; QString Loop_number; QString Position_number; QString Report_time; QString Company_code; int Device_type; }; class CNSyncDev{ public: explicit CNSyncDev(QString ownerCode="", QString name="", QString objType="",QString objCode="",QString startPort="", uint recCur=0, QString bid="", int devtype=0, int stype=0) { OwnerCode = ownerCode; ObjName = name; ObjType = objType; ObjCode = objCode; StartPort = startPort; RecCur = recCur; ownBid= bid; devCategory = devtype; subType = stype; } QString OwnerCode; QString ObjName; QString ObjType; QString ObjCode; QString StartPort; uint RecCur; QString ownBid; int devCategory; int subType; }; class SyncDataSet{ public: explicit SyncDataSet(QString id="",int code=0,QString data=""){ DeviceId = id; Code = code; SyncData = data; } QString DeviceId; int Code; QString SyncData; }; class CnPno{ public: explicit CnPno(QString name="", int pno=0, QString def=""){ PName = name; Pno = pno; Default = def; } QString PName; int Pno; QString Default; }; class JaPno{ public: explicit JaPno(QString name="", QString attr="", int pno=0, QString def1="",QString def2=""){ PName = name; Attr = attr; Pno = pno; Default1 = def1; Default2 = def2; } QString PName; QString Attr; int Pno; QString Default1; QString Default2; }; class DB_SyncThread : public QThread { Q_OBJECT public: explicit DB_SyncThread(QObject *parent = nullptr); void run(); void time_out(); bool userInfoSync(QString devid, QString deviceCode, uint sync_id, QString tbname, QDate chkday, uint ID, QString companyCode); bool waterInfoSync(QString devid, QString deviceCode, uint sync_id, QString tbname, QDate chkday, uint ID, int dwtype, QString companyCode); bool smokerInfoSync(QString devid, QString deviceCode, uint sync_id, QString tbname, QDate chkday, uint ID, QString companyCode); bool rtuInfoSync(QString devid, QString deviceCode, uint sync_id, QString tbname, QDate chkday, uint ID, QString companyCode); bool efireInfoSync(QString devid, QString deviceCode, uint sync_id, QString tbname, QDate chkday, uint ID, QString companyCode); bool videoalarmSync(QString devid, QString deviceCode, uint sync_id, QString tbname, QDate chkday, uint ID, QString companyCode); void chkInList(QString devid); void webShmInit(); void checkUsers(); void checkCompany(); void checkDevice(); void checkAlarmStatus(); void checkAlarmList(); void updatePortName(); void update_company_alarmstatus(QString companycode, quint8 alarmidx, uint devCount, uint devOut, uint devOutConfirm, uint devAlarmCount, uint devAlarmConfirm); void set_AlarmSet(quint16 companyIdx, quint8 alarmIdx, AlarmSet set); void get_AlarmSet(quint16 companyIdx, quint8 alarmIdx, AlarmSet *set); void setLastAlarmSet(quint16 companyIdx, quint8 dwtype, AlarmSet set); void getLastAlarmSet(quint16 companyIdx, quint8 dwtype, AlarmSet *set); void setCompanyAlarmSet(QString deviceCode, AlarmSet set); quint32 getDeviceIdxByDeviceCode(QString deviceCode); QList getPnoValue(QString pnoset); QList getJaPnoValue(QString pnoset); void va_heartbeat(); void appendDevDataList(QString deviceid); signals: void SyncData(QString uuid, QString jsonstr); void cnSyncData(QString uuid, QString jsonstr, int devCategory); void jaSyncData(int xh,QString uuid,QString jsonstr); void companyAlarmChanged(QString companyCode); public slots: private: QSqlDatabase mdb; bool dbOpened, mdbOpened; bool isWorking; QList syncDevList; QList cnDevList; QList jaDevList; QStringList dList,sqlList; QList pcList; quint8 times; uint UpdateTime; int day; bool initTime; QStringList deviceDataList; }; #endif // DB_SYNCTHREAD_H