From 02d965a2ff0cb5d415cedceacd2ae90c7ec1ac39 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期六, 10 五月 2025 09:03:50 +0800
Subject: [PATCH] 解决开关阀记录数据因重绑定或改RTU地址而引起的地址变更问题

---
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkDealOpenValveReport.java |   15 +++++++++------
 1 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkDealOpenValveReport.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkDealOpenValveReport.java
index 3a8dfa6..464894c 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkDealOpenValveReport.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkDealOpenValveReport.java
@@ -111,7 +111,7 @@
                     this.dealSupplyReport() ;
                 }else {
                     //褰撳墠寮�闃�涓婃姤鏄柊鐨勪竴娆″紑闃�锛屼笉绠″師璁板綍鏄惁瀛樺湪鍏抽榾鏁版嵁锛屼竴寰嬫竻绌哄叧闃�鏁版嵁
-                    this.updateOpenValve(clientVo, controller, poLast, null, dV1, dataCd83OpenVo, true) ;
+                    this.updateOpenValve(clientVo, controller, rtuAddr, poLast, null, dV1, dataCd83OpenVo, true) ;
                     //鐢熸垚骞朵繚瀛樻柊鐨勫紑闃�涓婃姤鍘嗗彶鏁版嵁璁板綍
                     this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dV1, dataCd83OpenVo, poLast);
                 }
@@ -119,7 +119,7 @@
                 //鍘熻褰曚笉瀛樺湪寮�闃�鏁版嵁锛屼絾瀛樺湪鍏抽榾鏁版嵁锛岄鍏堣繘琛屾椂闂存瘮瀵�
                 if(poLast.clOpenDt != null && poLast.clOpenDt.before(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83OpenVo.openDt))){
                     //褰撳墠涓婃姤鏄柊鐨勫紑闃�鏁版嵁锛屾妸鏈�鏂�(last)鏁版嵁涓殑鍏抽榾鍐呭娓呯┖
-                    this.updateOpenValve(clientVo, controller, poLast, null, dV1, dataCd83OpenVo, true) ;
+                    this.updateOpenValve(clientVo, controller, rtuAddr, poLast, null, dV1, dataCd83OpenVo, true) ;
                     //鐢熸垚骞朵繚瀛樻柊鐨勫紑闃�涓婃姤鍘嗗彶鏁版嵁璁板綍
                     this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dV1, dataCd83OpenVo, poLast);
                 }else if(poLast.clOpenDt != null && poLast.clOpenDt.after(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83OpenVo.openDt))){
@@ -131,7 +131,7 @@
                     if(poLast.lastHistoryId != null){
                         poHistory = sv.getRmOpenCloseValveHistory(poLast.lastHistoryId) ;
                     }
-                    this.updateOpenValve(clientVo, controller, poLast, poHistory, dV1, dataCd83OpenVo, false) ;
+                    this.updateOpenValve(clientVo, controller, rtuAddr, poLast, poHistory, dV1, dataCd83OpenVo, false) ;
                     if(poHistory != null){
                         sv.updateRmOpenCloseValveHistory(poHistory);
                     }
@@ -139,7 +139,7 @@
             }else{
                 //if(poLast.opType == null && po.clType == null)
                 //鍘熻褰曚笉瀛樺湪寮�闃�鏁版嵁涔熶笉瀛樺湪鍏抽榾鏁版嵁锛岃繖绉嶆儏鍐典笉瀛樺湪锛屼絾涓哄畨鍏ㄤ篃杩涜澶勭悊
-                this.updateOpenValve(clientVo, controller, poLast, null, dV1, dataCd83OpenVo, true) ;
+                this.updateOpenValve(clientVo, controller, rtuAddr, poLast, null, dV1, dataCd83OpenVo, true) ;
                 //鐢熸垚骞朵繚瀛樻柊鐨勫紑闃�涓婃姤鍘嗗彶鏁版嵁璁板綍
                 this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dV1, dataCd83OpenVo, poLast);
             }
@@ -229,6 +229,7 @@
      */
     private void updateOpenValve(SeClient clientVo,
                                  PrController controller,
+                                 String rtuAddr,
                                  RmOpenCloseValveLast poLast,
                                  RmOpenCloseValveHistory poHistory,
                                  DataV1 dV1,
@@ -238,13 +239,15 @@
         poLast.clientName = clientVo==null?null:clientVo.getName() ;
         poLast.controllerId = controller==null?null:controller.getId();
         poLast.intakeId = controller==null?null:controller.getIntakeId();
+        poLast.rtuAddr = rtuAddr;
         poLast.updateFrom(dV1, dataCd83OpenVo, clearLastCloseValve);
 
         if(poHistory != null){
-            poLast.clientId = clientVo==null?null:clientVo.getId() ;
-            poLast.clientName = clientVo==null?null:clientVo.getName() ;
+            poHistory.clientId = clientVo==null?null:clientVo.getId() ;
+            poHistory.clientName = clientVo==null?null:clientVo.getName() ;
             poHistory.controllerId = controller==null?null:controller.getId();
             poHistory.intakeId = controller==null?null:controller.getIntakeId();
+            poHistory.rtuAddr = rtuAddr;
             poHistory.updateFrom(dV1, dataCd83OpenVo, false);
         }
     }

--
Gitblit v1.8.0