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