From 494cac6c0e83d7212e5914cbb3dab208c112bfa3 Mon Sep 17 00:00:00 2001 From: huangfeng Date: Thu, 24 Apr 2025 15:58:22 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=9E=E6=97=B6=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E4=B9=9F=E7=94=A8=E8=A7=84=E5=88=99=E6=A0=A1=E9=AA=8C=E5=91=8A?= =?UTF-8?q?=E8=AD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/xydl/cac/model/StaticVariable.java | 14 ++++++++++++++ src/main/java/com/xydl/cac/task/CacheTask.java | 3 +++ 2 files changed, 17 insertions(+) diff --git a/src/main/java/com/xydl/cac/model/StaticVariable.java b/src/main/java/com/xydl/cac/model/StaticVariable.java index 021561c..3e49fff 100644 --- a/src/main/java/com/xydl/cac/model/StaticVariable.java +++ b/src/main/java/com/xydl/cac/model/StaticVariable.java @@ -26,6 +26,7 @@ public class StaticVariable { public static List jg_Cache = null; public static List zsb_Cache = null; public static ConcurrentHashMap rule_Cache = new ConcurrentHashMap<>(); + public static HashMap ruleRelationMap = new HashMap<>(); // 更新服务端 @@ -49,6 +50,19 @@ public class StaticVariable { if (time != null) { map.put("acquisitionTime", time); } + + // 规则触发 + String key = eqmid + "_" + colname; + if (StaticVariable.ruleRelationMap.containsKey(key)) { + Integer ruleId = StaticVariable.ruleRelationMap.get(key); + WarnRule rule = StaticVariable.rule_Cache.get(ruleId); + if (rule != null) { + boolean r = rule.triggerRule(value); + if (r) { + map.put(colname, value + ",1"); + } + } + } } // 更新最新数据缓存 diff --git a/src/main/java/com/xydl/cac/task/CacheTask.java b/src/main/java/com/xydl/cac/task/CacheTask.java index cbca1ca..cccdf8f 100644 --- a/src/main/java/com/xydl/cac/task/CacheTask.java +++ b/src/main/java/com/xydl/cac/task/CacheTask.java @@ -24,6 +24,7 @@ public class CacheTask { StaticVariable.jg_Cache = null; StaticVariable.zsb_Cache = null; StaticVariable.rule_Cache.clear(); + StaticVariable.ruleRelationMap.clear(); StaticVariable.paramRelationMap.clear(); } @@ -42,6 +43,8 @@ public class CacheTask { item.initComparator(item.getComparator(), item.getOperator()); StaticVariable.rule_Cache.put(item.getId(), item); } + String key = item.getNSensor().getDevId() + "_" + item.getTypePoint().getField(); + StaticVariable.ruleRelationMap.put(key, item.getId()); } } catch (Exception e) { log.error("CacheTask.refreshRule error.", e);