Browse Source

优化程序

James 2 năm trước cách đây
mục cha
commit
ee198a0824
1 tập tin đã thay đổi với 109 bổ sung8 xóa
  1. 109 8
      ytServiceCore/core.cpp

+ 109 - 8
ytServiceCore/core.cpp

@@ -230,6 +230,8 @@ void Core::subReport(quint16 subType, QString DeviceID, quint64 insertId, bool f
     QSqlQuery qry4;
     QSqlQuery qry5;
     QSqlQuery qry6;
+    QSqlQuery qry7;
+    QSqlQuery qry8;
     QSqlQuery xfzdQry;
     bool found = false;
     bool found1 = false;
@@ -378,9 +380,9 @@ void Core::subReport(quint16 subType, QString DeviceID, quint64 insertId, bool f
                     time_t myt=time(NULL);
                     QString sql8;
                     if(DeviceID.compare("90142")==0){
-                        sql8 = QString("select descript,device_name,device_code,port,device_type,device_type_name,open_project_id,data from sp_corps_share_yf where device_code='%1' and port='%2'").arg(DeviceID).arg(xfzdQry1.value(1).toString());
+                        sql8 = QString("select descript,device_name,device_code,port,device_type,device_type_name,open_project_id,data,device_floor from sp_corps_share_yf where device_code='%1' and port='%2'").arg(DeviceID).arg(xfzdQry1.value(1).toString());
                     }else{
-                        sql8 = QString("select descript,device_name,device_code,port,device_type,device_type_name,open_project_id,data from sp_corps_share_ceshi where device_code='%1' and port='%2'").arg(DeviceID).arg(xfzdQry1.value(1).toString());
+                        sql8 = QString("select descript,device_name,device_code,port,device_type,device_type_name,open_project_id,data,device_floor from sp_corps_share_ceshi where device_code='%1' and port='%2'").arg(DeviceID).arg(xfzdQry1.value(1).toString());
                     }
                     qry8 = mdb.exec(sql8);
                     while(qry8.next()){
@@ -394,6 +396,7 @@ void Core::subReport(quint16 subType, QString DeviceID, quint64 insertId, bool f
 //                            jdata.append(QString(",\"deviceNo\":\"%1\"").arg(qry8.value(2).toString()+(qry8.value(3).toString()).remove(QRegExp(","))));
 //                        }
                         jdata.append(QString(",\"deviceType\":\"%1\"").arg(qry8.value(4).toString()));
+                        jdata.append(QString(",\"floor\":\"%1\"").arg(qry8.value(8).toString()));
                         jdata.append(QString(",\"deviceTypeName\":\"%1\"").arg(qry8.value(5).toString()));
                         jdata.append(QString(",\"openProjectId\":\"%1\"").arg(qry8.value(6).toString()));
                         QString jasign = "hj";
@@ -427,6 +430,7 @@ void Core::subReport(quint16 subType, QString DeviceID, quint64 insertId, bool f
 //                            jdata.append(QString(",\"deviceNo\":\"%1\"").arg(qry8.value(2).toString()+(qry8.value(3).toString()).remove(QRegExp(","))));
 //                        }
                         jdata.append(QString(",\"deviceType\":\"%1\"").arg(qry8.value(4).toString()));
+                        jdata.append(QString(",\"floor\":\"%1\"").arg(qry8.value(8).toString()));
                         jdata.append(QString(",\"deviceTypeName\":\"%1\"").arg(qry8.value(5).toString()));
                         jdata.append(QString(",\"openProjectId\":\"%1\"").arg(qry8.value(6).toString()));
                         QString jasign = "hj";
@@ -453,6 +457,7 @@ void Core::subReport(quint16 subType, QString DeviceID, quint64 insertId, bool f
 //                            jdata.append(QString(",\"deviceNo\":\"%1\"").arg(qry8.value(2).toString()+(qry8.value(3).toString()).remove(QRegExp(","))));
 //                        }
                         jdata.append(QString(",\"deviceType\":\"%1\"").arg(qry8.value(4).toString()));
+                        jdata.append(QString(",\"floor\":\"%1\"").arg(qry8.value(8).toString()));
                         jdata.append(QString(",\"deviceTypeName\":\"%1\"").arg(qry8.value(5).toString()));
                         jdata.append(QString(",\"openProjectId\":\"%1\"").arg(qry8.value(6).toString()));
                         QString jasign = "hj";
@@ -775,9 +780,9 @@ void Core::subReport(quint16 subType, QString DeviceID, quint64 insertId, bool f
               while(qry.next()){
                   QString sql1;
                   if(DeviceID.compare("90142")==0){
-                      sql1 = QString("select descript,device_name,device_code,port,device_type,device_type_name,open_project_id,data from sp_corps_share_yf where device_code='%1' and port='%2'").arg(DeviceID).arg(qry.value(2).toString());
+                      sql1 = QString("select descript,device_name,device_code,port,device_type,device_type_name,open_project_id,data,device_floor from sp_corps_share_yf where device_code='%1' and port='%2'").arg(DeviceID).arg(qry.value(2).toString());
                   }else{
-                      sql1 = QString("select descript,device_name,device_code,port,device_type,device_type_name,open_project_id,data from sp_corps_share_ceshi where device_code='%1' and port='%2'").arg(DeviceID).arg(qry.value(2).toString());
+                      sql1 = QString("select descript,device_name,device_code,port,device_type,device_type_name,open_project_id,data,device_floor from sp_corps_share_ceshi where device_code='%1' and port='%2'").arg(DeviceID).arg(qry.value(2).toString());
                   }
                   qry1 = mdb.exec(sql1);
                   while(qry1.next()){
@@ -790,6 +795,7 @@ void Core::subReport(quint16 subType, QString DeviceID, quint64 insertId, bool f
 //                              jdata.append(QString(",\"deviceNo\":\"%1\"").arg(qry1.value(2).toString()+(qry1.value(3).toString()).remove(QRegExp(","))));
 //                          }
                           jdata.append(QString(",\"deviceType\":\"%1\"").arg(qry1.value(4).toString()));
+                          jdata.append(QString(",\"floor\":\"%1\"").arg(qry1.value(8).toString()));
                           jdata.append(QString(",\"deviceTypeName\":\"%1\"").arg(qry1.value(5).toString()));
                           jdata.append(QString(",\"openProjectId\":\"%1\"").arg(qry1.value(6).toString()));
                           QString jasign = "hj";
@@ -810,6 +816,7 @@ void Core::subReport(quint16 subType, QString DeviceID, quint64 insertId, bool f
 //                              jdata.append(QString(",\"deviceNo\":\"%1\"").arg(qry1.value(2).toString()+(qry1.value(3).toString()).remove(QRegExp(","))));
 //                          }
                           jdata.append(QString(",\"deviceType\":\"%1\"").arg(qry1.value(4).toString()));
+                          jdata.append(QString(",\"floor\":\"%1\"").arg(qry1.value(8).toString()));
                           jdata.append(QString(",\"deviceTypeName\":\"%1\"").arg(qry1.value(5).toString()));
                           jdata.append(QString(",\"openProjectId\":\"%1\"").arg(qry1.value(6).toString()));
                           QString jasign = "hj";
@@ -830,6 +837,7 @@ void Core::subReport(quint16 subType, QString DeviceID, quint64 insertId, bool f
 //                              jdata.append(QString(",\"deviceNo\":\"%1\"").arg(qry1.value(2).toString()+(qry1.value(3).toString()).remove(QRegExp(","))));
 //                          }
                           jdata.append(QString(",\"deviceType\":\"%1\"").arg(qry1.value(4).toString()));
+                          jdata.append(QString(",\"floor\":\"%1\"").arg(qry1.value(8).toString()));
                           jdata.append(QString(",\"deviceTypeName\":\"%1\"").arg(qry1.value(5).toString()));
                           jdata.append(QString(",\"openProjectId\":\"%1\"").arg(qry1.value(6).toString()));
                           QString jasign = "hj";
@@ -850,6 +858,7 @@ void Core::subReport(quint16 subType, QString DeviceID, quint64 insertId, bool f
 //                              jdata.append(QString(",\"deviceNo\":\"%1\"").arg(qry1.value(2).toString()+(qry1.value(3).toString()).remove(QRegExp(","))));
 //                          }
                           jdata.append(QString(",\"deviceType\":\"%1\"").arg(qry1.value(4).toString()));
+                          jdata.append(QString(",\"floor\":\"%1\"").arg(qry1.value(8).toString()));
                           jdata.append(QString(",\"deviceTypeName\":\"%1\"").arg(qry1.value(5).toString()));
                           jdata.append(QString(",\"openProjectId\":\"%1\"").arg(qry1.value(6).toString()));
                           QString jasign = "hj";
@@ -870,6 +879,7 @@ void Core::subReport(quint16 subType, QString DeviceID, quint64 insertId, bool f
 //                              jdata.append(QString(",\"deviceNo\":\"%1\"").arg(qry1.value(2).toString()+(qry1.value(3).toString()).remove(QRegExp(","))));
 //                          }
                           jdata.append(QString(",\"deviceType\":\"%1\"").arg(qry1.value(4).toString()));
+                          jdata.append(QString(",\"floor\":\"%1\"").arg(qry1.value(8).toString()));
                           jdata.append(QString(",\"deviceTypeName\":\"%1\"").arg(qry1.value(5).toString()));
                           jdata.append(QString(",\"openProjectId\":\"%1\"").arg(qry1.value(6).toString()));
                           QString jasign = "hj";
@@ -889,6 +899,7 @@ void Core::subReport(quint16 subType, QString DeviceID, quint64 insertId, bool f
 //                              jdata.append(QString(",\"deviceNo\":\"%1\"").arg(qry1.value(2).toString()+(qry1.value(3).toString()).remove(QRegExp(","))));
 //                          }
                           jdata.append(QString(",\"deviceType\":\"%1\"").arg(qry1.value(4).toString()));
+                          jdata.append(QString(",\"floor\":\"%1\"").arg(qry1.value(8).toString()));
                           jdata.append(QString(",\"deviceTypeName\":\"%1\"").arg(qry1.value(5).toString()));
                           jdata.append(QString(",\"openProjectId\":\"%1\"").arg(qry1.value(6).toString()));
                           QString jasign = "hj";
@@ -1164,6 +1175,93 @@ void Core::subReport(quint16 subType, QString DeviceID, quint64 insertId, bool f
                 }
             }
         }else{
+            for(int i=0;i<XfzdDevList.length();i++){
+                XfzdSyncDev xfzddev = XfzdDevList.at(i);
+                if(xfzddev.DeviceCode==DeviceID){
+                    if(xfzddev.DeviceType==258||xfzddev.DeviceType==256||xfzddev.DeviceType==452){
+                        time_t myt=time(NULL);
+                        QString jdata = "";
+                        QString sql5 = QString("select data2, data4, ncmd from sp_rtu2017 where id=%1").arg(insertId);
+                        qry7 = mdb.exec(sql5);
+                        while(qry7.next()){
+                            QString rtudata= QString("%1 %2").arg(qry7.value(0).toString()).arg(qry7.value(1).toString());
+                            QString sql6 = QString("update sp_owner_status set content='%1' where device_id='%2' and point_code='%3'").arg(rtudata).arg(DeviceID).arg(qry7.value(2).toInt());
+                            qry8 = mdb.exec(sql6);
+                        }
+                        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));
+                        jdata.append(QString(",\"deviceNo\":\"%1\"").arg(xfzddev.DeviceCode+xfzddev.Port));
+                        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));
+                        xfzdQry = mdb.exec(sql);
+                        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(",\"logTime\":\"%1\"").arg(QDateTime::fromTime_t(myt).toString("yyyy-MM-dd HH:mm:ss")));
+                            }
+                        }
+                        QString device_code;
+                        while(xfzdQry.next()){
+                            for(int i=0;i<pnoList.length();i++){
+                                if(pnoList.at(i).Pno==xfzdQry.value(0).toInt()&&xfzdQry.value(0).toInt()!=0){
+                                    if(xfzdQry.value(2).toString().indexOf(QString::fromUtf8("正常"))==0||xfzdQry.value(2).toString().indexOf(QString::fromUtf8("自动"))==0||xfzdQry.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(xfzdQry.value(2).toString().indexOf(QString::fromUtf8("关闭"))==0||xfzdQry.value(2).toString().indexOf(QString::fromUtf8("手动"))==0||xfzdQry.value(2).toString().indexOf(QString::fromUtf8("运行"))==0||xfzdQry.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==258){
+                            XfzdSyncData(4,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jdata+"}",xfzddev.devCategory);
+                        }else if(xfzddev.DeviceType==256){
+                            XfzdSyncData(5,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jdata+"}",xfzddev.devCategory);
+                        }else if(xfzddev.DeviceType==452){
+                            XfzdSyncData(12,QUuid::createUuid().toString().replace("{","").replace("}",""),"{"+jdata+"}",xfzddev.devCategory);
+                        }
+                    }
+                }
+            }
             for(int i=0;i<jaDevList.length();i++){
                 QString jdata1 = "";
                 JASyncDev jadev1 = jaDevList.at(i);
@@ -3827,7 +3925,7 @@ void Core::time_out()
         }
     }
 
-    if((tmp_time-xfzdworktime)>=86400){
+    if((tmp_time-xfzdworktime)>86400){
         xfzdworktime=tmp_time;
         for(int i=0;i<XfzdDevList.length();i++){
             time_t tmp_time = time(static_cast<time_t *>(nullptr));
@@ -3966,12 +4064,15 @@ void Core::time_out()
                                     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){
+                                            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("低压"))!=-1){
+                                            }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("高压"))!=-1){
+                                            }else if(qry.value(2).toString().indexOf(QString::fromUtf8("高压"))==0){
                                                 jdata.append(QString(",\"alarmStatus\":\"%1\"").arg(2));
+                                            }else{
+                                                logThread->appendData(QString("test1111 ---------- %1").arg(qry.value(2).toString().indexOf(QString::fromUtf8("正常"))));
+                                                jdata.append(QString(",\"alarmStatus\":\"%1\"").arg(0));
                                             }
                                             break;
                                         }