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/p206V202404/TkDealOpenValveReportV202404.java |   74 ++++--------------------------------
 1 files changed, 9 insertions(+), 65 deletions(-)

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 cc838f5..e13c058 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
@@ -110,7 +110,7 @@
                     this.dealSupplyReport() ;
                 }else {
                     //褰撳墠寮�闃�涓婃姤鏄柊鐨勪竴娆″紑闃�锛屼笉绠″師璁板綍鏄惁瀛樺湪鍏抽榾鏁版嵁锛屼竴寰嬫竻绌哄叧闃�鏁版嵁
-                    this.updateOpenValve(clientVo, controller, poLast, null, dataV202404, dataCd84Vo, true) ;
+                    this.updateOpenValve(clientVo, controller, rtuAddr, poLast, null, dataV202404, dataCd84Vo, true) ;
                     //鐢熸垚骞朵繚瀛樻柊鐨勫紑闃�涓婃姤鍘嗗彶鏁版嵁璁板綍
                     this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dataV202404, dataCd84Vo, poLast);
                 }
@@ -118,7 +118,7 @@
                 //鍘熻褰曚笉瀛樺湪寮�闃�鏁版嵁锛屼絾瀛樺湪鍏抽榾鏁版嵁锛岄鍏堣繘琛屾椂闂存瘮瀵�
                 if(poLast.clOpenDt != null && poLast.clOpenDt.before(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd84Vo.openDt))){
                     //褰撳墠涓婃姤鏄柊鐨勫紑闃�鏁版嵁锛屾妸鏈�鏂�(last)鏁版嵁涓殑鍏抽榾鍐呭娓呯┖
-                    this.updateOpenValve(clientVo, controller, poLast, null, dataV202404, dataCd84Vo, true) ;
+                    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))){
@@ -130,7 +130,7 @@
                     if(poLast.lastHistoryId != null){
                         poHistory = sv.getRmOpenCloseValveHistory(poLast.lastHistoryId) ;
                     }
-                    this.updateOpenValve(clientVo, controller, poLast, poHistory, dataV202404, dataCd84Vo, false) ;
+                    this.updateOpenValve(clientVo, controller, rtuAddr, poLast, poHistory, dataV202404, dataCd84Vo, false) ;
                     if(poHistory != null){
                         sv.updateRmOpenCloseValveHistory(poHistory);
                     }
@@ -138,7 +138,7 @@
             }else{
                 //if(poLast.opType == null && po.clType == null)
                 //鍘熻褰曚笉瀛樺湪寮�闃�鏁版嵁涔熶笉瀛樺湪鍏抽榾鏁版嵁锛岃繖绉嶆儏鍐典笉瀛樺湪锛屼絾涓哄畨鍏ㄤ篃杩涜澶勭悊
-                this.updateOpenValve(clientVo, controller, poLast, null, dataV202404, dataCd84Vo, true) ;
+                this.updateOpenValve(clientVo, controller, rtuAddr, poLast, null, dataV202404, dataCd84Vo, true) ;
                 //鐢熸垚骞朵繚瀛樻柊鐨勫紑闃�涓婃姤鍘嗗彶鏁版嵁璁板綍
                 this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dataV202404, dataCd84Vo, poLast);
             }
@@ -228,6 +228,7 @@
      */
     private void updateOpenValve(SeClient clientVo,
                                  PrController controller,
+                                 String rtuAddr,
                                  RmOpenCloseValveLast poLast,
                                  RmOpenCloseValveHistory poHistory,
                                  DataV202404 dataV202404,
@@ -237,72 +238,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(dataV202404, dataCd84Vo, 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(dataV202404, dataCd84Vo, false);
         }
     }
-
-
-//
-//    /**
-//     * 澶勭悊寮�闃�鎶ユ暟鎹�
-//     * @param sv 鏈嶅姟
-//     * @param clientVo 鍐滄埛瀵硅薄锛堜笉涓虹┖鏃讹紝鍙湁id鍜宯ame鏈夊�硷級
-//     * @param controller 鎺у埗鍣ㄥ璞�
-//     * @param rtuAddr 鎺у埗鍣ㄥ湴鍧�
-//     * @param dataV202404 鍗忚鏁版嵁
-//     * @param cdData 鍔熻兘鏁版嵁
-//     */
-//    private void doDeal(DbSv sv, SeClient clientVo, PrController controller, String rtuAddr, DataV202404 dataV202404, DataCd84Vo cdData) throws Exception {
-//        this.saveOrUpdateLast(sv, controller, rtuAddr, dataV202404, cdData);
-//        this.saveHistory(sv, controller, rtuAddr, dataV202404, cdData);
-//    }
-//
-//    /**
-//     * 淇濆瓨鎴栨洿鏂版帶鍒跺櫒寮�闃�鎶ユ渶鏂版暟鎹�
-//     * @param sv 鏈嶅姟bean
-//     * @param controller 鎺у埗鍣ㄥ璞�
-//     * @param rtuAddr 鎺у埗鍣ㄥ湴鍧�
-//     * @param dataV202404 鍗忚鏁版嵁
-//     * @param cdData 鍔熻兘鏁版嵁
-//     */
-//    private void saveOrUpdateLast(DbSv sv, PrController controller, String rtuAddr, DataV202404 dataV202404, DataCd84Vo cdData)throws Exception {
-//        RmOpenCloseValveLast po = sv.getRmOpenCloseValveLast(controller.getIntakeId());
-//        if(po == null){
-//            po = new RmOpenCloseValveLast();
-//            po.controllerId = controller==null?null:controller.getId();
-//            po.intakeId = controller==null?null:controller.getIntakeId();
-//            po.rtuAddr = rtuAddr;
-//            po.valueFrom84(dataV202404, cdData);
-//            sv.saveRmOpenCloseValveLast(po);
-//        }else{
-//            po.controllerId = controller==null?null:controller.getId();
-//            po.intakeId = controller==null?null:controller.getIntakeId();
-//            po.valueFrom84(dataV202404, cdData);
-//            sv.updateRmOpenCloseValveLast(po);
-//        }
-//    }
-//
-//    /**
-//     * 淇濆瓨鎺у埗鍣ㄥ伐浣滄姤鍘嗗彶鏁版嵁
-//     * @param sv 鏈嶅姟bean
-//     * @param controller 鎺у埗鍣ㄥ璞�
-//     * @param rtuAddr 鎺у埗鍣ㄥ湴鍧�
-//     * @param dataV202404 鍗忚鏁版嵁
-//     * @param cdData 鍔熻兘鏁版嵁
-//     */
-//    private void saveHistory(DbSv sv, PrController controller, String rtuAddr, DataV202404 dataV202404, DataCd84Vo cdData)throws Exception {
-//        RmOpenCloseValveHistory po = new RmOpenCloseValveHistory();
-//        po.controllerId = controller==null?null:controller.getId();
-//        po.intakeId = controller==null?null:controller.getIntakeId();
-//        po.rtuAddr = rtuAddr;
-//        po.valueFrom84(dataV202404, cdData);
-//        sv.saveRmOpenCloseValveHistory(po); ;
-//    }
 }

--
Gitblit v1.8.0