From 1a2b07f01ba4616fd9e894dddf474b56d020158c Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期一, 07 四月 2025 15:18:51 +0800
Subject: [PATCH] 整理版本

---
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V2/TkDealHearBeatV2.java |   77 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 77 insertions(+), 0 deletions(-)

diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V2/TkDealHearBeatV2.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V2/TkDealHearBeatV2.java
new file mode 100644
index 0000000..f55f3b6
--- /dev/null
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V2/TkDealHearBeatV2.java
@@ -0,0 +1,77 @@
+package com.dy.rtuMw.server.rtuData.p206V2;
+
+import com.dy.common.mw.protocol.Data;
+import com.dy.common.mw.protocol.p206V2.DataV2;
+import com.dy.common.mw.protocol.p206V2.upVos.DataCd02Vo;
+import com.dy.rtuMw.server.rtuData.TaskSurpport;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
+import java.text.ParseException;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @Author: liurunyu
+ * @Date: 2024/11/1 9:16
+ * @Description
+ */
+public class TkDealHearBeatV2 extends TaskSurpport {
+
+    private static final Map<String, String> onceUpDataRtus = new HashMap<>();
+
+    private static final Logger log = LogManager.getLogger(TkPreGenObjsV2.class.getName()) ;
+
+    //绫籌D锛屼竴瀹氫笌Tree.xml閰嶇疆鏂囦欢涓厤缃竴鑷�
+    public static final String taskId = "TkDealHearBeatV2" ;
+
+    /**
+     * 鎵ц鑺傜偣浠诲姟
+     * @param data 闇�瑕佸鐞嗙殑鏁版嵁
+     */
+    @Override
+    public void execute(Object data) throws ParseException {
+        Data d = (Data)data ;
+        String rtuAddr = d.getRtuAddr() ;//TkRtuData閲屽垽鏂簡rtuAddr涓虹┖
+        DataCd02Vo cd02Vo = null ;
+        if(d.subData != null && d.subData instanceof DataV2){
+            DataV2 dataV2 = (DataV2)d.subData ;
+            if(dataV2.subData != null && dataV2.subData instanceof DataCd02Vo){
+                cd02Vo = (DataCd02Vo)dataV2.subData ;
+            }
+        }
+        boolean toNext = true ;
+        if(!onceUpDataRtus.containsKey(rtuAddr)){
+            //鍒濇涓婅鏁版嵁锛屼笉璁烘槸鍚︽槸蹇冭烦锛岄兘瑕佽繘琛屼换鍔℃爲澶勭悊
+            //toNext = true ;
+            if(cd02Vo != null){
+                //鏄績璺虫暟鎹�
+                onceUpDataRtus.put(rtuAddr, (cd02Vo.alarmVo == null?"":cd02Vo.alarmVo.to1010()) +
+                        (cd02Vo.stateVo == null?"":cd02Vo.stateVo.to1010())) ;
+            }else{
+                //涓嶆槸蹇冭烦鏁版嵁
+                onceUpDataRtus.put(rtuAddr, "") ;
+            }
+        }else{
+            if(cd02Vo != null){
+                //鏄績璺虫暟鎹紝
+                String alarmStateOld = onceUpDataRtus.get(rtuAddr) ;
+                String alarmStateNew = (cd02Vo.alarmVo == null?"":cd02Vo.alarmVo.to1010()) +
+                        (cd02Vo.stateVo == null?"":cd02Vo.stateVo.to1010()) ;
+                if(alarmStateOld.equals(alarmStateNew)){
+                    toNext = false ;//鏄績璺虫暟鎹紝骞朵笖鎶ヨ涓庣姸鎬佹湭鏀瑰彉锛屼笉杩涜浠诲姟鏍戝鐞嗭紝涓嶇紦瀛樻湭鍙樺寲鐨勬姤璀︿笌鐘舵��
+                }else{
+                    //鏄績璺虫暟鎹紝骞朵笖鎶ヨ涓庣姸鎬佷篃鏀瑰彉浜嗭紝杩涜浠诲姟鏍戝鐞�
+                    //toNext = true ;
+                    onceUpDataRtus.put(rtuAddr, alarmStateNew) ;//缂撳瓨鏂版姤璀︿笌鐘舵��
+                }
+            }else{
+                //涓嶆槸蹇冭烦鏁版嵁锛岃杩涜浠诲姟鏍戝鐞�
+                //toNext = true ;
+            }
+        }
+        if(toNext){
+            this.toNextTasks(data);
+        }
+    }
+}

--
Gitblit v1.8.0