From 1d9804998f955e7d713d24ae719c757c0be73993 Mon Sep 17 00:00:00 2001
From: panlei <2799247126@qq.com>
Date: 星期三, 13 十一月 2019 20:05:57 +0800
Subject: [PATCH] 个体静止开始测试

---
 algorithm/static/static.go |   17 ++++++++++++-----
 1 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/algorithm/static/static.go b/algorithm/static/static.go
index b548cd9..9ad097c 100644
--- a/algorithm/static/static.go
+++ b/algorithm/static/static.go
@@ -113,12 +113,17 @@
 		return structure.LittleRuleResult{am.SdkName, rule.RuleWithPre + "" + "false", rule.Sort}
 	} else {
 		flag := "false"
+		// 浠ヤ箣鍓嶉潤姝㈢殑瀵硅薄涓轰富鍒ゆ柇鏄惁闈欐
+		tars := []*structure.Arg{}
 		for _, tar := range structure.StaticMap[am.AreaId].Targets {
-			singleResult := SingleStatic(tar,am,lable,90)
+			singleResult,arg := SingleStatic(tar,am,lable,90)
 			if singleResult {
 				flag = "true"
+				tars = append(tars,arg)
 			}
 		}
+		// 鎶婃弧瓒虫潯浠剁殑鐩爣鏀捐繘areaMap涓�
+		am.AlarmObj = tars
 		// 鏇存柊鏁版嵁,鎶婃柊鏉ョ殑鏁版嵁鍐欏叆缂撳瓨
 		objs := []*structure.Obj{}
 		for _, tar := range am.FilterData {
@@ -153,11 +158,13 @@
 }
 
 // 鍒ゆ柇涓�涓洰鏍囨槸鍚﹂潤姝簡鎸囧畾鏃堕棿
-func SingleStatic(person *structure.Obj, am *structure.AreaMap,lable *structure.Others, argValue float64) bool{
+func SingleStatic(person *structure.Obj, am *structure.AreaMap,lable *structure.Others, argValue float64) (bool,*structure.Arg){
 	flag := false
+	var o *structure.Arg = nil
 	for _, obj := range am.FilterData {
 		if person.Id == obj.Id {
 			coincidenceDegree := PgsInterPercent(Rect2Point(person.Location), obj.Location, 1, 1)
+			o = obj
 			if coincidenceDegree >= argValue {
 				flag = true
 			}
@@ -166,13 +173,13 @@
 	if flag { // 鏈変竴涓璞′繚鎸侀潤姝紙id鐩哥瓑骞朵笖閲嶅悎搴﹂珮浜庨槇鍊硷級
 		flagTime := TimerAlarm(lable,person,flag,am.AreaId)
 		if flagTime == "10" || flagTime == "11" {
-			return flag
+			return flag,o
 		} else {
-			return false
+			return false,o
 		}
 	} else {
 		TimerAlarm(lable,person,flag,am.AreaId)
-		return flag
+		return flag,o
 	}
 }
 var rw sync.RWMutex

--
Gitblit v1.8.0