From 842237345ac469b02e9add8f9fd8bae5d4f7cdac Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期二, 25 二月 2025 14:33:15 +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/p206V202404/TkDealCloseValveReportV202404.java |  362 ++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 314 insertions(+), 48 deletions(-)

diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealCloseValveReportV202404.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealCloseValveReportV202404.java
index 86b5fe4..fc9b945 100644
--- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealCloseValveReportV202404.java
+++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealCloseValveReportV202404.java
@@ -3,9 +3,13 @@
 import com.dy.common.mw.protocol.Data;
 import com.dy.common.mw.protocol.p206V202404.DataV202404;
 import com.dy.common.mw.protocol.p206V202404.upVos.DataCd85Vo;
+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.pipIrrGlobal.pojoSe.SeClient;
+import com.dy.rtuMw.server.msCenter.MsCenterUnit;
+import com.dy.rtuMw.server.msCenter.MsObj;
 import com.dy.rtuMw.server.rtuData.TaskSurpport;
 import com.dy.rtuMw.server.rtuData.dbSv.DbSv;
 import org.apache.logging.log4j.LogManager;
@@ -33,72 +37,334 @@
         Data d = (Data) data;
         DataV202404 dV202404 = (DataV202404) d.getSubData();
         Object cdObj = dV202404.subData;
-        if (cdObj != null) {
+        if (cdObj != null && cdObj instanceof DataCd85Vo) {
             try {
                 Object[] objs = this.getTaskResults(TkPreGenObjsV202404.taskId);
                 DbSv sv = (DbSv) objs[0];
                 PrController controller = (PrController) objs[1];
-                if (cdObj instanceof DataCd85Vo) {
-                    DataCd85Vo cdData = (DataCd85Vo) (cdObj);
-                    this.doDeal(sv, controller, d.getRtuAddr(), dV202404, (DataCd85Vo)cdObj);
-                }
+                SeClient clientVo = (SeClient)objs[3] ;//杩欎釜鍊煎璞′腑鍙湁id鍜宯ame浼氭湁鍊�
+                this.toMsCenter(clientVo, controller, d.getRtuAddr(), dV202404, (DataCd85Vo)cdObj) ;
+                this.doDeal(sv, clientVo, controller, d.getRtuAddr(), dV202404, (DataCd85Vo)cdObj);
             } catch (Exception e) {
                 log.error("淇濆瓨鎺у埗鍣ㄥ紑闃�鎶ユ暟鎹椂鍙戠敓寮傚父", e);
             }
         }
     }
-    /**
-     * 澶勭悊鍏抽榾鎶ユ暟鎹�
-     * @param sv 鏈嶅姟
-     * @param controller 鎺у埗鍣ㄥ璞�
-     * @param rtuAddr 鎺у埗鍣ㄥ湴鍧�
-     * @param dataV202404 鍗忚鏁版嵁
-     * @param cdData 鍔熻兘鏁版嵁
-     */
-    private void doDeal(DbSv sv, PrController controller, String rtuAddr, DataV202404 dataV202404, DataCd85Vo cdData) throws Exception {
-        this.saveOrUpdateLast(sv, controller, rtuAddr, dataV202404, cdData);
-        this.saveHistory(sv, controller, rtuAddr, dataV202404, cdData);
-    }
 
     /**
-     * 淇濆瓨鎴栨洿鏂版帶鍒跺櫒鍏抽榾鎶ユ渶鏂版暟鎹�
-     * @param sv 鏈嶅姟bean
-     * @param controller 鎺у埗鍣ㄥ璞�
-     * @param rtuAddr 鎺у埗鍣ㄥ湴鍧�
-     * @param dataV202404 鍗忚鏁版嵁
-     * @param cdData 鍔熻兘鏁版嵁
+     * 鎶婂紑闃�娑堟伅瀛樺叆娑堟伅涓績
+     * @param clientVo
+     * @param controller
+     * @param rtuAddr
+     * @param dV202404
+     * @param dataCd85Vo
      */
-    private void saveOrUpdateLast(DbSv sv, PrController controller, String rtuAddr, DataV202404 dataV202404, DataCd85Vo cdData)throws Exception {
-        RmOpenCloseValveLast po = sv.getRmOpenCloseValveLast(controller.getIntakeId());
-        if(po == null){
-            po = new RmOpenCloseValveLast();
-            po.controllerId = controller==null?null:controller.getId();
-            po.intakeId = controller==null?null:controller.getIntakeId();
-            po.rtuAddr = rtuAddr;
-            po.valueFrom85(dataV202404, cdData);
-            sv.saveRmOpenCloseValveLast(po);
-        }else{
-            po.controllerId = controller==null?null:controller.getId();
-            po.intakeId = controller==null?null:controller.getIntakeId();
-            po.valueFrom85(dataV202404, cdData);
-            sv.updateRmOpenCloseValveLast(po);
+    private void toMsCenter(SeClient clientVo, PrController controller, String rtuAddr, DataV202404 dV202404, DataCd85Vo dataCd85Vo){
+        if(clientVo != null && controller != null){
+            MsObj msObj = new MsObj() ;
+            msObj.put("name", "鍏抽榾");
+            msObj.put("clientId", clientVo.getId());
+            msObj.put("clientName", clientVo.getName());
+            msObj.put("clientAddress", clientVo.getAddress());
+            msObj.put("icCardNo", dataCd85Vo.icCardNo);
+            msObj.put("rtuAddr", rtuAddr);
+            msObj.put("intakeId", controller.getIntakeId());
+            msObj.put("dt", dV202404.dt);
+            MsCenterUnit.getInstance().pushMs(msObj);
         }
     }
 
     /**
-     * 淇濆瓨鎺у埗鍣ㄥ叧闃�鎶ュ巻鍙叉暟鎹�
-     * @param sv 鏈嶅姟bean
+     * 淇濆瓨鏁版嵁
+     * @param sv 鏈嶅姟
+     * @param clientVo 鍐滄埛瀵硅薄锛堜笉涓虹┖鏃讹紝鍙湁id鍜宯ame鏈夊�硷級
      * @param controller 鎺у埗鍣ㄥ璞�
      * @param rtuAddr 鎺у埗鍣ㄥ湴鍧�
-     * @param dataV202404 鍗忚鏁版嵁
-     * @param cdData 鍔熻兘鏁版嵁
+     * @param dV202404 涓婃姤鏁版嵁
+     * @param dataCd85Vo 鍏抽榾涓婃姤鏁版嵁瀵硅薄
      */
-    private void saveHistory(DbSv sv, PrController controller, String rtuAddr, DataV202404 dataV202404, DataCd85Vo cdData)throws Exception {
-        RmOpenCloseValveHistory po = new RmOpenCloseValveHistory();
-        po.controllerId = controller==null?null:controller.getId();
-        po.intakeId = controller==null?null:controller.getIntakeId();
-        po.rtuAddr = rtuAddr;
-        po.valueFrom85(dataV202404, cdData);
-        sv.saveRmOpenCloseValveHistory(po); ;
+    private void doDeal(DbSv sv, SeClient clientVo, PrController controller, String rtuAddr, DataV202404 dV202404, DataCd85Vo dataCd85Vo) throws Exception {
+        RmOpenCloseValveLast poLast = sv.getRmOpenCloseValveLast(controller.getIntakeId()) ;
+        if(poLast == null){
+            //鏁版嵁搴撲腑涓嶅瓨鍦ㄨ鎺у埗鍣ㄧ殑寮�鍏抽榾鏁版嵁
+            //棣栧厛鐢熸垚鏈�鏂版暟鎹強鍘嗗彶鏁版嵁锛屽苟鍏堜繚瀛�
+            poLast = this.newRmOpenCloseValveLast(clientVo, controller, rtuAddr, dV202404, dataCd85Vo);
+            this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dV202404, dataCd85Vo, poLast, null);
+            //淇濆瓨鏈�鏂版暟鎹�
+            sv.saveRmOpenCloseValveLast(poLast);
+        }else{
+            //鏁版嵁搴撲腑瀛樺湪璇ユ帶鍒跺櫒鐨勫紑鍏抽榾鏁版嵁
+            if(poLast.closeDt != null && poLast.clIcCardAddr != null && poLast.clIcCardNo != null){
+                if(poLast.closeDt.equals(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd85Vo.endDt))
+                        && poLast.clIcCardAddr.equals(dataCd85Vo.icCardAddr)
+                        && poLast.clIcCardNo.equals(dataCd85Vo.icCardNo)){
+                    //閲嶅涓婃姤锛屽師鍥犳槸涓嬭鏁版嵁澶勭悊鎱簡锛屽氨閲嶅涓婃姤浜�
+                    return ;
+                }
+            }
+            if(poLast.clType == null){
+                //鍘熻褰曚笉瀛樺湪鍏抽榾鏁版嵁锛屾墍浠ュ綋鍓嶅叧闃�涓婃姤鏄柊鐨勪竴娆″叧闃�
+                if(poLast.opType == null || poLast.openDt == null){
+                    //鍘熻褰曚腑涓嶅瓨鍦ㄥ紑闃�鏁版嵁(鍗冲紑闃�涓庡叧闃�鏁版嵁閮芥病鏈夛紝杩欑鎯呭喌涓�鑸笉瀛樺湪)锛屾病鍔炴硶杩涜鍖归厤
+                    //鐢熸垚骞朵繚瀛樻柊鐨勫叧闃�涓婃姤鍘嗗彶鏁版嵁璁板綍
+                    this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dV202404, dataCd85Vo, poLast, null);
+                }else{
+                    //鍘熻褰曚腑瀛樺湪寮�闃�鏁版嵁锛岃繘琛屽巻鍙叉暟鎹尮閰�
+                    RmOpenCloseValveHistory poHistory = null ;
+                    if(poLast.lastHistoryId != null){
+                        poHistory = sv.getRmOpenCloseValveHistory(poLast.lastHistoryId) ;
+                        if(poHistory != null){
+                            if(poHistory.openDt != null){
+                                //涓婇潰宸茬粡鍒ゆ柇浜唒oLast.openDt == null锛屾墍浠ユ澶勪竴鑸細鏄痯oHistory.openDt != null
+                                if(poHistory.openDt.equals(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd85Vo.startDt))){
+                                    //鍖归厤鎴愬姛
+                                    //褰撳墠鍏抽榾鏄師璁板綍涓紑闃�鐨勫搴斿叧闃�
+                                    this.updateCloseValve(clientVo, controller, poLast, poHistory, dV202404, dataCd85Vo, false) ;
+                                    sv.updateRmOpenCloseValveHistory(poHistory);
+                                }else if(poHistory.openDt.after(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd85Vo.startDt))){
+                                    //鍖归厤澶辫触(瀵逛簬after:绛変簬鎴栨櫄浜庨兘杩斿洖true)
+                                    //鏈湴鏈�鏂版暟鎹腑鐨勫紑闃�鏃堕棿鏅氫簬褰撳墠鍏抽榾涓婃姤涓殑寮�闃�鏃堕棿锛岃鏄庢槸琛ユ姤
+                                    this.dealSupplyReport() ;
+                                }else{
+                                    //鍖归厤澶辫触
+                                    //鏈湴鏈�鏂版暟鎹腑鐨勫紑闃�鏃堕棿鏃╀簬褰撳墠鍏抽榾涓婃姤涓殑寮�闃�鏃堕棿锛岃鏄庢槸鏂扮殑涓�娆″叧闃�鎶ワ紝鑰屼笖瀵瑰簲鍏抽榾鎶ョ殑涓婁竴娆″紑闃�鎶ユ湭鏀跺埌
+                                    this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dV202404, dataCd85Vo, poLast, true);
+                                }
+                            }else{
+                                //杩欑鎯呭喌涓嶅瓨鍦紝璁や负鍖归厤澶辫触
+                                //褰撳墠鍏抽榾涓嶆槸鍘熻褰曚腑寮�闃�鐨勫搴斿叧闃�锛岀敓鎴愬苟淇濆瓨鏂扮殑鍏抽榾涓婃姤鍘嗗彶鏁版嵁璁板綍
+                                this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dV202404, dataCd85Vo, poLast, true);
+                            }
+                        }else{
+                            //娌℃湁鍘嗗彶鏁版嵁锛岃繖绉嶆儏鍐典笉瀛樺湪锛岃涓哄尮閰嶅け璐ワ紝鐢熸垚骞朵繚瀛樻柊鐨勫叧闃�涓婃姤鍘嗗彶鏁版嵁璁板綍
+                            this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dV202404, dataCd85Vo, poLast, true);
+                        }
+                    }else{
+                        //娌℃湁鍘嗗彶鏁版嵁锛岃繖绉嶆儏鍐典笉瀛樺湪锛岃涓哄尮閰嶅け璐ワ紝鐢熸垚骞朵繚瀛樻柊鐨勫叧闃�涓婃姤鍘嗗彶鏁版嵁璁板綍
+                        this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dV202404, dataCd85Vo, poLast, true);
+                    }
+                }
+            }else if(poLast.opType != null){
+                //鍘熻褰曞瓨鍦ㄥ叧闃�鏁版嵁锛屼篃瀛樺湪寮�闃�鏁版嵁锛岄鍏堣繘琛屽紑鍏抽榾鏃堕棿瀵规瘮
+                if(poLast.closeDt != null && poLast.closeDt.equals(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd85Vo.endDt))){
+                    //閲嶅涓婃姤浜嗭紝涓嶈繘琛屽鐞�
+                }else if(poLast.closeDt != null && poLast.closeDt.after(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd85Vo.endDt))){
+                    //琛ユ姤鐨勮涔呬箣鍓嶇殑鏁版嵁(瀵逛簬after:绛変簬鎴栨櫄浜庨兘杩斿洖true)
+                    this.dealSupplyReport() ;
+                }else {
+                    //鏄柊鐨勪笂鎶ュ叧闃�鏁版嵁
+                    //杩涜鍘嗗彶鏁版嵁鍖归厤
+                    RmOpenCloseValveHistory poHistory = null ;
+                    if(poLast.lastHistoryId != null) {
+                        poHistory = sv.getRmOpenCloseValveHistory(poLast.lastHistoryId);
+                        if (poHistory != null) {
+                            if(poHistory.openDt.equals(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd85Vo.startDt))){
+                                //鍖归厤涓婁簡
+                                this.updateCloseValve(clientVo, controller, poLast, poHistory, dV202404, dataCd85Vo, false) ;
+                                sv.updateRmOpenCloseValveHistory(poHistory);
+                            }else{
+                                //涓婁釜鍏抽榾鎶ユ湭涓婃姤
+                                this.updateCloseValve(clientVo, controller, poLast, null, dV202404, dataCd85Vo, true) ;
+                                this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dV202404, dataCd85Vo, poLast, null);
+                            }
+                        }else{
+                            //杩欑鎯呭喌涓嶅瓨鍦紝浣嗕负瀹夊叏涔熻繘琛屽鐞嗭紝涔熻涓轰笂涓叧闃�鎶ユ湭涓婃姤
+                            this.updateCloseValve(clientVo, controller, poLast, null, dV202404, dataCd85Vo, true) ;
+                            this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dV202404, dataCd85Vo, poLast, null);
+                        }
+                    }else{
+                        //杩欑鎯呭喌涓嶅瓨鍦紝浣嗕负瀹夊叏涔熻繘琛屽鐞嗭紝涔熻涓轰笂涓叧闃�鎶ユ湭涓婃姤
+                        this.updateCloseValve(clientVo, controller, poLast, null, dV202404, dataCd85Vo, true) ;
+                        this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dV202404, dataCd85Vo, poLast, null);
+                    }
+                }
+            }else{
+                //if(po.opType == null)
+                //鍘熻褰曚笉瀛樺湪寮�闃�鏁版嵁涔熶笉瀛樺湪鍏抽榾鏁版嵁锛岃繖绉嶆儏鍐典笉瀛樺湪锛屼絾涓哄畨鍏ㄤ篃杩涜澶勭悊锛屼篃璁や负涓婁釜鍏抽榾鎶ユ湭涓婃姤
+                this.updateCloseValve(clientVo, controller, poLast, null, dV202404, dataCd85Vo, true) ;
+                //鐢熸垚骞朵繚瀛樻柊鐨勫叧闃�涓婃姤鍘嗗彶鏁版嵁璁板綍锛屾病鏈夊搴旂殑寮�鍙戞暟鎹�
+                this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dV202404, dataCd85Vo, poLast, null);
+            }
+
+            sv.updateRmOpenCloseValveLast(poLast);
+        }
     }
+
+    /**
+     * 澶勭悊琛ユ姤锛屾殏鏃舵棤閫昏緫
+     */
+    private void dealSupplyReport(){
+    }
+
+    /**
+     * 淇濆瓨鏂扮殑鍏抽榾涓婃姤鍘嗗彶鏁版嵁璁板綍锛屽苟鎶奍D璧嬪�肩粰鏈�鏂拌褰曠殑 lastHistoryId
+     * @param sv
+     * @param controller
+     * @param rtuAddr
+     * @param dV202404
+     * @param dataCd85Vo
+     * @param poLast
+     * @param clearLastOpenValue
+     * @throws Exception
+     */
+    private void newHistoryDataDeal(DbSv sv,
+                                    SeClient clientVo,
+                                    PrController controller,
+                                    String rtuAddr,
+                                    DataV202404 dV202404,
+                                    DataCd85Vo dataCd85Vo,
+                                    RmOpenCloseValveLast poLast,
+                                    Boolean clearLastOpenValue)throws Exception {
+        RmOpenCloseValveHistory poHistory = this.newRmOpenCloseValveHistory(clientVo, controller, rtuAddr, dV202404, dataCd85Vo) ;
+        sv.saveRmOpenCloseValveHistory(poHistory);
+        //鐢辨渶鏂版暟鎹寔鏈夊巻鍙叉暟鎹腑鐨勬渶鏂拌褰旾D锛屼互鏂逛究蹇�熸煡璇�
+        poLast.lastHistoryId = poHistory == null ? null: poHistory.id ;
+        if(clearLastOpenValue != null && clearLastOpenValue.booleanValue()){
+            poLast.clearOpenValue();
+        }
+    }
+
+    /**
+     * 鐢熸垚鏂扮殑鍏抽榾涓婃姤鏈�鏂版暟鎹褰�
+     * @param clientVo
+     * @param controller
+     * @param rtuAddr
+     * @param dV202404
+     * @param dataCd85Vo
+     * @return
+     * @throws Exception
+     */
+    private RmOpenCloseValveLast newRmOpenCloseValveLast(SeClient clientVo,
+                                                         PrController controller,
+                                                         String rtuAddr,
+                                                         DataV202404 dV202404,
+                                                         DataCd85Vo dataCd85Vo)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 ;
+        po.valueFrom85(dV202404, dataCd85Vo);
+        return po ;
+    }
+
+
+    /**
+     * 鐢熸垚鏂扮殑鍏抽榾涓婃姤鍘嗗彶鏁版嵁璁板綍
+     * @param clientVo
+     * @param controller
+     * @param rtuAddr
+     * @param dV202404
+     * @param dataCd85Vo
+     * @return
+     * @throws Exception
+     */
+    private RmOpenCloseValveHistory newRmOpenCloseValveHistory(SeClient clientVo,
+                                                               PrController controller,
+                                                               String rtuAddr,
+                                                               DataV202404 dV202404,
+                                                               DataCd85Vo dataCd85Vo)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 ;
+        po.valueFrom85(dV202404, dataCd85Vo);
+        return po ;
+    }
+
+
+    /**
+     * 鏇存柊鏁版嵁
+     * @param clientVo
+     * @param controller
+     * @param poLast
+     * @param poHistory
+     * @param dV202404
+     * @param dataCd85Vo
+     * @param clearLastOpenValue
+     * @throws Exception
+     */
+    private void updateCloseValve(SeClient clientVo,
+                                  PrController controller,
+                                  RmOpenCloseValveLast poLast,
+                                  RmOpenCloseValveHistory poHistory,
+                                  DataV202404 dV202404,
+                                  DataCd85Vo dataCd85Vo,
+                                  boolean clearLastOpenValue) 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(dV202404, dataCd85Vo, clearLastOpenValue);
+
+        if(poHistory != null){
+            poHistory.clientId = clientVo==null?null:clientVo.getId() ;
+            poHistory.clientName = clientVo==null?null:clientVo.getName() ;
+            poHistory.controllerId = controller==null?null:controller.getId();
+            poHistory.intakeId = controller==null?null:controller.getIntakeId();
+
+            poHistory.updateFrom(dV202404, dataCd85Vo, false);
+        }
+    }
+
+
+//    /**
+//     * 澶勭悊鍏抽榾鎶ユ暟鎹�
+//     * @param sv 鏈嶅姟
+//     * @param clientVo 鍐滄埛瀵硅薄锛堜笉涓虹┖鏃讹紝鍙湁id鍜宯ame鏈夊�硷級
+//     * @param controller 鎺у埗鍣ㄥ璞�
+//     * @param rtuAddr 鎺у埗鍣ㄥ湴鍧�
+//     * @param dataV202404 鍗忚鏁版嵁
+//     * @param cdData 鍔熻兘鏁版嵁
+//     */
+//    private void doDeal(DbSv sv, SeClient clientVo, PrController controller, String rtuAddr, DataV202404 dataV202404, DataCd85Vo cdData) throws Exception {
+//        this.saveOrUpdateLast(sv, controller, rtuAddr, dataV202404, cdData);
+//        this.saveHistory(sv, controller, rtuAddr, dataV202404, cdData);
+//    }
+//
+//    /**
+//     * 淇濆瓨鎴栨洿鏂版帶鍒跺櫒鍏抽榾鎶ユ渶鏂版暟鎹�
+//     * @param sv 鏈嶅姟bean
+//     * @param controller 鎺у埗鍣ㄥ璞�
+//     * @param rtuAddr 鎺у埗鍣ㄥ湴鍧�
+//     * @param dataV202404 鍗忚鏁版嵁
+//     * @param cdData 鍔熻兘鏁版嵁
+//     */
+//    private void saveOrUpdateLast(DbSv sv, PrController controller, String rtuAddr, DataV202404 dataV202404, DataCd85Vo cdData)throws Exception {
+//        RmOpenCloseValveLast po = sv.getRmOpenCloseValveLast(controller.getIntakeId());
+//        if(po == null){
+//            po = new RmOpenCloseValveLast();
+//            po.controllerId = controller==null?null:controller.getId();
+//            po.intakeId = controller==null?null:controller.getIntakeId();
+//            po.rtuAddr = rtuAddr;
+//            po.valueFrom85(dataV202404, cdData);
+//            sv.saveRmOpenCloseValveLast(po);
+//        }else{
+//            po.controllerId = controller==null?null:controller.getId();
+//            po.intakeId = controller==null?null:controller.getIntakeId();
+//            po.valueFrom85(dataV202404, cdData);
+//            sv.updateRmOpenCloseValveLast(po);
+//        }
+//    }
+//
+//    /**
+//     * 淇濆瓨鎺у埗鍣ㄥ叧闃�鎶ュ巻鍙叉暟鎹�
+//     * @param sv 鏈嶅姟bean
+//     * @param controller 鎺у埗鍣ㄥ璞�
+//     * @param rtuAddr 鎺у埗鍣ㄥ湴鍧�
+//     * @param dataV202404 鍗忚鏁版嵁
+//     * @param cdData 鍔熻兘鏁版嵁
+//     */
+//    private void saveHistory(DbSv sv, PrController controller, String rtuAddr, DataV202404 dataV202404, DataCd85Vo cdData)throws Exception {
+//        RmOpenCloseValveHistory po = new RmOpenCloseValveHistory();
+//        po.controllerId = controller==null?null:controller.getId();
+//        po.intakeId = controller==null?null:controller.getIntakeId();
+//        po.rtuAddr = rtuAddr;
+//        po.valueFrom85(dataV202404, cdData);
+//        sv.saveRmOpenCloseValveHistory(po); ;
+//    }
 }

--
Gitblit v1.8.0