From aa3e043148729795dd3ed8951c962cf2c53086b7 Mon Sep 17 00:00:00 2001 From: Jay <csj123456> Date: 星期一, 07 四月 2025 15:37:57 +0800 Subject: [PATCH] 压缩空气用户量预警增加过滤标识信息 --- shasteel-biz/src/main/java/com/iailab/module/shasteel/job/task/RunScheduleAirRatioTask.java | 26 +++++++++++++++++++++----- 1 files changed, 21 insertions(+), 5 deletions(-) diff --git a/shasteel-biz/src/main/java/com/iailab/module/shasteel/job/task/RunScheduleAirRatioTask.java b/shasteel-biz/src/main/java/com/iailab/module/shasteel/job/task/RunScheduleAirRatioTask.java index f35902d..aa2a635 100644 --- a/shasteel-biz/src/main/java/com/iailab/module/shasteel/job/task/RunScheduleAirRatioTask.java +++ b/shasteel-biz/src/main/java/com/iailab/module/shasteel/job/task/RunScheduleAirRatioTask.java @@ -14,9 +14,7 @@ import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; -import java.util.Calendar; -import java.util.Date; -import java.util.List; +import java.util.*; /** * 压缩空气产消比例 @@ -35,6 +33,16 @@ @Autowired private MdkApi mdkApi; + + /** + * 调度调整方向 + */ + private static List<String> airAdjustFlag = new ArrayList<>(); + + /** + * 调度建议时间 + */ + private static Map<String, Date> airLastAlarmTime = new HashMap<>(); @Override public void run(String params) { @@ -65,7 +73,9 @@ if (mdkScheduleRespDTO.getResult().get("exceptMessage") != null && StringUtils.isNotEmpty(mdkScheduleRespDTO.getResult().get("exceptMessage").toString())) { - this.saveAlarmMessage("压缩空气用户用量预警", mdkScheduleRespDTO.getResult().get("exceptMessage"), scheme.getScheduleObj(), scheduleTime); + String adjustFlag = mdkScheduleRespDTO.getResult().get("adjustFlag").toString(); + logger.info("压缩空气用户用量预警 adjustFlag:{}", adjustFlag); + this.saveAlarmMessage("压缩空气用户用量预警", mdkScheduleRespDTO.getResult().get("exceptMessage"), scheme.getScheduleObj(), scheduleTime, adjustFlag, scheme.getWarningAdjustRate()); } } logger.info(params + "调度方案执行完成"); @@ -76,7 +86,7 @@ logger.info("RunScheduleAirRatioTask运行完成"); } - private void saveAlarmMessage(String title, Object content, String scheduleObj, Date scheduleTime) { + private void saveAlarmMessage(String title, Object content, String scheduleObj, Date scheduleTime, String adjustFlag, int warningAdjustRate) { if (content == null) { logger.info(title + "预警信息为空,不产生预警"); return; @@ -86,6 +96,12 @@ logger.info(title + "预警信息为空,不产生预警"); return; } + if (airAdjustFlag.contains(adjustFlag) && airLastAlarmTime.containsKey(title) && (scheduleTime.getTime() - airLastAlarmTime.get(title).getTime() <= Integer.valueOf(warningAdjustRate).longValue() * 60 * 1000)) { + logger.info("预警在有效期内"); + return; + } + airAdjustFlag.add(adjustFlag); + airLastAlarmTime.put(title, scheduleTime); AlarmMessageRespDTO alarm = new AlarmMessageRespDTO(); alarm.setTitle(title); alarm.setContent(contentStr); -- Gitblit v1.9.3