Prechádzať zdrojové kódy

bug:两个规则,数据交叉

舍得 1 rok pred
rodič
commit
fb523328b2

+ 10 - 7
EngineAlarm/DataEngine.cpp

@@ -88,18 +88,21 @@ void DataEngine::startup_DataAlarm(DeviceInfo di)
         return;
     }
 
-    DeviceController* pControler = new DeviceController();
-    pControler->regConsumer(this);
-    pControler->CreateDevice(di);
-
     std::list<std::string> lstTopics;
     std::vector<Setting>::iterator itr;
     for( itr = di.ModuleInfo.vSettings.begin(); itr != di.ModuleInfo.vSettings.end(); ++itr )
     {
-        std::string topic = itr->Name;
+        std::string table = itr->Name;
+
+        DeviceInfo ditem = di;
+        ditem.ModuleInfo.vSettings.clear();
+        ditem.ModuleInfo.vSettings.push_back(*itr);
+        DeviceController* pControler = new DeviceController();
+        pControler->regConsumer(this);
+        pControler->CreateDevice(/*m_pTDengine,*/ditem);
 
-        lstTopics.push_back(topic);
-        m_mpDevControler[topic].push_back(pControler);
+        lstTopics.push_back(table);
+        m_mpDevControler[table].push_back(pControler);
     }
     if( lstTopics.begin() != lstTopics.end())
     {

+ 1 - 0
EngineAlarm/DeviceManagerProxy.cpp

@@ -108,6 +108,7 @@ DeviceInfo DeviceManagerProxy::loadDataAlarm(std::string id,std::string app)
         {
             QString szJson;
             szJson += "{";
+            szJson += QString("\"TableName\":\"%1\",").arg(ar.NodeCode.c_str());
             szJson += QString("\"DataName\":\"%1\",").arg(ar.DataItemCode.c_str());
             szJson += QString("\"Operator\":\"%1\",").arg(ar.Operator.c_str());
             szJson += QString("\"Operator1\":%1,").arg(ar.dbOperator1);