From d187cd0fa46d01ec293e2aba1a1e54fdfab2ec80 Mon Sep 17 00:00:00 2001 From: yangys <y_ys79@sina.com> Date: 星期日, 03 十一月 2024 20:37:26 +0800 Subject: [PATCH] 数据点位过滤修复,使用了计算规则的点位存储_n的。 --- collect/src/main/java/com/qianwen/mdc/collect/vo/WorkstationDatapointsVO.java | 73 ++++++++++++++++++++++++++++-------- 1 files changed, 57 insertions(+), 16 deletions(-) diff --git a/collect/src/main/java/com/qianwen/mdc/collect/vo/WorkstationDatapointsVO.java b/collect/src/main/java/com/qianwen/mdc/collect/vo/WorkstationDatapointsVO.java index 7404419..251727e 100644 --- a/collect/src/main/java/com/qianwen/mdc/collect/vo/WorkstationDatapointsVO.java +++ b/collect/src/main/java/com/qianwen/mdc/collect/vo/WorkstationDatapointsVO.java @@ -10,7 +10,6 @@ import com.alibaba.fastjson.JSONObject; import cn.hutool.core.util.ObjectUtil; -import cn.hutool.json.JSONUtil; import io.swagger.annotations.ApiModelProperty; @@ -42,6 +41,8 @@ //private List<DataPoint> points = null; private List<String> points = new ArrayList<>(); + + private List<DataPoint> dpList = new ArrayList<>(); public WorkstationDatapointsVO(long workstationId, String appId,String dpConfig) { super(); @@ -60,13 +61,18 @@ points = new ArrayList<>(); JSONObject ptObj; + String dpName; for(int i=0;i<ptArr.size();i++) { ptObj = ptArr.getJSONObject(i); - //DataPoint dp = new DataPoint(); - //dp.setDpName(ptObj.getString("dpName")); + dpName = ptObj.getString("dpName"); + points.add(dpName); - points.add(ptObj.getString("dpName")); + DataPoint dp = new DataPoint(); + dp.setDpName(dpName); + dp.setRuleContent(ptObj.getString("ruleContent")); + dpList.add(dp); + } } @@ -108,28 +114,51 @@ * @param dpName * @return */ - public boolean containsDataPoint(String dpName) { + public boolean containsDataPointOld(String dpName) { if(ObjectUtil.isEmpty(points)) { return false; } return points.contains(dpName); - /* - for(String dpn : points) { - if(StringUtils.equals(dpn, dpName)) { - return true; + + } + + public boolean containsDataPoint(String receiveDpName) { + if(ObjectUtil.isEmpty(dpList)) { + return false; + } + if(receiveDpName.startsWith("DeviceStatus")) { + System.out.println("recname="+receiveDpName); + } + for(DataPoint dp : dpList) { + //鏃犺绠楄鍒欙紝鐩存帴鏁版嵁鐐瑰悕绉板尮閰� + if(!dp.hasRuleContent()){ + if(StringUtils.equals(dp.getDpName(), receiveDpName)){ + return true; + } + + }else { + //鏈夎绠楄鍒欙紝鐢ㄦ暟鎹偣鍚嶇О_n鍖归厤 + if(StringUtils.equals(dp.getDpName()+"_n", receiveDpName)) { + return true; + } } } return false; - */ + } - - } -/* -class DataPoint{ - private String dpName; +class DataPoint implements Serializable{ + private String dpName; + private String ruleContent; + + /** + * 鏁版嵁鐐规槸鍚﹀寘鍚绠楄鍒� + */ + public boolean hasRuleContent() { + return StringUtils.isNotBlank(StringUtils.trim(ruleContent)); + } public String getDpName() { return dpName; } @@ -137,7 +166,19 @@ public void setDpName(String dpName) { this.dpName = dpName; } + + public String getRuleContent() { + return ruleContent; + } + + public void setRuleContent(String ruleContent) { + this.ruleContent = ruleContent; + } + @Override + public String toString() { + return "DataPoint [dpName=" + dpName + ", ruleContent=" + ruleContent + "]"; + } } -*/ + -- Gitblit v1.9.3