From 6849ec1281a1a45639d6d28eef771eac63e389d2 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期三, 11 六月 2025 16:32:44 +0800
Subject: [PATCH] 1、表阀一体协议,关阀失败数据解析修改; 2、RTU状态处理逻辑修改,每条81上报数据都要保存。

---
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealAlarmStatusV202404.java |   27 ++++++++++++++-------------
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlParse.java                 |    8 +++++---
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkDealAlarmStatus.java             |    9 +++++----
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V2/TkDealAlarmStatusV2.java           |    5 +++--
 4 files changed, 27 insertions(+), 22 deletions(-)

diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlParse.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlParse.java
index 80e7d3f..df54556 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlParse.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/global/GlParse.java
@@ -328,14 +328,16 @@
         index += 8 ;
         cdData.orderNo = ByteUtil.BCD2String_BE(bs, index, index + 7) ;
 
-        index += 8 ;
-        cdData.startDt  = GlParse.parseRtuDt(bs, index) ;
-
         if(cdData.clResult == (byte)0x81){
+            //2025-06-11 鐜嬫睙娴峰畨鎺�
             //澶辫触浜嗭紝涓嬮潰灏辨病鏈夋暟鎹簡
             return ;
         }
 
+        index += 8 ;
+        cdData.startDt  = GlParse.parseRtuDt(bs, index) ;
+
+
         index += 6 ;
         cdData.endDt  = GlParse.parseRtuDt(bs, index) ;
 
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkDealAlarmStatus.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkDealAlarmStatus.java
index 23808df..dfc00f9 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkDealAlarmStatus.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkDealAlarmStatus.java
@@ -63,13 +63,14 @@
                                     toNext = true ;
                                 }
                             }
-                            if(this.needSave2Db( d.getRtuAddr())){
+                            //2025-06-11 鍥犱负81鍛戒护鏄疪TU鐘舵�佹敼鍙樻椂鍗充笂鎶ワ紝鎵�浠ュ彲浠ュ強鏃朵綋鐜扮姸鎬佸彉鍖栵紝杩涜�屼笉鍙楀瓨鍌ㄦ帶鍒�
+                            //if(this.needSave2Db( d.getRtuAddr())){
                                 //鍦ㄤ竴涓皬鏃跺唴娌℃湁瀛樺偍鎶ヨ鏁版嵁
                                 this.toMsCenter(controller, d.getRtuAddr(), dV1, dataCd81Vo.alarmVo, dataCd81Vo.stateVo);
                                 this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), dataCd81Vo.rtuDt, dV1, dataCd81Vo.alarmVo, dataCd81Vo.stateVo);
                                 this.saveHistory(sv, controller, d.getRtuAddr(), dataCd81Vo.rtuDt, dV1, dataCd81Vo.alarmVo, dataCd81Vo.stateVo);
-                                this.cacheSaveTime(d.getRtuAddr());
-                            }
+                                //this.cacheSaveTime(d.getRtuAddr());
+                            //}
                         }
                     } else if (cdObj instanceof DataCd84Vo) {
                         //闃�寮�宸ヤ綔鎶�
@@ -78,7 +79,7 @@
                             Object[] objs = this.getTaskResults(TkPreGenObjs.taskId);
                             DbSv sv = (DbSv) objs[0];
                             PrController controller = (PrController) objs[1];
-                            /** 闃�寮�宸ヤ綔鎶ワ紝闃�闂ㄧ姸鎬佷竴瀹氭槸鎵撳紑鐘舵�侊紝鎵�浠ヤ笉璁剧疆涓嬮潰鏁版嵁浠ュ鍚庣画浠诲姟璁剧疆铏氭嫙鍗$姸鎬�
+                            /* 闃�寮�宸ヤ綔鎶ワ紝闃�闂ㄧ姸鎬佷竴瀹氭槸鎵撳紑鐘舵�侊紝鎵�浠ヤ笉璁剧疆涓嬮潰鏁版嵁浠ュ鍚庣画浠诲姟璁剧疆铏氭嫙鍗$姸鎬�
                              if(dataCd84Vo.stateVo != null && dataCd84Vo.stateVo.valveState != null && dataCd84Vo.stateVo.valveState.byteValue() == DataStateVo.ValveCloseState){
                                  if(controller != null && controller.getIntakeId() != null){
                                      this.taskResult = new Object[]{controller.getIntakeId(), DataStateVo.ValveCloseState} ;
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V2/TkDealAlarmStatusV2.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V2/TkDealAlarmStatusV2.java
index 24e0c4b..6f0856b 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V2/TkDealAlarmStatusV2.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V2/TkDealAlarmStatusV2.java
@@ -76,7 +76,8 @@
                         //闅忔満鑷姤鎶�
                         DataCd81Vo dataCd81Vo = (DataCd81Vo)cdObj ;
                         if (dataCd81Vo.alarmVo != null || dataCd81Vo.stateVo != null) {
-                            if(this.needSave2Db( d.getRtuAddr())) {
+                            //2025-06-11 鍥犱负81鍛戒护鏄疪TU鐘舵�佹敼鍙樻椂鍗充笂鎶ワ紝鎵�浠ュ彲浠ュ強鏃朵綋鐜扮姸鎬佸彉鍖栵紝杩涜�屼笉鍙楀瓨鍌ㄦ帶鍒�
+                            //if(this.needSave2Db( d.getRtuAddr())) {
                                 //鍦ㄤ竴涓皬鏃跺唴娌℃湁瀛樺偍鎶ヨ鏁版嵁
                                 Object[] objs = this.getTaskResults(TkPreGenObjsV2.taskId);
                                 DbSv sv = (DbSv) objs[0];
@@ -91,7 +92,7 @@
                                         toNext = true ;
                                     }
                                 }
-                            }
+                            //}
                         }
                     } else if (cdObj instanceof DataCd84Vo) {
                         //闃�寮�宸ヤ綔鎶�
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealAlarmStatusV202404.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealAlarmStatusV202404.java
index c9d63e0..9062205 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealAlarmStatusV202404.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealAlarmStatusV202404.java
@@ -48,18 +48,16 @@
             PrController controller = (PrController)objs[1] ;
             if(cdObj instanceof DataCd81Vo){
                 //璁惧缁堢闅忔満鑷姤
-                if(this.needSave2Db( d.getRtuAddr())) {
-                    //鍦ㄤ竴涓皬鏃跺唴娌℃湁瀛樺偍鎶ヨ鏁版嵁
-                    DataCd81Vo cdData = (DataCd81Vo)(cdObj) ;
-                    this.toMsCenter(controller, d.getRtuAddr(), dV202404, cdData, dV202404.dt);
-                    this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ;
-                    this.saveHistory(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ;
-                    this.cacheSaveTime(d.getRtuAddr());
-                    if(cdData.statePump != null && cdData.statePump.byteValue() == AlarmVo.DevCloseState){
-                        if(controller != null && controller.getIntakeId() != null){
-                            this.taskResult = new Object[]{controller.getIntakeId(), AlarmVo.DevCloseState} ;
-                            toNext = true ;
-                        }
+                //81鍔熻兘鐮佹暟鎹紝涓嶈繘琛屸�滃湪涓�涓皬鏃跺唴娌℃湁瀛樺偍鎶ヨ鏁版嵁鈥濈殑鎺у埗
+                DataCd81Vo cdData = (DataCd81Vo)(cdObj) ;
+                this.toMsCenter(controller, d.getRtuAddr(), dV202404, cdData, dV202404.dt);
+                this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ;
+                this.saveHistory(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ;
+                this.cacheSaveTime(d.getRtuAddr());
+                if(cdData.statePump != null && cdData.statePump.byteValue() == AlarmVo.DevCloseState){
+                    if(controller != null && controller.getIntakeId() != null){
+                        this.taskResult = new Object[]{controller.getIntakeId(), AlarmVo.DevCloseState} ;
+                        toNext = true ;
                     }
                 }
             }else if(cdObj instanceof DataCd80_5BVo){
@@ -78,7 +76,9 @@
                         }
                     }
                 }
-            }else if(cdObj instanceof DataCd93_A3Vo){
+            }
+            /* 2025-06-11 鐜嬫睙娴疯锛氫互涓嬫暟鎹腑鐨勭姸鎬佷笉鍑嗙‘锛屽挨鍏堕榾闂ㄧ姸鎬侊紝鎵�浠ヤ笉鍐嶉噰绾�
+            else if(cdObj instanceof DataCd93_A3Vo){
                 //骞冲彴/APP杩滅▼鍏抽棴姘存车/闃�闂�   +  鍒峰崱鍏虫车/闃�涓婃姤
                 if(this.needSave2Db( d.getRtuAddr())) {
                     //鍦ㄤ竴涓皬鏃跺唴娌℃湁瀛樺偍鎶ヨ鏁版嵁
@@ -127,6 +127,7 @@
                     }
                 }
             }
+             */
         }catch (Exception e){
             log.error("淇濆瓨鎺у埗鍣ㄦ姤璀﹀拰鐘舵�佹暟鎹椂鍙戠敓寮傚父", e);
         }

--
Gitblit v1.8.0