From ebe8e2bc34f3a227496aac83623f8d51b82e6914 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期二, 12 十一月 2024 15:22:50 +0800 Subject: [PATCH] 根据RTU上报状态清除虚拟IC卡占用状态逻辑中,增加一个日期时间限制,以防止清除计划开阀命令的中虚拟IC卡占用状态。 --- pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V202404/TkDealAlarmStatusV202404.java | 102 ++++++++++++++++++++++++++++++++------------------ 1 files changed, 65 insertions(+), 37 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 193e8d8..837e2f0 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 @@ -12,6 +12,8 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import java.util.Date; + /** * @Author liurunyu * @Date 2024/5/8 14:18 @@ -30,42 +32,41 @@ @Override public void execute(Object data) { Data d = (Data)data ; - DataV202404 dV202404 = (DataV202404)d.getSubData() ;//鍓嶉潰浠诲姟宸茬粡鍒ゆ柇涓嶄负null + DataV202404 dV202404 = (DataV202404)d.getSubData() ; Object cdObj = dV202404.subData ; - if(cdObj != null){ - try{ - Object[] objs = this.getTaskResults(TkPreGenObjsV202404.taskId) ; - DbSv sv = (DbSv)objs[0] ; - PrController controller = (PrController)objs[1] ; - if(cdObj instanceof DataCd81Vo){ - //璁惧缁堢闅忔満鑷姤 - DataCd81Vo cdData = (DataCd81Vo)(cdObj) ; - this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ; - this.saveHistory(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ; - }else if(cdObj instanceof DataCd80_5BVo){ - //璁惧缁堢宸ヤ綔涓婃姤 + 鏌ヨ璁惧缁堢瀹炴椂鍊� - DataCd80_5BVo cdData = (DataCd80_5BVo)(cdObj) ; - this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ; - this.saveHistory(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ; - }else if(cdObj instanceof DataCd93_A3Vo){ - //骞冲彴/APP杩滅▼鍏抽棴姘存车/闃�闂� + 鍒峰崱鍏虫车/闃�涓婃姤 - DataCd93_A3Vo cdData = (DataCd93_A3Vo)(cdObj) ; - this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.endDt, cdData, dV202404.dt) ; - this.saveHistory(sv, controller, d.getRtuAddr(), cdData.endDt, cdData, dV202404.dt) ; - }else if(cdObj instanceof DataCd84Vo){ - //璁惧缁堢闅忔満鑷姤 - DataCd84Vo cdData = (DataCd84Vo)(cdObj) ; - this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.opDt, cdData, dV202404.dt) ; - this.saveHistory(sv, controller, d.getRtuAddr(), cdData.opDt, cdData, dV202404.dt) ; - }else if(cdObj instanceof DataCdC2Vo){ - //璁惧缁堢闅忔満鑷姤 - DataCdC2Vo cdData = (DataCdC2Vo)(cdObj) ; - this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ; - this.saveHistory(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ; - } - }catch (Exception e){ - log.error("淇濆瓨鎺у埗鍣ㄦ姤璀﹀拰鐘舵�佹暟鎹椂鍙戠敓寮傚父", e); + //鍓嶉潰浠诲姟宸茬粡鍒ゆ柇cdObj涓嶄负null + try{ + Object[] objs = this.getTaskResults(TkPreGenObjsV202404.taskId) ; + DbSv sv = (DbSv)objs[0] ; + PrController controller = (PrController)objs[1] ; + if(cdObj instanceof DataCd81Vo){ + //璁惧缁堢闅忔満鑷姤 + DataCd81Vo cdData = (DataCd81Vo)(cdObj) ; + this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ; + this.saveHistory(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ; + }else if(cdObj instanceof DataCd80_5BVo){ + //璁惧缁堢宸ヤ綔涓婃姤 + 鏌ヨ璁惧缁堢瀹炴椂鍊� + DataCd80_5BVo cdData = (DataCd80_5BVo)(cdObj) ; + this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ; + this.saveHistory(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ; + }else if(cdObj instanceof DataCd93_A3Vo){ + //骞冲彴/APP杩滅▼鍏抽棴姘存车/闃�闂� + 鍒峰崱鍏虫车/闃�涓婃姤 + DataCd93_A3Vo cdData = (DataCd93_A3Vo)(cdObj) ; + this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.endDt, cdData, dV202404.dt) ; + this.saveHistory(sv, controller, d.getRtuAddr(), cdData.endDt, cdData, dV202404.dt) ; + }else if(cdObj instanceof DataCd84Vo){ + //璁惧缁堢鍒峰崱寮�娉�/闃�涓婃姤 + DataCd84Vo cdData = (DataCd84Vo)(cdObj) ; + this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.openDt, cdData, dV202404.dt) ; + this.saveHistory(sv, controller, d.getRtuAddr(), cdData.openDt, cdData, dV202404.dt) ; + }else if(cdObj instanceof DataCdC2Vo){ + //璁惧缁堢寮�鍏虫按娉�/闃�闂ㄦ垚鍔�/澶辫触涓婃姤 + DataCdC2Vo cdData = (DataCdC2Vo)(cdObj) ; + this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ; + this.saveHistory(sv, controller, d.getRtuAddr(), cdData.rtuDt, cdData, dV202404.dt) ; } + }catch (Exception e){ + log.error("淇濆瓨鎺у埗鍣ㄦ姤璀﹀拰鐘舵�佹暟鎹椂鍙戠敓寮傚父", e); } } /** @@ -83,7 +84,7 @@ String rtuDt, AlarmVo alarmVo, String receiveDt) throws Exception { - RmAlarmStateLast po = sv.getRmAlarmStateLast(rtuAddr) ; + RmAlarmStateLast po = sv.getRmAlarmStateLast(controller.getIntakeId()) ; if(po == null){ po = new RmAlarmStateLast(null, controller==null?null:controller.getId(), @@ -105,11 +106,16 @@ alarmVo==null?null:alarmVo.alarmEleMiss, alarmVo==null?null:alarmVo.alarmEleExceed, alarmVo==null?null:alarmVo.alarmEleLowVolt, - alarmVo==null?null:alarmVo.stateIcEnable + alarmVo==null?null:alarmVo.stateIcEnable, + (byte)0,//鐢垫睜鐢靛帇(1锛氭姤璀︼紝0锛氭甯�) + (byte)0,//闃�闂ㄦ姤璀�(1锛氭姤璀︼紝0锛氭甯�) + (byte)0,//渚涚數鏂瑰紡锛�0: 220V锛�1锛氳搫鐢垫睜锛� + System.currentTimeMillis() ) ; sv.saveRmAlarmStateLast(po) ; }else{ po = this.update(po, controller, rtuDt, alarmVo, receiveDt) ; + this.updateVirCardNoUseState(sv, controller, alarmVo) ; sv.updateRmAlarmStateLast(po); } } @@ -149,7 +155,10 @@ alarmVo==null?null:alarmVo.alarmEleMiss, alarmVo==null?null:alarmVo.alarmEleExceed, alarmVo==null?null:alarmVo.alarmEleLowVolt, - alarmVo==null?null:alarmVo.stateIcEnable + alarmVo==null?null:alarmVo.stateIcEnable, + (byte)0,//鐢垫睜鐢靛帇(1锛氭姤璀︼紝0锛氭甯�) + (byte)0,//闃�闂ㄦ姤璀�(1锛氭姤璀︼紝0锛氭甯�) + (byte)0//渚涚數鏂瑰紡锛�0: 220V锛�1锛氳搫鐢垫睜锛� ) ; sv.saveRmAlarmStateHistory(po) ; } @@ -192,4 +201,23 @@ } return po ; } + + /** + * 铏氭嫙鍗″湪鍙栨按涓殑鍗犵敤鐘舵�佹敼涓洪潪搴旂敤鐘舵�� + */ + private void updateVirCardNoUseState(DbSv sv, + PrController controller, + AlarmVo alarmVo){ + if(alarmVo != null){ + if(alarmVo.statePump != null && alarmVo.statePump.byteValue() == 0){ + //闃�闂ㄥ叧闂姸鎬� + if(controller != null && controller.getIntakeId() != null){ + //铏氭嫙鍗″湪鍙栨按涓殑鍗犵敤鐘舵�佹敼涓洪潪搴旂敤鐘舵�� + Date now = new Date() ; + sv.updateVirCardNoUseState(controller.getIntakeId(), now); + } + } + } + + } } -- Gitblit v1.8.0