소스 검색

更改逻辑:有报警时上报,报警取消上报取消;不连续上报

舍得 1 년 전
부모
커밋
efe3d71eb6
1개의 변경된 파일5개의 추가작업 그리고 5개의 파일을 삭제
  1. 5 5
      AlarmRecognition/Module.cpp

+ 5 - 5
AlarmRecognition/Module.cpp

@@ -165,10 +165,8 @@ void Module::OnSubData(std::string table,std::string val)
         }
 
         // new alarm
-        if( nStatus == 1 && m_mpRangeConfig[szDataName].nStatus == 0)
+        if( nStatus != m_mpRangeConfig[szDataName].nStatus )
         {
-            m_mpRangeConfig[szDataName].nStatus = 1;
-
             std::vector<std::string>::iterator itr;
             for( itr = m_szOutputs.begin(); itr != m_szOutputs.end(); ++itr )
             {
@@ -176,8 +174,8 @@ void Module::OnSubData(std::string table,std::string val)
                 {
                     QString szJson;
                     szJson += "{";
-                    szJson += QString("\"occurTime\":\"%1\",").arg(QDateTime::currentDateTime().toString("hh:mm:ss.zzz"));
-                    szJson += QString("\"status\":0,");
+                    szJson += QString("\"occurTime\":\"%1\",").arg(QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss.zzz"));
+                    szJson += QString("\"status\":%1,").arg(nStatus != 0 ? 0 : 2);
                     szJson += QString("\"content\":\"%1 %2\",").arg(szDataName.c_str()).arg(m_mpRangeConfig[szDataName].szOperator.c_str());
                     szJson += QString("\"alarmRuleId\":\"%1\",").arg(m_mpRangeConfig[szDataName].alarmRuleId.c_str());
                     szJson += QString("\"alarmRuleVersion\":%1,").arg(m_mpRangeConfig[szDataName].alarmRuleVersion);
@@ -187,6 +185,8 @@ void Module::OnSubData(std::string table,std::string val)
                     m_pDataConsumer->OnData(*itr,QVariant(szJson));
                 }
             }
+
+            m_mpRangeConfig[szDataName].nStatus = nStatus;
         }
     }
     m_objDataLock.unlock();