Преглед изворни кода

Merge branch 'dev-zyj' of hanzhengyi/DataProcessService into master

James пре 1 година
родитељ
комит
851f861b21

+ 1 - 1
DataProcessService/ytRTUProcess/databasethread.cpp

@@ -49,7 +49,7 @@ void DatabaseThread::check_devicelist()
     printf("database thread check_devicelist()\n");
     uint nowTime = QDateTime::currentDateTime().toTime_t();
     hour=QTime::currentTime().hour();
-    QString sql = QString("select owner_code, owner_name, unitinfo, dwtype, company from sp_owner where dwtype=6");
+    QString sql = QString("select owner_code, owner_name, unitinfo, dwtype, company from sp_owner where dwtype=6 and push_param2 != 1");
     QSqlQuery qry = db.exec(sql);
     int nrow= 0;
     while(qry.next()){

+ 1 - 1
DataProcessService/ytRTUProcess/porcesscore.cpp

@@ -19,7 +19,7 @@ PorcessCore::PorcessCore(QObject *parent) : QObject(parent)
     logThread->start();
     for(quint16 i=0;i<16;i++){
         wxThreads[1][i] = new WechartThreads(this,i,"47.98.201.73","/ytapi/admin/order/longhudata");
-        wxThreads[0][i] = new WechartThreads(this,i,"47.98.201.73","/jdxf/wxapp2.php/Home/GeneralPush/voice");
+        wxThreads[0][i] = new WechartThreads(this,i,"47.98.201.73","/jdxf/wxapp2.php/Home/GeneralPush/voice_alarm");
         connect(wxThreads[1][i],&WechartThreads::wxchart,this,&PorcessCore::wxchart);
         connect(wxThreads[0][i],&WechartThreads::wxchart,this,&PorcessCore::wxchart);
         repThread[i] = new ttsThreads(this,i,"127.0.0.1","/report",55335);

+ 144 - 0
DataProcessService/ytTBSN101Process/tbcore.cpp

@@ -26,9 +26,11 @@ TBCore::TBCore(QObject *parent) :
         wxThreads[0][i] = new WechartThreads(this,i,"47.98.201.73","/jdxf/wxapp2.php/Home/Waterwarn/bj");
         wxThreads[1][i] = new WechartThreads(this,i,"47.98.201.73","/jdxf/wxapp2.php/Home/Geomagnetismwarn/index");
         wxThreads[2][i] = new WechartThreads(this,i,"47.98.201.73","/jdxf/wxapp2.php/Home/GeneralPush/voice_alarm");
+        wxThreads[3][i] = new WechartThreads(this,i,"47.98.201.73","/jdxf/wxapp2.php/Home/Firewarn/message_sendalarm");
         connect(wxThreads[0][i],&WechartThreads::wxchart,this,&TBCore::wxchart);
         connect(wxThreads[1][i],&WechartThreads::wxchart,this,&TBCore::wxchart);
         connect(wxThreads[2][i],&WechartThreads::wxchart,this,&TBCore::wxchart);
+        connect(wxThreads[3][i],SIGNAL(wxchart(quint16,QDateTime,QString,bool)),this,SLOT(wxchart(quint16,QDateTime,QString,bool)));
         tbThread[i] = new ttsThreads(this,i,"47.98.201.73","/report",55125);
         connect(tbThread[i],&ttsThreads::ttslog,this,&TBCore::wxchart);
         repThread[i] = new ttsThreads(this,i,"127.0.0.1","/report",55335);
@@ -36,6 +38,7 @@ TBCore::TBCore(QObject *parent) :
         wxThreads[0][i]->start();
         wxThreads[1][i]->start();
         wxThreads[2][i]->start();
+        wxThreads[3][i]->start();
         tbThread[i]->start();
         repThread[i]->start();
     }
@@ -59,6 +62,10 @@ void TBCore::timeout()
     uint t = QDateTime::currentDateTime().toTime_t();
     dataProcessShm->processStatus[14].upTime[0].Enabled = 0x01;
     dataProcessShm->processStatus[14].upTime[0].t_time = t;
+
+    if((m_client1->connectionState()==QMQTT::STATE_DISCONNECTED) || (m_client1->connectionState()==QMQTT::STATE_INIT)){
+        m_client1->connectToHost();
+    }
 }
 
 void TBCore::MqttConnect(QString ip,QString port,QString name,QString passwd)
@@ -70,6 +77,14 @@ void TBCore::MqttConnect(QString ip,QString port,QString name,QString passwd)
     m_client->setPassword(passwd.toLatin1());
     connect(m_client,&QMQTT::Client::connected,this,&TBCore::mqconnected);
     m_client->connectToHost();
+
+    m_client1 = new QMQTT::Client(QHostAddress(ip),static_cast<quint16>(port.toInt()),this);
+    m_client1->setUsername(name);
+    m_client1->setPassword(passwd.toLatin1());
+    connect(m_client1,&QMQTT::Client::connected,this,&TBCore::mqconnected1);
+    connect(m_client1,&QMQTT::Client::subscribed,this,&TBCore::onSubscribed);
+    connect(m_client1,&QMQTT::Client::received,this,&TBCore::onReceived);
+    m_client1->connectToHost();
 }
 
 void TBCore::mqconnected()
@@ -77,6 +92,105 @@ void TBCore::mqconnected()
     printf("mqtt connected\n");
 }
 
+void TBCore::mqconnected1()
+{
+    printf("mqtt connected1\n");
+    m_client1->subscribe("/usky/ytDP0003/+/+/tcInfo",0);
+    m_client1->subscribe("/usky/ytDP0003/+/+/tcAlarm",0);
+}
+
+void TBCore::onSubscribed(const QString& topic)
+{
+    printf("subscribed topic : %s\n",topic.toUtf8().data());
+}
+
+//infoData.append(QString("{\"devId\":\"%1\",\"connType\":\"N\",\"deviceName\":\"%2\",\"devs\":[{\"dp\":[{\"property\":\"状态\",\"serial\":\"301\",\"value\":\"%3\"},{\"property\":\"剩余电量\",\"serial\":\"302\",\"value\":\"%4\"},
+//{\"property\":\"无线信号\",\"serial\":\"303\",\"value\":\"%5\"},{\"property\":\"温度\",\"serial\":\"304\",\"value\":\"%6\"},{\"property\":\"浓度\",\"serial\":\"305\",\"value\":\"%7\"}]
+//,\"deviceName\":\"%8\",\"timeStamp\":\"%9\",\"deviceModel\":\"\",\"deviceType\":\"%10\",\"devId\":\"%11\"}],\"type\":\"INFO\",\"timeStamp\":\"%12\"}").arg(QString(smokerList->sensors[i].Device_Code)).arg(QString(smokerList->sensors[i].Device_Name)).arg(alarm==0x01?1:(alarm==0x02?2:(alarm==0x03?3:0))).arg(vbattery).arg(wsignal).arg(temp).arg(vsmoke).arg(QString(smokerList->sensors[i].Device_Name)).arg(stime.toTime_t()).arg(QString(smokerList->sensors[i].Device_Type)).arg(QString(smokerList->sensors[i].Device_Code)).arg(stime.toTime_t()));
+
+//alarmData.append(QString("{\"devId\":\"%1\",\"connType\":\"N\",\"deviceName\":\"%2\",\"alarams\":[{\"dp\":[{\"property\":\"%3\",\"serial\":\"%4\",\"value\":\"%5\",\"status\":\"0\"}]
+//,\"deviceName\":\"%6\",\"timeStamp\":\"%7\",\"deviceModel\":\"\",\"deviceType\":\"%8\",\"devId\":\"%9\"}],\"type\":\"ALARM\",\"timeStamp\":\"%10\"}").arg(QString(smokerList->sensors[i].Device_Code)).arg(QString(smokerList->sensors[i].Device_Name)).arg(QString::fromUtf8("烟雾报警")).arg("311").arg(QString::fromUtf8("报警")).arg(QString(smokerList->sensors[i].Device_Name)).arg(stime.toTime_t()).arg(QString(smokerList->sensors[i].Device_Type)).arg(QString(smokerList->sensors[i].Device_Code)).arg(stime.toTime_t()));
+
+void TBCore::onReceived(const QMQTT::Message& message)
+{
+    QString topic = message.topic();
+    QByteArray data = message.payload();
+
+    QStringList types = topic.split("/");
+    QString dataType = types.at(5);
+    printf("dataType : %s \n",dataType.toUtf8().data());
+
+    if(dataType.compare("tcInfo")==0){
+        QJsonParseError parseErr;
+        QJsonDocument doc = QJsonDocument::fromJson(data,&parseErr);
+        //printf("mqttDataList.length() %d,  data write arseErr.error %d\n",mqttDataList.length(),parseErr.error);
+        if(parseErr.error==QJsonParseError::NoError){
+            QJsonObject obj = doc.object();
+            QString deviceId = obj.value("devId").toString();
+            QString timeStamp = obj.value("timeStamp").toString();
+            QString dataTime = QDateTime::fromTime_t(timeStamp.toLong()).toString("yyyy-MM-dd HH:mm:ss");
+            QJsonValue alarams_value = obj.value("devs");
+            QJsonObject alarams_obj = alarams_value.toArray().at(0).toObject();
+            QJsonValue dp_value = alarams_obj.value("dp");
+            QJsonArray dp_array = dp_value.toArray();
+            QString wsignal = "";
+            QString vbattery = "";
+            QString vsmoke = "";
+            for(int i=0;i<dp_array.size();i++){
+                QJsonObject dp_object = dp_array.at(i).toObject();
+                QString dpProperty = dp_object.value("property").toString();
+                QString value = dp_object.value("value").toString();
+                if(dpProperty.compare("无线信号")==0){
+                    wsignal = value;
+                }else if(dpProperty.compare("剩余电量")==0){
+                    vbattery = value;
+                }else if(dpProperty.compare("浓度")==0){
+                    vsmoke = value;
+                }
+            }
+
+            QString sql = QString("insert into sp_y%1 (id, device_id, RSRQ, CSQ, DeviceType, DeviceStatus, BatteryLevel, SensorLevel, eventTime, storeTime,TData) values (NULL, '%2', '%3', '30', '1', '%4', '%5', '%6', '%7', '%8','%9')")
+                    .arg(deviceId).arg(deviceId).arg(wsignal).arg(1).arg(vbattery).arg(vsmoke).arg(dataTime).arg(dataTime).arg("");
+            dbThread->appendSql(sql);
+            printf("sql: %s\n",sql.toUtf8().data());
+
+            realtime_data(3,deviceId.toULongLong(), wsignal.toDouble(), vbattery.toInt(),dataTime);
+
+
+        }
+    }else if(dataType.compare("tcAlarm")==0){
+        QJsonParseError parseErr;
+        QJsonDocument doc = QJsonDocument::fromJson(data,&parseErr);
+        //printf("mqttDataList.length() %d,  data write arseErr.error %d\n",mqttDataList.length(),parseErr.error);
+        if(parseErr.error==QJsonParseError::NoError){
+            QJsonObject obj = doc.object();
+            QString deviceId = obj.value("devId").toString();
+            QString timeStamp = obj.value("timeStamp").toString();
+            QString dataTime = QDateTime::fromTime_t(timeStamp.toLong()).toString("yyyy-MM-dd HH:mm:ss");
+            QJsonValue alarams_value = obj.value("alarams");
+            QJsonObject alarams_object = alarams_value.toArray().at(0).toObject();
+            QString deviceType = alarams_object.value("deviceType").toString();
+
+            if(deviceType.compare("3")==0){
+                QString sql = QString::fromUtf8("insert into `sp_hj2017`(`device_code`, `time`, `status`, `address`, `ncmd`, `data1`, `data2`, `data3`, `data4`, `data5`) values ('%1', '%2', '%3', '%4','%5','%6','%7','%8','%9','%10')")
+                           .arg(deviceId).arg(dataTime).arg("y07").arg("").arg("y07").arg("y07").arg(QString::fromUtf8("报警")).arg("").arg(QString::fromUtf8("烟雾报警")).arg("y07");
+                dbThread->appendAlarm(AlarmRep(deviceId.toULongLong(),sql,"1",dataTime,"3"));
+                printf("sql : %s\n",sql.toUtf8().data());
+            }else if(deviceType.compare("137")==0){
+                QString sql = QString::fromUtf8("insert into `sp_hj2017`(`device_code`, `time`, `status`, `address`, `ncmd`, `data1`, `data2`, `data3`, `data4`, `data5`) values ('%1', '%2', '%3', '%4','%5','%6','%7','%8','%9','%10')")
+                           .arg(deviceId).arg(dataTime).arg("U24P2").arg("").arg("U24P2").arg("U24P2").arg(QString::fromUtf8("报警")).arg("").arg(QString::fromUtf8("手报")).arg("U24P2");
+                dbThread->appendAlarm(AlarmRep(deviceId.toULongLong(),sql,"1",dataTime,"137"));
+                printf("sql : %s\n",sql.toUtf8().data());
+            }
+
+
+        }
+    }
+
+
+}
+
+
 void TBCore::wxchart(quint16 idx, QDateTime t, QString data, bool dirflag)
 {
     UN_REFERENCED_PARAMETER(idx);
@@ -358,6 +472,36 @@ void TBCore::AlarmReport(QString subtype, quint64 addr, quint64 insertid, QStrin
                 wxcur &= 0x0f;
             }
         }
+    }else if(Subtype==137){
+        logThread->appendData("jjan==========");
+        int Type = type.toInt();
+        QString name = "";
+        if(Type==1)
+            name=QString::fromUtf8("手报");
+        QString rep2 = QString("{\"SubType\":137,\"DeviceId\":\"%1\",\"InsertId\":%2,\"Confirmed\":0,\"flag\":0,\"CompanyCode\":\"%3\",\"evt_name\":\"%4\",\"evt\":\"%5\",\"alarm_time\":\"%6\"}")
+                .arg(addr).arg(insertid).arg(companyCode).arg(name).arg(Type).arg(AlarmTime);
+        logThread->appendData(rep2);
+        tbThread[repcur&0x0f]->appendData(rep2);
+        repcur = (repcur+1)&0x0f;
+        if(companyCode.length()>0){
+            for(int i=0;i<102400;i++){
+                if(companyCode.compare(QString(sysConfShm->userInfo[i].CompanyCode))==0){
+                    QString phone = QString(sysConfShm->userInfo[i].CellPhone);
+                    if(phone.trimmed().length()>0){
+                        if(phonelist.length()==0)
+                            phonelist = phone;
+                        else
+                            phonelist.append(","+phone);
+                    }
+                }
+            }
+            if(phonelist.length()>0){
+                QString data = QString("id=%1&types=%2&insert_id=%3&phone=%4&unique_number=%5&time=%6").arg(addr).arg(type).arg(insertid).arg(phonelist).arg(addr).arg(AlarmTime);
+                wxThreads[3][wxcur&0x0f]->appendData(data);
+                wxcur++;
+                wxcur &= 0x0f;
+            }
+        }
     }
 }
 

+ 7 - 1
DataProcessService/ytTBSN101Process/tbcore.h

@@ -52,12 +52,15 @@ public slots:
     void timeout();
     void MqttConnect(QString ip,QString port,QString name,QString passwd);
     void mqconnected();
+    void mqconnected1();
+    void onSubscribed(const QString& topic);
+    void onReceived(const QMQTT::Message& message);
 private:
     QTcpServer *svr;
     LogThread *logThread;
     DatabaseThread *dbThread;
     quint8 wxcur,repcur;
-    WechartThreads *wxThreads[3][16];
+    WechartThreads *wxThreads[4][16];
 //    WechartThreads *wxThreads[16];
     ttsThreads *repThread[16];
     ttsThreads *tbThread[16];
@@ -66,6 +69,9 @@ private:
     QMQTT::Client *m_client;
     quint16 mqttinfoIdx;
     quint16 mqttalarmIdx;
+
+    QMQTT::Client *m_client1;
+    quint16 mqttinfoIdx1;
 };
 
 #endif // TBCORE_H

+ 55 - 0
DataProcessService/ytUserInfoProcess/userinfoprocesscore.cpp

@@ -876,6 +876,8 @@ void UserInfoProcessCore::getBuildingFireCtrlReport(quint8 dataType, QString ip,
 {
     if(dataType==0x01){
         SysStatusReport *rep = static_cast<SysStatusReport *>(data);
+        rep->SendTime = QDateTime::currentDateTime();
+        rep->ReportTime = QDateTime::currentDateTime();
         getBuildingFireCtrlSysStatusReport(rep->Sn,rep->SrcAddr,rep->DestAddr,dataType,rep->SysType,rep->SysAddr,rep->SysStatus,rep->SendTime,rep->ReportTime);
 #ifdef JdxfDb
         QString sta="";
@@ -939,6 +941,8 @@ void UserInfoProcessCore::getBuildingFireCtrlReport(quint8 dataType, QString ip,
 #endif
     }else if((dataType==0x15)||(dataType==0xcf)){
         UserinfoStatusReport *rep = static_cast<UserinfoStatusReport *>(data);
+        rep->SendTime = QDateTime::currentDateTime();
+        rep->ReportTime = QDateTime::currentDateTime();
         getBuildingFireUserinfoStaReport(rep->Sn,rep->SrcAddr,rep->DestAddr,dataType,rep->UserinfoStatus,rep->SendTime,rep->ReportTime);
 #ifdef JdxfDb
         QString sta = "";
@@ -980,6 +984,8 @@ void UserInfoProcessCore::getBuildingFireCtrlReport(quint8 dataType, QString ip,
 #endif
     }else if((dataType==0x02)||(dataType==0xce)){
         UnitStatusReport *rep = static_cast<UnitStatusReport *>(data);
+        rep->SendTime = QDateTime::currentDateTime();
+        rep->ReportTime = QDateTime::currentDateTime();
  #ifdef JdxfDb
         QString sta = "";
         QString pos = QString("H%1P").arg(dataType,2,10,QChar('0'));
@@ -1036,6 +1042,8 @@ void UserInfoProcessCore::getBuildingFireCtrlReport(quint8 dataType, QString ip,
 #endif
     }else if(dataType==0x88){
         UserinfoStatusReport *rep = static_cast<UserinfoStatusReport *>(data);
+        rep->SendTime = QDateTime::currentDateTime();
+        rep->ReportTime = QDateTime::currentDateTime();
         getBuildingFireUserinfoStaRestoreReport(rep->Sn,rep->SrcAddr,rep->DestAddr,dataType,rep->UserinfoStatus,rep->SendTime,rep->ReportTime);
 #ifdef JdxfDb
         QString sta = "";
@@ -1075,6 +1083,8 @@ void UserInfoProcessCore::getBuildingFireCtrlReport(quint8 dataType, QString ip,
 #endif
     }else if(dataType==0x87){
         UnitStatusReport *rep = static_cast<UnitStatusReport *>(data);
+        rep->SendTime = QDateTime::currentDateTime();
+        rep->ReportTime = QDateTime::currentDateTime();
         getBuildingFireCtrlUintStatusRestoreReport(rep->Sn,rep->SrcAddr,rep->DestAddr,dataType,rep->SysType,rep->SysAddr,rep->UnitType,rep->UnitAddr,rep->UintStatus,rep->UnitNote,rep->SendTime,rep->ReportTime);
 #ifdef JdxfDb
         QString sta = "";
@@ -1121,6 +1131,8 @@ void UserInfoProcessCore::getBuildingFireCtrlReport(quint8 dataType, QString ip,
 #endif
     }else if(dataType==0x86){
         SysStatusReport *rep = static_cast<SysStatusReport *>(data);
+        rep->SendTime = QDateTime::currentDateTime();
+        rep->ReportTime = QDateTime::currentDateTime();
         getBuildingFireCtrlSysStatusRestoreReport(rep->Sn,rep->SrcAddr,rep->DestAddr,dataType,rep->SysType,rep->SysAddr,rep->SysStatus,rep->SendTime,rep->ReportTime);
 #ifdef JdxfDb
         QString sta = "";
@@ -1181,6 +1193,8 @@ void UserInfoProcessCore::getBuildingFireCtrlReport(quint8 dataType, QString ip,
 #endif
     }else if(dataType==0x89){
         UnitStatusReport2 *rep  = static_cast<UnitStatusReport2 *>(data);
+        rep->SendTime = QDateTime::currentDateTime();
+        rep->ReportTime = QDateTime::currentDateTime();
         getBuildingFireCtrlUintStatusReport2(rep->Sn,rep->SrcAddr,rep->DestAddr,dataType,rep->SysType,rep->SysAddr,rep->UnitType,rep->UnitAddr,rep->UintStatus,rep->UnitNote,rep->SendTime,rep->ReportTime);
 #ifdef JdxfDb
         QString sta = "";
@@ -1229,6 +1243,8 @@ void UserInfoProcessCore::getBuildingFireCtrlReport(quint8 dataType, QString ip,
 #endif
     }else if(dataType==0x8a){
         UnitStatusReport2 *rep = static_cast<UnitStatusReport2 *>(data);
+        rep->SendTime = QDateTime::currentDateTime();
+        rep->ReportTime = QDateTime::currentDateTime();
         getBuildingFireCtrlUintStatusRestoreReport2(rep->Sn,rep->SrcAddr,rep->DestAddr,dataType,rep->SysType,rep->SysAddr,rep->UnitType,rep->UnitAddr,rep->UintStatus,rep->UnitNote,rep->SendTime,rep->ReportTime);
 #ifdef JdxfDb
         QString sta = "";
@@ -1275,9 +1291,13 @@ void UserInfoProcessCore::getBuildingFireCtrlReport(quint8 dataType, QString ip,
 #endif
     }else if(dataType==0x03){
         UnitDataReport *rep = static_cast<UnitDataReport *>(data);
+        rep->SendTime = QDateTime::currentDateTime();
+        rep->ReportTime = QDateTime::currentDateTime();
         getBuildingFireCtrlUintDateReport(rep->Sn,rep->SrcAddr,rep->DestAddr,dataType,rep->SysType,rep->SysAddr,rep->UnitType,rep->UnitAddr,rep->UnitDataType,rep->UintData,rep->SendTime,rep->ReportTime);
     }else if(dataType==0x04){
         SysOperationReport *rep  = static_cast<SysOperationReport *>(data);
+        rep->SendTime = QDateTime::currentDateTime();
+        rep->ReportTime = QDateTime::currentDateTime();
         getBuildingFireCtrlOperationReport(rep->Sn,rep->SrcAddr,rep->DestAddr,dataType,rep->SysType,rep->SysAddr,rep->OperationType,rep->UserId,rep->SendTime,rep->ReportTime);
 #ifdef JdxfDb
         QString sta = "";
@@ -1314,18 +1334,25 @@ void UserInfoProcessCore::getBuildingFireCtrlReport(quint8 dataType, QString ip,
 #endif
     }else if(dataType==0x05){
         SysVersionReport *rep = static_cast<SysVersionReport *>(data);
+        rep->SendTime = QDateTime::currentDateTime();
         getBuildingFireCtrlVersionReport(rep->Sn,rep->SrcAddr,rep->DestAddr,dataType,rep->SysType,rep->SysAddr,rep->Ver,rep->SendTime);
     }else if(dataType==0x06){
         SysNoteReport *rep = static_cast<SysNoteReport *>(data);
+        rep->SendTime = QDateTime::currentDateTime();
         getBuildingFireCtrlSystemNoteReport(rep->Sn,rep->SrcAddr,rep->DestAddr,dataType,rep->SysType,rep->SysAddr,rep->SysNote,rep->SendTime);
     }else if(dataType==0x07){
         UnitNoteReport *rep = static_cast<UnitNoteReport *>(data);
+        rep->SendTime = QDateTime::currentDateTime();
         getBuildingFireCtrlUintNoteReport(rep->Sn,rep->SrcAddr,rep->DestAddr,dataType,rep->SysType,rep->SysAddr,rep->UnitType,rep->UnitAddr,rep->UnitNote,rep->SendTime);
     }else if(dataType==0x08){
         SysTimeReport *rep = static_cast<SysTimeReport *>(data);
+        rep->SendTime = QDateTime::currentDateTime();
+        rep->ReportTime = QDateTime::currentDateTime();
         getBuildingFireCtrlTimeReport(rep->Sn,rep->SrcAddr,rep->DestAddr,dataType,rep->SysType,rep->SysAddr,rep->SendTime,rep->ReportTime);
     }else if(dataType==0x18){
         UserinfoOperationReport *rep = static_cast<UserinfoOperationReport *>(data);
+        rep->SendTime = QDateTime::currentDateTime();
+        rep->ReportTime = QDateTime::currentDateTime();
 #ifdef JdxfDb
         QString sta = "";
         QString pos = QString("U%1P").arg(dataType,2,10,QChar('0'));
@@ -1372,27 +1399,41 @@ void UserInfoProcessCore::getBuildingFireCtrlReport(quint8 dataType, QString ip,
 #endif
     }else if(dataType==0x19){
         UserinfoVersionReport *rep = static_cast<UserinfoVersionReport *>(data);
+        rep->SendTime = QDateTime::currentDateTime();
         getBuildingFireUserinfoVersionReport(rep->Sn,rep->SrcAddr,rep->DestAddr,dataType,rep->Ver,rep->SendTime);
     }else if(dataType==0x1a){
         UserinfoParamreport *rep = static_cast<UserinfoParamreport *>(data);
+        rep->SendTime = QDateTime::currentDateTime();
         getBuildingFireUserinfoParamNoteReport(rep->Sn,rep->SrcAddr,rep->DestAddr,dataType,rep->PNote,rep->SendTime);
     }else if(dataType==0x1c){
         UserinfoTimeReport *rep = static_cast<UserinfoTimeReport *>(data);
+        rep->SendTime = QDateTime::currentDateTime();
+        rep->UiTime = QDateTime::currentDateTime();
         getBuildingFireUserinfoTimeReport(rep->Sn,rep->SrcAddr,rep->DestAddr,dataType,rep->SendTime,rep->UiTime);
     }else if(dataType==0x80){
         UserinfoTimeReport *rep = static_cast<UserinfoTimeReport *>(data);
+        rep->SendTime = QDateTime::currentDateTime();
+        rep->UiTime = QDateTime::currentDateTime();
         getBuildingFireUserinfoManuDateReport(rep->Sn,rep->SrcAddr,rep->DestAddr,dataType,rep->SendTime,rep->UiTime);
     }else if((dataType==0x81)||(dataType==0xcb)){
         UserinfoTimeReport *rep = static_cast<UserinfoTimeReport *>(data);
+        rep->SendTime = QDateTime::currentDateTime();
+        rep->UiTime = QDateTime::currentDateTime();
         getBuildingFireUserinfoSignupTimeReport(rep->Sn,rep->SrcAddr,rep->DestAddr,dataType,rep->SendTime,rep->UiTime);
     }else if(dataType==0x82){
         UserInfoBootReport *rep = static_cast<UserInfoBootReport *>(data);
+        rep->SendTime = QDateTime::currentDateTime();
+        rep->ReportTime = QDateTime::currentDateTime();
         getBuildingFireUserinfoBootReport(rep->Sn,rep->SrcAddr,rep->DestAddr,dataType,rep->UserId,rep->SendTime,rep->ReportTime);
     }else if(dataType==0x83){
         UserInfoBootReport *rep = static_cast<UserInfoBootReport *>(data);
+        rep->SendTime = QDateTime::currentDateTime();
+        rep->ReportTime = QDateTime::currentDateTime();
         getBuildingFireUserinfoShutdownReport(rep->Sn,rep->SrcAddr,rep->DestAddr,dataType,rep->UserId,rep->SendTime,rep->ReportTime);
     }else if(dataType==0x84){
         UserInfoSysBootReport *rep = static_cast<UserInfoSysBootReport *>(data);
+        rep->SendTime = QDateTime::currentDateTime();
+        rep->ReportTime = QDateTime::currentDateTime();
         getBuildingFireCtrlSysBootReport(rep->Sn,rep->SrcAddr,rep->DestAddr,dataType,rep->SysType,rep->SysAddr,rep->SendTime,rep->ReportTime);
         QString pos = "U132P1";
         QString uadd = QString::fromUtf8("系统类型:%1 系统地址:%2 端口:%2").arg(rep->SysType).arg(rep->SysAddr);
@@ -1404,6 +1445,8 @@ void UserInfoProcessCore::getBuildingFireCtrlReport(quint8 dataType, QString ip,
         dbThread->appendAlarm(AlarmRep(rep->SrcAddr,sql,pos,rep->ReportTime.toString("yyyy-MM-dd HH:mm:ss"),uadd,rep->SysAddr,""));
     }else if(dataType==0x85){
         UserInfoSysBootReport *rep = static_cast<UserInfoSysBootReport *>(data);
+        rep->SendTime = QDateTime::currentDateTime();
+        rep->ReportTime = QDateTime::currentDateTime();
         getBuildingFireCtrlSysShutdownReport(rep->Sn,rep->SrcAddr,rep->DestAddr,dataType,rep->SysType,rep->SysAddr,rep->SendTime,rep->ReportTime);
         QString pos = "U132P1";
         QString uadd = QString::fromUtf8("系统类型:%1 系统地址:%2 端口:%2").arg(rep->SysType).arg(rep->SysAddr);
@@ -1415,21 +1458,33 @@ void UserInfoProcessCore::getBuildingFireCtrlReport(quint8 dataType, QString ip,
         dbThread->appendAlarm(AlarmRep(rep->SrcAddr,sql,pos,rep->ReportTime.toString("yyyy-MM-dd HH:mm:ss"),uadd,rep->SysAddr,""));
     }else if(dataType==0xc8){
         UserInfoCommReport *rep = static_cast<UserInfoCommReport *>(data);
+        rep->SendTime = QDateTime::currentDateTime();
+        rep->ReportTime = QDateTime::currentDateTime();
         getBuildingFireUserinfoCommStaReport(rep->Sn,rep->SrcAddr,rep->DestAddr,dataType,rep->CommSta,rep->SendTime,rep->ReportTime);
     }else if(dataType==0xc9){
         UserInfoCommReport *rep = static_cast<UserInfoCommReport *>(data);
+        rep->SendTime = QDateTime::currentDateTime();
+        rep->ReportTime = QDateTime::currentDateTime();
         getBuildingFireUserinfoCommStaRestoreReport(rep->Sn,rep->SrcAddr,rep->DestAddr,dataType,rep->CommSta,rep->SendTime,rep->ReportTime);
     }else if(dataType==0xca){
         UserinfoOperationReport *rep = static_cast<UserinfoOperationReport *>(data);
+        rep->SendTime = QDateTime::currentDateTime();
+        rep->ReportTime = QDateTime::currentDateTime();
         getBuildingFireUserinfoPostsoutReport(rep->Sn,rep->SrcAddr,rep->DestAddr,dataType,rep->UserId,rep->SendTime,rep->ReportTime);
     }else if(dataType==0xcc){
         UserinfoUnitFireTypereport *rep = static_cast<UserinfoUnitFireTypereport *>(data);
+        rep->SendTime = QDateTime::currentDateTime();
+        rep->ReportTime = QDateTime::currentDateTime();
         getBuildingFireCtrlUintFireTypeReport(rep->Sn,rep->SrcAddr,rep->DestAddr,dataType,rep->SysType,rep->SysAddr,rep->UnitType,rep->UnitAddr,rep->FireType,rep->UnitNote,rep->SendTime,rep->ReportTime);
     }else if(dataType==0xcd){
         UserInfoSysActStatusReport *rep = static_cast<UserInfoSysActStatusReport *>(data);
+        rep->SendTime = QDateTime::currentDateTime();
+        rep->ReportTime = QDateTime::currentDateTime();
         getBuildingFireCtrlSysActStatusReport(rep->Sn,rep->SrcAddr,rep->DestAddr,dataType,rep->SysType,rep->SysAddr,rep->ActStatus,rep->SendTime,rep->ReportTime);
     }else if(dataType==0xd0){
         UserinfoOperationReport *rep = static_cast<UserinfoOperationReport *>(data);
+        rep->SendTime = QDateTime::currentDateTime();
+        rep->ReportTime = QDateTime::currentDateTime();
         getBuildingFireUserinfoOptTimeReport(rep->Sn,rep->SrcAddr,rep->DestAddr,dataType,rep->UserId,rep->SendTime,rep->ReportTime);
     }
 }

+ 1 - 1
DataProcessService/ytWaterProcess/databasethread.cpp

@@ -60,7 +60,7 @@ void DatabaseThread::check_devicelist()
 {
     uint nowTime = QDateTime::currentDateTime().toTime_t();
     hour=QTime::currentTime().hour();
-    QString sql = QString("select owner_code, owner_name, unitinfo, owner_xh, company, dwtype from sp_owner where dwtype in (2,4,5)");
+    QString sql = QString("select owner_code, owner_name, unitinfo, owner_xh, company, dwtype from sp_owner where dwtype in (2,4,5) and push_param2 != 1");
     QSqlQuery qry = db.exec(sql);
     int nrow= 0;
     while(qry.next()){