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