From f85585b1a6260678fe5912dc0048944b309d949e Mon Sep 17 00:00:00 2001 From: panlei <2799247126@qq.com> Date: 星期四, 04 七月 2019 13:58:22 +0800 Subject: [PATCH] 联动任务的非第一条规则去掉连接符 --- ruleserver/ruleToformula.go | 20 +++++++++++++++++++- 1 files changed, 19 insertions(+), 1 deletions(-) diff --git a/ruleserver/ruleToformula.go b/ruleserver/ruleToformula.go index 4678645..6bc1fde 100644 --- a/ruleserver/ruleToformula.go +++ b/ruleserver/ruleToformula.go @@ -217,7 +217,7 @@ if len(temp) > 0 { if ruleList[i].SetType == "linkTask" { // groupId涓惈鏈塴ink鍒欎负鑱斿姩浠诲姟 - //LinkTask(args, ruleList[i], taskId) + LinkTask(args, ruleList[i], taskId) } else { // 鐙珛浠诲姟鐨勫鐞� RunRule(args, ruleList[i], taskId) @@ -288,6 +288,21 @@ for _, va := range resultSplice { completeFormula = completeFormula + va.Result } + if strings.HasPrefix(completeFormula,"&&") || strings.HasPrefix(completeFormula,"||") || strings.HasPrefix(completeFormula,">=") || strings.HasPrefix(completeFormula,"<=") || strings.HasPrefix(completeFormula,"==") || strings.HasPrefix(completeFormula,"!=") ||strings.HasPrefix(completeFormula,">") || strings.HasPrefix(completeFormula,"<") { + // 浠ヨ繖浜涘紑澶寸殑鍩烘湰鏄仈鍔ㄤ换鍔� + if strings.HasPrefix(completeFormula,"&&") || strings.HasPrefix(completeFormula,"||") || strings.HasPrefix(completeFormula,">=") || strings.HasPrefix(completeFormula,"<=") || strings.HasPrefix(completeFormula,"==") || strings.HasPrefix(completeFormula,"!=") { + completeFormula = completeFormula[2:len(completeFormula)-1] + } + if strings.HasPrefix(completeFormula,">") || strings.HasPrefix(completeFormula,"<") { + completeFormula = completeFormula[1:len(completeFormula)-1] + } + expression, _ := govaluate.NewEvaluableExpression(completeFormula) + if strings.HasPrefix(completeFormula, "&&") || strings.HasPrefix(completeFormula, "||") { + panic("瑙勫垯鏈夎锛屽緱鍒扮殑鏁板鍏紡涓嶅彲瑙f瀽") + } + result, _ := expression.Evaluate(nil) // 寰楀埌鏁板鍏紡鐨勭粨鏋� + return result.(bool) + } if completeFormula != "" { log.Println("缁撴灉鍏紡-----------锛�", completeFormula) expression, _ := govaluate.NewEvaluableExpression(completeFormula) @@ -303,6 +318,7 @@ timeEle.N = timeEle.InitN // 閲嶇疆瀹氭椂鍣� } } + log.Println("--------------------璧拌繖閲屼簡鍚�---------------") return false } else { // 鏈�鍚庢垚鍔熸姤璀︽墠鎶婄鍚堟潯浠剁殑浜鸿劯鏁版嵁濉炶繘缁撴灉鏍囩閲� @@ -485,11 +501,13 @@ for _, va := range timeEle.RuleResults { if va.CameraId == args.CameraId { va.Result = strconv.FormatBool(isOk) + log.Println("杩欎釜鎽勫儚鏈�--",args.CameraId,"--琚祴浜堜簡result",va.Result) } } // 鍒ゆ柇缁撴灉鏁扮粍鏄惁瀹屾弧(鍗宠璧嬪�煎畬姣�)鍙緱鍑烘姤璀︾粨鏋� var isPerfect = true for _, va := range timeEle.RuleResults { + log.Println("---------------------鐬呯瀰褰撳墠鏁扮粍________________锛�",*va) if va.Result == "" && va.RuleWithPre != "||" { isPerfect = false } -- Gitblit v1.8.0