From b218f31bb202cffa656fa4ee09bdd8d67f8ed0ef Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期二, 13 五月 2025 17:29:42 +0800
Subject: [PATCH] 1、根据江海调整,功能码92、A2的应答中的日期时间去除; 2、表阀一体机的开关阀上行数据(84、85)处理逻辑进行修改。

---
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd92_A2Vo.java                       |    7 +++
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealCloseValveReportV202404.java |   41 +++++++++-----------
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealOpenValveReportV202404.java  |   32 +++++++++------
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_92_A2_Up.java                         |    5 +-
 4 files changed, 47 insertions(+), 38 deletions(-)

diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_92_A2_Up.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_92_A2_Up.java
index f6196f2..ee57e52 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_92_A2_Up.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/parse/Cd_92_A2_Up.java
@@ -77,8 +77,9 @@
         index += 8 ;
         cdData.orderNo = ByteUtil.BCD2String_BE(bs, index, index + 7) ;
 
-        index += 8 ;
-        cdData.opDt = GlParse.parseRtuDt(bs, index) ;
+        //2025-05-13姹熸捣鍙垹闄�
+        //index += 8 ;
+        //cdData.opDt = GlParse.parseRtuDt(bs, index) ;
 
         index += 6 ;
         cdData.opType = bs[index];
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd92_A2Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd92_A2Vo.java
index 4e4977c..a6cacc2 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd92_A2Vo.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V202404/upVos/DataCd92_A2Vo.java
@@ -13,7 +13,8 @@
 	public Integer projectNo ;//椤圭洰缂栧彿
 	public String icCardNo ;//IC鍗$紪鍙凤紙17浣嶆暟瀛楋級
 	public String orderNo ;//璁㈠崟鍙凤紙16浣嶆暟瀛楋級
-	public String opDt ;//寮�娉�/闃�鏃堕棿锛坹yyy-mm-dd HH:MM:SS锛�
+	//2025-05-13姹熸捣鍙垹闄�
+	//public String opDt ;//寮�娉�/闃�鏃堕棿锛坹yyy-mm-dd HH:MM:SS锛�
 	public Byte opType ;//寮�闃�绫诲瀷
 	public Byte opResult ;//寮�鍚车/闃�缁撴灉: 0x00:鎴愬姛 0x81:澶辫触
 
@@ -41,9 +42,11 @@
 		sb.append("      璁㈠崟鍙� : ") ;
 		sb.append(orderNo == null?"鏈煡":orderNo) ;
 		sb.append("\n") ;
+		/*
 		sb.append("      寮�娉�/闃�鏃堕棿 : ") ;
 		sb.append(opDt == null?"鏈煡":opDt) ;
 		sb.append("\n") ;
+		 */
 		sb.append("      寮�鍚车/闃�绫诲瀷 : ") ;
 		sb.append(opType == null?"鏈煡":(opType.byteValue() == 0x01 ? "骞冲彴":"鐢ㄦ埛")) ;
 		sb.append("\n") ;
@@ -70,9 +73,11 @@
 		sb.append("璁㈠崟鍙� : ") ;
 		sb.append(orderNo == null?"鏈煡":orderNo) ;
 		sb.append("\n") ;
+		/*
 		sb.append("寮�娉�/闃�鏃堕棿 : ") ;
 		sb.append(opDt == null?"鏈煡":opDt) ;
 		sb.append("\n") ;
+		 */
 		sb.append("寮�鍚车/闃�绫诲瀷 : ") ;
 		sb.append(opType == null?"鏈煡":(opType.byteValue() == 0x01 ? "骞冲彴":"鐢ㄦ埛")) ;
 		sb.append("\n") ;
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealCloseValveReportV202404.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealCloseValveReportV202404.java
index 273c54a..4934903 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealCloseValveReportV202404.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealCloseValveReportV202404.java
@@ -96,8 +96,8 @@
             sv.saveRmOpenCloseValveLast(poLast);
         }else{
             //鏁版嵁搴撲腑瀛樺湪璇ユ帶鍒跺櫒鐨勫紑鍏抽榾鏁版嵁
-            if(poLast.closeDt != null && poLast.clIcCardAddr != null && poLast.clIcCardNo != null){
-                if(poLast.closeDt.equals(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd85Vo.endDt))
+            if(poLast.clOrderNo != null && poLast.clIcCardAddr != null && poLast.clIcCardNo != null){
+                if(poLast.clOrderNo.equals(dataCd85Vo.orderNo)
                         && poLast.clIcCardAddr.equals(dataCd85Vo.icCardAddr)
                         && poLast.clIcCardNo.equals(dataCd85Vo.icCardNo)){
                     //閲嶅涓婃姤锛屽師鍥犳槸涓嬭鏁版嵁澶勭悊鎱簡锛屽氨閲嶅涓婃姤浜�
@@ -116,20 +116,15 @@
                     if(poLast.lastHistoryId != null){
                         poHistory = sv.getRmOpenCloseValveHistory(poLast.lastHistoryId) ;
                         if(poHistory != null){
-                            if(poHistory.openDt != null){
-                                //涓婇潰宸茬粡鍒ゆ柇浜唒oLast.openDt == null锛屾墍浠ユ澶勪竴鑸細鏄痯oHistory.openDt != null
-                                if(poHistory.openDt.equals(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd85Vo.startDt))){
+                            if(poHistory.opOrderNo != null){
+                                if(poHistory.opOrderNo.equals(dataCd85Vo.orderNo)){
                                     //鍖归厤鎴愬姛
                                     //褰撳墠鍏抽榾鏄師璁板綍涓紑闃�鐨勫搴斿叧闃�
                                     this.updateCloseValve(clientVo, controller, rtuAddr, poLast, poHistory, dV202404, dataCd85Vo, false) ;
                                     sv.updateRmOpenCloseValveHistory(poHistory);
-                                }else if(poHistory.openDt.after(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd85Vo.startDt))){
-                                    //鍖归厤澶辫触(瀵逛簬after:绛変簬鎴栨櫄浜庨兘杩斿洖true)
-                                    //鏈湴鏈�鏂版暟鎹腑鐨勫紑闃�鏃堕棿鏅氫簬褰撳墠鍏抽榾涓婃姤涓殑寮�闃�鏃堕棿锛岃鏄庢槸琛ユ姤
-                                    this.dealSupplyReport() ;
                                 }else{
                                     //鍖归厤澶辫触
-                                    //鏈湴鏈�鏂版暟鎹腑鐨勫紑闃�鏃堕棿鏃╀簬褰撳墠鍏抽榾涓婃姤涓殑寮�闃�鏃堕棿锛岃鏄庢槸鏂扮殑涓�娆″叧闃�鎶ワ紝鑰屼笖瀵瑰簲鍏抽榾鎶ョ殑涓婁竴娆″紑闃�鎶ユ湭鏀跺埌
+                                    //褰撳墠鍏抽榾涓嶆槸鍘熻褰曚腑寮�闃�鐨勫搴斿叧闃�锛岃鏄庢槸鏂扮殑涓�娆″叧闃�鎶ワ紝鑰屼笖瀵瑰簲鍏抽榾鎶ョ殑涓婁竴娆″紑闃�鎶ユ湭鏀跺埌
                                     this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dV202404, dataCd85Vo, poLast, true);
                                 }
                             }else{
@@ -147,12 +142,9 @@
                     }
                 }
             }else if(poLast.opType != null){
-                //鍘熻褰曞瓨鍦ㄥ叧闃�鏁版嵁锛屼篃瀛樺湪寮�闃�鏁版嵁锛岄鍏堣繘琛屽紑鍏抽榾鏃堕棿瀵规瘮
-                if(poLast.closeDt != null && poLast.closeDt.equals(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd85Vo.endDt))){
+                //鍘熻褰曞瓨鍦ㄥ叧闃�鏁版嵁锛屼篃瀛樺湪寮�闃�鏁版嵁锛岄鍏堣繘琛屽姣�
+                if(poLast.clOrderNo != null && poLast.clOrderNo.equals(dataCd85Vo.orderNo)){
                     //閲嶅涓婃姤浜嗭紝涓嶈繘琛屽鐞�
-                }else if(poLast.closeDt != null && poLast.closeDt.after(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd85Vo.endDt))){
-                    //琛ユ姤鐨勮涔呬箣鍓嶇殑鏁版嵁(瀵逛簬after:绛変簬鎴栨櫄浜庨兘杩斿洖true)
-                    this.dealSupplyReport() ;
                 }else {
                     //鏄柊鐨勪笂鎶ュ叧闃�鏁版嵁
                     //杩涜鍘嗗彶鏁版嵁鍖归厤
@@ -160,14 +152,19 @@
                     if(poLast.lastHistoryId != null) {
                         poHistory = sv.getRmOpenCloseValveHistory(poLast.lastHistoryId);
                         if (poHistory != null) {
-                            if(poHistory.openDt.equals(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd85Vo.startDt))){
-                                //鍖归厤涓婁簡
-                                this.updateCloseValve(clientVo, controller, rtuAddr, poLast, poHistory, dV202404, dataCd85Vo, false) ;
-                                sv.updateRmOpenCloseValveHistory(poHistory);
+                            if(poHistory.clOrderNo.equals(dataCd85Vo.orderNo)){
+                                //閲嶅涓婃姤浜嗭紝涓嶈繘琛屽鐞�
                             }else{
-                                //涓婁釜鍏抽榾鎶ユ湭涓婃姤
-                                this.updateCloseValve(clientVo, controller, rtuAddr, poLast, null, dV202404, dataCd85Vo, true) ;
-                                this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dV202404, dataCd85Vo, poLast, null);
+                                if(poLast.closeDt != null && poLast.closeDt.equals(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd85Vo.endDt))){
+                                    //閲嶅涓婃姤浜嗭紝涓嶈繘琛屽鐞�
+                                }else if(poLast.closeDt != null && poLast.closeDt.after(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd85Vo.endDt))){
+                                    //琛ユ姤鐨勮涔呬箣鍓嶇殑鏁版嵁(瀵逛簬after:绛変簬鎴栨櫄浜庨兘杩斿洖true)
+                                    this.dealSupplyReport() ;
+                                }else {
+                                    //涓婁釜寮�闃�鎶ユ湭涓婃姤
+                                    this.updateCloseValve(clientVo, controller, rtuAddr, poLast, null, dV202404, dataCd85Vo, true) ;
+                                    this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dV202404, dataCd85Vo, poLast, null);
+                                }
                             }
                         }else{
                             //杩欑鎯呭喌涓嶅瓨鍦紝浣嗕负瀹夊叏涔熻繘琛屽鐞嗭紝涔熻涓轰笂涓叧闃�鎶ユ湭涓婃姤
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealOpenValveReportV202404.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealOpenValveReportV202404.java
index e32eac9..8b8554f 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealOpenValveReportV202404.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealOpenValveReportV202404.java
@@ -94,8 +94,8 @@
             sv.saveRmOpenCloseValveLast(poLast);
         }else{
             //鏁版嵁搴撲腑瀛樺湪璇ユ帶鍒跺櫒鐨勫紑鍏抽榾鏁版嵁
-            if(poLast.openDt != null && poLast.opIcCardAddr != null && poLast.opIcCardNo != null){
-                if(poLast.openDt.equals(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd84Vo.openDt))
+            if(poLast.opOrderNo != null && poLast.opIcCardAddr != null && poLast.opIcCardNo != null){
+                if(poLast.opOrderNo.equals(dataCd84Vo.orderNo)
                         && poLast.opIcCardAddr.equals(dataCd84Vo.icCardAddr)
                         && poLast.opIcCardNo.equals(dataCd84Vo.icCardNo)){
                     //閲嶅涓婃姤锛屽師鍥犳槸涓嬭鏁版嵁澶勭悊鎱簡锛屽氨閲嶅涓婃姤浜�
@@ -104,7 +104,7 @@
             }
             if(poLast.opType != null){
                 //鍘熻褰曞瓨鍦ㄥ紑闃�鏁版嵁锛岄鍏堣繘琛屾椂闂村姣�
-                if(poLast.openDt != null && poLast.openDt.equals(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd84Vo.openDt))){
+                if(poLast.opOrderNo != null && poLast.opOrderNo.equals(dataCd84Vo.orderNo)){
                     //閲嶅涓婃姤鐨勫紑闃�鏁版嵁锛屼笉杩涜澶勭悊
                 }else if(poLast.openDt != null && poLast.openDt.after(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd84Vo.openDt))){
                     //琛ユ姤鐨勮涔呬箣鍓嶇殑寮�闃�鏁版嵁(瀵逛簬after:绛変簬鎴栨櫄浜庨兘杩斿洖true)
@@ -117,16 +117,8 @@
                 }
             }else if(poLast.clType != null){
                 //鍘熻褰曚笉瀛樺湪寮�闃�鏁版嵁锛屼絾瀛樺湪鍏抽榾鏁版嵁锛岄鍏堣繘琛屾椂闂存瘮瀵�
-                if(poLast.clOpenDt != null && poLast.clOpenDt.before(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd84Vo.openDt))){
-                    //褰撳墠涓婃姤鏄柊鐨勫紑闃�鏁版嵁锛屾妸鏈�鏂�(last)鏁版嵁涓殑鍏抽榾鍐呭娓呯┖
-                    this.updateOpenValve(clientVo, controller, rtuAddr, poLast, null, dataV202404, dataCd84Vo, true) ;
-                    //鐢熸垚骞朵繚瀛樻柊鐨勫紑闃�涓婃姤鍘嗗彶鏁版嵁璁板綍
-                    this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dataV202404, dataCd84Vo, poLast);
-                }else if(poLast.clOpenDt != null && poLast.clOpenDt.after(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd84Vo.openDt))){
-                    //琛ユ姤鐨勮涔呬箣鍓嶇殑寮�闃�鎶ユ暟鎹�(瀵逛簬after:绛変簬鎴栨櫄浜庨兘杩斿洖true)
-                    this.dealSupplyReport() ;
-                }else {
-                    //褰撳墠涓婃姤鐨勫紑闃�鏁版嵁涓庡師鏉ョ殑鍏抽榾鏁版嵁鍚屼竴鏃堕棿锛岃繖绉嶆儏鍐靛簲璇ヤ笉瀛樺湪锛屼絾涔熷鐞�
+                if(poLast.clOrderNo != null && poLast.clOrderNo.equals(dataCd84Vo.orderNo)){
+                    //褰撳墠涓婃姤鐨勫紑闃�鏁版嵁涓庡師鏉ョ殑鍏抽榾鏁版嵁鍖归厤
                     RmOpenCloseValveHistory poHistory = null ;
                     if(poLast.lastHistoryId != null){
                         poHistory = sv.getRmOpenCloseValveHistory(poLast.lastHistoryId) ;
@@ -135,6 +127,20 @@
                     if(poHistory != null){
                         sv.updateRmOpenCloseValveHistory(poHistory);
                     }
+                }else if(poLast.clOpenDt != null && poLast.clOpenDt.before(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd84Vo.openDt))){
+                    //褰撳墠涓婃姤鏄柊鐨勫紑闃�鏁版嵁锛屾妸鏈�鏂�(last)鏁版嵁涓殑鍏抽榾鍐呭娓呯┖
+                    this.updateOpenValve(clientVo, controller, rtuAddr, poLast, null, dataV202404, dataCd84Vo, true) ;
+                    //鐢熸垚骞朵繚瀛樻柊鐨勫紑闃�涓婃姤鍘嗗彶鏁版嵁璁板綍
+                    this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dataV202404, dataCd84Vo, poLast);
+                }else if(poLast.clOpenDt != null && poLast.clOpenDt.after(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd84Vo.openDt))){
+                    //琛ユ姤鐨勮涔呬箣鍓嶇殑寮�闃�鎶ユ暟鎹�(瀵逛簬after:绛変簬鎴栨櫄浜庨兘杩斿洖true)
+                    this.dealSupplyReport() ;
+                }else {
+                    //璁㈠崟鍙蜂笉鍚岋紝鏃堕棿鐩稿悓
+                    //璁や负褰撳墠涓婃姤鏄柊鐨勫紑闃�鏁版嵁锛屾妸鏈�鏂�(last)鏁版嵁涓殑鍏抽榾鍐呭娓呯┖
+                    this.updateOpenValve(clientVo, controller, rtuAddr, poLast, null, dataV202404, dataCd84Vo, true) ;
+                    //鐢熸垚骞朵繚瀛樻柊鐨勫紑闃�涓婃姤鍘嗗彶鏁版嵁璁板綍
+                    this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dataV202404, dataCd84Vo, poLast);
                 }
             }else{
                 //if(poLast.opType == null && po.clType == null)

--
Gitblit v1.8.0