From b6833ab41416dd68a30f7cd368a802aa3a0a2e21 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期四, 11 七月 2024 20:32:10 +0800
Subject: [PATCH] 1、完善代码; 2、生成新模块pipIrr-mwTest-rtu

---
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealIntakeAmountDay.java |   66 ++++++++++++++++++++++++++------
 1 files changed, 53 insertions(+), 13 deletions(-)

diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealIntakeAmountDay.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealIntakeAmountDay.java
index 07ecd63..0f1af39 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealIntakeAmountDay.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealIntakeAmountDay.java
@@ -22,7 +22,7 @@
  */
 public class TkDealIntakeAmountDay extends TaskSurpport {
 
-    private static final Logger log = LogManager.getLogger(TkDealLoss.class.getName());
+    private static final Logger log = LogManager.getLogger(TkDealIntakeAmountDay.class.getName());
 
     //绫籌D锛屼竴瀹氫笌Tree.xml閰嶇疆鏂囦欢涓厤缃竴鑷�
     public static final String taskId = "TkDealIntakeAmountDay";
@@ -73,23 +73,40 @@
     private void doDeal(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, UpDataVo dataVo) throws Exception {
         RmIntakeAmountDayLast poLast = sv.getRmIntakeAmountLast(controller.getIntakeId());
         if (poLast == null) {
-            //鏁版嵁搴撲腑涓嶅瓨鍦ㄨ鍙栨按鍙g殑婕忔崯鏁版嵁
+            //鏁版嵁搴撲腑涓嶅瓨鍦ㄨ鍙栨按鍙g殑鏃ュ彇姘撮噺鏁版嵁
             //棣栧厛鐢熸垚鏈�鏂版暟鎹強鍘嗗彶鏁版嵁锛屽苟鍏堜繚瀛�
             poLast = this.newRmIntakeAmountLast(controller, rtuAddr, dV1_0_1, dataVo);
             this.newAndSaveHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataVo, poLast);
             sv.saveRmIntakeAmountLast(poLast);
         } else {
             if(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataVo.rtuDt).before(poLast.rtuDtLast)){
-                //RTU鏃堕挓鏃╀簬鏈湴RTU鏃堕挓锛屾槸琛ユ姤锛岃ˉ鎶ユ病娉曡绠楀彇姘村彛鏃ョ疮璁″彇姘撮噺锛屽洜涓洪噰鐢ㄧ殑鏄疮璁℃祦閲忕浉宸殑璁$畻鏂规硶
+                //RTU鏃堕挓鏃╀簬鏈湴RTU鏃堕挓锛屾槸琛ユ姤锛屼笉鐢ㄨˉ鎶ユ潵璁$畻鍙栨按鍙f棩绱鍙栨按閲忥紝鍥犱负閲囩敤鐨勬槸绱娴侀噺鐩稿樊鐨勮绠楁柟娉曪紝
+                //鍏跺疄琛ユ姤鐨勯噺鍊硷紝鍩轰簬鍓嶉潰涓婃姤鏁版嵁宸茬粡璁$畻鍖呭惈浜嗭紝鍙槸閲忓�煎綊缁撶殑鏃ユ湡涓嶆纭舰浜嗐��
             }else if(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataVo.rtuDt).equals(poLast.rtuDtLast)){
                 //RTU鏃堕挓绛変簬鏈湴RTU鏃堕挓锛岄噸澶嶄笂鎶ユ暟鎹紝涓嶈繘琛屼换浣曞鐞�
             }else{
-                //涓婅鏁版嵁涓殑鏃ユ湡鏃堕棿绗﹀悎鍙绠楃殑鏉′欢
+                //涓婅鏁版嵁涓殑鏃ユ湡鏃堕棿绗﹀悎璁$畻鐨勬潯浠�
                 if(!rtuAddr.equals(poLast.rtuAddrLast)){
-                    //鏇存崲浜嗘帶鍒跺櫒锛屽彧鏇存崲鎺у埗鍣ㄥ湴鍧�锛屼笉杩涜姘撮噺璁$畻
-                    poLast = this.updateRmIntakeAmountLastByControllerChange(poLast, controller, rtuAddr, dV1_0_1, dataVo);
-                    //鍥犱负涓婅鏁版嵁涓殑鏃ユ湡鏃堕棿鏄彲杩涜璁$畻鐨勶紝鎵�浠ユ柊鐢熸垚涓�涓巻鍙茶褰�
-                    this.newAndSaveHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataVo, poLast);
+                    //鏇存崲浜嗘帶鍒跺櫒锛屽鐞嗘柟娉曪細鍙洿鎹㈡帶鍒跺櫒鍦板潃锛屼笉杩涜姘撮噺璁$畻
+                    //鍥犱负涓婅鏁版嵁涓殑鏃ユ湡鏃堕棿鏄彲杩涜璁$畻鐨�
+                    if(DateTime.dateFrom_yyyy_MM_dd1(dV1_0_1.dt).equals(poLast.dt)){
+                        //鍚屼竴澶╂暟鎹�
+                        poLast = this.updateRmIntakeAmountLastByControllerChange(poLast, controller, rtuAddr, dV1_0_1, dataVo);
+                        RmIntakeAmountDay poHistory = null ;
+                        if(poLast.lastHistoryId != null){
+                            poHistory = sv.getRmIntakeAmountDay(poLast.lastHistoryId) ;
+                        }
+                        if(poHistory == null){
+                            this.newAndSaveHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataVo, poLast);
+                        }else{
+                            poHistory = this.updateRmIntakeAmountByControllerChange(poHistory, poLast, controller, rtuAddr, dV1_0_1, dataVo);
+                            sv.updateRmIntakeAmountDay(poHistory);
+                        }
+                    }else{
+                        //闈炲悓涓�澶╋紝鎵�浠ユ柊鐢熸垚涓�涓巻鍙茶褰�
+                        poLast = this.updateRmIntakeAmountLastByControllerChange(poLast, controller, rtuAddr, dV1_0_1, dataVo);
+                        this.newAndSaveHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataVo, poLast);
+                    }
                     sv.saveRmIntakeAmountLast(poLast);
                 }else{
                     //鏈洿鎹㈡帶鍒跺櫒
@@ -117,6 +134,8 @@
                     }
                 }
             }
+            //鏇存柊鏈�鏂版暟鎹�
+            sv.updateRmIntakeAmountLast(poLast);
         }
     }
 
@@ -164,14 +183,13 @@
         }else{
             po.amount = 0.0D ;
         }
-        po.amount = lastPo==null?0.0D:lastPo.amount ;
         po.totalAmountLast = cdData.totalAmount ;
         return po ;
     }
 
 
     /**
-     * 淇濆瓨鏂扮殑寮�闃�涓婃姤鍘嗗彶鏁版嵁璁板綍锛屽苟鎶奍D璧嬪�肩粰鏈�鏂拌褰曠殑 lastHistoryId
+     * 淇濆瓨鏂扮殑鍘嗗彶鏁版嵁璁板綍锛屽苟鎶奍D璧嬪�肩粰鏈�鏂拌褰曠殑 lastHistoryId
      * @param sv
      * @param controller
      * @param rtuAddr
@@ -206,7 +224,7 @@
         lastPo.dt = DateTime.dateFrom_yyyy_MM_dd1(dV1_0_1.dt);
         lastPo.dtLast = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt);
         lastPo.rtuDtLast = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.rtuDt);
-        //lastPo.amount = lastPo.amount ; //绱鍙栨按閲忎笉鍙�
+        //lastPo.amount = lastPo.amount ; //鏃ョ疮璁″彇姘撮噺涓嶅彉
         lastPo.totalAmountLast = cdData.totalAmount ;
         return lastPo ;
     }
@@ -231,12 +249,11 @@
         if(difference > 0){
             lastPo.amount = difference;
         }else{
-            //po.amount = po.amount ; //绱鍙栨按閲忎笉鍙�
+            //po.amount = po.amount ; //鏃ョ疮璁″彇姘撮噺涓嶅彉
         }
         lastPo.totalAmountLast = cdData.totalAmount ;
         return lastPo ;
     }
-
 
     /**
      * 鏇存柊鏈�鏂拌褰�
@@ -265,6 +282,29 @@
     }
 
     /**
+     * 鐢熸垚鏂扮殑鎺у埗鍣ㄦ紡鎹熸棩缁熻鏈�鏂拌褰�
+     * @param controller
+     * @param rtuAddr
+     * @param dV1_0_1
+     * @param cdData
+     * @return
+     * @throws Exception
+     */
+    private RmIntakeAmountDay updateRmIntakeAmountByControllerChange(RmIntakeAmountDay po, RmIntakeAmountDayLast lastPo, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, UpDataVo cdData)throws Exception {
+        po.intakeId = controller==null?null:controller.getIntakeId();
+        po.controllerIdLast = controller==null?null:controller.getId();
+        po.rtuAddrLast = rtuAddr;
+        po.dt = lastPo.dt ;
+        po.dtLast = lastPo.dtLast;
+        po.rtuDtLast = lastPo.rtuDtLast;
+
+        po.amount = lastPo.amount ;
+        po.totalAmountLast = lastPo.totalAmountLast ;
+
+        return po ;
+    }
+
+    /**
      * 鏇存柊鍘嗗彶璁板綍
      * @param controller
      * @param rtuAddr

--
Gitblit v1.8.0