|
|
@@ -43,6 +43,9 @@ Core::Core(QObject *parent) :
|
|
|
sqlList.clear();
|
|
|
sqlList2.clear();
|
|
|
sqlList3.clear();
|
|
|
+ hour = 25;
|
|
|
+ hour1 = 25;
|
|
|
+ minute = 255;
|
|
|
logThread = new LogThread(this);
|
|
|
logThread->start();
|
|
|
ytShm->updatetime[CORE_MAIN] = time(static_cast<time_t *>(nullptr));
|
|
|
@@ -59,6 +62,10 @@ Core::Core(QObject *parent) :
|
|
|
if(db.open()){
|
|
|
db_init();
|
|
|
}
|
|
|
+
|
|
|
+ dbThread = new DataBaseThread(this);
|
|
|
+ dbThread->start();
|
|
|
+
|
|
|
timer = new QTimer(this);
|
|
|
netAccessManager = new QNetworkAccessManager(this);
|
|
|
connect(timer,SIGNAL(timeout()),this,SLOT(time_out()));
|
|
|
@@ -68,6 +75,11 @@ Core::Core(QObject *parent) :
|
|
|
time_out();
|
|
|
}
|
|
|
|
|
|
+Core::~Core(){
|
|
|
+ logThread->stop();
|
|
|
+ dbThread->stop();
|
|
|
+}
|
|
|
+
|
|
|
void Core::appendLog(QString log){
|
|
|
logThread->appendData(log);
|
|
|
}
|
|
|
@@ -105,10 +117,10 @@ void Core::finishedSlot(QNetworkReply *reply)
|
|
|
if(reply->error()==QNetworkReply::NoError){
|
|
|
ypCount=0;
|
|
|
QString bak_info = QString::fromUtf8(reply->readAll());
|
|
|
- sqlList2.append(QString::fromUtf8("update `ypsync_t_rec` set `send`=1, `reply_str`='%1', `reply_time`='%2' where `uuid`='%3'")
|
|
|
+ dbThread->appendSql(QString::fromUtf8("update `ypsync_t_rec` set `send`=1, `reply_str`='%1', `reply_time`='%2' where `uuid`='%3'")
|
|
|
.arg(bak_info).arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")).arg(rep.Id));
|
|
|
}else
|
|
|
- sqlList2.append(QString::fromUtf8("update `ypsync_t_rec` set `reply_time`='%1' where `uuid`='%2'")
|
|
|
+ dbThread->appendSql(QString::fromUtf8("update `ypsync_t_rec` set `reply_time`='%1' where `uuid`='%2'")
|
|
|
.arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")).arg(rep.Id));
|
|
|
ypSyncdataList.removeFirst();
|
|
|
}
|
|
|
@@ -122,11 +134,11 @@ void Core::finishedSlot9(QNetworkReply *reply)
|
|
|
XfzdSyncRep rep = XfzdSyncdataLiet.first();
|
|
|
if(reply->error()==QNetworkReply::NoError){
|
|
|
QString bak_info = QString::fromUtf8(reply->readAll());
|
|
|
- sqlList2.append(QString::fromUtf8("update `xfzdsync_t_rec` set `send`=1, `reply_str`='%1', `reply_time`='%2' where `uuid`='%3'")
|
|
|
+ dbThread->appendSql(QString::fromUtf8("update `xfzdsync_t_rec` set `send`=1, `reply_str`='%1', `reply_time`='%2' where `uuid`='%3'")
|
|
|
.arg(bak_info).arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")).arg(rep.Id));
|
|
|
// printf("%s\n",bak_info.toUtf8().data());
|
|
|
}else
|
|
|
- sqlList2.append(QString::fromUtf8("update `xfzdsync_t_rec` set `reply_time`='%1' where `uuid`='%2'")
|
|
|
+ dbThread->appendSql(QString::fromUtf8("update `xfzdsync_t_rec` set `reply_time`='%1' where `uuid`='%2'")
|
|
|
.arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")).arg(rep.Id));
|
|
|
XfzdSyncdataLiet.removeFirst();
|
|
|
}
|
|
|
@@ -138,7 +150,7 @@ void Core::reply_timeout()
|
|
|
{
|
|
|
if(ypSyncdataList.length()>0){
|
|
|
SyncRep rep = ypSyncdataList.first();
|
|
|
- sqlList2.append(QString::fromUtf8("update `ypsync_t_rec` set `reply_time`='%1' where `uuid`='%2'")
|
|
|
+ dbThread->appendSql(QString::fromUtf8("update `ypsync_t_rec` set `reply_time`='%1' where `uuid`='%2'")
|
|
|
.arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")).arg(rep.Id));
|
|
|
ypSyncdataList.removeFirst();
|
|
|
}
|
|
|
@@ -149,7 +161,7 @@ void Core::reply_timeout9()
|
|
|
{
|
|
|
if(XfzdSyncdataLiet.length()>0){
|
|
|
XfzdSyncRep rep = XfzdSyncdataLiet.first();
|
|
|
- sqlList2.append(QString::fromUtf8("update `xfzdsync_t_rec` set `reply_time`='%1' where `uuid`='%2'")
|
|
|
+ dbThread->appendSql(QString::fromUtf8("update `xfzdsync_t_rec` set `reply_time`='%1' where `uuid`='%2'")
|
|
|
.arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")).arg(rep.Id));
|
|
|
XfzdSyncdataLiet.removeFirst();
|
|
|
}
|
|
|
@@ -286,192 +298,202 @@ void Core::time_out()
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if((tmp_time-xfzdworktime)>44000){
|
|
|
- xfzdworktime=tmp_time;
|
|
|
- for(int i=0;i<XfzdDevList.length();i++){
|
|
|
- time_t tmp_time = time(static_cast<time_t *>(nullptr));
|
|
|
- ytShm->updatetime[CORE_MAIN] = tmp_time;
|
|
|
- qry.clear();
|
|
|
- XfzdSyncDev xfzddev = XfzdDevList.at(i);
|
|
|
- time_t myt=time(NULL);
|
|
|
- QString jdata = "";
|
|
|
- QString sql = QString("select point_code, point_data, content, data_time from sp_owner_status where device_id=%1").arg(xfzddev.DeviceCode);
|
|
|
- jdata.append(QString("\"descript\":\"%1\"").arg(xfzddev.Descript));
|
|
|
- jdata.append(QString(",\"deviceName\":\"%1\"").arg(xfzddev.DeviceName));
|
|
|
- if(xfzddev.devCategory==6){
|
|
|
- jdata.append(QString(",\"deviceNo\":\"%1\"").arg(xfzddev.DeviceCode+xfzddev.Port));
|
|
|
- }else{
|
|
|
- jdata.append(QString(",\"deviceNo\":\"%1\"").arg(xfzddev.DeviceCode));
|
|
|
- }
|
|
|
- jdata.append(QString(",\"deviceType\":\"%1\"").arg(xfzddev.DeviceType));
|
|
|
- jdata.append(QString(",\"deviceTypeName\":\"%1\"").arg(xfzddev.DeviceTypeName));
|
|
|
- jdata.append(QString(",\"openProjectId\":\"%1\"").arg(xfzddev.OpenProjectId));
|
|
|
- jdata.append(QString(",\"floor\":\"%1\"").arg(xfzddev.DeviceFloor));
|
|
|
- qry = mdb.exec(sql);
|
|
|
-
|
|
|
- if(xfzddev.devCategory==2){
|
|
|
- while(qry.next()){
|
|
|
- if(qry.value(0).toInt()==4){
|
|
|
- jdata.append(QString(",\"logTime\":\"%1\"").arg(QDateTime::fromTime_t(myt).toString("yyyy-MM-dd HH:mm:ss")));
|
|
|
- jdata.append(QString(",\"pressure\":\"%1\"").arg(qry.value(1).toString()));
|
|
|
- }else if(qry.value(0).toInt()==1){
|
|
|
- if(qry.value(2).toString().indexOf(QString::fromUtf8("正常"))==0){
|
|
|
- jdata.append(QString(",\"alarmStatus\":\"%1\"").arg(0));
|
|
|
- }else if(qry.value(2).toString().indexOf(QString::fromUtf8("低压"))==0){
|
|
|
- jdata.append(QString(",\"alarmStatus\":\"%1\"").arg(1));
|
|
|
- }else if(qry.value(2).toString().indexOf(QString::fromUtf8("高压"))==0){
|
|
|
- jdata.append(QString(",\"alarmStatus\":\"%1\"").arg(2));
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- if(xfzddev.DeviceType==302){
|
|
|
- XfzdSyncData(0,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory,xfzddev.DeviceCode);
|
|
|
- }else if(xfzddev.DeviceType==301){
|
|
|
- XfzdSyncData(1,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory,xfzddev.DeviceCode);
|
|
|
- }else if(xfzddev.DeviceType==305){
|
|
|
- XfzdSyncData(13,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory,xfzddev.DeviceCode);
|
|
|
- }else if(xfzddev.DeviceType==304){
|
|
|
- XfzdSyncData(14,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory,xfzddev.DeviceCode);
|
|
|
- }
|
|
|
- }else if(xfzddev.devCategory==5){
|
|
|
- while(qry.next()){
|
|
|
- if(qry.value(0).toInt()==4){
|
|
|
- jdata.append(QString(",\"logTime\":\"%1\"").arg(QDateTime::fromTime_t(myt).toString("yyyy-MM-dd HH:mm:ss")));
|
|
|
- jdata.append(QString(",\"level\":\"%1\"").arg(qry.value(1).toString()));
|
|
|
- }else if(qry.value(0).toInt()==1){
|
|
|
- if(qry.value(2).toString().indexOf(QString::fromUtf8("正常"))==0){
|
|
|
- jdata.append(QString(",\"alarmStatus\":\"%1\"").arg(0));
|
|
|
- }else if(qry.value(2).toString().indexOf(QString::fromUtf8("低液位"))==0){
|
|
|
- jdata.append(QString(",\"alarmStatus\":\"%1\"").arg(1));
|
|
|
- }else if(qry.value(2).toString().indexOf(QString::fromUtf8("高液位"))==0){
|
|
|
- jdata.append(QString(",\"alarmStatus\":\"%1\"").arg(2));
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- if(xfzddev.DeviceType==402){
|
|
|
- XfzdSyncData(2,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory,xfzddev.DeviceCode);
|
|
|
+// if((tmp_time-xfzdworktime)>44000){
|
|
|
+// xfzdworktime=tmp_time;
|
|
|
+ hour = QDateTime::currentDateTime().time().hour();
|
|
|
+ minute = QDateTime::currentDateTime().time().minute();
|
|
|
+ if(hour1 != hour){
|
|
|
+ hour1 = hour;
|
|
|
+
|
|
|
+ if(hour%6 == 0){
|
|
|
+
|
|
|
+ for(int i=0;i<XfzdDevList.length();i++){
|
|
|
+ time_t tmp_time = time(static_cast<time_t *>(nullptr));
|
|
|
+ ytShm->updatetime[CORE_MAIN] = tmp_time;
|
|
|
+ qry.clear();
|
|
|
+ XfzdSyncDev xfzddev = XfzdDevList.at(i);
|
|
|
+ time_t myt=time(NULL);
|
|
|
+ QString jdata = "";
|
|
|
+ QString sql = QString("select point_code, point_data, content, data_time from sp_owner_status where device_id=%1").arg(xfzddev.DeviceCode);
|
|
|
+ jdata.append(QString("\"descript\":\"%1\"").arg(xfzddev.Descript));
|
|
|
+ jdata.append(QString(",\"deviceName\":\"%1\"").arg(xfzddev.DeviceName));
|
|
|
+ if(xfzddev.devCategory==6){
|
|
|
+ jdata.append(QString(",\"deviceNo\":\"%1\"").arg(xfzddev.DeviceCode+xfzddev.Port));
|
|
|
}else{
|
|
|
- XfzdSyncData(3,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory,xfzddev.DeviceCode);
|
|
|
+ jdata.append(QString(",\"deviceNo\":\"%1\"").arg(xfzddev.DeviceCode));
|
|
|
}
|
|
|
- }else if(xfzddev.devCategory==6){
|
|
|
- if(xfzddev.DeviceType==258||xfzddev.DeviceType==256||xfzddev.DeviceType==452){
|
|
|
- QList<CnPno> pnoList = getPnoValue(xfzddev.Data);
|
|
|
- QJsonArray jajsonArray;
|
|
|
- for(int i=0;i<pnoList.length();i++){
|
|
|
- if(pnoList.at(i).Pno==-1){
|
|
|
- if(pnoList.at(i).PName.compare("powerStatus")==0){
|
|
|
- jdata.append(QString(",\"powerState\":\"%1\"").arg(0));
|
|
|
- }else if(pnoList.at(i).PName.compare("runStatus")==0){
|
|
|
- jdata.append(QString(",\"manualAutomaticState\":\"%1\"").arg(0));
|
|
|
- }else if(pnoList.at(i).PName.compare("startStatus")==0){
|
|
|
- jdata.append(QString(",\"startStopStatus\":\"%1\"").arg(0));
|
|
|
- }else if(pnoList.at(i).PName.compare("faultStatus")==0){
|
|
|
- jdata.append(QString(",\"faultStatus\":\"%1\"").arg(0));
|
|
|
- }
|
|
|
+ jdata.append(QString(",\"deviceType\":\"%1\"").arg(xfzddev.DeviceType));
|
|
|
+ jdata.append(QString(",\"deviceTypeName\":\"%1\"").arg(xfzddev.DeviceTypeName));
|
|
|
+ jdata.append(QString(",\"openProjectId\":\"%1\"").arg(xfzddev.OpenProjectId));
|
|
|
+ jdata.append(QString(",\"floor\":\"%1\"").arg(xfzddev.DeviceFloor));
|
|
|
+ qry = mdb.exec(sql);
|
|
|
+
|
|
|
+ if(xfzddev.devCategory==2){
|
|
|
+ while(qry.next()){
|
|
|
+ if(qry.value(0).toInt()==4){
|
|
|
jdata.append(QString(",\"logTime\":\"%1\"").arg(QDateTime::fromTime_t(myt).toString("yyyy-MM-dd HH:mm:ss")));
|
|
|
+ jdata.append(QString(",\"pressure\":\"%1\"").arg(qry.value(1).toString()));
|
|
|
+ }else if(qry.value(0).toInt()==1){
|
|
|
+ if(qry.value(2).toString().indexOf(QString::fromUtf8("正常"))==0){
|
|
|
+ jdata.append(QString(",\"alarmStatus\":\"%1\"").arg(0));
|
|
|
+ }else if(qry.value(2).toString().indexOf(QString::fromUtf8("低压"))==0){
|
|
|
+ jdata.append(QString(",\"alarmStatus\":\"%1\"").arg(1));
|
|
|
+ }else if(qry.value(2).toString().indexOf(QString::fromUtf8("高压"))==0){
|
|
|
+ jdata.append(QString(",\"alarmStatus\":\"%1\"").arg(2));
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- QString device_code;
|
|
|
+ if(xfzddev.DeviceType==302){
|
|
|
+ XfzdSyncData(0,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory,xfzddev.DeviceCode);
|
|
|
+ }else if(xfzddev.DeviceType==301){
|
|
|
+ XfzdSyncData(1,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory,xfzddev.DeviceCode);
|
|
|
+ }else if(xfzddev.DeviceType==305){
|
|
|
+ XfzdSyncData(13,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory,xfzddev.DeviceCode);
|
|
|
+ }else if(xfzddev.DeviceType==304){
|
|
|
+ XfzdSyncData(14,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory,xfzddev.DeviceCode);
|
|
|
+ }
|
|
|
+ }else if(xfzddev.devCategory==5){
|
|
|
while(qry.next()){
|
|
|
- for(int i=0;i<pnoList.length();i++){
|
|
|
- if(pnoList.at(i).Pno==qry.value(0).toInt()&&qry.value(0).toInt()!=0){
|
|
|
- if(qry.value(2).toString().indexOf(QString::fromUtf8("正常"))==0||qry.value(2).toString().indexOf(QString::fromUtf8("自动"))==0||qry.value(2).toString().indexOf(QString::fromUtf8("停止"))==0){
|
|
|
- if(pnoList.at(i).PName.compare("powerStatus")==0){
|
|
|
- jdata.append(QString(",\"powerState\":\"%1\"").arg(0));
|
|
|
- }else if(pnoList.at(i).PName.compare("runStatus")==0){
|
|
|
- jdata.append(QString(",\"manualAutomaticState\":\"%1\"").arg(0));
|
|
|
- }else if(pnoList.at(i).PName.compare("startStatus")==0){
|
|
|
- jdata.append(QString(",\"startStopStatus\":\"%1\"").arg(0));
|
|
|
- }else if(pnoList.at(i).PName.compare("faultStatus")==0){
|
|
|
- jdata.append(QString(",\"faultStatus\":\"%1\"").arg(0));
|
|
|
- }
|
|
|
- }else if(qry.value(2).toString().indexOf(QString::fromUtf8("关闭"))==0||qry.value(2).toString().indexOf(QString::fromUtf8("手动"))==0||qry.value(2).toString().indexOf(QString::fromUtf8("运行"))==0||qry.value(2).toString().indexOf(QString::fromUtf8("故障"))==0){
|
|
|
- if(pnoList.at(i).PName.compare("powerStatus")==0){
|
|
|
- jdata.append(QString(",\"powerState\":\"%1\"").arg(1));
|
|
|
- }else if(pnoList.at(i).PName.compare("runStatus")==0){
|
|
|
- jdata.append(QString(",\"manualAutomaticState\":\"%1\"").arg(1));
|
|
|
- }else if(pnoList.at(i).PName.compare("startStatus")==0){
|
|
|
- jdata.append(QString(",\"startStopStatus\":\"%1\"").arg(1));
|
|
|
- }else if(pnoList.at(i).PName.compare("faultStatus")==0){
|
|
|
- jdata.append(QString(",\"faultStatus\":\"%1\"").arg(1));
|
|
|
- }
|
|
|
- }else{
|
|
|
- if(pnoList.at(i).PName.compare("powerStatus")==0){
|
|
|
- jdata.append(QString(",\"powerState\":\"%1\"").arg(0));
|
|
|
- }else if(pnoList.at(i).PName.compare("runStatus")==0){
|
|
|
- jdata.append(QString(",\"manualAutomaticState\":\"%1\"").arg(0));
|
|
|
- }else if(pnoList.at(i).PName.compare("startStatus")==0){
|
|
|
- jdata.append(QString(",\"startStopStatus\":\"%1\"").arg(0));
|
|
|
- }else if(pnoList.at(i).PName.compare("faultStatus")==0){
|
|
|
- jdata.append(QString(",\"faultStatus\":\"%1\"").arg(0));
|
|
|
- }
|
|
|
- }
|
|
|
- break;
|
|
|
+ if(qry.value(0).toInt()==4){
|
|
|
+ jdata.append(QString(",\"logTime\":\"%1\"").arg(QDateTime::fromTime_t(myt).toString("yyyy-MM-dd HH:mm:ss")));
|
|
|
+ jdata.append(QString(",\"level\":\"%1\"").arg(qry.value(1).toString()));
|
|
|
+ }else if(qry.value(0).toInt()==1){
|
|
|
+ if(qry.value(2).toString().indexOf(QString::fromUtf8("正常"))==0){
|
|
|
+ jdata.append(QString(",\"alarmStatus\":\"%1\"").arg(0));
|
|
|
+ }else if(qry.value(2).toString().indexOf(QString::fromUtf8("低液位"))==0){
|
|
|
+ jdata.append(QString(",\"alarmStatus\":\"%1\"").arg(1));
|
|
|
+ }else if(qry.value(2).toString().indexOf(QString::fromUtf8("高液位"))==0){
|
|
|
+ jdata.append(QString(",\"alarmStatus\":\"%1\"").arg(2));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- if(xfzddev.DeviceType==258){
|
|
|
- XfzdSyncData(4,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jdata+"}",xfzddev.devCategory,xfzddev.DeviceCode);
|
|
|
- }else if(xfzddev.DeviceType==256){
|
|
|
- XfzdSyncData(5,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jdata+"}",xfzddev.devCategory,xfzddev.DeviceCode);
|
|
|
- }else if(xfzddev.DeviceType==452){
|
|
|
- XfzdSyncData(12,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jdata+"}",xfzddev.devCategory,xfzddev.DeviceCode);
|
|
|
+ if(xfzddev.DeviceType==402){
|
|
|
+ XfzdSyncData(2,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory,xfzddev.DeviceCode);
|
|
|
+ }else{
|
|
|
+ XfzdSyncData(3,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory,xfzddev.DeviceCode);
|
|
|
}
|
|
|
- }else{
|
|
|
- QList<CnPno> pnoList = getPnoValue(xfzddev.Data);
|
|
|
- jdata.append(QString(",\"logTime\":\"%1\"").arg(QDateTime::fromTime_t(myt).toString("yyyy-MM-dd HH:mm:ss")));
|
|
|
- while(qry.next()){
|
|
|
+ }else if(xfzddev.devCategory==6){
|
|
|
+ if(xfzddev.DeviceType==258||xfzddev.DeviceType==256||xfzddev.DeviceType==452){
|
|
|
+ QList<CnPno> pnoList = getPnoValue(xfzddev.Data);
|
|
|
+ QJsonArray jajsonArray;
|
|
|
for(int i=0;i<pnoList.length();i++){
|
|
|
- if(pnoList.at(i).PName.compare("value")==0){
|
|
|
+ if(pnoList.at(i).Pno==-1){
|
|
|
+ if(pnoList.at(i).PName.compare("powerStatus")==0){
|
|
|
+ jdata.append(QString(",\"powerState\":\"%1\"").arg(0));
|
|
|
+ }else if(pnoList.at(i).PName.compare("runStatus")==0){
|
|
|
+ jdata.append(QString(",\"manualAutomaticState\":\"%1\"").arg(0));
|
|
|
+ }else if(pnoList.at(i).PName.compare("startStatus")==0){
|
|
|
+ jdata.append(QString(",\"startStopStatus\":\"%1\"").arg(0));
|
|
|
+ }else if(pnoList.at(i).PName.compare("faultStatus")==0){
|
|
|
+ jdata.append(QString(",\"faultStatus\":\"%1\"").arg(0));
|
|
|
+ }
|
|
|
+ jdata.append(QString(",\"logTime\":\"%1\"").arg(QDateTime::fromTime_t(myt).toString("yyyy-MM-dd HH:mm:ss")));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ QString device_code;
|
|
|
+ while(qry.next()){
|
|
|
+ for(int i=0;i<pnoList.length();i++){
|
|
|
if(pnoList.at(i).Pno==qry.value(0).toInt()&&qry.value(0).toInt()!=0){
|
|
|
- jdata.append(QString(",\"pressure\":\"%1\"").arg(qry.value(1).toString()));
|
|
|
- if(qry.value(2).toString().indexOf(QString::fromUtf8("正常"))!=-1){
|
|
|
- jdata.append(QString(",\"alarmStatus\":\"%1\"").arg(0));
|
|
|
- }else if(qry.value(2).toString().indexOf(QString::fromUtf8("低压"))!=-1){
|
|
|
- jdata.append(QString(",\"alarmStatus\":\"%1\"").arg(1));
|
|
|
- }else if(qry.value(2).toString().indexOf(QString::fromUtf8("高压"))!=-1){
|
|
|
- jdata.append(QString(",\"alarmStatus\":\"%1\"").arg(2));
|
|
|
- }else {
|
|
|
- jdata.append(QString(",\"alarmStatus\":\"%1\"").arg(0));
|
|
|
+ if(qry.value(2).toString().indexOf(QString::fromUtf8("正常"))==0||qry.value(2).toString().indexOf(QString::fromUtf8("自动"))==0||qry.value(2).toString().indexOf(QString::fromUtf8("停止"))==0){
|
|
|
+ if(pnoList.at(i).PName.compare("powerStatus")==0){
|
|
|
+ jdata.append(QString(",\"powerState\":\"%1\"").arg(0));
|
|
|
+ }else if(pnoList.at(i).PName.compare("runStatus")==0){
|
|
|
+ jdata.append(QString(",\"manualAutomaticState\":\"%1\"").arg(0));
|
|
|
+ }else if(pnoList.at(i).PName.compare("startStatus")==0){
|
|
|
+ jdata.append(QString(",\"startStopStatus\":\"%1\"").arg(0));
|
|
|
+ }else if(pnoList.at(i).PName.compare("faultStatus")==0){
|
|
|
+ jdata.append(QString(",\"faultStatus\":\"%1\"").arg(0));
|
|
|
+ }
|
|
|
+ }else if(qry.value(2).toString().indexOf(QString::fromUtf8("关闭"))==0||qry.value(2).toString().indexOf(QString::fromUtf8("手动"))==0||qry.value(2).toString().indexOf(QString::fromUtf8("运行"))==0||qry.value(2).toString().indexOf(QString::fromUtf8("故障"))==0){
|
|
|
+ if(pnoList.at(i).PName.compare("powerStatus")==0){
|
|
|
+ jdata.append(QString(",\"powerState\":\"%1\"").arg(1));
|
|
|
+ }else if(pnoList.at(i).PName.compare("runStatus")==0){
|
|
|
+ jdata.append(QString(",\"manualAutomaticState\":\"%1\"").arg(1));
|
|
|
+ }else if(pnoList.at(i).PName.compare("startStatus")==0){
|
|
|
+ jdata.append(QString(",\"startStopStatus\":\"%1\"").arg(1));
|
|
|
+ }else if(pnoList.at(i).PName.compare("faultStatus")==0){
|
|
|
+ jdata.append(QString(",\"faultStatus\":\"%1\"").arg(1));
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ if(pnoList.at(i).PName.compare("powerStatus")==0){
|
|
|
+ jdata.append(QString(",\"powerState\":\"%1\"").arg(0));
|
|
|
+ }else if(pnoList.at(i).PName.compare("runStatus")==0){
|
|
|
+ jdata.append(QString(",\"manualAutomaticState\":\"%1\"").arg(0));
|
|
|
+ }else if(pnoList.at(i).PName.compare("startStatus")==0){
|
|
|
+ jdata.append(QString(",\"startStopStatus\":\"%1\"").arg(0));
|
|
|
+ }else if(pnoList.at(i).PName.compare("faultStatus")==0){
|
|
|
+ jdata.append(QString(",\"faultStatus\":\"%1\"").arg(0));
|
|
|
+ }
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
- if(xfzddev.DeviceType==302){
|
|
|
- XfzdSyncData(0,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory,xfzddev.DeviceCode);
|
|
|
- }else if(xfzddev.DeviceType==301){
|
|
|
- XfzdSyncData(1,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory,xfzddev.DeviceCode);
|
|
|
- }else if(xfzddev.DeviceType==305){
|
|
|
- XfzdSyncData(13,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory,xfzddev.DeviceCode);
|
|
|
- }else if(xfzddev.DeviceType==304){
|
|
|
- XfzdSyncData(14,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory,xfzddev.DeviceCode);
|
|
|
- }
|
|
|
- }
|
|
|
- }else if(xfzddev.devCategory==1){
|
|
|
- while(qry.next()){
|
|
|
- if(qry.value(0).toInt()==1){
|
|
|
- if(qry.value(2).toString().indexOf(QString::fromUtf8("监测连线故障"))==0){
|
|
|
- jdata.append(QString(",\"connectStatus\":\"%1\"").arg(1));
|
|
|
- }else{
|
|
|
- jdata.append(QString(",\"connectStatus\":\"%1\"").arg(0));
|
|
|
+ if(xfzddev.DeviceType==258){
|
|
|
+ XfzdSyncData(4,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jdata+"}",xfzddev.devCategory,xfzddev.DeviceCode);
|
|
|
+ }else if(xfzddev.DeviceType==256){
|
|
|
+ XfzdSyncData(5,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jdata+"}",xfzddev.devCategory,xfzddev.DeviceCode);
|
|
|
+ }else if(xfzddev.DeviceType==452){
|
|
|
+ XfzdSyncData(12,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jdata+"}",xfzddev.devCategory,xfzddev.DeviceCode);
|
|
|
}
|
|
|
- jdata.append(QString(",\"workStatus\":\"%1\"").arg(0));
|
|
|
- jdata.append(QString(",\"mainPower\":\"%1\"").arg(0));
|
|
|
+ }else{
|
|
|
+ QList<CnPno> pnoList = getPnoValue(xfzddev.Data);
|
|
|
jdata.append(QString(",\"logTime\":\"%1\"").arg(QDateTime::fromTime_t(myt).toString("yyyy-MM-dd HH:mm:ss")));
|
|
|
- XfzdSyncData(15,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory,xfzddev.DeviceCode);
|
|
|
+ while(qry.next()){
|
|
|
+ for(int i=0;i<pnoList.length();i++){
|
|
|
+ if(pnoList.at(i).PName.compare("value")==0){
|
|
|
+ if(pnoList.at(i).Pno==qry.value(0).toInt()&&qry.value(0).toInt()!=0){
|
|
|
+ jdata.append(QString(",\"pressure\":\"%1\"").arg(qry.value(1).toString()));
|
|
|
+ if(qry.value(2).toString().indexOf(QString::fromUtf8("正常"))!=-1){
|
|
|
+ jdata.append(QString(",\"alarmStatus\":\"%1\"").arg(0));
|
|
|
+ }else if(qry.value(2).toString().indexOf(QString::fromUtf8("低压"))!=-1){
|
|
|
+ jdata.append(QString(",\"alarmStatus\":\"%1\"").arg(1));
|
|
|
+ }else if(qry.value(2).toString().indexOf(QString::fromUtf8("高压"))!=-1){
|
|
|
+ jdata.append(QString(",\"alarmStatus\":\"%1\"").arg(2));
|
|
|
+ }else {
|
|
|
+ jdata.append(QString(",\"alarmStatus\":\"%1\"").arg(0));
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(xfzddev.DeviceType==302){
|
|
|
+ XfzdSyncData(0,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory,xfzddev.DeviceCode);
|
|
|
+ }else if(xfzddev.DeviceType==301){
|
|
|
+ XfzdSyncData(1,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory,xfzddev.DeviceCode);
|
|
|
+ }else if(xfzddev.DeviceType==305){
|
|
|
+ XfzdSyncData(13,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory,xfzddev.DeviceCode);
|
|
|
+ }else if(xfzddev.DeviceType==304){
|
|
|
+ XfzdSyncData(14,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory,xfzddev.DeviceCode);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else if(xfzddev.devCategory==1){
|
|
|
+ while(qry.next()){
|
|
|
+ if(qry.value(0).toInt()==1){
|
|
|
+ if(qry.value(2).toString().indexOf(QString::fromUtf8("监测连线故障"))==0){
|
|
|
+ jdata.append(QString(",\"connectStatus\":\"%1\"").arg(1));
|
|
|
+ }else{
|
|
|
+ jdata.append(QString(",\"connectStatus\":\"%1\"").arg(0));
|
|
|
+ }
|
|
|
+ jdata.append(QString(",\"workStatus\":\"%1\"").arg(0));
|
|
|
+ jdata.append(QString(",\"mainPower\":\"%1\"").arg(0));
|
|
|
+ jdata.append(QString(",\"logTime\":\"%1\"").arg(QDateTime::fromTime_t(myt).toString("yyyy-MM-dd HH:mm:ss")));
|
|
|
+ XfzdSyncData(15,QUuid::createUuid().toString().replace("{","").replace("}",""), "{"+jdata+"}",xfzddev.devCategory,xfzddev.DeviceCode);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
if((!isSending)&&(ypSyncdataList.length()>0)){
|
|
|
isSending = true;
|
|
|
ypCount=ypCount+1;
|
|
|
SyncRep rep = ypSyncdataList.first();
|
|
|
- sqlList2.append(QString("insert into `ypsync_t_rec` (`id`,`uuid`,`data_str`, `send`, `store_time`) values (NULL,'%1','%2',0,'%3')")
|
|
|
+ dbThread->appendSql(QString("insert into `ypsync_t_rec` (`id`,`uuid`,`data_str`, `send`, `store_time`) values (NULL,'%1','%2',0,'%3')")
|
|
|
.arg(rep.Id).arg(rep.JsonStr).arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")));
|
|
|
QByteArray Report = rep.JsonStr.toUtf8();
|
|
|
QNetworkRequest *req = new QNetworkRequest();
|
|
|
@@ -525,7 +547,7 @@ void Core::time_out()
|
|
|
req->setHeader(QNetworkRequest::ContentTypeHeader,"application/json; charset=UTF-8");
|
|
|
req->setRawHeader("appKey","850404889644236801");
|
|
|
req->setHeader(QNetworkRequest::ContentLengthHeader,QString("%1").arg(Report.length()).toUtf8());
|
|
|
- sqlList2.append(QString("insert into `xfzdsync_t_rec` (`id`,`uuid`,`data_str`, `send`, `store_time`, `device_code`) values (NULL,'%1','%2',0,'%3','%4')")
|
|
|
+ dbThread->appendSql(QString("insert into `xfzdsync_t_rec` (`id`,`uuid`,`data_str`, `send`, `store_time`, `device_code`) values (NULL,'%1','%2',0,'%3','%4')")
|
|
|
.arg(rep.Id).arg(
|
|
|
req->url().toString()+"\r\n"+
|
|
|
rep.JsonStr).arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")).arg(rep.deviceCode));
|
|
|
@@ -543,55 +565,55 @@ void Core::time_out()
|
|
|
db.commit();
|
|
|
}
|
|
|
}
|
|
|
- if(sqlList2.length()>0){
|
|
|
- QSqlDatabase recdb;
|
|
|
- if(QSqlDatabase::contains("rec_db"))
|
|
|
- recdb = QSqlDatabase::database("rec_db");
|
|
|
- else
|
|
|
- recdb = QSqlDatabase::addDatabase("QSQLITE","rec_db");
|
|
|
- recdb.setDatabaseName(QString("/root/db/watchdoglog%1.db").arg(QDate::currentDate().toString("yyyyMMdd")));
|
|
|
- if(recdb.open()){
|
|
|
- if(!chk_table("ypsync_t_rec",recdb.tables()))
|
|
|
- {
|
|
|
- recdb.exec("create table `ypsync_t_rec` (`id` integer primary key autoincrement, `uuid` text(40), `data_str` text(1024), `send` integer , `store_time` text(20), `reply_str` text(1024), `reply_time` text(20))");
|
|
|
- }
|
|
|
- if(!chk_table("ypsync_t_rec_dis",recdb.tables()))
|
|
|
- {
|
|
|
- recdb.exec("create table `ypsync_t_rec_dis` (`id` integer primary key autoincrement, `uuid` text(40), `data_str` text(1024), `send` integer , `store_time` text(20), `reply_str` text(1024), `reply_time` text(20))");
|
|
|
- }
|
|
|
- if(!chk_table("ypsync_t_rec_xy",recdb.tables()))
|
|
|
- {
|
|
|
- recdb.exec("create table `ypsync_t_rec_xy` (`id` integer primary key autoincrement, `uuid` text(40), `data_str` text(1024), `send` integer , `store_time` text(20), `reply_str` text(1024), `reply_time` text(20))");
|
|
|
- }
|
|
|
- if(!chk_table("cnsync_t_rec",recdb.tables())){
|
|
|
- recdb.exec("create table `cnsync_t_rec` (`id` integer primary key autoincrement, `uuid` text(40), `data_str` text(1024), `send` integer , `store_time` text(20), `reply_str` text(1024), `reply_time` text(20))");
|
|
|
- }
|
|
|
- if(!chk_table("jasync_t_rec",recdb.tables())){
|
|
|
- recdb.exec("create table `jasync_t_rec` (`id` integer primary key autoincrement, `uuid` text(40), `data_str` text(1024), `send` integer , `store_time` text(20), `reply_str` text(1024), `reply_time` text(20))");
|
|
|
- }
|
|
|
- if(!chk_table("hpsync_t_rec",recdb.tables())){
|
|
|
- recdb.exec("create table `hpsync_t_rec` (`id` integer primary key autoincrement, `uuid` text(40), `data_str` text(1024), `send` integer , `store_time` text(20), `reply_str` text(1024), `reply_time` text(20))");
|
|
|
- }
|
|
|
- if(!chk_table("newcnsync_t_rec",recdb.tables())){
|
|
|
- recdb.exec("create table `newcnsync_t_rec` (`id` integer primary key autoincrement, `uuid` text(40), `data_str` text(1024), `send` integer , `store_time` text(20), `reply_str` text(1024), `reply_time` text(20))");
|
|
|
- }
|
|
|
- if(!chk_table("ypywsync_t_rec",recdb.tables())){
|
|
|
- recdb.exec("create table `ypywsync_t_rec` (`id` integer primary key autoincrement, `uuid` text(40), `data_str` text(1024), `send` integer , `store_time` text(20), `reply_str` text(1024), `reply_time` text(20))");
|
|
|
- }
|
|
|
- if(!chk_table("xfzdsync_t_rec",recdb.tables())){
|
|
|
- recdb.exec("create table `xfzdsync_t_rec` (`id` integer primary key autoincrement, `uuid` text(40), `data_str` text(1024), `send` integer , `store_time` text(20), `reply_str` text(1024), `reply_time` text(20), `device_code` text(40))");
|
|
|
- }
|
|
|
- if(recdb.transaction()){
|
|
|
- while(sqlList2.length()>0){
|
|
|
- recdb.exec(sqlList2.first());
|
|
|
- sqlList2.removeFirst();
|
|
|
- }
|
|
|
- recdb.commit();
|
|
|
- }
|
|
|
- recdb.close();
|
|
|
- }
|
|
|
-// QSqlDatabase::removeDatabase("rec_db");
|
|
|
- }
|
|
|
+// if(sqlList2.length()>0){
|
|
|
+// QSqlDatabase recdb;
|
|
|
+// if(QSqlDatabase::contains("rec_db"))
|
|
|
+// recdb = QSqlDatabase::database("rec_db");
|
|
|
+// else
|
|
|
+// recdb = QSqlDatabase::addDatabase("QSQLITE","rec_db");
|
|
|
+// recdb.setDatabaseName(QString("/root/db/watchdoglog%1.db").arg(QDate::currentDate().toString("yyyyMMdd")));
|
|
|
+// if(recdb.open()){
|
|
|
+// if(!chk_table("ypsync_t_rec",recdb.tables()))
|
|
|
+// {
|
|
|
+// recdb.exec("create table `ypsync_t_rec` (`id` integer primary key autoincrement, `uuid` text(40), `data_str` text(1024), `send` integer , `store_time` text(20), `reply_str` text(1024), `reply_time` text(20))");
|
|
|
+// }
|
|
|
+// if(!chk_table("ypsync_t_rec_dis",recdb.tables()))
|
|
|
+// {
|
|
|
+// recdb.exec("create table `ypsync_t_rec_dis` (`id` integer primary key autoincrement, `uuid` text(40), `data_str` text(1024), `send` integer , `store_time` text(20), `reply_str` text(1024), `reply_time` text(20))");
|
|
|
+// }
|
|
|
+// if(!chk_table("ypsync_t_rec_xy",recdb.tables()))
|
|
|
+// {
|
|
|
+// recdb.exec("create table `ypsync_t_rec_xy` (`id` integer primary key autoincrement, `uuid` text(40), `data_str` text(1024), `send` integer , `store_time` text(20), `reply_str` text(1024), `reply_time` text(20))");
|
|
|
+// }
|
|
|
+// if(!chk_table("cnsync_t_rec",recdb.tables())){
|
|
|
+// recdb.exec("create table `cnsync_t_rec` (`id` integer primary key autoincrement, `uuid` text(40), `data_str` text(1024), `send` integer , `store_time` text(20), `reply_str` text(1024), `reply_time` text(20))");
|
|
|
+// }
|
|
|
+// if(!chk_table("jasync_t_rec",recdb.tables())){
|
|
|
+// recdb.exec("create table `jasync_t_rec` (`id` integer primary key autoincrement, `uuid` text(40), `data_str` text(1024), `send` integer , `store_time` text(20), `reply_str` text(1024), `reply_time` text(20))");
|
|
|
+// }
|
|
|
+// if(!chk_table("hpsync_t_rec",recdb.tables())){
|
|
|
+// recdb.exec("create table `hpsync_t_rec` (`id` integer primary key autoincrement, `uuid` text(40), `data_str` text(1024), `send` integer , `store_time` text(20), `reply_str` text(1024), `reply_time` text(20))");
|
|
|
+// }
|
|
|
+// if(!chk_table("newcnsync_t_rec",recdb.tables())){
|
|
|
+// recdb.exec("create table `newcnsync_t_rec` (`id` integer primary key autoincrement, `uuid` text(40), `data_str` text(1024), `send` integer , `store_time` text(20), `reply_str` text(1024), `reply_time` text(20))");
|
|
|
+// }
|
|
|
+// if(!chk_table("ypywsync_t_rec",recdb.tables())){
|
|
|
+// recdb.exec("create table `ypywsync_t_rec` (`id` integer primary key autoincrement, `uuid` text(40), `data_str` text(1024), `send` integer , `store_time` text(20), `reply_str` text(1024), `reply_time` text(20))");
|
|
|
+// }
|
|
|
+// if(!chk_table("xfzdsync_t_rec",recdb.tables())){
|
|
|
+// recdb.exec("create table `xfzdsync_t_rec` (`id` integer primary key autoincrement, `uuid` text(40), `data_str` text(1024), `send` integer , `store_time` text(20), `reply_str` text(1024), `reply_time` text(20), `device_code` text(40))");
|
|
|
+// }
|
|
|
+// if(recdb.transaction()){
|
|
|
+// while(sqlList2.length()>0){
|
|
|
+// recdb.exec(sqlList2.first());
|
|
|
+// sqlList2.removeFirst();
|
|
|
+// }
|
|
|
+// recdb.commit();
|
|
|
+// }
|
|
|
+// recdb.close();
|
|
|
+// }
|
|
|
+// QSqlDatabase::removeDatabase("rec_db");
|
|
|
+// }
|
|
|
if((tmp_time-work_time)>59){
|
|
|
work_time = tmp_time;
|
|
|
qry = db.exec("select `app_name`, `app_path`, `keep_working`, `wait_time` , `log_limit`, `keep_size` from `app_t_conf`");
|