From b1dc9988b9587add132a01faa6bc09e162fe1491 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期一, 08 七月 2024 21:39:38 +0800
Subject: [PATCH] 1、开关阀报中增加农户关联; 2、工作报中增加农户关联; 3、取水口损失流量完善; 4、实现取水日取水量统计。

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

diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealOpenValveReport.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealOpenValveReport.java
index 5d98c04..bf4f33d 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealOpenValveReport.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealOpenValveReport.java
@@ -5,9 +5,11 @@
 import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCd83OpenVo;
 import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCd84Vo;
 import com.dy.common.util.DateTime;
+import com.dy.pipIrrGlobal.pojoBa.BaClient;
 import com.dy.pipIrrGlobal.pojoPr.PrController;
 import com.dy.pipIrrGlobal.pojoRm.RmOpenCloseValveHistory;
 import com.dy.pipIrrGlobal.pojoRm.RmOpenCloseValveLast;
+import com.dy.pipIrrGlobal.pojoSe.SeClient;
 import com.dy.rtuMw.server.rtuData.TaskSurpport;
 import com.dy.rtuMw.server.rtuData.dbSv.DbSv;
 import org.apache.logging.log4j.LogManager;
@@ -40,8 +42,9 @@
             Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ;
             DbSv sv = (DbSv)objs[0] ;
             PrController controller = (PrController)objs[1] ;
+            SeClient clientVo = (SeClient)objs[3] ;//杩欎釜鍊煎璞′腑鍙湁id鍜宯ame浼氭湁鍊�
             try{
-                this.doDeal(sv, controller, d.getRtuAddr(), dV1_0_1, (DataCd83OpenVo)cdObj) ;
+                this.doDeal(sv, clientVo, controller, d.getRtuAddr(), dV1_0_1, (DataCd83OpenVo)cdObj) ;
             }catch (Exception e){
                 log.error("淇濆瓨鎺у埗鍣ㄥ紑闃�涓婃姤鏃跺彂鐢熷紓甯�", e);
             }
@@ -50,49 +53,60 @@
     /**
      * 涓氬姟澶勭悊
      * @param sv 鏈嶅姟
+     * @param clientVo 鍐滄埛瀵硅薄锛堜笉涓虹┖鏃讹紝鍙湁id鍜宯ame鏈夊�硷級
      * @param controller 鎺у埗鍣ㄥ璞�
      * @param rtuAddr 鎺у埗鍣ㄥ湴鍧�
      * @param dV1_0_1 涓婃姤鏁版嵁
      * @param dataCd83OpenVo 寮�闃�涓婃姤鏁版嵁瀵硅薄
      */
-    private void doDeal(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCd83OpenVo dataCd83OpenVo) throws Exception {
+    private void doDeal(DbSv sv, SeClient clientVo, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCd83OpenVo dataCd83OpenVo) throws Exception {
         RmOpenCloseValveLast poLast = sv.getRmOpenCloseValveLast(controller.getIntakeId()) ;
         if(poLast == null){
             //鏁版嵁搴撲腑涓嶅瓨鍦ㄨ鎺у埗鍣ㄧ殑寮�鍏抽榾鏁版嵁
             //棣栧厛鐢熸垚寮�鍏抽榾鐨勬渶鏂版暟鎹強鍘嗗彶鏁版嵁锛屽苟鍏堜繚瀛�
-            poLast = this.newRmOpenCloseValveLast(controller, rtuAddr, dV1_0_1, dataCd83OpenVo);
-            this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83OpenVo, poLast);
+            poLast = this.newRmOpenCloseValveLast(clientVo, controller, rtuAddr, dV1_0_1, dataCd83OpenVo);
+            this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dV1_0_1, dataCd83OpenVo, poLast);
             sv.saveRmOpenCloseValveLast(poLast);
         }else{
             //鏁版嵁搴撲腑瀛樺湪璇ユ帶鍒跺櫒鐨勫紑鍏抽榾鏁版嵁
-            if(poLast.opType != null){
+            if(poLast.openDt != null && poLast.opIcCardAddr != null && poLast.opIcCardNo != null){
+                if(poLast.openDt.equals(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83OpenVo.openDt))
+                    && poLast.opIcCardAddr.equals(dataCd83OpenVo.icCardAddr)
+                    && poLast.opIcCardNo.equals(dataCd83OpenVo.icCardNo)){
+                    //閲嶅涓婃姤锛屽師鍥犳槸涓嬭鏁版嵁澶勭悊鎱簡锛屽氨閲嶅涓婃姤浜�
+                    return ;
+                }
+            }
+             if(poLast.opType != null){
                 //鍘熻褰曞瓨鍦ㄥ紑闃�鏁版嵁锛岄鍏堣繘琛屾椂闂村姣�
-                if(poLast.openDt != null && poLast.openDt.after(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83OpenVo.openDt))){
-                    //琛ユ姤鐨勮涔呬箣鍓嶇殑寮�闃�鏁版嵁锛屼笉杩涜澶勭悊
-                }else if(poLast.openDt != null && poLast.openDt.equals(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83OpenVo.openDt))){
-                    //閲嶅涓婃姤鐨勫紑闃�鏁版嵁锛屼笉杩涜澶勭悊
-                }else{
+                 if(poLast.openDt != null && poLast.openDt.equals(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83OpenVo.openDt))){
+                     //閲嶅涓婃姤鐨勫紑闃�鏁版嵁锛屼笉杩涜澶勭悊
+                 }else if(poLast.openDt != null && poLast.openDt.after(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83OpenVo.openDt))){
+                    //琛ユ姤鐨勮涔呬箣鍓嶇殑寮�闃�鏁版嵁(瀵逛簬after:绛変簬鎴栨櫄浜庨兘杩斿洖true)
+                    this.dealSupplyReport() ;
+                }else {
                     //褰撳墠寮�闃�涓婃姤鏄柊鐨勪竴娆″紑闃�锛屼笉绠″師璁板綍鏄惁瀛樺湪鍏抽榾鏁版嵁锛屼竴寰嬫竻绌哄叧闃�鏁版嵁
-                    this.updateOpenValve(controller, poLast, null, dV1_0_1, dataCd83OpenVo, true) ;
+                    this.updateOpenValve(clientVo, controller, poLast, null, dV1_0_1, dataCd83OpenVo, true) ;
                     //鐢熸垚骞朵繚瀛樻柊鐨勫紑闃�涓婃姤鍘嗗彶鏁版嵁璁板綍
-                    this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83OpenVo, poLast);
+                    this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dV1_0_1, dataCd83OpenVo, poLast);
                 }
             }else if(poLast.clType != null){
                 //鍘熻褰曚笉瀛樺湪寮�闃�鏁版嵁锛屼絾瀛樺湪鍏抽榾鏁版嵁锛岄鍏堣繘琛屾椂闂存瘮瀵�
-                if(poLast.clOpenDt != null && poLast.clOpenDt.after(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83OpenVo.openDt))){
-                    //琛ユ姤鐨勮涔呬箣鍓嶇殑寮�闃�鎶ユ暟鎹紝涓嶈繘琛屽鐞�
-                }else if(poLast.clOpenDt != null && poLast.clOpenDt.before(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83OpenVo.openDt))){
-                    //褰撳墠涓婃姤鏄柊鐨勫紑闃�鏁版嵁锛屾妸鏈�鏂�(last)鏁版嵁涓殑鍏抽榾鍐呭娓呯┖
-                    this.updateOpenValve(controller, poLast, null, dV1_0_1, dataCd83OpenVo, true) ;
-                    //鐢熸垚骞朵繚瀛樻柊鐨勫紑闃�涓婃姤鍘嗗彶鏁版嵁璁板綍
-                    this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83OpenVo, poLast);
+                 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_0_1, dataCd83OpenVo, true) ;
+                     //鐢熸垚骞朵繚瀛樻柊鐨勫紑闃�涓婃姤鍘嗗彶鏁版嵁璁板綍
+                     this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dV1_0_1, dataCd83OpenVo, poLast);
+                 }else if(poLast.clOpenDt != null && poLast.clOpenDt.after(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83OpenVo.openDt))){
+                    //琛ユ姤鐨勮涔呬箣鍓嶇殑寮�闃�鎶ユ暟鎹�(瀵逛簬after:绛変簬鎴栨櫄浜庨兘杩斿洖true)
+                    this.dealSupplyReport() ;
                 }else {
                     //褰撳墠涓婃姤鐨勫紑闃�鏁版嵁涓庡師鏉ョ殑鍏抽榾鏁版嵁鍚屼竴鏃堕棿锛岃繖绉嶆儏鍐靛簲璇ヤ笉瀛樺湪锛屼絾涔熷鐞�
                     RmOpenCloseValveHistory poHistory = null ;
                     if(poLast.lastHistoryId != null){
                         poHistory = sv.getRmOpenCloseValveHistory(poLast.lastHistoryId) ;
                     }
-                    this.updateOpenValve(controller, poLast, poHistory, dV1_0_1, dataCd83OpenVo, false) ;
+                    this.updateOpenValve(clientVo, controller, poLast, poHistory, dV1_0_1, dataCd83OpenVo, false) ;
                     if(poHistory != null){
                         sv.updateRmOpenCloseValveHistory(poHistory);
                     }
@@ -100,18 +114,23 @@
             }else{
                 //if(poLast.opType == null && po.clType == null)
                 //鍘熻褰曚笉瀛樺湪寮�闃�鏁版嵁涔熶笉瀛樺湪鍏抽榾鏁版嵁锛岃繖绉嶆儏鍐典笉瀛樺湪锛屼絾涓哄畨鍏ㄤ篃杩涜澶勭悊
-                this.updateOpenValve(controller, poLast, null, dV1_0_1, dataCd83OpenVo, true) ;
+                this.updateOpenValve(clientVo, controller, poLast, null, dV1_0_1, dataCd83OpenVo, true) ;
                 //鐢熸垚骞朵繚瀛樻柊鐨勫紑闃�涓婃姤鍘嗗彶鏁版嵁璁板綍
-                this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83OpenVo, poLast);
+                this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dV1_0_1, dataCd83OpenVo, poLast);
             }
 
             sv.updateRmOpenCloseValveLast(poLast);
         }
     }
 
+    private void dealSupplyReport(){
+
+    }
+
     /**
      * 淇濆瓨鏂扮殑寮�闃�涓婃姤鍘嗗彶鏁版嵁璁板綍锛屽苟鎶奍D璧嬪�肩粰鏈�鏂拌褰曠殑 lastHistoryId
      * @param sv
+     * @param clientVo
      * @param controller
      * @param rtuAddr
      * @param dV1_0_1
@@ -119,8 +138,8 @@
      * @param poLast
      * @throws Exception
      */
-    private void newHistoryDataDeal(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCd83OpenVo dataCd83OpenVo, RmOpenCloseValveLast poLast)throws Exception {
-        RmOpenCloseValveHistory poHistory = this.newRmOpenCloseValveHistory(controller, rtuAddr, dV1_0_1, dataCd83OpenVo) ;
+    private void newHistoryDataDeal(DbSv sv, SeClient clientVo, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCd83OpenVo dataCd83OpenVo, RmOpenCloseValveLast poLast)throws Exception {
+        RmOpenCloseValveHistory poHistory = this.newRmOpenCloseValveHistory(clientVo, controller, rtuAddr, dV1_0_1, dataCd83OpenVo) ;
         sv.saveRmOpenCloseValveHistory(poHistory);
         //鐢辨渶鏂版暟鎹寔鏈夊巻鍙叉暟鎹腑鐨勬渶鏂拌褰旾D锛屼互鏂逛究蹇�熸煡璇�
         poLast.lastHistoryId = poHistory == null ? null: poHistory.id ;
@@ -128,6 +147,7 @@
 
     /**
      * 鐢熸垚鏂扮殑寮�闃�涓婃姤鏈�鏂版暟鎹褰�
+     * @param clientVo
      * @param controller
      * @param rtuAddr
      * @param dV1_0_1
@@ -135,8 +155,10 @@
      * @return
      * @throws Exception
      */
-    private RmOpenCloseValveLast newRmOpenCloseValveLast(PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCd83OpenVo dataCd83OpenVo)throws Exception {
+    private RmOpenCloseValveLast newRmOpenCloseValveLast(SeClient clientVo, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCd83OpenVo dataCd83OpenVo)throws Exception {
         RmOpenCloseValveLast po = new RmOpenCloseValveLast() ;
+        po.clientId = clientVo==null?null:clientVo.getId() ;
+        po.clientName = clientVo==null?null:clientVo.getName() ;
         po.controllerId = controller==null?null:controller.getId() ;
         po.intakeId = controller==null?null:controller.getIntakeId() ;
         po.rtuAddr = rtuAddr ;
@@ -147,6 +169,7 @@
 
     /**
      * 鐢熸垚鏂扮殑寮�闃�涓婃姤鍘嗗彶鏁版嵁璁板綍
+     * @param clientVo
      * @param controller
      * @param rtuAddr
      * @param dV1_0_1
@@ -154,8 +177,10 @@
      * @return
      * @throws Exception
      */
-    private RmOpenCloseValveHistory newRmOpenCloseValveHistory(PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCd83OpenVo dataCd83OpenVo)throws Exception {
+    private RmOpenCloseValveHistory newRmOpenCloseValveHistory(SeClient clientVo, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCd83OpenVo dataCd83OpenVo)throws Exception {
         RmOpenCloseValveHistory po = new RmOpenCloseValveHistory() ;
+        po.clientId = clientVo==null?null:clientVo.getId() ;
+        po.clientName = clientVo==null?null:clientVo.getName() ;
         po.controllerId = controller==null?null:controller.getId() ;
         po.intakeId = controller==null?null:controller.getIntakeId() ;
         po.rtuAddr = rtuAddr ;
@@ -166,23 +191,34 @@
 
     /**
      * 鏇存柊鏁版嵁
+     * @param clientVo
      * @param controller
      * @param poLast
      * @param poHistory
      * @param dV1_0_1
      * @param dataCd83OpenVo
-     * @param clearCloseValve
+     * @param clearLastCloseValve
      * @throws Exception
      */
-    private void updateOpenValve(PrController controller, RmOpenCloseValveLast poLast, RmOpenCloseValveHistory poHistory, DataV1_0_1 dV1_0_1, DataCd83OpenVo dataCd83OpenVo, boolean clearCloseValve) throws Exception {
+    private void updateOpenValve(SeClient clientVo,
+                                 PrController controller,
+                                 RmOpenCloseValveLast poLast,
+                                 RmOpenCloseValveHistory poHistory,
+                                 DataV1_0_1 dV1_0_1,
+                                 DataCd83OpenVo dataCd83OpenVo,
+                                 boolean clearLastCloseValve) throws Exception {
+        poLast.clientId = clientVo==null?null:clientVo.getId() ;
+        poLast.clientName = clientVo==null?null:clientVo.getName() ;
         poLast.controllerId = controller==null?null:controller.getId();
         poLast.intakeId = controller==null?null:controller.getIntakeId();
-        poLast.updateFrom(dV1_0_1, dataCd83OpenVo, clearCloseValve);
+        poLast.updateFrom(dV1_0_1, dataCd83OpenVo, clearLastCloseValve);
 
         if(poHistory != null){
+            poLast.clientId = clientVo==null?null:clientVo.getId() ;
+            poLast.clientName = clientVo==null?null:clientVo.getName() ;
             poHistory.controllerId = controller==null?null:controller.getId();
             poHistory.intakeId = controller==null?null:controller.getIntakeId();
-            poHistory.updateFrom(dV1_0_1, dataCd83OpenVo, clearCloseValve);
+            poHistory.updateFrom(dV1_0_1, dataCd83OpenVo, false);
         }
     }
 }

--
Gitblit v1.8.0