From ba55749a30a2a2a09a2c64669d6b344a5d8ddb53 Mon Sep 17 00:00:00 2001 From: zhubaomin <zhubaomin> Date: 星期五, 18 十月 2024 14:08:09 +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/TkDealAlarmStatus.java | 146 +++++++++++++++++++++--------------------------- 1 files changed, 63 insertions(+), 83 deletions(-) diff --git a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealAlarmStatus.java b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealAlarmStatus.java index cafed3b..49a8faa 100644 --- a/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealAlarmStatus.java +++ b/pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealAlarmStatus.java @@ -1,8 +1,12 @@ package com.dy.rtuMw.server.rtuData.p206V1_0_0; import com.dy.common.mw.protocol.p206V1_0_0.upVos.*; +import com.dy.common.springUtil.SpringContextUtil; import com.dy.common.util.DateTime; +import com.dy.pipIrrGlobal.config.DingTalk; import com.dy.pipIrrGlobal.pojoRm.RmAlarmStateHistory; +import com.dy.rtuMw.server.ServerProperties; +import com.dy.rtuMw.server.forMs.SendMsCache; import com.dy.rtuMw.server.rtuData.TaskSurpport; import com.dy.rtuMw.server.rtuData.dbSv.DbSv; import com.dy.common.mw.protocol.Data; @@ -46,6 +50,11 @@ PrController controller = (PrController) objs[1]; this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), dataCd81Vo.rtuDt, dV1_0_1, dataCd81Vo.alarmVo, dataCd81Vo.stateVo); this.saveHistory(sv, controller, d.getRtuAddr(), dataCd81Vo.rtuDt, dV1_0_1, dataCd81Vo.alarmVo, dataCd81Vo.stateVo); + if(dataCd81Vo.stateVo != null && dataCd81Vo.stateVo.valveState != null && dataCd81Vo.stateVo.valveState.byteValue() == DataStateVo.ValveCloseState){ + if(controller != null && controller.getIntakeId() != null){ + this.taskResult = new Object[]{controller.getIntakeId(), DataStateVo.ValveCloseState} ; + } + } } } else if (cdObj instanceof DataCd84Vo) { DataCd84Vo dataCd84Vo = (DataCd84Vo)cdObj ; @@ -55,6 +64,12 @@ PrController controller = (PrController) objs[1]; this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), dataCd84Vo.rtuDt, dV1_0_1, dataCd84Vo.alarmVo, dataCd84Vo.stateVo); this.saveHistory(sv, controller, d.getRtuAddr(), dataCd84Vo.rtuDt, dV1_0_1, dataCd84Vo.alarmVo, dataCd84Vo.stateVo); + /** 闃�寮�宸ヤ綔鎶ワ紝闃�闂ㄧ姸鎬佷竴瀹氭槸鎵撳紑鐘舵�侊紝鎵�浠ヤ笉璁剧疆涓嬮潰鏁版嵁浠ュ鍚庣画浠诲姟璁剧疆铏氭嫙鍗$姸鎬� + if(dataCd84Vo.stateVo != null && dataCd84Vo.stateVo.valveState != null && dataCd84Vo.stateVo.valveState.byteValue() == DataStateVo.ValveCloseState){ + if(controller != null && controller.getIntakeId() != null){ + this.taskResult = new Object[]{controller.getIntakeId(), DataStateVo.ValveCloseState} ; + } + }*/ } } else if (cdObj instanceof DataCdC0Vo) { DataCdC0Vo dataCdC0Vo = (DataCdC0Vo)cdObj ; @@ -64,6 +79,11 @@ PrController controller = (PrController) objs[1]; this.saveOrUpdateLast(sv, controller, d.getRtuAddr(), dataCdC0Vo.rtuDt, dV1_0_1, dataCdC0Vo.alarmVo, dataCdC0Vo.stateVo); this.saveHistory(sv, controller, d.getRtuAddr(), dataCdC0Vo.rtuDt, dV1_0_1, dataCdC0Vo.alarmVo, dataCdC0Vo.stateVo); + if(dataCdC0Vo.stateVo != null && dataCdC0Vo.stateVo.valveState != null && dataCdC0Vo.stateVo.valveState.byteValue() == DataStateVo.ValveCloseState){ + if(controller != null && controller.getIntakeId() != null){ + this.taskResult = new Object[]{controller.getIntakeId(), DataStateVo.ValveCloseState} ; + } + } } } } catch (Exception e) { @@ -82,34 +102,35 @@ * @param stateVo 鐘舵�佸璞� */ private void saveOrUpdateLast(DbSv sv, PrController controller, String rtuAddr, String rtuDt, DataV1_0_1 dV1_0_1, DataAlarmVo alarmVo, DataStateVo stateVo) 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(), controller==null?null:controller.getIntakeId(), - rtuAddr, - DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt), - DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(rtuDt), - stateVo==null?null:stateVo.working,//鐘舵��-闃�闂�/娉碉紙1鎵撳紑銆�0鍏抽棴锛� - (byte)0,//鍓╀綑姘撮噺鎶ヨ (1锛氬皬浜庢姤璀︿笂闄愭姤璀� 0锛氭甯�) - (byte)0,//鍓╀綑姘撮噺涓�0鍏虫车/闃� (1锛氬墿浣欐按閲忎负0鍏虫车 0锛氭甯�) - (byte)0,//骞寸敤姘撮噺澶т簬闄愬埗姘撮噺鎶ヨ(1锛氭姤璀� 0锛氭甯�) - alarmVo==null?null:alarmVo.meter,// 娴侀噺璁℃晠闅�(1锛氭姤璀︼紝0锛氭甯�) - alarmVo==null?null:alarmVo.loss,// 婕忔崯(鍋锋按)鎶ヨ(1锛氭姤璀︼紝 0锛氭甯�) - (byte)0,//娴侀噺璁℃崯鍧�(姝e父閫氳浣嗙灛鏃朵负0)鎶ヨ(1锛氭姤璀︼紝0锛氭甯�) - (byte)0,//鐢佃〃鏁呴殰鎶ヨ(1锛氭姤璀︼紝0锛氭甯�) - (byte)0,//鍓╀綑閲戦涓�0(1锛氭姤璀︼紝0锛氭甯�) - (byte)0,//鎺у埗鍣ㄥ唴闂ㄦ姤璀�(1锛氭姤璀︼紝0锛氭甯�) - (byte)0,//鎺у埗鍣ㄥ闂ㄦ墦寮�鎶ヨ(1锛氭姤璀︼紝0锛氭甯�) - (byte)0,//浜ゆ祦缂洪」鎶ヨ(1锛氭姤璀︼紝0锛氭甯�) - (byte)0,//浜ゆ祦杩囨祦鎶ヨ(1锛氭姤璀︼紝0锛氭甯�) - (byte)0,//涓夌浉鐢垫瑺鍘嬫姤璀�(1锛氭姤璀︼紝0锛氭甯�) - stateVo==null?null:stateVo.icCard,//IC鍗$姸鎬�(1銆佹湁鏁堬紝0锛氭棤鏁�) ; - alarmVo==null?null:alarmVo.batteryVolt,//鐢垫睜鐢靛帇(1锛氭姤璀︼紝0锛氭甯�) - alarmVo==null?null:alarmVo.valve//闃�闂ㄦ姤璀�(1锛氭姤璀︼紝0锛氭甯�) - ); + po = new RmAlarmStateLast(); + po.controllerId = controller==null?null:controller.getId() ; + po.intakeId = controller==null?null:controller.getIntakeId() ; + po.rtuAddr = rtuAddr ; + po.valueFrom(dV1_0_1, rtuDt, alarmVo, stateVo); + if(alarmVo.hasAlarmExcludeLoss()){ + po.sendMsTime = System.currentTimeMillis() ; + this.sendMessage(controller, alarmVo); + } sv.saveRmAlarmStateLast(po) ; }else{ + if(po.sendMsTime == null){ + if(alarmVo.hasAlarmExcludeLoss()) { + po.sendMsTime = System.currentTimeMillis(); + this.sendMessage(controller, alarmVo); + } + }else{ + if(alarmVo.hasAlarmExcludeLoss()){ + Long now = System.currentTimeMillis() ; + if(((now - po.sendMsTime) / (1000 * 60)) > ServerProperties.sendDingDingAlarmMsInterval){ + //澶т簬瑙勫畾鐨勯棿闅旀椂闂� + po.sendMsTime = System.currentTimeMillis() ; + this.sendMessage(controller, alarmVo); + } + } + } po = this.update(controller, po, rtuDt, dV1_0_1, alarmVo, stateVo) ; - this.updateVirCardNoUseState(sv, controller, stateVo) ; sv.updateRmAlarmStateLast(po); } } @@ -124,28 +145,11 @@ * @param stateVo 鐘舵�佸璞� */ private void saveHistory(DbSv sv, PrController controller, String rtuAddr, String rtuDt, DataV1_0_1 dV1_0_1, DataAlarmVo alarmVo, DataStateVo stateVo) throws Exception { - RmAlarmStateHistory po = new RmAlarmStateHistory(null, controller==null?null:controller.getId(), controller==null?null:controller.getIntakeId(), - rtuAddr, - DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt), - DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(rtuDt), - stateVo==null?null:stateVo.working,//鐘舵��-闃�闂�/娉碉紙1鎵撳紑銆�0鍏抽棴锛� - (byte)0,//鍓╀綑姘撮噺鎶ヨ (1锛氬皬浜庢姤璀︿笂闄愭姤璀� 0锛氭甯�) - (byte)0,//鍓╀綑姘撮噺涓�0鍏虫车/闃� (1锛氬墿浣欐按閲忎负0鍏虫车 0锛氭甯�) - (byte)0,//骞寸敤姘撮噺澶т簬闄愬埗姘撮噺鎶ヨ(1锛氭姤璀� 0锛氭甯�) - alarmVo==null?null:alarmVo.meter,// 娴侀噺璁℃晠闅�(1锛氭姤璀︼紝0锛氭甯�) - alarmVo==null?null:alarmVo.loss,// 婕忔崯(鍋锋按)鎶ヨ(1锛氭姤璀︼紝 0锛氭甯�) - (byte)0,//娴侀噺璁℃崯鍧�(姝e父閫氳浣嗙灛鏃朵负0)鎶ヨ(1锛氭姤璀︼紝0锛氭甯�) - (byte)0,//鐢佃〃鏁呴殰鎶ヨ(1锛氭姤璀︼紝0锛氭甯�) - (byte)0,//鍓╀綑閲戦涓�0(1锛氭姤璀︼紝0锛氭甯�) - (byte)0,//鎺у埗鍣ㄥ唴闂ㄦ姤璀�(1锛氭姤璀︼紝0锛氭甯�) - (byte)0,//鎺у埗鍣ㄥ闂ㄦ墦寮�鎶ヨ(1锛氭姤璀︼紝0锛氭甯�) - (byte)0,//浜ゆ祦缂洪」鎶ヨ(1锛氭姤璀︼紝0锛氭甯�) - (byte)0,//浜ゆ祦杩囨祦鎶ヨ(1锛氭姤璀︼紝0锛氭甯�) - (byte)0,//涓夌浉鐢垫瑺鍘嬫姤璀�(1锛氭姤璀︼紝0锛氭甯�) - stateVo==null?null:stateVo.icCard,//IC鍗$姸鎬�(1銆佹湁鏁堬紝0锛氭棤鏁�) ; - alarmVo==null?null:alarmVo.batteryVolt,//鐢垫睜鐢靛帇(1锛氭姤璀︼紝0锛氭甯�) - alarmVo==null?null:alarmVo.valve//闃�闂ㄦ姤璀�(1锛氭姤璀︼紝0锛氭甯�) - ); + RmAlarmStateHistory po = new RmAlarmStateHistory() ; + po.controllerId = controller==null?null:controller.getId() ; + po.intakeId = controller==null?null:controller.getIntakeId() ; + po.rtuAddr = rtuAddr ; + po.valueFrom(dV1_0_1, rtuDt, alarmVo, stateVo); sv.saveRmAlarmStateHistory(po) ; } @@ -154,49 +158,25 @@ po.controllerId = controller==null?null:controller.getId() ; po.intakeId = controller==null?null:controller.getIntakeId() ; - po.dt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1_0_1.dt) ; - po.rtuDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(rtuDt) ; - if(alarmVo != null){ - po.alarmBatteryVolt = alarmVo.batteryVolt ; - po.alarmLoss = alarmVo.loss ; - po.alarmWaterMeterBreak = alarmVo.meter ; - po.alarmValve = alarmVo.valve ; - }/*else{ - po.alarmBatteryVolt = null ; - po.alarmLoss = null ; - po.alarmWaterMeterBreak = null ; - po.alarmValve = null ; - }*/ - if(stateVo != null){ - po.stateIcEnable = stateVo.icCard ; - po.valveState = stateVo.working ; - //po.valvestate = stateVo.valve ; - }/*else{ - po.stateIcEnable = null ; - po.valveState = null ; - //po.valvestate = null ; - }*/ + po.updateFrom(dV1_0_1, rtuDt, alarmVo, stateVo); return po ; } - /** - * 铏氭嫙鍗″湪鍙栨按涓殑鍗犵敤鐘舵�佹敼涓洪潪搴旂敤鐘舵�� - */ - private void updateVirCardNoUseState(DbSv sv, - PrController controller, - DataStateVo stateVo){ - if(stateVo != null){ - if(stateVo.working != null && stateVo.working.byteValue() == 0){ - //闃�闂ㄥ叧闂姸鎬� - if(controller != null && controller.getIntakeId() != null){ - //铏氭嫙鍗″湪鍙栨按涓殑鍗犵敤鐘舵�佹敼涓洪潪搴旂敤鐘舵�� - sv.updateVirCardNoUseState(controller.getIntakeId()); - } - } - } + /** + * 鍚戦拤閽夊彂閫佹秷鎭� + * @param controller + * @param alarmVo + */ + private void sendMessage(PrController controller, DataAlarmVo alarmVo){ + String ms = "鍙栨按鍙b��" + controller.getIntakeName() + "鈥濅骇鐢熸姤璀︼細" + alarmVo.alarmContentExcludeLoss() ; + try{ + SendMsCache.cacheMs(ms); + }catch (Exception e){ + log.error("缂撳瓨閽夐拤娑堟伅寮傚父锛�", e); + } } } -- Gitblit v1.8.0