From c3532525eb7a5a42b275f6133bd218a9ba3c5356 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期三, 08 一月 2025 17:15:13 +0800
Subject: [PATCH] 修改sql中的一个bug

---
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkDealIntakeAmountDay.java |  109 +++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 90 insertions(+), 19 deletions(-)

diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkDealIntakeAmountDay.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkDealIntakeAmountDay.java
index 9057b7c..78b09bc 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkDealIntakeAmountDay.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkDealIntakeAmountDay.java
@@ -153,7 +153,15 @@
         po.dt = DateTime.dateFrom_yyyy_MM_dd1(dV1.dt);
         po.dtLast = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1.dt);
         po.rtuDtLast = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.rtuDt);
-        po.amount = 0.0D ;
+        if(cdData.isCloseValve != null && cdData.isCloseValve){
+            po.amount = cdData.amount ;
+            po.money = cdData.money ;
+            po.times = 1 ;
+        }else{
+            po.amount = 0.0D ;
+            po.money = 0.0D ;
+            po.times = 0 ;
+        }
         po.rtuAddrLast = rtuAddr;
         return po ;
     }
@@ -177,8 +185,12 @@
         po.rtuDtLast = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.rtuDt);
         if(lastPo != null){
             po.amount = lastPo.amount ;
+            po.money = lastPo.money ;
+            po.times = lastPo.times ;
         }else{
             po.amount = 0.0D ;
+            po.money = 0.0D ;
+            po.times = 0 ;
         }
         po.totalAmountLast = cdData.totalAmount ;
         return po ;
@@ -206,7 +218,7 @@
 
 
     /**
-     * 鐢熸垚鏂扮殑鎺у埗鍣ㄦ紡鎹熸棩缁熻鏈�鏂拌褰�
+     * 鍙栨按鍙f洿鎹簡鎺у埗鍣ㄥ湪锛屾鏃跺彧鏇存柊閮ㄥ垎灞炴��
      * @param controller
      * @param rtuAddr
      * @param dV1
@@ -221,7 +233,7 @@
         lastPo.dt = DateTime.dateFrom_yyyy_MM_dd1(dV1.dt);
         lastPo.dtLast = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1.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 ;
     }
@@ -242,17 +254,45 @@
         //lastPo.dt = DateTime.dateFrom_yyyy_MM_dd1(dV1.dt);//鏃ユ湡娌″彉
         lastPo.dtLast = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1.dt);
         lastPo.rtuDtLast = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.rtuDt);
-        Double added = cdData.totalAmount - lastPo.totalAmountLast ;
-        if(added > 0){
-            if(lastPo.amount == null){
-                lastPo.amount = added ;
-            }else{
-                lastPo.amount += added ;
-            }
+        if(cdData.totalAmount == 0.0F){
+            //鍙戠幇闃�鎺у櫒涓�涓猙ug锛岀粡甯镐笂鎶ョ疮璁℃祦閲忎负0锛屾帹娴嬫槸闃�鎺у櫒鏈兘浠庢按琛ㄩ噰闆嗗埌鏁版嵁鏃朵細涓婃姤0鍊�
+            //杩欑鎯呭喌鏁版嵁涓嶅仛澶勭悊
+            //濡傛灉姘磋〃鍒濆畨瑁咃紝鏈繘琛岃繃浠诲姟鍙栨按锛岄偅涔堢疮璁℃祦閲忎細鏄�0锛岃繖绉嶆儏鍐靛綋bug澶勭悊涔熸棤闃�
+            //涓婇潰鏃舵爣浣滀簡鏇存柊锛屼篃姝e父锛岀浉褰撲簬鏈涓婃姤鐨勭疮璁℃祦閲忎笌涓婃涓婃姤鐨勭疮璁℃祦閲忔暟鍊肩浉绛�
+            //lastPo.totalAmountLast = lastPo.totalAmountLast ;
+            //lastPo.amount = lastPo.amount; //鏈棩鐨勬棩绱姘撮噺淇濇寔涓嶅彉
         }else{
-            //po.amount = po.amount ; //鏃ョ疮璁″彇姘撮噺涓嶅彉
+            Double added = cdData.totalAmount - lastPo.totalAmountLast ;
+            if(added > 0){
+                if(lastPo.amount == null){
+                    lastPo.amount = added ;
+                }else{
+                    lastPo.amount += added ;
+                }
+            }else{
+                //鍙兘鏄洿鎹㈡按琛ㄤ簡锛屾柊琛ㄥ簳鍊煎鍘熻〃搴曞�煎皬銆�
+                //鏈缃噺鍊间笉鍙橈紝涓嬫鍐嶄笂鎶ユ椂锛屽氨鑳芥甯歌绠椾簡銆�
+                //lastPo.amount = lastPo.amount ; //鏃ョ疮璁″彇姘撮噺涓嶅彉
+            }
+            if(cdData.isCloseValve != null && cdData.isCloseValve.booleanValue()){
+                //鏄粠鍏抽榾鎶ヤ腑寰楀埌鐨勬暟鎹�
+                if(lastPo.money == null){
+                    lastPo.money = cdData.money ;
+                }else{
+                    lastPo.money += cdData.money ;
+                }
+                if(lastPo.times == null){
+                    lastPo.times = 1 ;
+                }else{
+                    lastPo.times += 1 ;
+                }
+            }else{
+                lastPo.money = 0.0D ;
+                lastPo.times = 1 ;
+            }
+            lastPo.totalAmountLast = cdData.totalAmount ;
         }
-        lastPo.totalAmountLast = cdData.totalAmount ;
+
         return lastPo ;
     }
 
@@ -272,19 +312,40 @@
         lastPo.dt = DateTime.dateFrom_yyyy_MM_dd1(dV1.dt);//鏃ユ湡鍙樹簡
         lastPo.dtLast = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1.dt);
         lastPo.rtuDtLast = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.rtuDt);
-        Double added = cdData.totalAmount - lastPo.totalAmountLast ;
-        if(added > 0){
-            //鏂扮殑涓�澶╃殑澶勭悊鏂瑰紡涓庡悓涓�澶╃殑澶勭悊鏂瑰紡涓嶄竴鏍�
-            lastPo.amount = added;
+        if(cdData.totalAmount == 0.0F){
+            //鍙戠幇闃�鎺у櫒涓�涓猙ug锛岀粡甯镐笂鎶ョ疮璁℃祦閲忎负0锛屾帹娴嬫槸闃�鎺у櫒鏈兘浠庢按琛ㄩ噰闆嗗埌鏁版嵁鏃朵細涓婃姤0鍊�
+            //杩欑鎯呭喌鏁版嵁涓嶅仛澶勭悊
+            //濡傛灉姘磋〃鍒濆畨瑁咃紝鏈繘琛岃繃浠诲姟鍙栨按锛岄偅涔堢疮璁℃祦閲忎細鏄�0锛岃繖绉嶆儏鍐靛綋bug澶勭悊涔熸棤闃�
+            //涓婇潰鏃舵爣浣滀簡鏇存柊锛屼篃姝e父锛岀浉褰撲簬鏈涓婃姤鐨勭疮璁℃祦閲忎笌涓婃涓婃姤鐨勭疮璁℃祦閲忔暟鍊肩浉绛�
+            //lastPo.totalAmountLast = lastPo.totalAmountLast ;
+            lastPo.amount = 0.0D; //鏂扮殑涓�澶╃殑鏃ョ疮璁℃按閲忕疆0
         }else{
-            lastPo.amount = 0.0D; //鏃ョ疮璁℃按閲忓綊0
+            Double added = cdData.totalAmount - lastPo.totalAmountLast ;
+            if(added > 0){
+                //鏂扮殑涓�澶╃殑澶勭悊鏂瑰紡涓庡悓涓�澶╃殑澶勭悊鏂瑰紡涓嶄竴鏍�
+                lastPo.amount = added;
+            }else{
+                //鍙兘鏄洿鎹㈡按琛ㄤ簡锛屾柊琛ㄥ簳鍊兼瘮鍘熻〃搴曞�煎皬銆�
+                //鏈缃�0锛屼笅娆″啀涓婃姤鏃讹紝灏辫兘姝e父璁$畻浜嗐��
+                lastPo.amount = 0.0D; //鏃ョ疮璁℃按閲忓綊0
+            }
+            lastPo.totalAmountLast = cdData.totalAmount ;
         }
-        lastPo.totalAmountLast = cdData.totalAmount ;
+
+        if(cdData.isCloseValve != null && cdData.isCloseValve.booleanValue()){
+            //鏄粠鍏抽榾鎶ヤ腑寰楀埌鐨勬暟鎹�
+            lastPo.money = cdData.money ;
+            lastPo.times = 1 ;
+        }else{
+            lastPo.money = 0.0D ;
+            lastPo.times = 0 ;
+        }
+
         return lastPo ;
     }
 
     /**
-     * 鐢熸垚鏂扮殑鎺у埗鍣ㄦ紡鎹熸棩缁熻鏈�鏂拌褰�
+     * 鍙栨按鍙f洿鎹簡鎺у埗鍣ㄥ湪锛屾鏃跺彧鏇存柊閮ㄥ垎灞炴��
      * @param controller
      * @param rtuAddr
      * @param dV1
@@ -301,6 +362,8 @@
         po.rtuDtLast = lastPo.rtuDtLast;
 
         po.amount = lastPo.amount ;
+        po.money = lastPo.money ;
+        po.times = lastPo.times ;
         po.totalAmountLast = lastPo.totalAmountLast ;
 
         return po ;
@@ -324,6 +387,8 @@
         po.rtuDtLast = lastPo.rtuDtLast;
 
         po.amount = lastPo.amount ;//姝ゆ椂lastPo.amount宸茬粡澧炲姞涓婁簡澧為噺
+        po.money = lastPo.money ;//姝ゆ椂lastPo.money宸茬粡澧炲姞涓婁簡澧為噺
+        po.times = lastPo.times ;//姝ゆ椂lastPo.times宸茬粡澧炲姞涓婁簡澧為噺
         po.totalAmountLast = lastPo.totalAmountLast ;
 
         return po ;
@@ -332,6 +397,9 @@
 
     public class UpDataVo{
         public Double totalAmount; //绱娴侀噺锛�5瀛楄妭BCD鐮侊紝鍙栧�艰寖鍥�0~9999999999锛屽崟浣嶄负m3銆�
+        public Double amount; //鍐滄埛鐢ㄦ按閲�
+        public Double money ;//鍐滄埛娑堣垂閲戦
+        public Boolean isCloseValve ;//鏄惁鏄叧闃�涓婃姤
         public String rtuDt ;//鎺у埗鍣ㄦ椂閽�
 
         public void valueFrom(DataCdC0Vo voC0, DataCd84Vo vo84, DataCd83OpenVo vo83Op, DataCd83CloseVo vo83Cl){
@@ -346,6 +414,9 @@
                 this.rtuDt = vo83Op.rtuDt ;
             }else if(vo83Cl != null){
                 this.totalAmount = vo83Cl.totalAmount ;
+                this.amount = vo83Cl.thisAmount ;
+                this.money = vo83Cl.thisMoney ;
+                this.isCloseValve = true ;
                 this.rtuDt = vo83Cl.rtuDt ;
             }
         }

--
Gitblit v1.8.0