From 5d6651a0c9e966307d66769e8581e6da205faaab Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期五, 15 十一月 2019 14:25:43 +0800
Subject: [PATCH] 完善静止算法

---
 ruleserver/ruleToformula.go |   44 ++++++++++++++++++++++++++++++++++----------
 1 files changed, 34 insertions(+), 10 deletions(-)

diff --git a/ruleserver/ruleToformula.go b/ruleserver/ruleToformula.go
index e754da2..097c6c8 100644
--- a/ruleserver/ruleToformula.go
+++ b/ruleserver/ruleToformula.go
@@ -102,17 +102,17 @@
 	result := false
 	sdkNames := ""
 	polygonId := ""
-	targets := []*structure.Arg{} // 绗﹀悎鏉′欢鐨勭洰鏍�
+	//targets11 := []*structure.Arg{} // 绗﹀悎鏉′欢鐨勭洰鏍�
 	// 鎶婁竴甯ф暟鎹拰涓�缁勮鍒欏彂缁欑畻娉曢儴鍒嗭紝寰楀嚭鍒ゆ柇缁撴灉
 	result,sdkNames,polygonId = CallMiddleware(args,*groupRule,&label,message)
-	for _, sdkData := range args.Sdkdata {
-		for _, areaMap := range sdkData.AreaMapList {
-			targets = append(targets,areaMap.AlarmObj...)
-			for _,obj := range areaMap.AlarmObj {
-				logger.Info("涓綋闈欐鐨勭洰鏍�",obj.Id,obj.Location)
-			}
-		}
-	}
+	//for _, sdkData := range args.Sdkdata {
+	//	for _, areaMap := range sdkData.AreaMapList {
+	//		targets11 = append(targets11,areaMap.AlarmObj...)
+	//		for _,obj := range areaMap.AlarmObj {
+	//			logger.Info("涓綋闈欐鐨勭洰鏍�",obj.Id, obj.Location, obj.CacheData.Cid, len(obj.CacheData.Data))
+	//		}
+	//	}
+	//}
 	//logger.Info("绗﹀悎鏉′欢鐨勭洰鏍囨暟鎹細",targets)
 	if result {
 		// 鏈�鍚庤繃鎸佺画鏃堕棿绛夋椂闂寸淮搴︾殑鏉′欢   鎶婃椂闂磋鍒欎綅缃皟鏁村埌杩欎釜浣嶇疆鏄负浜嗙紦瀛樻暟鎹�         锛侊紒锛侊紒锛乸s: 瀵圭敾闈腑鍗曚釜鐩爣鍋氬畾鏃跺櫒鐨勪笉鐢ㄥ啀杩囩敾闈㈠畾鏃跺櫒
@@ -174,6 +174,17 @@
 				}
 			}
 			logger.Debug("------locations鐨勫唴瀹癸細", yolos)
+			// 澶勭悊鐩爣瀹氭椂鏁版嵁
+			targets := []*structure.Arg{}
+			for _, sdkData := range args.Sdkdata {
+				if sdkData.IpcId == "02D54B61-0F16-C604-8567-FC4BE493C523" && sdkNames != "" { // 鎶妝olo鏁版嵁鐨勫悇涓洰鏍囩殑鍧愭爣杈撳嚭鏂逛究鍚庨潰鐢绘
+					for _, areaMap := range sdkData.AreaMapList {
+						if areaMap.IsEffective {
+							targets = append(targets, putTargetsToResult(areaMap)...)
+						}
+					}
+				}
+			}
 			var islink bool
 			if groupRule.SetType == "linkTask" {
 				islink = true
@@ -190,6 +201,11 @@
 				args.RuleResult["face"] = append(args.RuleResult["face"].([]structure.Result), structure.Result{taskId, sdkNames, groupRule.GroupId, groupRule.DefenceState, groupRule.AlarmLevel, groupRule.GroupText, faces, polygonId, islink,label})
 				//logger.Info("-------------------face缁撴灉鏍囩", len(args.RuleResult["face"].([]FaceResult)))
 				labelTypes = append(labelTypes,1)
+			}
+			if len(targets) > 0 {
+				args.RuleResult["target"] = append(args.RuleResult["target"].([]structure.Result), structure.Result{taskId, sdkNames, groupRule.GroupId, groupRule.DefenceState, groupRule.AlarmLevel, groupRule.GroupText, targets, polygonId, islink,label})
+				logger.Info("-------------------鐩爣鎸佺画缁撴灉鏍囩", len(args.RuleResult["target"].([]structure.Result)))
+				//labelTypes = append(labelTypes,2)
 			}
 			// 缁欐寔缁椂闂寸殑绗竴寮犺祴浜堢紦瀛樻暟鎹紙閬嶅巻澶嶅埗锛�
 			if cacheId != "" { // 鏈夎繖甯ф暟鎹殑缂撳瓨
@@ -222,6 +238,7 @@
 		// 缁撴灉涓哄亣鏃朵篃瑕佽蛋锛屾湁鏉�姝诲畾鏃跺櫒鐨勬搷浣�
 		TimerAlarm(&label, groupRule.GroupId, result)
 		//fmt.Println(timeFlag)
+		logger.Info("涓嶇鍚堣鍒�")
 		return false,[]int{}
 	}
 }
@@ -253,7 +270,14 @@
 	//logger.Println("-----------------------------------------------鍚浣犳槸绌虹殑锛�",faces)
 	return locations
 }
-
+func putTargetsToResult(am *structure.AreaMap) []*structure.Arg {
+	locations := []*structure.Arg{}
+	if len(am.AlarmObj) > 0 {
+		locations = am.AlarmObj
+	}
+	//logger.Println("-----------------------------------------------鍚浣犳槸绌虹殑锛�",faces)
+	return locations
+}
 // 鑱斿姩浠诲姟鐨勫鐞�
 func LinkTask(args *structure.SdkDatas, groupRule *protomsg.GroupRule, taskId string, message *protomsg.SdkMessage, label structure.Others) {
 	// new涓�涓畾鏃跺櫒锛屽鏋滀互姝roupId涓烘爣蹇楃殑瀹氭椂鍣ㄤ笉瀛樺湪鐨勮瘽

--
Gitblit v1.8.0