From b9e0f06eb30c3b77171cd78b9311758d17400d5b Mon Sep 17 00:00:00 2001
From: Administrator <zhubaomin>
Date: 星期六, 06 七月 2024 10:39:31 +0800
Subject: [PATCH] Merge branch 'master' of http://8.140.179.55:20000/r/pipIrr-SV

---
 pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealOpenValveReport.java  |   82 +++++--------
 pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeCtrl.java                  |   24 +--
 pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataCdC0Vo.java                   |    2 
 pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeSv.java                    |   19 ++
 pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/result/ProjectResultCode.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/daoPr/PrIntakeMapper.java                                |   13 +
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmIntakeAmountHistory.java                        |   17 ++
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmOpenCloseValveLast.java                         |   66 +++++-----
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml                                               |   14 +
 11 files changed, 182 insertions(+), 125 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/daoPr/PrIntakeMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrIntakeMapper.java
index c90161c..bbdc3d0 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrIntakeMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoPr/PrIntakeMapper.java
@@ -141,8 +141,17 @@
     Long getIntakeIdByName(String intakeName);
 
     /**
-     * 寰楀埌鎵�鏈夌殑鍙栨按鍙e悕绉�
+     * 鍙栨按鍙e悕绉版崲鍙栨按鍙D锛岄獙璇佹槸鍚﹂噸澶嶅悕绉颁娇鐢�
+     * @param intakeName
      * @return
      */
-    List<String> getIntakeName();
+    List<Long> getIntakeIdsByName(String intakeName);
+
+    /**
+     * 鍙栨按鍙e悕绉版崲鍙栨按鍙D锛岄獙璇佹槸鍚﹂噸澶嶅悕绉颁娇鐢�
+     * @param id
+     * @param intakeName
+     * @return
+     */
+    List<Long> getIntakeIdByNameExcludeId(@Param("id")Long id, @Param("intakeName")String intakeName);
 }
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmIntakeAmountHistory.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmIntakeAmountHistory.java
index c2ec2de..e9ef13e 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmIntakeAmountHistory.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/pojoRm/RmIntakeAmountHistory.java
@@ -43,6 +43,13 @@
     public Long intakeid;
 
     /**
+     * 缁熻鏃ユ湡
+     */
+    @Schema(description = "鏃ユ湡", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    public Date dt;
+
+    /**
     * 绱鍙栨按閲忥紙涓嶅寘鎷紡鎹熸按閲忥級
     */
     @Schema(description = "绱鍙栨按閲忥紙涓嶅寘鎷紡鎹熸按閲忥級", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
@@ -55,6 +62,12 @@
     public Double loss;
 
     /**
+     * 鏈�鍚庤姘撮噺鐨勬帶鍒跺櫒鍦板潃
+     */
+    @Schema(description = "鎺у埗鍣ㄥ湴鍧�", requiredMode = Schema.RequiredMode.REQUIRED)
+    public String rtuAddrLast;
+
+    /**
     * 鏈�鍚庤姘撮噺鐨勬帶鍒跺櫒ID锛堝閿級
     */
     @Schema(description = "鎺у埗鍣ㄥ疄浣撳閿�", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
@@ -62,9 +75,9 @@
     public Long controlleridlast;
 
     /**
-    * 鏈�鍚庤姘撮噺鏃ユ湡
+    * 鏈�鍚庤姘撮噺涓婃姤鏁版嵁鎺ユ敹鏃堕棿
     */
-    @Schema(description = "鏈�鍚庤姘撮噺鏃ユ湡", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
+    @Schema(description = "鏁版嵁鎺ユ敹鏃堕棿", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     public Date dtlast;
 
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-global/src/main/resources/mapper/PrIntakeMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
index 1ce5038..2d7461b 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/PrIntakeMapper.xml
@@ -443,8 +443,16 @@
     SELECT id AS intakeId FROM pr_intake WHERE `name` = #{intakeName}
   </select>
 
-  <!--寰楀埌鎵�鏈夌殑鍙栨按鍙e悕绉�-->
-  <select id="getIntakeName" resultType="java.lang.String">
-    SELECT `name`  FROM pr_intake WHERE deleted = 0
+  <!--鍙栨按鍙e悕绉版崲鍙栨按鍙D锛岄獙璇佹槸鍚﹂噸澶嶅悕绉颁娇鐢�-->
+  <select id="getIntakeIdsByName" resultType="java.lang.Long">
+    SELECT id AS intakeId FROM pr_intake WHERE `name` = #{intakeName}
   </select>
+
+  <!--鍙栨按鍙e悕绉版崲鍙栨按鍙D锛岄獙璇佹槸鍚﹂噸澶嶅悕绉颁娇鐢�-->
+  <select id="getIntakeIdByNameExcludeId" resultType="java.lang.Long">
+    SELECT id AS intakeId FROM pr_intake WHERE id != #{id} and `name` = #{intakeName}
+  </select>
+
+
+
 </mapper>
\ 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);
         }
     }
 
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeCtrl.java
index 9bbdea9..455015f 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeCtrl.java
@@ -147,15 +147,11 @@
         if (bindingResult != null && bindingResult.hasErrors()) {
             return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
         }
-        List<String> intakeNameList = intakeSv.getIntakeName();
-        for (int i = 0; i < intakeNameList.size(); i++) {
-            String intakeName = intakeNameList.get(i);
-            if (intakeName.equals(po.getName())) {
-                return BaseResponseUtils.buildFail(ProjectResultCode.INTAKE_NAME_EXIST.getMessage());
-            }
+        List<Long> ids = intakeSv.getIntakeIdsByName(po.getName());
+        if (ids.size() > 0) {
+            return BaseResponseUtils.buildFail(ProjectResultCode.INTAKE_NAME_EXIST.getMessage());
         }
-        Date operateTime = new Date();
-        po.setOperateDt(operateTime);
+        po.setOperateDt(new Date());
         po.setDeleted((byte)0);
         Integer rec = Optional.ofNullable(intakeSv.addIntake(po)).orElse(0);
         if (rec == 0) {
@@ -185,16 +181,12 @@
         if (bindingResult != null && bindingResult.hasErrors()) {
             return BaseResponseUtils.buildFail(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
         }
-        List<String> intakeNameList = intakeSv.getIntakeName();
-        for (int i = 0; i < intakeNameList.size(); i++) {
-            String intakeName = intakeNameList.get(i);
-            if (intakeName.equals(po.getName())) {
-                return BaseResponseUtils.buildFail(ProjectResultCode.INTAKE_NAME_EXIST.getMessage());
-            }
+        List<Long> ids = intakeSv.getIntakeIdByNameExcludeId(po.getId(), po.getName());
+        if (ids.size() > 0){
+            return BaseResponseUtils.buildFail(ProjectResultCode.INTAKE_NAME_EXIST.getMessage());
         }
         int count;
-        Date operateTime = new Date();
-        po.setOperateDt(operateTime);
+        po.setOperateDt( new Date());
         try {
             count = this.intakeSv.update(po);
         } catch (Exception e) {
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeSv.java
index 2a9bf1e..e3080e5 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/intake/IntakeSv.java
@@ -287,11 +287,24 @@
         return response.getBody();
     }
 
+
     /**
-     * 寰楀埌鎵�鏈夊彇姘村彛鍚嶇О
+     * 鍙栨按鍙e悕绉版崲鍙栨按鍙D锛岄獙璇佹槸鍚﹂噸澶嶅悕绉颁娇鐢�
+     * @param intakeName
      * @return
      */
-    public List<String> getIntakeName() {
-        return prIntakeMapper.getIntakeName();
+    public List<Long> getIntakeIdsByName(String intakeName) {
+        return prIntakeMapper.getIntakeIdsByName(intakeName);
     }
+
+    /**
+     * 鍙栨按鍙e悕绉版崲鍙栨按鍙D锛岄獙璇佹槸鍚﹂噸澶嶅悕绉颁娇鐢�
+     * @param intakeName
+     * @return
+     */
+    public List<Long> getIntakeIdByNameExcludeId(Long id, String intakeName) {
+        return prIntakeMapper.getIntakeIdByNameExcludeId(id, intakeName);
+    }
+
+
 }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/result/ProjectResultCode.java b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/result/ProjectResultCode.java
index a2d188a..6cd64b9 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/result/ProjectResultCode.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-project/src/main/java/com/dy/pipIrrProject/result/ProjectResultCode.java
@@ -29,7 +29,7 @@
     PLEASE_INPUT_INTAKE_ID(20004, "鍙栨按鍙g紪鍙蜂笉涓虹┖"),
     DELETE_INTAKE_FAIL(20005, "鍙栨按鍙e垹闄ゅけ璐�"),
     NO_BINDING_INTAKE(20006, "娌℃湁鏈粦瀹氱殑鍙栨按鍙�"),
-    INTAKE_NAME_EXIST(20006, "鍙栨按鍙e悕绉板凡瀛樺湪"),
+    INTAKE_NAME_EXIST(20007, "鍙栨按鍙e悕绉板凡瀛樺湪"),
 
     /**
      * 鎺у埗鍣�

--
Gitblit v1.8.0