Explorar el Código

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

James hace 2 años
padre
commit
58f198aadc
Se han modificado 1 ficheros con 49 adiciones y 3 borrados
  1. 49 3
      DataProcessService/ytTBSN101Process/tbcore.cpp

+ 49 - 3
DataProcessService/ytTBSN101Process/tbcore.cpp

@@ -273,9 +273,9 @@ void TBCore::AlarmReport(QString subtype, quint64 addr, quint64 insertid, QStrin
         if(Type==1)
             name=QString::fromUtf8("可燃气体泄露");
         else if(Type==2)
-            name = QString::fromUtf8("电池低压");
+            name = QString::fromUtf8("燃气传感器故障");
         else if(Type==3)
-            name = QString::fromUtf8("设备防拆");
+            name = QString::fromUtf8("燃气传感器失效");
         QString rep2 = QString("{\"SubType\":131,\"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);
         tbThread[repcur&0x0f]->appendData(rep2);
@@ -379,7 +379,6 @@ quint8 TBCore::hexstr_to_byte(QString dat)
 }
 
 void TBCore::check_framedata(QString data, QString etime, QString ip)
-
 {
     if((data.length()%2)==0){
         QString infoData,alarmData;
@@ -430,6 +429,12 @@ void TBCore::check_framedata(QString data, QString etime, QString ip)
                             alarm = 0x01;
                         }else if((type==0x01)&&(dLen==0x01)&&((Body.at(cur+2)&0xff)==0x02)){
                             alarm = 0x02;
+                        }else if((type==0x01)&&(dLen==0x01)&&((Body.at(cur+2)&0xff)==0x03)){
+                            alarm = 0x01;
+                        }else if((type==0x02)&&(dLen==0x01)&&((Body.at(cur+2)&0xff)==0x12)){
+                            alarm = 0x02;
+                        }else if((type==0x02)&&(dLen==0x01)&&((Body.at(cur+2)&0xff)==0x13)){
+                            alarm = 0x03;
                         }else if((type==0x02)&&(dLen==0x01)&&((Body.at(cur+2)&0xff)==0x03)){
                             alarm = 0x03;
                         }else if((type==0x19)&&(dLen==0x01)&&((Body.at(cur+2)&0xff)==0x01)){
@@ -531,6 +536,7 @@ void TBCore::check_framedata(QString data, QString etime, QString ip)
                             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(device_id).arg(device_id).arg(wsignal).arg(alarm==0x01?1:(alarm==0x02?2:(alarm==0x03?3:7))).arg(vbattery).arg(vsmoke).arg(etime).arg(stime.toString("yyyy-MM-dd HH:mm:ss")).arg(temp);
                             dbThread->appendSql(sql);
+                            logThread->appendData(sql);
 
                             infoTopic.append(QString("/usky/ytDP0003/%1/%2/info").arg(QString(smokerList->sensors[i].Company_Code)).arg(QString(smokerList->sensors[i].Device_Code)));
                             alarmTopic.append(QString("/usky/ytDP0003/%1/%2/alarm").arg(QString(smokerList->sensors[i].Company_Code)).arg(QString(smokerList->sensors[i].Device_Code)));
@@ -702,6 +708,46 @@ void TBCore::check_framedata(QString data, QString etime, QString ip)
                         }
                     }
                 }
+                if(!found){
+                    for(int i=0;i<DEV_MAXCOUNT;i++){
+                        if(gasList->sensors[i].Enabled==0x01){
+                            if(QString("%1").arg(device_id).compare(QString(gasList->sensors[i].Device_Code))==0){
+                                found =true;
+                                QString sql = QString("insert into sp_gs%1 (id, device_id, RSRQ, CSQ, DeviceType, DeviceStatus, BatteryLevel, SensorLevel, eventTime, storeTime) values (NULL, '%2', '%3', '30', '131', '%4', '%5', '%6', '%7', '%8')")
+                                        .arg(device_id).arg(device_id).arg(wsignal).arg(alarm).arg(100).arg(vsmoke).arg(etime).arg(stime.toString("yyyy-MM-dd HH:mm:ss"));
+                                dbThread->appendSql(sql);
+                                logThread->appendData(sql);
+
+                                infoTopic.append(QString("/usky/ytDP0003/%1/%2/info").arg(QString(gasList->sensors[i].Company_Code)).arg(QString(gasList->sensors[i].Device_Code)));
+                                alarmTopic.append(QString("/usky/ytDP0003/%1/%2/alarm").arg(QString(gasList->sensors[i].Company_Code)).arg(QString(gasList->sensors[i].Device_Code)));
+
+                                infoData.append(QString("{\"devId\":\"%1\",\"connType\":\"N\",\"deviceName\":\"%2\",\"devs\":[{\"dp\":[{\"property\":\"状态\",\"serial\":\"361\",\"value\":\"%3\"},{\"property\":\"剩余电量\",\"serial\":\"362\",\"value\":\"%4\"},{\"property\":\"无线信号\",\"serial\":\"363\",\"value\":\"%5\"}],\"deviceName\":\"%6\",\"timeStamp\":\"%7\",\"deviceModel\":\"\",\"deviceType\":\"%8\",\"devId\":\"%9\"}],\"type\":\"INFO\",\"timeStamp\":\"%10\"}").arg(QString(gasList->sensors[i].Device_Code)).arg(QString(gasList->sensors[i].Device_Name)).arg(alarm==0x01?1:(alarm==0x02?2:(alarm==0x03?3:0))).arg(100).arg(wsignal).arg(QString(gasList->sensors[i].Device_Name)).arg(stime.toTime_t()).arg(QString(gasList->sensors[i].Device_Type)).arg(QString(gasList->sensors[i].Device_Code)).arg(stime.toTime_t()));
+
+                                realtime_data(131,device_id, wsignal, vbattery,etime);
+                                if(gasList->sensors[i].UnUsed[0]!=alarm)
+                                {
+                                    if(alarm==0x01){
+                                        sql = QString::fromUtf8("insert into `sp_gas2020` (`device_code`, `time`, `status`, `address`, `ncmd`, `data1`, `data2`, `data3`, `data4`, `data5`) values ('%1', '%2', '%3', '%4','%5','%6','%7','%8','%9','%10')")
+                                                .arg(device_id).arg(stime.toString("yyyy-MM-dd HH:mm:ss")).arg("GS01").arg(ip).arg("GS01").arg("GS01").arg(QString::fromUtf8("告警")).arg("").arg(QString::fromUtf8("可燃气体泄漏")).arg("GS01");
+                                        dbThread->appendAlarm(AlarmRep(device_id,sql,"1",stime.toString("yyyy-MM-dd HH:mm:ss"),"131"));
+                                        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(gasList->sensors[i].Device_Code)).arg(QString(gasList->sensors[i].Device_Name)).arg(QString::fromUtf8("可燃气体泄漏")).arg("371").arg(QString::fromUtf8("告警")).arg(QString(gasList->sensors[i].Device_Name)).arg(stime.toTime_t()).arg(QString(gasList->sensors[i].Device_Type)).arg(QString(gasList->sensors[i].Device_Code)).arg(stime.toTime_t()));
+                                    }else if(alarm==0x02){
+                                        sql = QString::fromUtf8("insert into `sp_gas2020` (`device_code`, `time`, `status`, `address`, `ncmd`, `data1`, `data2`, `data3`, `data4`, `data5`) values ('%1', '%2', '%3', '%4','%5','%6','%7','%8','%9','%10')")
+                                                .arg(device_id).arg(stime.toString("yyyy-MM-dd HH:mm:ss")).arg("GS02").arg(ip).arg("GS02").arg("GS02").arg(QString::fromUtf8("告警")).arg("").arg(QString::fromUtf8("燃气传感器故障")).arg("GS02");
+                                        dbThread->appendAlarm(AlarmRep(device_id,sql,"2",stime.toString("yyyy-MM-dd HH:mm:ss"),"131"));
+                                        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(gasList->sensors[i].Device_Code)).arg(QString(gasList->sensors[i].Device_Name)).arg(QString::fromUtf8("燃气传感器故障")).arg("372").arg(QString::fromUtf8("告警")).arg(QString(gasList->sensors[i].Device_Name)).arg(stime.toTime_t()).arg(QString(gasList->sensors[i].Device_Type)).arg(QString(gasList->sensors[i].Device_Code)).arg(stime.toTime_t()));
+                                    }else if(alarm==0x03){
+                                        sql = QString::fromUtf8("insert into `sp_gas2020` (`device_code`, `time`, `status`, `address`, `ncmd`, `data1`, `data2`, `data3`, `data4`, `data5`) values ('%1', '%2', '%3', '%4','%5','%6','%7','%8','%9','%10')")
+                                                .arg(device_id).arg(stime.toString("yyyy-MM-dd HH:mm:ss")).arg("GS03").arg(ip).arg("GS03").arg("GS03").arg(QString::fromUtf8("告警")).arg("").arg(QString::fromUtf8("燃气传感器失效")).arg("GS03");
+                                        dbThread->appendAlarm(AlarmRep(device_id,sql,"3",stime.toString("yyyy-MM-dd HH:mm:ss"),"131"));
+                                        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(gasList->sensors[i].Device_Code)).arg(QString(gasList->sensors[i].Device_Name)).arg(QString::fromUtf8("燃气传感器失效")).arg("373").arg(QString::fromUtf8("告警")).arg(QString(gasList->sensors[i].Device_Name)).arg(stime.toTime_t()).arg(QString(gasList->sensors[i].Device_Type)).arg(QString(gasList->sensors[i].Device_Code)).arg(stime.toTime_t()));
+                                    }
+                                }
+                                break;
+                            }
+                        }
+                    }
+                }
             }
         }else if((((Dat[0]&0xff)==0xd8)||((Dat[0]&0xff)==0xd9))
                  &&(len==44)&&((Dat[len-1]&0xff)==0xe1)){