From cdea0d3b6412b5d81eea26add488f0a8caa83f6a Mon Sep 17 00:00:00 2001
From: liriming <1343021927@qq.com>
Date: 星期三, 23 四月 2025 13:31:17 +0800
Subject: [PATCH] RunMachineStateTask

---
 shasteel-biz/src/main/java/com/iailab/module/shasteel/mq/consumer/ModelAlarmConsumer.java |   18 +++++++++++++++---
 1 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/shasteel-biz/src/main/java/com/iailab/module/shasteel/mq/consumer/ModelAlarmConsumer.java b/shasteel-biz/src/main/java/com/iailab/module/shasteel/mq/consumer/ModelAlarmConsumer.java
index 28fe13d..abde570 100644
--- a/shasteel-biz/src/main/java/com/iailab/module/shasteel/mq/consumer/ModelAlarmConsumer.java
+++ b/shasteel-biz/src/main/java/com/iailab/module/shasteel/mq/consumer/ModelAlarmConsumer.java
@@ -94,6 +94,12 @@
         log.info("已全部预测完成,清空finishModuleMap");
         ModelPredictFinishConsumer.finishModuleMap.clear();
 
+        if (!ModelPredictFinishConsumer.finishAlarmMap.contains(predictTime.getTime())) {
+            log.info("已全部预测完成,预警消息为空");
+            return;
+        }
+        ModelPredictFinishConsumer.finishAlarmMap.clear();
+
         log.info("查找需要执行的调度方案");
         List<StScheduleSchemeDTO> scheduleSchemeList = mcsApi.listScheduleScheme(ScheduleTriggerMethodEnum.EVENT.getCode(), routingKey);
         if (CollectionUtils.isEmpty(scheduleSchemeList)) {
@@ -137,6 +143,12 @@
                     saveScheduleSuggest("转炉5W+8W煤气柜", result.get("adviceLDG13W"), "LDG1", predictTime, result.get("adjustValueLDG13W"), stScheduleSchemeDTO.getAdjustRate());
                     saveScheduleSuggest("宏发12W煤气柜", result.get("adviceLDG12W"), "LDG2", predictTime, result.get("adjustValueLDG12W"), stScheduleSchemeDTO.getAdjustRate());
                     saveScheduleSuggest("转炉特钢煤气柜", result.get("adviceLDG12WT"), "LDGt", predictTime, result.get("adjustValueLDG12WT"), stScheduleSchemeDTO.getAdjustRate());
+
+                    saveScheduleSuggest("高炉煤气预警", result.get("BFG_warning_advice"), "BFG_ALARM", predictTime, result.get("adjustValueBFG"), stScheduleSchemeDTO.getAdjustRate());
+                    saveScheduleSuggest("焦炉煤气预警", result.get("COG_warning_advice"), "COG_ALARM", predictTime, result.get("adjustValueCOG"), stScheduleSchemeDTO.getAdjustRate());
+                    saveScheduleSuggest("转炉5W+8W煤气柜预警", result.get("LDG_1_warning_advice"), "LDG1_ALARM", predictTime, result.get("adjustValueLDG13W"), stScheduleSchemeDTO.getAdjustRate());
+                    saveScheduleSuggest("宏发12W煤气柜预警", result.get("LDG_2_warning_advice"), "LDG2_ALARM", predictTime, result.get("adjustValueLDG12W"), stScheduleSchemeDTO.getAdjustRate());
+                    saveScheduleSuggest("转炉特钢12W煤气柜预警", result.get("LDG_3_warning_advice"), "LDGt_ALARM", predictTime, result.get("adjustValueLDG12WT"), stScheduleSchemeDTO.getAdjustRate());
 
                     // 模拟调整
                     MdkPredictSimAdjustReqDTO simAdjustReqDTO = new MdkPredictSimAdjustReqDTO();
@@ -307,14 +319,14 @@
             log.info(title + "content为空");
             return;
         }
-        if (adjustObj == null || StringUtils.isBlank(adjustObj.toString()) || "0".equals(adjustObj.toString())) {
+        if (!title.contains("预警") && (adjustObj == null || StringUtils.isBlank(adjustObj.toString()) || "0".equals(adjustObj.toString()))) {
             log.info(title + "调整值为空,不产生建议");
             return;
         }
         BigDecimal adjustValue = new BigDecimal(adjustObj.toString());
         if (gasAdjustMode.containsKey(scheduleObj) && gasAdjustMode.get(scheduleObj).equals(adjustValue.compareTo(BigDecimal.ZERO)) &&
-                gasLastSugTime.containsKey(scheduleObj) && (scheduleTime.getTime() - gasLastSugTime.get(scheduleObj).getTime() <= adjustRate)) {
-            log.info("调整建议在有效期内");
+                gasLastSugTime.containsKey(scheduleObj) && (scheduleTime.getTime() - gasLastSugTime.get(scheduleObj).getTime() <= Integer.valueOf(adjustRate).longValue() * 60 * 1000)) {
+            log.info(title + "调整建议在有效期内");
             return;
         }
         gasAdjustMode.put(scheduleObj, adjustValue.compareTo(BigDecimal.ZERO));

--
Gitblit v1.9.3