From 6be968854d7a134cf31b8af7b8ffb219da5cee55 Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期五, 05 七月 2024 16:36:40 +0800
Subject: [PATCH] p206V1.0.0协议与硬件联调,并修改完善代码。

---
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealOpenValveReport.java |  194 +++++++++++++++--------------------------------
 1 files changed, 63 insertions(+), 131 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 9fdeeeb..5d98c04 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
@@ -1,14 +1,15 @@
 package com.dy.rtuMw.server.rtuData.p206V1_0_0;
 
-import com.dy.rtuMw.server.rtuData.TaskSurpport;
-import com.dy.rtuMw.server.rtuData.dbSv.DbSv;
 import com.dy.common.mw.protocol.Data;
-import com.dy.common.mw.protocol.p206V1_0_0.DataCd83OpenVo;
 import com.dy.common.mw.protocol.p206V1_0_0.DataV1_0_1;
+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.pojoPr.PrController;
 import com.dy.pipIrrGlobal.pojoRm.RmOpenCloseValveHistory;
 import com.dy.pipIrrGlobal.pojoRm.RmOpenCloseValveLast;
+import com.dy.rtuMw.server.rtuData.TaskSurpport;
+import com.dy.rtuMw.server.rtuData.dbSv.DbSv;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 
@@ -33,19 +34,17 @@
     @Override
     public void execute(Object data) {
         Data d = (Data) data;
-        Object subD = d.getSubData();
-        if (subD != null) {
-            DataV1_0_1 dV1_0_1 = (DataV1_0_1) subD;
-//            if (dV1_0_1 != null && dV1_0_1.dataCd83OpenVo != null) {
-//                Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ;
-//                DbSv sv = (DbSv)objs[0] ;
-//                PrController controller = (PrController)objs[1] ;
-//                try{
-//                    this.doDeal(sv, controller, d.getRtuAddr(), dV1_0_1, dV1_0_1.dataCd83OpenVo) ;
-//                }catch (Exception e){
-//                    log.error("淇濆瓨鎺у埗鍣ㄥ紑闃�涓婃姤鏃跺彂鐢熷紓甯�", e);
-//                }
-//            }
+        DataV1_0_1 dV1_0_1 = (DataV1_0_1) d.getSubData();
+        Object cdObj = dV1_0_1.subData;
+        if (cdObj != null && cdObj instanceof DataCd83OpenVo) {
+            Object[] objs = this.getTaskResults(TkPreGenObjs.taskId) ;
+            DbSv sv = (DbSv)objs[0] ;
+            PrController controller = (PrController)objs[1] ;
+            try{
+                this.doDeal(sv, controller, d.getRtuAddr(), dV1_0_1, (DataCd83OpenVo)cdObj) ;
+            }catch (Exception e){
+                log.error("淇濆瓨鎺у埗鍣ㄥ紑闃�涓婃姤鏃跺彂鐢熷紓甯�", e);
+            }
         }
     }
     /**
@@ -57,69 +56,56 @@
      * @param dataCd83OpenVo 寮�闃�涓婃姤鏁版嵁瀵硅薄
      */
     private void doDeal(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCd83OpenVo dataCd83OpenVo) throws Exception {
-        RmOpenCloseValveLast poLast = sv.getRmOpenCloseValveLast(rtuAddr) ;
+        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);
             sv.saveRmOpenCloseValveLast(poLast);
         }else{
             //鏁版嵁搴撲腑瀛樺湪璇ユ帶鍒跺櫒鐨勫紑鍏抽榾鏁版嵁
-            if(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83OpenVo.openDt).equals(poLast.openDt)){
-                //鏃堕棿涓�鑷达紝閲嶅涓婃姤鏁版嵁锛屼笉杩涜浠讳綍澶勭悊
-            }else{
-                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{
-                        //褰撳墠寮�闃�涓婃姤鏄柊鐨勪竴娆″紑闃�锛屼笉绠″師璁板綍鏄惁瀛樺湪鍏抽榾鏁版嵁锛屼竴寰嬫竻绌哄叧闃�鏁版嵁
-                        this.updateOpenValve(controller, poLast, null, dV1_0_1, dataCd83OpenVo, true) ;
-                        //鐢熸垚骞朵繚瀛樻柊鐨勫紑闃�涓婃姤鍘嗗彶鏁版嵁璁板綍
-                        this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83OpenVo, poLast);
-                    }
-                }else if(poLast.clType != null){
-                    //鍘熻褰曚笉瀛樺湪寮�闃�鏁版嵁锛屼絾瀛樺湪鍏抽榾鏁版嵁锛岄鍏堣繘琛屾椂闂存瘮瀵�
-                    if(poLast.closeDt != null && poLast.closeDt.after(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83OpenVo.openDt))){
-                        //褰撳墠涓婃姤鏄ˉ鎶ョ殑寮�闃�鏁版嵁
-                        RmOpenCloseValveHistory poHistory = null ;
-                        if(poLast.lastHistoryId != null){
-                            poHistory = sv.getRmOpenCloseValveHistory(poLast.lastHistoryId) ;
-                        }
-                        this.updateOpenValve(controller, poLast, poHistory, dV1_0_1, dataCd83OpenVo, false) ;
-                        if(poHistory != null){
-                            sv.updateRmOpenCloseValveHistory(poHistory);
-                        }
-                    }else if(poLast.closeDt != null && poLast.closeDt.before(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83OpenVo.openDt))){
-                        //褰撳墠涓婃姤鏄柊鐨勫紑闃�鏁版嵁锛屾妸鏈�鏂版暟鎹腑鐨勫叧闃�鍐呭娓呯┖
-                        this.updateOpenValve(controller, poLast, null, dV1_0_1, dataCd83OpenVo, true) ;
-                        //鐢熸垚骞朵繚瀛樻柊鐨勫紑闃�涓婃姤鍘嗗彶鏁版嵁璁板綍
-                        this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83OpenVo, poLast);
-                    }else {
-                        //褰撳墠涓婃姤鐨勫紑闃�鏁版嵁涓庡師鏉ョ殑鍏抽榾鏁版嵁鍚屼竴鏃堕棿锛岃繖绉嶆儏鍐靛簲璇ヤ笉瀛樺湪锛屼絾涔熷鐞�
-                        RmOpenCloseValveHistory poHistory = null ;
-                        if(poLast.lastHistoryId != null){
-                            poHistory = sv.getRmOpenCloseValveHistory(poLast.lastHistoryId) ;
-                        }
-                        this.updateOpenValve(controller, poLast, poHistory, dV1_0_1, dataCd83OpenVo, false) ;
-                        if(poHistory != null){
-                            sv.updateRmOpenCloseValveHistory(poHistory);
-                        }
-                    }
+            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(po.clType == null)
-                    //鍘熻褰曚笉瀛樺湪寮�闃�鏁版嵁涔熶笉瀛樺湪鍏抽榾鏁版嵁锛岃繖绉嶆儏鍐典笉瀛樺湪锛屼絾涓哄畨鍏ㄤ篃杩涜澶勭悊
+                    //褰撳墠寮�闃�涓婃姤鏄柊鐨勪竴娆″紑闃�锛屼笉绠″師璁板綍鏄惁瀛樺湪鍏抽榾鏁版嵁锛屼竴寰嬫竻绌哄叧闃�鏁版嵁
                     this.updateOpenValve(controller, poLast, null, dV1_0_1, dataCd83OpenVo, true) ;
                     //鐢熸垚骞朵繚瀛樻柊鐨勫紑闃�涓婃姤鍘嗗彶鏁版嵁璁板綍
                     this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83OpenVo, poLast);
                 }
-
-                sv.updateRmOpenCloseValveLast(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);
+                }else {
+                    //褰撳墠涓婃姤鐨勫紑闃�鏁版嵁涓庡師鏉ョ殑鍏抽榾鏁版嵁鍚屼竴鏃堕棿锛岃繖绉嶆儏鍐靛簲璇ヤ笉瀛樺湪锛屼絾涔熷鐞�
+                    RmOpenCloseValveHistory poHistory = null ;
+                    if(poLast.lastHistoryId != null){
+                        poHistory = sv.getRmOpenCloseValveHistory(poLast.lastHistoryId) ;
+                    }
+                    this.updateOpenValve(controller, poLast, poHistory, dV1_0_1, dataCd83OpenVo, false) ;
+                    if(poHistory != null){
+                        sv.updateRmOpenCloseValveHistory(poHistory);
+                    }
+                }
+            }else{
+                //if(poLast.opType == null && po.clType == null)
+                //鍘熻褰曚笉瀛樺湪寮�闃�鏁版嵁涔熶笉瀛樺湪鍏抽榾鏁版嵁锛岃繖绉嶆儏鍐典笉瀛樺湪锛屼絾涓哄畨鍏ㄤ篃杩涜澶勭悊
+                this.updateOpenValve(controller, poLast, null, dV1_0_1, dataCd83OpenVo, true) ;
+                //鐢熸垚骞朵繚瀛樻柊鐨勫紑闃�涓婃姤鍘嗗彶鏁版嵁璁板綍
+                this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83OpenVo, poLast);
             }
 
+            sv.updateRmOpenCloseValveLast(poLast);
         }
     }
 
@@ -150,16 +136,11 @@
      * @throws Exception
      */
     private RmOpenCloseValveLast newRmOpenCloseValveLast(PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCd83OpenVo dataCd83OpenVo)throws Exception {
-        RmOpenCloseValveLast po = new RmOpenCloseValveLast(null, null, controller==null?null:controller.getId(), controller==null?null:controller.getIntakeId(),
-                rtuAddr,
-                DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt),
-                dataCd83OpenVo.type,
-                dataCd83OpenVo.totalAmount,
-                dataCd83OpenVo.icCardNo,
-                dataCd83OpenVo.icCardAddr,
-                dataCd83OpenVo.remainMoney,
-                DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83OpenVo.openDt),
-                null, null, null, null, null, null, null, null, null, null, null) ;
+        RmOpenCloseValveLast po = new RmOpenCloseValveLast() ;
+        po.controllerId = controller==null?null:controller.getId() ;
+        po.intakeId = controller==null?null:controller.getIntakeId() ;
+        po.rtuAddr = rtuAddr ;
+        po.valueFrom(dV1_0_1, dataCd83OpenVo);
         return po ;
     }
 
@@ -174,16 +155,11 @@
      * @throws Exception
      */
     private RmOpenCloseValveHistory newRmOpenCloseValveHistory(PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCd83OpenVo dataCd83OpenVo)throws Exception {
-        RmOpenCloseValveHistory po = new RmOpenCloseValveHistory(null, controller==null?null:controller.getId(), controller==null?null:controller.getIntakeId(),
-                rtuAddr,
-                DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt),
-                dataCd83OpenVo.type,
-                dataCd83OpenVo.totalAmount,
-                dataCd83OpenVo.icCardNo,
-                dataCd83OpenVo.icCardAddr,
-                dataCd83OpenVo.remainMoney,
-                DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83OpenVo.openDt),
-                null, null, null, null, null, null, null, null, null, null, null) ;
+        RmOpenCloseValveHistory po = new RmOpenCloseValveHistory() ;
+        po.controllerId = controller==null?null:controller.getId() ;
+        po.intakeId = controller==null?null:controller.getIntakeId() ;
+        po.rtuAddr = rtuAddr ;
+        po.valueFrom(dV1_0_1, dataCd83OpenVo);
         return po ;
     }
 
@@ -201,56 +177,12 @@
     private void updateOpenValve(PrController controller, RmOpenCloseValveLast poLast, RmOpenCloseValveHistory poHistory, DataV1_0_1 dV1_0_1, DataCd83OpenVo dataCd83OpenVo, boolean clearCloseValve) throws Exception {
         poLast.controllerId = controller==null?null:controller.getId();
         poLast.intakeId = controller==null?null:controller.getIntakeId();
-
-        poLast.opDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt);
-        poLast.opType = dataCd83OpenVo.type ;
-        poLast.opTotalAmount = dataCd83OpenVo.totalAmount ;
-        poLast.opIcCardNo = dataCd83OpenVo.icCardNo ;
-        poLast.opIcCardAddr = dataCd83OpenVo.icCardAddr ;
-        poLast.opRemainMoney = dataCd83OpenVo.remainMoney ;
-        poLast.openDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83OpenVo.openDt) ;
+        poLast.updateFrom(dV1_0_1, dataCd83OpenVo, clearCloseValve);
 
         if(poHistory != null){
             poHistory.controllerId = controller==null?null:controller.getId();
             poHistory.intakeId = controller==null?null:controller.getIntakeId();
-
-            poHistory.opDt = poLast.opDt;
-            poHistory.opType = dataCd83OpenVo.type ;
-            poHistory.opTotalAmount = dataCd83OpenVo.totalAmount ;
-            poHistory.opIcCardNo = dataCd83OpenVo.icCardNo ;
-            poHistory.opIcCardAddr = dataCd83OpenVo.icCardAddr ;
-            poHistory.opRemainMoney = dataCd83OpenVo.remainMoney ;
-            poHistory.openDt = poLast.openDt ;
+            poHistory.updateFrom(dV1_0_1, dataCd83OpenVo, clearCloseValve);
         }
-
-        if(clearCloseValve){
-            poLast.clDt = null ;
-            poLast.clType = null ;
-            poLast.clTotalAmount = null ;
-            poLast.clIcCardNo = null ;
-            poLast.clIcCardAddr = null ;
-            poLast.clRemainMoney = null ;
-            poLast.clThisAmount = null ;
-            poLast.clThisMoney = null ;
-            poLast.clThisTime = null ;
-            poLast.clOpenDt = null ;
-            poLast.closeDt = null ;
-
-            if(poHistory != null) {
-                poHistory.clDt = null;
-                poHistory.clType = null;
-                poHistory.clTotalAmount = null;
-                poHistory.clIcCardNo = null;
-                poHistory.clIcCardAddr = null;
-                poHistory.clRemainMoney = null;
-                poHistory.clThisAmount = null;
-                poHistory.clThisMoney = null;
-                poHistory.clThisTime = null;
-                poHistory.clOpenDt = null;
-                poHistory.closeDt = null;
-            }
-
-        }
-
     }
 }

--
Gitblit v1.8.0