From 75347649fb44f0a6064be55f093dea884c895930 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期六, 17 五月 2025 09:57:36 +0800
Subject: [PATCH] 先上行关闭报,后上行开阀报,此种情况,历史数据赋值补充几个遗失的属性值

---
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealOpenValveReportV202404.java |   53 ++++++++++++++++++++++++++++++-----------------------
 1 files changed, 30 insertions(+), 23 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 65a8082..5694c52 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
@@ -19,7 +19,8 @@
  * @author ZhuBaoMin
  * @date 2024-06-17 9:36
  * @LastEditTime 2024-06-17 9:36
- * @Description 鎺у埗鍣ㄥ紑闃�涓婃姤(鍔熻兘鐮�84)
+ * @Description
+ * 澶勭悊鎺у埗鍣ㄥ紑闃�涓婃姤
  */
 public class TkDealOpenValveReportV202404 extends TaskSurpport {
     private static final Logger log = LogManager.getLogger(TkDealTimingReportV202404.class.getName());
@@ -93,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)){
                     //閲嶅涓婃姤锛屽師鍥犳槸涓嬭鏁版嵁澶勭悊鎱簡锛屽氨閲嶅涓婃姤浜�
@@ -102,43 +103,49 @@
                 }
             }
             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)
                     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);
                 }
             }else if(poLast.clType != null){
-                //鍘熻褰曚笉瀛樺湪寮�闃�鏁版嵁锛屼絾瀛樺湪鍏抽榾鏁版嵁锛岄鍏堣繘琛屾椂闂存瘮瀵�
-                if(poLast.clOpenDt != null && poLast.clOpenDt.before(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd84Vo.openDt))){
+                //鍘熻褰曚笉瀛樺湪寮�闃�鏁版嵁锛屼絾瀛樺湪鍏抽榾鏁版嵁锛岄鍏堣繘琛岃鍗曞彿姣斿
+                if(poLast.clOrderNo != null && poLast.clOrderNo.equals(dataCd84Vo.orderNo)){
+                    //褰撳墠涓婃姤鐨勫紑闃�鏁版嵁涓庡師鏉ョ殑鍏抽榾鏁版嵁鍖归厤
+                    RmOpenCloseValveHistory poHistory = null ;
+                    if(poLast.lastHistoryId != null){
+                        poHistory = sv.getRmOpenCloseValveHistory(poLast.lastHistoryId) ;
+                    }
+                    this.updateOpenValve(clientVo, controller, rtuAddr, poLast, poHistory, dataV202404, dataCd84Vo, false) ;
+                    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, 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))){
                     //琛ユ姤鐨勮涔呬箣鍓嶇殑寮�闃�鎶ユ暟鎹�(瀵逛簬after:绛変簬鎴栨櫄浜庨兘杩斿洖true)
                     this.dealSupplyReport() ;
                 }else {
-                    //褰撳墠涓婃姤鐨勫紑闃�鏁版嵁涓庡師鏉ョ殑鍏抽榾鏁版嵁鍚屼竴鏃堕棿锛岃繖绉嶆儏鍐靛簲璇ヤ笉瀛樺湪锛屼絾涔熷鐞�
-                    RmOpenCloseValveHistory poHistory = null ;
-                    if(poLast.lastHistoryId != null){
-                        poHistory = sv.getRmOpenCloseValveHistory(poLast.lastHistoryId) ;
-                    }
-                    this.updateOpenValve(clientVo, controller, poLast, poHistory, dataV202404, dataCd84Vo, false) ;
-                    if(poHistory != null){
-                        sv.updateRmOpenCloseValveHistory(poHistory);
-                    }
+                    //璁㈠崟鍙蜂笉鍚岋紝鏃堕棿鐩稿悓
+                    //璁や负褰撳墠涓婃姤鏄柊鐨勫紑闃�鏁版嵁锛屾妸鏈�鏂�(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)
                 //鍘熻褰曚笉瀛樺湪寮�闃�鏁版嵁涔熶笉瀛樺湪鍏抽榾鏁版嵁锛岃繖绉嶆儏鍐典笉瀛樺湪锛屼絾涓哄畨鍏ㄤ篃杩涜澶勭悊
-                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 +235,7 @@
      */
     private void updateOpenValve(SeClient clientVo,
                                  PrController controller,
+                                 String rtuAddr,
                                  RmOpenCloseValveLast poLast,
                                  RmOpenCloseValveHistory poHistory,
                                  DataV202404 dataV202404,
@@ -237,16 +245,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){
             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.updateFrom(dataV202404, dataCd84Vo, false);
+            poHistory.rtuAddr = rtuAddr;
+            poHistory.updateFrom(dataV202404, dataCd84Vo, clearLastCloseValve);
         }
     }
-
-
 }

--
Gitblit v1.8.0