#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 YPYWSyncDev{ public: explicit YPYWSyncDev(QString deviceCode="", QString deviceName="",QString deviceAddress="",QString longitude="",QString latitude="",int deviceType = 0,QString companyCode="") { DeviceCode = deviceCode; DeviceName = deviceName; DeviceAddress = deviceAddress; Longitude = longitude; Latitude = latitude; DeviceType = deviceType; CompanyCode = companyCode; } QString DeviceCode; QString DeviceName; QString DeviceAddress; QString Longitude; QString Latitude; int DeviceType; QString CompanyCode; }; 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 YPSyncXyDev{ public: explicit YPSyncXyDev(QString ownerCode="", int objType=0,QString objCode="",int startPort=0, uint recCur=0,QString ownerName="",QString deviceName="",QString companyCode="",QString companyName="") { OwnerCode = ownerCode; ObjType = objType; ObjCode = objCode; StartPort = startPort; RecCur = recCur; OwnerName = ownerName; DeviceName = deviceName; CompanyCode = companyCode; CompanyName = companyName; } QString OwnerCode; int ObjType; QString ObjCode; int StartPort; uint RecCur; QString OwnerName; QString DeviceName; QString CompanyCode; QString CompanyName; }; 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 HPSyncDev{ public: explicit HPSyncDev(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 NewCNSyncDev{ public: explicit NewCNSyncDev(QString deviceCode="", QString deviceName="", QString descript="",int deviceType=0, QString deviceTypeName="", QString openProjectId="", int devtype=0, QString data="",QString port="") { DeviceCode = deviceCode; DeviceName = deviceName; Descript = descript; DeviceType = deviceType; DeviceTypeName = deviceTypeName; OpenProjectId= openProjectId; devCategory = devtype; Data = data; Port = port; } QString DeviceCode; QString DeviceName; QString Descript; int DeviceType; QString DeviceTypeName; QString OpenProjectId; int devCategory; QString Data; QString Port; }; class XfzdSyncDev{ public: explicit XfzdSyncDev(QString deviceCode="", QString deviceName="", QString descript="",int deviceType=0, QString deviceTypeName="", QString openProjectId="", int devtype=0, QString data="",QString port="",QString deviceFloor="") { DeviceCode = deviceCode; DeviceName = deviceName; Descript = descript; DeviceType = deviceType; DeviceTypeName = deviceTypeName; OpenProjectId= openProjectId; devCategory = devtype; Data = data; Port = port; DeviceFloor = deviceFloor; } QString DeviceCode; QString DeviceName; QString Descript; int DeviceType; QString DeviceTypeName; QString OpenProjectId; int devCategory; QString Data; QString Port; QString DeviceFloor; }; 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 manholeCoverSync(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,QString owner_xh); 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); void set_cndevlist(QList list); signals: void SyncData(QString uuid, QString jsonstr); void cnSyncData(int xh,QString uuid, QString jsonstr, int devCategory); void NewcnSyncData(int xh,QString uuid, QString jsonstr, int devCategory); void jaSyncData(int xh,QString uuid,QString jsonstr); void hpSyncData(int xh,QString uuid,QString jsonstr); void companyAlarmChanged(QString companyCode); void appendLog(QString log); public slots: private: QSqlDatabase mdb; bool dbOpened, mdbOpened; bool isWorking; QList syncDevList; QList cnDevList; QList NewcnDevList; QList XfzdDevList; QList jaDevList; QList hpDevList; QStringList dList,sqlList; QList pcList; quint8 times; uint UpdateTime; int day; bool initTime; QStringList deviceDataList; }; #endif // DB_SYNCTHREAD_H