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  |   82 ++++++++------------
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCdC0Vo.java                   |    2 
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java |   66 ++++++++++++----
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CodeV1_0_1.java                         |    2 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOpenCloseValveLast.java                         |   66 ++++++++--------
 5 files changed, 120 insertions(+), 98 deletions(-)

diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CodeV1_0_1.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CodeV1_0_1.java
index 2d05741..029060c 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CodeV1_0_1.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/CodeV1_0_1.java
@@ -85,7 +85,7 @@
 			(code.equals(cd_99) ? "瀹氭椂鍏抽榾寮�闃�" :
 			(code.equals(cd_A0) ? "瀹氶噺鍏抽榾寮�闃�" :
 			(code.equals(cd_B0) ? "鏌ヨ瀹炴椂鏁版嵁" :
-			(code.equals(cd_C0) ? "鑷姤瀹炴椂鏁版嵁" :
+			(code.equals(cd_C0) ? "鑷姤(鏁寸偣)瀹炴椂鏁版嵁" :
 			""))))))))))))))))))))))))))))))))))))))))) ;
 		return name ;
 	}
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCdC0Vo.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCdC0Vo.java
index deb5d32..97fec82 100644
--- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCdC0Vo.java
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCdC0Vo.java
@@ -19,7 +19,7 @@
     public DataStateVo stateVo ;//鐘舵��
     public String toString(){
         StringBuilder sb = new StringBuilder() ;
-        sb.append("   缁堢鑷姤瀹炴椂鏁版嵁:\n");
+        sb.append("   缁堢鑷姤(鏁寸偣)瀹炴椂鏁版嵁:\n");
         sb.append("      鐬椂娴侀噺锛�");
         sb.append(instantAmount==null?"":instantAmount);
         sb.append("\n");
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOpenCloseValveLast.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOpenCloseValveLast.java
index cc412b3..25e7de2 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOpenCloseValveLast.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOpenCloseValveLast.java
@@ -216,7 +216,7 @@
     /**
      * 鏈浣跨敤鐢甸噺
      */
-    public Double thisEle;
+    public Double clThisEle;
 
     public void valueFrom(DataV1_0_1 dV1_0_1, DataCd83OpenVo dataCd83OpenVo) throws Exception {
         this.opDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt);
@@ -248,7 +248,7 @@
         this.clOrderNo = null;//姹熸捣鍗忚鐗规湁
         this.clEleTotalAmount = null;//姹熸捣鍗忚鐗规湁
         this.clWaterRemainUser = null;//姹熸捣鍗忚鐗规湁
-        this.thisEle = null;//姹熸捣鍗忚鐗规湁
+        this.clThisEle = null;//姹熸捣鍗忚鐗规湁
     }
 
     public void valueFrom84(DataV202404 dataV202404, DataCd84Vo cdData) throws Exception {
@@ -277,7 +277,7 @@
         this.clOrderNo = null;//姹熸捣鍗忚鐗规湁
         this.clEleTotalAmount = null;//姹熸捣鍗忚鐗规湁
         this.clWaterRemainUser = null;//姹熸捣鍗忚鐗规湁
-        this.thisEle = null;//姹熸捣鍗忚鐗规湁
+        this.clThisEle = null;//姹熸捣鍗忚鐗规湁
     }
 
     public void valueFrom85(DataV202404 dataV202404, DataCd85Vo cdData) throws Exception {
@@ -294,7 +294,7 @@
         this.clOrderNo = cdData.orderNo;
         this.clEleTotalAmount = cdData.eleTotalAmount;
         this.clWaterRemainUser = cdData.waterRemain;
-        this.thisEle = cdData.thisEle;
+        this.clThisEle = cdData.thisEle;
     }
 
     public void updateFrom(DataV1_0_1 dV1_0_1, DataCd83OpenVo dataCd83OpenVo, boolean clearCloseValve) throws Exception {
@@ -307,22 +307,7 @@
         this.openDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83OpenVo.openDt);
 
         if (clearCloseValve) {
-            this.clDt = null;
-            this.clType = null;
-            this.clTotalAmount = null;
-            this.clIcCardNo = null;
-            this.clIcCardAddr = null;
-            this.clRemainMoney = null;
-            this.clThisAmount = null;
-            this.clThisMoney = null;
-            this.clThisTime = null;
-            this.clOpenDt = null;
-            this.closeDt = null;
-
-            this.clOrderNo = null;//姹熸捣鍗忚鐗规湁
-            this.clEleTotalAmount = null;//姹熸捣鍗忚鐗规湁
-            this.clWaterRemainUser = null;//姹熸捣鍗忚鐗规湁
-            this.thisEle = null;//姹熸捣鍗忚鐗规湁
+            this.clearCloseValue();
         }
     }
 
@@ -340,18 +325,35 @@
         this.closeDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83CloseVo.closeDt) ;
 
         if(clearOpenValve){
-            this.opDt = null ;
-            this.opType = null ;
-            this.opTotalAmount = null ;
-            this.opIcCardNo = null ;
-            this.opIcCardAddr = null ;
-            this.opRemainMoney = null ;
-            this.openDt = null ;
-
-            this.clOrderNo = null;//姹熸捣鍗忚鐗规湁
-            this.clEleTotalAmount = null;//姹熸捣鍗忚鐗规湁
-            this.clWaterRemainUser = null;//姹熸捣鍗忚鐗规湁
-            this.thisEle = null;//姹熸捣鍗忚鐗规湁
+            this.clearOpenValue();
         }
     }
+
+    public void clearCloseValue(){
+        this.clDt = null;
+        this.clType = null;
+        this.clTotalAmount = null;
+        this.clIcCardNo = null;
+        this.clIcCardAddr = null;
+        this.clRemainMoney = null;
+        this.clThisAmount = null;
+        this.clThisMoney = null;
+        this.clThisTime = null;
+        this.clOpenDt = null;
+        this.closeDt = null;
+
+        this.clOrderNo = null;//姹熸捣鍗忚鐗规湁
+        this.clEleTotalAmount = null;//姹熸捣鍗忚鐗规湁
+        this.clWaterRemainUser = null;//姹熸捣鍗忚鐗规湁
+        this.clThisEle = null;//姹熸捣鍗忚鐗规湁
+    }
+    public void clearOpenValue(){
+        this.opDt = null ;
+        this.opType = null ;
+        this.opTotalAmount = null ;
+        this.opIcCardNo = null ;
+        this.opIcCardAddr = null ;
+        this.opRemainMoney = null ;
+        this.openDt = null ;
+    }
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java
index 3735170..b65aba9 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealCloseValveReport.java
@@ -63,32 +63,46 @@
             //鏁版嵁搴撲腑涓嶅瓨鍦ㄨ鎺у埗鍣ㄧ殑寮�鍏抽榾鏁版嵁
             //棣栧厛鐢熸垚鏈�鏂版暟鎹強鍘嗗彶鏁版嵁锛屽苟鍏堜繚瀛�
             poLast = this.newRmOpenCloseValveLast(controller, rtuAddr, dV1_0_1, dataCd83CloseVo);
-            this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast);
+            this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast, null);
             //淇濆瓨鏈�鏂版暟鎹�
             sv.saveRmOpenCloseValveLast(poLast);
         }else{
             if(poLast.clType == null){
                 //鍘熻褰曚笉瀛樺湪鍏抽榾鏁版嵁锛屾墍浠ュ綋鍓嶅叧闃�涓婃姤鏄柊鐨勪竴娆″叧闃�
-                if(poLast.opType == null){
-                    //鍘熻褰曚腑涓嶅瓨鍦ㄥ紑闃�鏁版嵁锛屾病鍔炴硶杩涜鍖归厤
+                if(poLast.opType == null || poLast.openDt == null){
+                    //鍘熻褰曚腑涓嶅瓨鍦ㄥ紑闃�鏁版嵁(鍗冲紑闃�涓庡叧闃�鏁版嵁閮芥病鏈夛紝杩欑鎯呭喌涓�鑸笉瀛樺湪)锛屾病鍔炴硶杩涜鍖归厤
                     //鐢熸垚骞朵繚瀛樻柊鐨勫叧闃�涓婃姤鍘嗗彶鏁版嵁璁板綍
-                    this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast);
+                    this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast, null);
                 }else{
                     //鍘熻褰曚腑瀛樺湪寮�闃�鏁版嵁锛岃繘琛屽巻鍙叉暟鎹尮閰�
                     RmOpenCloseValveHistory poHistory = null ;
                     if(poLast.lastHistoryId != null){
                         poHistory = sv.getRmOpenCloseValveHistory(poLast.lastHistoryId) ;
                         if(poHistory != null){
-                            //褰撳墠鍏抽榾涓婃姤鏄柊鐨勪竴娆″叧闃�锛屼繚鐣欏師璁板綍涓殑寮�闃�鏁版嵁
-                            this.updateCloseValve(controller, poLast, poHistory, dV1_0_1, dataCd83CloseVo, false) ;
-                            sv.updateRmOpenCloseValveHistory(poHistory);
+                            if(poHistory.openDt != null){
+                                //涓婇潰宸茬粡鍒ゆ柇浜唒oLast.openDt == null锛屾墍浠ユ澶勪竴鑸細鏄痯oHistory.openDt != null
+                                if(poHistory.openDt.equals(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83CloseVo.openDt))){
+                                    //鍖归厤鎴愬姛
+                                    //褰撳墠鍏抽榾鏄師璁板綍涓紑闃�鐨勫搴斿叧闃�
+                                    this.updateCloseValve(controller, poLast, poHistory, dV1_0_1, dataCd83CloseVo, false) ;
+                                    sv.updateRmOpenCloseValveHistory(poHistory);
+                                }else{
+                                    //鍖归厤澶辫触
+                                    //褰撳墠鍏抽榾涓嶆槸鍘熻褰曚腑寮�闃�鐨勫搴斿叧闃�锛岀敓鎴愬苟淇濆瓨鏂扮殑鍏抽榾涓婃姤鍘嗗彶鏁版嵁璁板綍
+                                    this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast, true);
+                                }
+                            }else{
+                                //杩欑鎯呭喌涓嶅瓨鍦紝璁や负鍖归厤澶辫触
+                                //褰撳墠鍏抽榾涓嶆槸鍘熻褰曚腑寮�闃�鐨勫搴斿叧闃�锛岀敓鎴愬苟淇濆瓨鏂扮殑鍏抽榾涓婃姤鍘嗗彶鏁版嵁璁板綍
+                                this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast, true);
+                            }
                         }else{
                             //娌℃湁鍘嗗彶鏁版嵁锛岀敓鎴愬苟淇濆瓨鏂扮殑鍏抽榾涓婃姤鍘嗗彶鏁版嵁璁板綍
-                            this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast);
+                            this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast, true);
                         }
                     }else{
                         //娌℃湁鍘嗗彶鏁版嵁锛岀敓鎴愬苟淇濆瓨鏂扮殑鍏抽榾涓婃姤鍘嗗彶鏁版嵁璁板綍
-                        this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast);
+                        this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast, true);
                     }
                 }
             }else if(poLast.opType != null){
@@ -99,15 +113,15 @@
                     //閲嶅涓婃姤浜嗭紝涓嶈繘琛屽鐞�
                 }else {
                     //褰撳墠涓婃姤鐨勫叧闃�鏁版嵁鏅氫簬鍘熸潵鐨勫叧闃�鏁版嵁锛屾槸鏂扮殑涓婃姤鍏抽榾鏁版嵁
-                    this.updateCloseValve(controller, poLast, null, dV1_0_1, dataCd83CloseVo, false) ;
-                    this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast);
+                    this.updateCloseValve(controller, poLast, null, dV1_0_1, dataCd83CloseVo, true) ;
+                    this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast, null);
                 }
             }else{
                 //if(po.opType == null)
                 //鍘熻褰曚笉瀛樺湪寮�闃�鏁版嵁涔熶笉瀛樺湪鍏抽榾鏁版嵁锛岃繖绉嶆儏鍐典笉瀛樺湪锛屼絾涓哄畨鍏ㄤ篃杩涜澶勭悊
                 this.updateCloseValve(controller, poLast, null, dV1_0_1, dataCd83CloseVo, false) ;
                 //鐢熸垚骞朵繚瀛樻柊鐨勫叧闃�涓婃姤鍘嗗彶鏁版嵁璁板綍
-                this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast);
+                this.newHistoryDataDeal(sv, controller, rtuAddr, dV1_0_1, dataCd83CloseVo, poLast, null);
             }
 
             sv.updateRmOpenCloseValveLast(poLast);
@@ -124,11 +138,20 @@
      * @param poLast
      * @throws Exception
      */
-    private void newHistoryDataDeal(DbSv sv, PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCd83CloseVo dataCd83CloseVo, RmOpenCloseValveLast poLast)throws Exception {
+    private void newHistoryDataDeal(DbSv sv,
+                                    PrController controller,
+                                    String rtuAddr,
+                                    DataV1_0_1 dV1_0_1,
+                                    DataCd83CloseVo dataCd83CloseVo,
+                                    RmOpenCloseValveLast poLast,
+                                    Boolean clearOpenValue)throws Exception {
         RmOpenCloseValveHistory poHistory = this.newRmOpenCloseValveHistory(controller, rtuAddr, dV1_0_1, dataCd83CloseVo) ;
         sv.saveRmOpenCloseValveHistory(poHistory);
         //鐢辨渶鏂版暟鎹寔鏈夊巻鍙叉暟鎹腑鐨勬渶鏂拌褰旾D锛屼互鏂逛究蹇�熸煡璇�
         poLast.lastHistoryId = poHistory == null ? null: poHistory.id ;
+        if(clearOpenValue != null && clearOpenValue.booleanValue()){
+            poLast.clearOpenValue();
+        }
     }
 
     /**
@@ -140,7 +163,10 @@
      * @return
      * @throws Exception
      */
-    private RmOpenCloseValveLast newRmOpenCloseValveLast(PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCd83CloseVo dataCd83CloseVo)throws Exception {
+    private RmOpenCloseValveLast newRmOpenCloseValveLast(PrController controller,
+                                                         String rtuAddr,
+                                                         DataV1_0_1 dV1_0_1,
+                                                         DataCd83CloseVo dataCd83CloseVo)throws Exception {
         RmOpenCloseValveLast po = new RmOpenCloseValveLast() ;
         po.controllerId = controller==null?null:controller.getId() ;
         po.intakeId = controller==null?null:controller.getIntakeId() ;
@@ -159,7 +185,10 @@
      * @return
      * @throws Exception
      */
-    private RmOpenCloseValveHistory newRmOpenCloseValveHistory(PrController controller, String rtuAddr, DataV1_0_1 dV1_0_1, DataCd83CloseVo dataCd83CloseVo)throws Exception {
+    private RmOpenCloseValveHistory newRmOpenCloseValveHistory(PrController controller,
+                                                               String rtuAddr,
+                                                               DataV1_0_1 dV1_0_1,
+                                                               DataCd83CloseVo dataCd83CloseVo)throws Exception {
         RmOpenCloseValveHistory po = new RmOpenCloseValveHistory() ;
         po.controllerId = controller==null?null:controller.getId() ;
         po.intakeId = controller==null?null:controller.getIntakeId() ;
@@ -179,7 +208,12 @@
      * @param clearOpenValve
      * @throws Exception
      */
-    private void updateCloseValve(PrController controller, RmOpenCloseValveLast poLast, RmOpenCloseValveHistory poHistory, DataV1_0_1 dV1_0_1, DataCd83CloseVo dataCd83CloseVo, boolean clearOpenValve) throws Exception {
+    private void updateCloseValve(PrController controller,
+                                  RmOpenCloseValveLast poLast,
+                                  RmOpenCloseValveHistory poHistory,
+                                  DataV1_0_1 dV1_0_1,
+                                  DataCd83CloseVo dataCd83CloseVo,
+                                  boolean clearOpenValve) throws Exception {
         poLast.controllerId = controller==null?null:controller.getId();
         poLast.intakeId = controller==null?null:controller.getIntakeId();
 
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 ca70667..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
@@ -65,61 +65,47 @@
             sv.saveRmOpenCloseValveLast(poLast);
         }else{
             //鏁版嵁搴撲腑瀛樺湪璇ユ帶鍒跺櫒鐨勫紑鍏抽榾鏁版嵁
-            if(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83OpenVo.openDt).equals(poLast.openDt)){
-                //鏃堕棿涓�鑷达紝閲嶅涓婃姤鏁版嵁锛屼笉杩涜浠讳綍澶勭悊
-                //log.error("娴嬭瘯寮�闃�鏃ユ湡涓�鑷�");
-            }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);
         }
     }
 

--
Gitblit v1.8.0