From 439a23896bda9c4e954092816354914e645579b6 Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期一, 10 六月 2019 09:37:13 +0800
Subject: [PATCH] 替换这个文件

---
 QiaoJiaSystem/StructureApp/PerimeterElement.cpp |   59 ++++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 36 insertions(+), 23 deletions(-)

diff --git a/QiaoJiaSystem/StructureApp/PerimeterElement.cpp b/QiaoJiaSystem/StructureApp/PerimeterElement.cpp
index a88ed9f..8c3c9ab 100644
--- a/QiaoJiaSystem/StructureApp/PerimeterElement.cpp
+++ b/QiaoJiaSystem/StructureApp/PerimeterElement.cpp
@@ -25,8 +25,7 @@
     m_bIsMask(true),
     m_bSetWH(false),
     pointArray(nullptr),
-    m_rpcClient("RtspAnalysServer", "127.0.0.1",appPref.getIntData("RpcServerPort"),"tcp")
-{
+    m_rpcClient("RtspAnalysServer", "127.0.0.1", appPref.getIntData("RpcVTIMPort"), "tcp") {
 
     pManagerEsDB = new EsDBTool(appPref.getStringData("ipAdd"), appPref.getIntData("ipPort"));
 }
@@ -36,8 +35,7 @@
         delete pManagerEsDB;
         pManagerEsDB = nullptr;
     }
-    if(pointArray)
-    {
+    if (pointArray) {
 //        delete[] pointArray[0];
         delete[] pointArray;
     }
@@ -62,7 +60,7 @@
     m_recVec.clear();
 //    DBG("Objs="<<mObjs.size()<<" fSensitivity="<<m_sdkRule.fSensitivity<<" nThreshold"<<m_sdkRule.nThreshold);
 
-    for (auto obj:mObjs) {
+    for (auto &obj:mObjs) {
 
         if (obj.score < m_sdkRule.fSensitivity)continue;
 
@@ -74,9 +72,8 @@
             // DBG("picDate="<<picDate);
 
         }
-        if(imgKey.empty())
-        {
-            imgKey =obj.properties["imgKey"];
+        if (imgKey.empty()) {
+            imgKey = obj.properties["imgKey"];
         }
         if (m_sdkRule.nSdkType == PerimeterSdk)
         {
@@ -121,20 +118,33 @@
 
     switch (m_sdkRule.nSdkType) {
         case PerimeterSdk:
-            //state = num > 0 ;
-            state =( num !=mRealNum);
+            state = num > 0 ;
+//            state =( num !=mRealNum);
           //  DBG("num="<<num<< "time="<< picDate);
-            INFO("SDK Type: PerimeterSdk");
+//            INFO("SDK Type: PerimeterSdk");
 
             break;
         case CrowdSdk:
-            state = num > m_sdkRule.nAlarmNumLowerLimit && num !=mRealNum;
-            INFO("SDK Type: CrowdSdk");
+            state = num > m_sdkRule.nAlarmNumLowerLimit /*&& num !=mRealNum*/;
+//            INFO("SDK Type: CrowdSdk");
 
             break;
         case PerHubSdk:
-            state = num > m_sdkRule.nAlarmNumLowerLimit && num < m_sdkRule.nAlarmNumUpperLimit && num !=mRealNum;
-            INFO("SDK Type: PerHubSdk");
+            DBG("nAlarmNumLowerLimit:" << m_sdkRule.nAlarmNumLowerLimit
+            << " nAlarmNumUpperLimit:" << m_sdkRule.nAlarmNumUpperLimit
+            << " mRealNum:" << num);
+            if(m_sdkRule.nAlarmNumUpperLimit == -1){
+                state = num >= m_sdkRule.nAlarmNumLowerLimit /*&& num !=mRealNum*/;
+            }else if(m_sdkRule.nAlarmNumLowerLimit == -1){
+                state = num <= m_sdkRule.nAlarmNumUpperLimit /*&& num !=mRealNum*/;
+            } else {
+                state = num >= m_sdkRule.nAlarmNumLowerLimit && num <= m_sdkRule.nAlarmNumUpperLimit /*&& num != mRealNum*/;
+            }
+
+            if((m_sdkRule.nAlarmNumUpperLimit == 0) && (m_sdkRule.nAlarmNumLowerLimit == -1)){//绂诲矖
+                state = num <= m_sdkRule.nAlarmNumUpperLimit;
+            }
+//            INFO("SDK Type: PerHubSdk");
 
 //         if(m_sdkRule.nAlarmNumLowerLimit>=0)
 //         {
@@ -166,12 +176,14 @@
         default:
             break;
     }
-    INFO("State:"<<state<<" Num:"<<num<<" mRealNum:"<<mRealNum<<" LowerLimit :"<<m_sdkRule.nAlarmNumLowerLimit<<" HightLimit: "<<m_sdkRule.nAlarmNumUpperLimit);
+//    INFO("State:"<<state<<" Num:"<<num<<" mRealNum:"<<mRealNum<<" LowerLimit :"<<m_sdkRule.nAlarmNumLowerLimit<<" HightLimit: "<<m_sdkRule.nAlarmNumUpperLimit);
     m_triggerElement.setState(state);
     m_triggerElement.triggerOnce();
     if (m_triggerElement.getTriggerState())
     {
-        if(num > 0) {
+//        if((m_sdkRule.nAlarmNumUpperLimit == 0) && (m_sdkRule.nAlarmNumLowerLimit == -1)) {//绂诲矖
+//        }else {
+        //if(num > 0) {
             if(pointArray!=nullptr)
             {
                 const cv::Point2i* ppt[1] = { pointArray };
@@ -193,9 +205,10 @@
 //            }
             std::string imgUrl = uploadImgToFdfs(image);
             saveInfoToEs(imgUrl, picDate,imgKey);
-        }
-        DBG("num=" << num << " lastnum=" << mRealNum);
-        mRealNum = num;
+        //}
+//        DBG("num=" << num << " lastnum=" << mRealNum);
+//        }
+//        mRealNum = num;
 
         //todo 閲嶇疆鎶ヨtrigger
         m_triggerElement.setState(false);
@@ -285,8 +298,8 @@
         {
              mPolygon << (QPoint(x, y));
         }
-        DBG("width="<<sizeW);
-        DBG("height="<<sizeH);
+//        DBG("width="<<sizeW);
+//        DBG("height="<<sizeH);
 
 
     }
@@ -295,7 +308,7 @@
 QJsonArray PerimeterElement::getJsonArrayFromQString(const QString &strJson) {
     QJsonDocument jsonDocument = QJsonDocument::fromJson(strJson.toLocal8Bit());
     if (jsonDocument.isNull()) {
-        DBG("please check the string" << strJson.toStdString());
+        ERR("please check the string" << strJson.toStdString());
         return QJsonArray();
     }
     QJsonArray jsonArray = jsonDocument.array();

--
Gitblit v1.8.0