pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1_0_0/upVos/DataAlarmVo.java
@@ -20,6 +20,17 @@ return flag ; } public boolean hasAlarmExcludeLoss(){ boolean flag = false ; if((batteryVolt != null && batteryVolt == 1) || (meter != null && meter == 1) || (valve != null && valve == 1)){ flag = true ; } return flag ; } public String alarmContent(){ String txt = "" ; boolean hasTxt = false ; @@ -42,6 +53,23 @@ return txt ; } public String alarmContentExcludeLoss(){ String txt = "" ; boolean hasTxt = false ; if(batteryVolt != null && batteryVolt == 1){ txt += (hasTxt?"ã":"") + "èçµæ± çµåæ¥è¦" ; hasTxt = true ; } if(meter != null && meter == 1){ txt += (hasTxt?"ã":"") + "æµé计æ 鿥è¦" ; hasTxt = true ; } if(valve != null && valve == 1){ txt += (hasTxt?"ã":"") + "é鍿 鿥è¦" ; hasTxt = true ; } return txt ; } public String toString(){ StringBuilder str = new StringBuilder() ; str.append(" æ¥è¦:\n"); pipIrr-platform/pipIrr-global/src/main/resources/application-global(test²âÊÔϵͳ).yml
@@ -187,7 +187,7 @@ at-all: true mobile: 18602657034 pj: enable: false #æ¯å¦å¯ç¨ enable: true #æ¯å¦å¯ç¨ robot: url: https://oapi.dingtalk.com/robot/send access-token: fecef8e7725998f8912af05419580861aafc73413c4920036c07c050fa33055f @@ -195,7 +195,7 @@ at-all: true mobile: 18602657034 test: enable: false #æ¯å¦å¯ç¨ enable: true #æ¯å¦å¯ç¨ robot: url: https://oapi.dingtalk.com/robot/send access-token: fecef8e7725998f8912af05419580861aafc73413c4920036c07c050fa33055f pipIrr-platform/pipIrr-global/src/main/resources/application-global(ymԪıϵͳ).yml
@@ -187,7 +187,7 @@ at-all: true mobile: 18602657034 pj: enable: false #æ¯å¦å¯ç¨ enable: true #æ¯å¦å¯ç¨ robot: url: https://oapi.dingtalk.com/robot/send access-token: fecef8e7725998f8912af05419580861aafc73413c4920036c07c050fa33055f @@ -195,7 +195,7 @@ at-all: true mobile: 18602657034 test: enable: false #æ¯å¦å¯ç¨ enable: true #æ¯å¦å¯ç¨ robot: url: https://oapi.dingtalk.com/robot/send access-token: fecef8e7725998f8912af05419580861aafc73413c4920036c07c050fa33055f pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
@@ -187,7 +187,7 @@ at-all: true mobile: 18602657034 pj: enable: false #æ¯å¦å¯ç¨ enable: true #æ¯å¦å¯ç¨ robot: url: https://oapi.dingtalk.com/robot/send access-token: fecef8e7725998f8912af05419580861aafc73413c4920036c07c050fa33055f @@ -195,7 +195,7 @@ at-all: true mobile: 18602657034 test: enable: false #æ¯å¦å¯ç¨ enable: true #æ¯å¦å¯ç¨ robot: url: https://oapi.dingtalk.com/robot/send access-token: fecef8e7725998f8912af05419580861aafc73413c4920036c07c050fa33055f pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/Server.java
@@ -204,6 +204,9 @@ //工使¥å¤ªé¢ç¹ï¼Næ¬¡ä¸æ¥å¤ç1次ï¼åå¼èå´æ¯1-100 ServerProperties.workReportDealOneByTimes = conf.getSetAttrPlusInt(doc, "config.base", "workReportDealOneByTimes", null, 1, 100, null) ; //触ååéééæ¥è¦æ¶æ¯çåæ°´å£æ¥æ¼æéçæå°å¼ï¼å æ¬ä½é¤0.0å¤ï¼ ServerProperties.intakeAlarmLossMinValue = conf.getSetAttrPlusDouble(doc, "config.base", "intakeAlarmLossMinValue", null, 0.0, 1000000.0, null) ; //ææ¥è¦åçæ¶ï¼åééåéæ¶æ¯çé´éæ¶é¿ï¼åéï¼ ServerProperties.sendDingDingAlarmMsInterval = conf.getSetAttrPlusInt(doc, "config.base", "sendDingDingAlarmMsInterval", null, 1, 600, null) ; pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/ServerProperties.java
@@ -46,6 +46,9 @@ //工使¥å¤ªé¢ç¹ï¼Næ¬¡ä¸æ¥å¤ç1次 public static Integer workReportDealOneByTimes = 5 ; //触ååéééæ¥è¦æ¶æ¯çåæ°´å£æ¥æ¼æéçæå°å¼ï¼å æ¬ä½é¤0.0å¤ï¼ public static Double intakeAlarmLossMinValue = 1.0 ; //ææ¥è¦åçæ¶ï¼åééåéæ¶æ¯çé´éæ¶é¿ï¼åéï¼ public static Integer sendDingDingAlarmMsInterval = 60 ; pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealAlarmStatus.java
@@ -109,19 +109,19 @@ po.intakeId = controller==null?null:controller.getIntakeId() ; po.rtuAddr = rtuAddr ; po.valueFrom(dV1_0_1, rtuDt, alarmVo, stateVo); if(alarmVo.hasAlarm()){ if(alarmVo.hasAlarmExcludeLoss()){ po.sendMsTime = System.currentTimeMillis() ; this.sendMessage(controller, alarmVo); } sv.saveRmAlarmStateLast(po) ; }else{ if(po.sendMsTime == null){ if(alarmVo.hasAlarm()) { if(alarmVo.hasAlarmExcludeLoss()) { po.sendMsTime = System.currentTimeMillis(); this.sendMessage(controller, alarmVo); } }else{ if(alarmVo.hasAlarm()){ if(alarmVo.hasAlarmExcludeLoss()){ Long now = System.currentTimeMillis() ; if(((now - po.sendMsTime) / (1000 * 60)) > ServerProperties.sendDingDingAlarmMsInterval){ //大äºè§å®çé´éæ¶é´ @@ -171,7 +171,7 @@ * @param alarmVo */ private void sendMessage(PrController controller, DataAlarmVo alarmVo){ String ms = "åæ°´å£â" + controller.getIntakeName() + "âäº§çæ¥è¦ï¼" + alarmVo.alarmContent() ; String ms = "åæ°´å£â" + controller.getIntakeName() + "âäº§çæ¥è¦ï¼" + alarmVo.alarmContentExcludeLoss() ; try{ SendMsCache.cacheMs(ms); }catch (Exception e){ pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/java/com/dy/rtuMw/server/rtuData/p206V1_0_0/TkDealOnHourReport.java
@@ -2,6 +2,7 @@ import com.dy.common.mw.protocol.Data; import com.dy.common.mw.protocol.p206V1_0_0.DataV1_0_1; import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataAlarmVo; import com.dy.common.mw.protocol.p206V1_0_0.upVos.DataCdC0Vo; import com.dy.common.mw.protocol.p206V202404.DataV202404; import com.dy.common.mw.protocol.p206V202404.upVos.DataCd83Vo; @@ -10,6 +11,8 @@ import com.dy.pipIrrGlobal.pojoRm.RmOnHourReportLast; import com.dy.pipIrrGlobal.pojoRm.RmTimingReportHistory; import com.dy.pipIrrGlobal.pojoRm.RmTimingReportLast; 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 org.apache.logging.log4j.LogManager; @@ -76,11 +79,17 @@ po.rtuAddr = rtuAddr; po.valueFrom(dV1_0_1, cdData); sv.saveRmOnHourReportLast(po) ; if(po.lossAmount >= ServerProperties.intakeAlarmLossMinValue){ this.sendMessage(controller, po.lossAmount); } }else{ po.controllerId = controller==null?null:controller.getId(); po.intakeId = controller==null?null:controller.getIntakeId(); po.valueFrom(dV1_0_1, cdData); sv.updateRmOnHourReportLast(po); if(po.lossAmount >= ServerProperties.intakeAlarmLossMinValue){ this.sendMessage(controller, po.lossAmount); } } } @@ -101,5 +110,21 @@ po.valueFrom(dV1_0_1, cdData); sv.saveRmOnHourReportHistory(po); ; } /** * åééåéæ¶æ¯ * @param controller */ private void sendMessage(PrController controller, Double lossAmount){ String ms = "åæ°´å£â" + controller.getIntakeName() + "âæ¼æ°´æ¥è¦ï¼ä»æ¥æ¼æé" + lossAmount + "ç«æ¹ç±³"; try{ SendMsCache.cacheMs(ms); }catch (Exception e){ log.error("ç¼åééæ¶æ¯å¼å¸¸ï¼", e); } } } pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config(test²âÊÔ).xml
@@ -20,6 +20,7 @@ cacheUpDownDataMaxCountï¼ä¸ä¸è¡æ°æ®ç¼åéåä¸ç¼åæ°æ®ä¸ªæ°çæå¤§å¼ï¼è¿ä¸ªä¸ç°å®é¡¹ç®ææ¥æ°´è¡¨æ°ç¸å ³ disconnectedByNoUpDataMinutesï¼æ²¡æä¸è¡æ°æ®çåéæ°ï¼è¾¾å°è¿ä¸ªåéæ°ï¼è®¤ä¸ºRTUæç½äºï¼åå¼èå´æ¯2-100 workReportDealOneByTimes: 工使¥å¤ªé¢ç¹ï¼Næ¬¡ä¸æ¥å¤ç1次ï¼åå¼èå´æ¯1-100 intakeAlarmLossMinValue: 触ååéééæ¥è¦æ¶æ¯çåæ°´å£æ¥æ¼æéçæå°å¼ï¼å æ¬ï¼ sendDingDingAlarmMsInterval: ææ¥è¦åçæ¶ï¼åééåéæ¶æ¯çé´éæ¶é¿ï¼åéï¼ --> <base @@ -37,6 +38,7 @@ cacheUpDownDataMaxCount="110000" disconnectedByNoUpDataMinutes="3" workReportDealOneByTimes="5" intakeAlarmLossMinValue="1" sendDingDingAlarmMsInterval="60" /> pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config(ymԪı).xml
@@ -20,6 +20,7 @@ cacheUpDownDataMaxCountï¼ä¸ä¸è¡æ°æ®ç¼åéåä¸ç¼åæ°æ®ä¸ªæ°çæå¤§å¼ï¼è¿ä¸ªä¸ç°å®é¡¹ç®ææ¥æ°´è¡¨æ°ç¸å ³ disconnectedByNoUpDataMinutesï¼æ²¡æä¸è¡æ°æ®çåéæ°ï¼è¾¾å°è¿ä¸ªåéæ°ï¼è®¤ä¸ºRTUæç½äºï¼åå¼èå´æ¯2-100 workReportDealOneByTimes: 工使¥å¤ªé¢ç¹ï¼Næ¬¡ä¸æ¥å¤ç1次ï¼åå¼èå´æ¯1-100 intakeAlarmLossMinValue: 触ååéééæ¥è¦æ¶æ¯çåæ°´å£æ¥æ¼æéçæå°å¼ï¼å æ¬ï¼ sendDingDingAlarmMsInterval: ææ¥è¦åçæ¶ï¼åééåéæ¶æ¯çé´éæ¶é¿ï¼åéï¼ --> <base @@ -37,6 +38,7 @@ cacheUpDownDataMaxCount="110000" disconnectedByNoUpDataMinutes="3" workReportDealOneByTimes="5" intakeAlarmLossMinValue="1" sendDingDingAlarmMsInterval="60" /> pipIrr-platform/pipIrr-mw/pipIrr-mw-rtu/src/main/resources/config.xml
@@ -20,6 +20,7 @@ cacheUpDownDataMaxCountï¼ä¸ä¸è¡æ°æ®ç¼åéåä¸ç¼åæ°æ®ä¸ªæ°çæå¤§å¼ï¼è¿ä¸ªä¸ç°å®é¡¹ç®ææ¥æ°´è¡¨æ°ç¸å ³ disconnectedByNoUpDataMinutesï¼æ²¡æä¸è¡æ°æ®çåéæ°ï¼è¾¾å°è¿ä¸ªåéæ°ï¼è®¤ä¸ºRTUæç½äºï¼åå¼èå´æ¯2-100 workReportDealOneByTimes: 工使¥å¤ªé¢ç¹ï¼Næ¬¡ä¸æ¥å¤ç1次ï¼åå¼èå´æ¯1-100 intakeAlarmLossMinValue: 触ååéééæ¥è¦æ¶æ¯çåæ°´å£æ¥æ¼æéçæå°å¼ï¼å æ¬ä½é¤0.0å¤ï¼ï¼å°æ°ï¼ sendDingDingAlarmMsInterval: ææ¥è¦åçæ¶ï¼åééåéæ¶æ¯çé´éæ¶é¿ï¼åéï¼ --> <base @@ -37,6 +38,7 @@ cacheUpDownDataMaxCount="110000" disconnectedByNoUpDataMinutes="3" workReportDealOneByTimes="5" intakeAlarmLossMinValue="1.0" sendDingDingAlarmMsInterval="60" />