From 02d965a2ff0cb5d415cedceacd2ae90c7ec1ac39 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期六, 10 五月 2025 09:03:50 +0800 Subject: [PATCH] 解决开关阀记录数据因重绑定或改RTU地址而引起的地址变更问题 --- pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkDealCloseValveReport.java | 46 +++++++++++++++++++++++++++++++++++----------- 1 files changed, 35 insertions(+), 11 deletions(-) diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkDealCloseValveReport.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkDealCloseValveReport.java index dc02e7e..4b52d81 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkDealCloseValveReport.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1/TkDealCloseValveReport.java @@ -8,6 +8,8 @@ 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; @@ -43,6 +45,7 @@ PrController controller = (PrController)objs[1] ; SeClient clientVo = (SeClient)objs[3] ;//杩欎釜鍊煎璞′腑鍙湁id鍜宯ame浼氭湁鍊� try{ + this.toMsCenter(clientVo, controller, d.getRtuAddr(), dV1, (DataCd83CloseVo)cdObj) ; this.doDeal(sv, clientVo, controller, d.getRtuAddr(), dV1, (DataCd83CloseVo)cdObj) ; }catch (Exception e){ log.error("淇濆瓨鎺у埗鍣ㄥ紑闃�涓婃姤鏃跺彂鐢熷紓甯�", e); @@ -51,10 +54,32 @@ } /** + * 鎶婂紑闃�娑堟伅瀛樺叆娑堟伅涓績 + * @param clientVo + * @param controller + * @param rtuAddr + * @param dV1 + * @param dataCd83CloseVo + */ + private void toMsCenter(SeClient clientVo, PrController controller, String rtuAddr, DataV1 dV1, DataCd83CloseVo dataCd83CloseVo){ + 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", dataCd83CloseVo.icCardNo); + msObj.put("rtuAddr", rtuAddr); + msObj.put("intakeId", controller.getIntakeId()); + msObj.put("dt", dV1.dt); + MsCenterUnit.getInstance().pushMs(msObj); + } + } + + /** * 淇濆瓨鏁版嵁 * @param sv 鏈嶅姟 * @param clientVo 鍐滄埛瀵硅薄锛堜笉涓虹┖鏃讹紝鍙湁id鍜宯ame鏈夊�硷級 - * @param clientVo 鍐滄埛瀵硅薄 * @param controller 鎺у埗鍣ㄥ璞� * @param rtuAddr 鎺у埗鍣ㄥ湴鍧� * @param dV1 涓婃姤鏁版嵁 @@ -96,7 +121,7 @@ if(poHistory.openDt.equals(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83CloseVo.openDt))){ //鍖归厤鎴愬姛 //褰撳墠鍏抽榾鏄師璁板綍涓紑闃�鐨勫搴斿叧闃� - this.updateCloseValve(clientVo, controller, poLast, poHistory, dV1, dataCd83CloseVo, false) ; + this.updateCloseValve(clientVo, controller, rtuAddr, poLast, poHistory, dV1, dataCd83CloseVo, false) ; sv.updateRmOpenCloseValveHistory(poHistory); }else if(poHistory.openDt.after(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83CloseVo.openDt))){ //鍖归厤澶辫触(瀵逛簬after:绛変簬鎴栨櫄浜庨兘杩斿洖true) @@ -137,28 +162,28 @@ if (poHistory != null) { if(poHistory.openDt.equals(DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dataCd83CloseVo.openDt))){ //鍖归厤涓婁簡 - this.updateCloseValve(clientVo, controller, poLast, poHistory, dV1, dataCd83CloseVo, false) ; + this.updateCloseValve(clientVo, controller, rtuAddr, poLast, poHistory, dV1, dataCd83CloseVo, false) ; sv.updateRmOpenCloseValveHistory(poHistory); }else{ //涓婁釜鍏抽榾鎶ユ湭涓婃姤 - this.updateCloseValve(clientVo, controller, poLast, null, dV1, dataCd83CloseVo, true) ; + this.updateCloseValve(clientVo, controller, rtuAddr, poLast, null, dV1, dataCd83CloseVo, true) ; this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dV1, dataCd83CloseVo, poLast, null); } }else{ //杩欑鎯呭喌涓嶅瓨鍦紝浣嗕负瀹夊叏涔熻繘琛屽鐞嗭紝涔熻涓轰笂涓叧闃�鎶ユ湭涓婃姤 - this.updateCloseValve(clientVo, controller, poLast, null, dV1, dataCd83CloseVo, true) ; + this.updateCloseValve(clientVo, controller, rtuAddr, poLast, null, dV1, dataCd83CloseVo, true) ; this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dV1, dataCd83CloseVo, poLast, null); } }else{ //杩欑鎯呭喌涓嶅瓨鍦紝浣嗕负瀹夊叏涔熻繘琛屽鐞嗭紝涔熻涓轰笂涓叧闃�鎶ユ湭涓婃姤 - this.updateCloseValve(clientVo, controller, poLast, null, dV1, dataCd83CloseVo, true) ; + this.updateCloseValve(clientVo, controller, rtuAddr, poLast, null, dV1, dataCd83CloseVo, true) ; this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dV1, dataCd83CloseVo, poLast, null); } } }else{ //if(po.opType == null) //鍘熻褰曚笉瀛樺湪寮�闃�鏁版嵁涔熶笉瀛樺湪鍏抽榾鏁版嵁锛岃繖绉嶆儏鍐典笉瀛樺湪锛屼絾涓哄畨鍏ㄤ篃杩涜澶勭悊锛屼篃璁や负涓婁釜鍏抽榾鎶ユ湭涓婃姤 - this.updateCloseValve(clientVo, controller, poLast, null, dV1, dataCd83CloseVo, true) ; + this.updateCloseValve(clientVo, controller, rtuAddr, poLast, null, dV1, dataCd83CloseVo, true) ; //鐢熸垚骞朵繚瀛樻柊鐨勫叧闃�涓婃姤鍘嗗彶鏁版嵁璁板綍锛屾病鏈夊搴旂殑寮�鍙戞暟鎹� this.newHistoryDataDeal(sv, clientVo, controller, rtuAddr, dV1, dataCd83CloseVo, poLast, null); } @@ -266,6 +291,7 @@ */ private void updateCloseValve(SeClient clientVo, PrController controller, + String rtuAddr, RmOpenCloseValveLast poLast, RmOpenCloseValveHistory poHistory, DataV1 dV1, @@ -275,17 +301,15 @@ poLast.clientName = clientVo==null?null:clientVo.getName() ; poLast.controllerId = controller==null?null:controller.getId(); poLast.intakeId = controller==null?null:controller.getIntakeId(); - + poLast.rtuAddr = rtuAddr; poLast.updateFrom(dV1, dataCd83CloseVo, 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.rtuAddr = rtuAddr; poHistory.updateFrom(dV1, dataCd83CloseVo, false); } - } } -- Gitblit v1.8.0