From 70f61b0638e32274d0e5f9b972ce2a18f139f1b4 Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期四, 12 六月 2025 09:51:30 +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/TkDealAlarmStatusV202404.java | 110 ++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 77 insertions(+), 33 deletions(-) diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealAlarmStatusV202404.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealAlarmStatusV202404.java index f6570d2..9062205 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealAlarmStatusV202404.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealAlarmStatusV202404.java @@ -14,6 +14,9 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import java.util.HashMap; +import java.util.Map; + /** * @Author liurunyu * @Date 2024/5/8 14:18 @@ -24,6 +27,9 @@ //绫籌D锛屼竴瀹氫笌Tree.xml閰嶇疆鏂囦欢涓厤缃竴鑷� public static final String taskId = "TkDealAlarmStatusV202404" ; + + //鏄惁鍦ㄦ煇涓椂鍒伙紙骞存湀鏃ユ椂锛変繚瀛樹簡鎶ヨ鐘舵�佹暟鎹� + private static final Map<String, Long> onceSaveAlarmData4Rtus = new HashMap<>(); /** * 鎵ц鑺傜偣浠诲姟锛氭姤璀﹀強鐘舵�� @@ -42,10 +48,12 @@ PrController controller = (PrController)objs[1] ; if(cdObj instanceof DataCd81Vo){ //璁惧缁堢闅忔満鑷姤 + //81鍔熻兘鐮佹暟鎹紝涓嶈繘琛屸�滃湪涓�涓皬鏃跺唴娌℃湁瀛樺偍鎶ヨ鏁版嵁鈥濈殑鎺у埗 DataCd81Vo cdData = (DataCd81Vo)(cdObj) ; this.toMsCenter(controller, d.getRtuAddr(), dV202404, cdData, dV202404.dt); this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ; this.saveHistory(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ; + this.cacheSaveTime(d.getRtuAddr()); if(cdData.statePump != null && cdData.statePump.byteValue() == AlarmVo.DevCloseState){ if(controller != null && controller.getIntakeId() != null){ this.taskResult = new Object[]{controller.getIntakeId(), AlarmVo.DevCloseState} ; @@ -54,53 +62,72 @@ } }else if(cdObj instanceof DataCd80_5BVo){ //璁惧缁堢宸ヤ綔涓婃姤 + 鏌ヨ璁惧缁堢瀹炴椂鍊� - DataCd80_5BVo cdData = (DataCd80_5BVo)(cdObj) ; - this.toMsCenter(controller, d.getRtuAddr(), dV202404, cdData, dV202404.dt); - this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ; - this.saveHistory(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ; - if(cdData.statePump != null && cdData.statePump.byteValue() == AlarmVo.DevCloseState){ - if(controller != null && controller.getIntakeId() != null){ - this.taskResult = new Object[]{controller.getIntakeId(), AlarmVo.DevCloseState} ; - toNext = true ; + if(this.needSave2Db( d.getRtuAddr())) { + //鍦ㄤ竴涓皬鏃跺唴娌℃湁瀛樺偍鎶ヨ鏁版嵁 + DataCd80_5BVo cdData = (DataCd80_5BVo)(cdObj) ; + this.toMsCenter(controller, d.getRtuAddr(), dV202404, cdData, dV202404.dt); + this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ; + this.saveHistory(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ; + this.cacheSaveTime(d.getRtuAddr()); + if(cdData.statePump != null && cdData.statePump.byteValue() == AlarmVo.DevCloseState){ + if(controller != null && controller.getIntakeId() != null){ + this.taskResult = new Object[]{controller.getIntakeId(), AlarmVo.DevCloseState} ; + toNext = true ; + } } } - }else if(cdObj instanceof DataCd93_A3Vo){ + } + /* 2025-06-11 鐜嬫睙娴疯锛氫互涓嬫暟鎹腑鐨勭姸鎬佷笉鍑嗙‘锛屽挨鍏堕榾闂ㄧ姸鎬侊紝鎵�浠ヤ笉鍐嶉噰绾� + else if(cdObj instanceof DataCd93_A3Vo){ //骞冲彴/APP杩滅▼鍏抽棴姘存车/闃�闂� + 鍒峰崱鍏虫车/闃�涓婃姤 - DataCd93_A3Vo cdData = (DataCd93_A3Vo)(cdObj) ; - this.toMsCenter(controller, d.getRtuAddr(), dV202404, cdData, dV202404.dt); - this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.endDt, cdData, dV202404.dt) ; - this.saveHistory(sv, controller, d.getRtuAddr(), cdData.endDt, cdData, dV202404.dt) ; - if(cdData.statePump != null && cdData.statePump.byteValue() == AlarmVo.DevCloseState){ - if(controller != null && controller.getIntakeId() != null){ - this.taskResult = new Object[]{controller.getIntakeId(), AlarmVo.DevCloseState} ; - toNext = true ; + if(this.needSave2Db( d.getRtuAddr())) { + //鍦ㄤ竴涓皬鏃跺唴娌℃湁瀛樺偍鎶ヨ鏁版嵁 + DataCd93_A3Vo cdData = (DataCd93_A3Vo)(cdObj) ; + this.toMsCenter(controller, d.getRtuAddr(), dV202404, cdData, dV202404.dt); + this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.endDt, cdData, dV202404.dt) ; + this.saveHistory(sv, controller, d.getRtuAddr(), cdData.endDt, cdData, dV202404.dt) ; + this.cacheSaveTime(d.getRtuAddr()); + if(cdData.statePump != null && cdData.statePump.byteValue() == AlarmVo.DevCloseState){ + if(controller != null && controller.getIntakeId() != null){ + this.taskResult = new Object[]{controller.getIntakeId(), AlarmVo.DevCloseState} ; + toNext = true ; + } } } }else if(cdObj instanceof DataCd84Vo){ //璁惧缁堢鍒峰崱寮�娉�/闃�涓婃姤 - DataCd84Vo cdData = (DataCd84Vo)(cdObj) ; - this.toMsCenter(controller, d.getRtuAddr(), dV202404, cdData, dV202404.dt); - this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.openDt, cdData, dV202404.dt) ; - this.saveHistory(sv, controller, d.getRtuAddr(), cdData.openDt, cdData, dV202404.dt) ; - if(cdData.statePump != null && cdData.statePump.byteValue() == AlarmVo.DevCloseState){ - if(controller != null && controller.getIntakeId() != null){ - this.taskResult = new Object[]{controller.getIntakeId(), AlarmVo.DevCloseState} ; - toNext = true ; + if(this.needSave2Db( d.getRtuAddr())) { + //鍦ㄤ竴涓皬鏃跺唴娌℃湁瀛樺偍鎶ヨ鏁版嵁 + DataCd84Vo cdData = (DataCd84Vo)(cdObj) ; + this.toMsCenter(controller, d.getRtuAddr(), dV202404, cdData, dV202404.dt); + this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.openDt, cdData, dV202404.dt) ; + this.saveHistory(sv, controller, d.getRtuAddr(), cdData.openDt, cdData, dV202404.dt) ; + this.cacheSaveTime(d.getRtuAddr()); + if(cdData.statePump != null && cdData.statePump.byteValue() == AlarmVo.DevCloseState){ + if(controller != null && controller.getIntakeId() != null){ + this.taskResult = new Object[]{controller.getIntakeId(), AlarmVo.DevCloseState} ; + toNext = true ; + } } } }else if(cdObj instanceof DataCdC2Vo){ //璁惧缁堢寮�鍏虫按娉�/闃�闂ㄦ垚鍔�/澶辫触涓婃姤 - DataCdC2Vo cdData = (DataCdC2Vo)(cdObj) ; - this.toMsCenter(controller, d.getRtuAddr(), dV202404, cdData, dV202404.dt); - this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ; - this.saveHistory(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ; - if(cdData.statePump != null && cdData.statePump.byteValue() == AlarmVo.DevCloseState){ - if(controller != null && controller.getIntakeId() != null){ - this.taskResult = new Object[]{controller.getIntakeId(), AlarmVo.DevCloseState} ; - toNext = true ; + if(this.needSave2Db( d.getRtuAddr())) { + //鍦ㄤ竴涓皬鏃跺唴娌℃湁瀛樺偍鎶ヨ鏁版嵁 + DataCdC2Vo cdData = (DataCdC2Vo)(cdObj) ; + this.toMsCenter(controller, d.getRtuAddr(), dV202404, cdData, dV202404.dt); + this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ; + this.saveHistory(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ; + this.cacheSaveTime(d.getRtuAddr()); + if(cdData.statePump != null && cdData.statePump.byteValue() == AlarmVo.DevCloseState){ + if(controller != null && controller.getIntakeId() != null){ + this.taskResult = new Object[]{controller.getIntakeId(), AlarmVo.DevCloseState} ; + toNext = true ; + } } } } + */ }catch (Exception e){ log.error("淇濆瓨鎺у埗鍣ㄦ姤璀﹀拰鐘舵�佹暟鎹椂鍙戠敓寮傚父", e); } @@ -109,6 +136,23 @@ } } + private boolean needSave2Db(String rtuAddr){ + if(!onceSaveAlarmData4Rtus.containsKey(rtuAddr)){ + return true ; + }else{ + Long time = onceSaveAlarmData4Rtus.get(rtuAddr) ; + Long ymdh = Long.parseLong(DateTime.yyyyMMddHH()) ; + if(ymdh.longValue() == time.longValue()){ + //鍚屼竴涓皬鏃跺唴 + return false ; + }else{ + return true ; + } + } + } + private void cacheSaveTime(String rtuAddr){ + onceSaveAlarmData4Rtus.put(rtuAddr, Long.parseLong(DateTime.yyyyMMddHH())); + } /** * 鎶ヨ鐘舵�佹暟鎹瓨鍏ユ秷鎭腑蹇� * @param controller 鎺у埗鍣ㄥ璞� -- Gitblit v1.8.0