From faf02e3bad9fe25c60acf9a8be7e58122a4cec4a Mon Sep 17 00:00:00 2001 From: Administrator <zhubaomin> Date: 星期一, 05 八月 2024 15:01:20 +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 | 120 +++++++++++++++++++++++++---------------------------------- 1 files changed, 51 insertions(+), 69 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 3d80663..ccb127c 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; @@ -85,32 +89,34 @@ * @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.hasAlarm()){ + po.sendMsTime = System.currentTimeMillis() ; + this.sendMessage(controller, alarmVo); + } sv.saveRmAlarmStateLast(po) ; }else{ + if(po.sendMsTime == null){ + if(alarmVo.hasAlarm()) { + po.sendMsTime = System.currentTimeMillis(); + this.sendMessage(controller, alarmVo); + } + }else{ + if(alarmVo.hasAlarm()){ + 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) ; sv.updateRmAlarmStateLast(po); } @@ -126,28 +132,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) ; } @@ -156,41 +145,20 @@ 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 ; } /** - * 铏氭嫙鍗″湪鍙栨按涓殑鍗犵敤鐘舵�佹敼涓洪潪搴旂敤鐘舵�� + * 铏氭嫙鍗″湪鍙栨按鍙d笂鐨勫崰鐢ㄧ姸鎬佹敼涓洪潪搴旂敤鐘舵�� */ private void updateVirCardNoUseState(DbSv sv, PrController controller, DataStateVo stateVo){ if(stateVo != null){ - if(stateVo.working != null && stateVo.working.byteValue() == 0){ + if(stateVo.valveState != null && stateVo.valveState.byteValue() == 0){ //闃�闂ㄥ叧闂姸鎬� if(controller != null && controller.getIntakeId() != null){ //铏氭嫙鍗″湪鍙栨按涓殑鍗犵敤鐘舵�佹敼涓洪潪搴旂敤鐘舵�� @@ -201,4 +169,18 @@ } + /** + * 鍚戦拤閽夊彂閫佹秷鎭� + * @param controller + * @param alarmVo + */ + private void sendMessage(PrController controller, DataAlarmVo alarmVo){ + String ms = "鍙栨按鍙b��" + controller.getIntakeName() + "鈥濅骇鐢熸姤璀︼細" + alarmVo.alarmContent() ; + try{ + SendMsCache.cacheMs(ms); + }catch (Exception e){ + log.error("缂撳瓨閽夐拤娑堟伅寮傚父锛�", e); + } + } + } -- Gitblit v1.8.0