From be2d0f3dd53f33681048665ef90d3d605475de79 Mon Sep 17 00:00:00 2001 From: dongyukun <1208714201@qq.com> Date: 星期五, 28 三月 2025 11:29:00 +0800 Subject: [PATCH] dopost方法改为静态方法,预测模型运行异常抛出,氧氮氩调度在压力正常时不保存 --- shasteel-biz/src/main/java/com/iailab/module/shasteel/job/task/RunPredictModuleTask.java | 57 +++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 43 insertions(+), 14 deletions(-) diff --git a/shasteel-biz/src/main/java/com/iailab/module/shasteel/job/task/RunPredictModuleTask.java b/shasteel-biz/src/main/java/com/iailab/module/shasteel/job/task/RunPredictModuleTask.java index f6e5f46..1da83d1 100644 --- a/shasteel-biz/src/main/java/com/iailab/module/shasteel/job/task/RunPredictModuleTask.java +++ b/shasteel-biz/src/main/java/com/iailab/module/shasteel/job/task/RunPredictModuleTask.java @@ -1,41 +1,70 @@ package com.iailab.module.shasteel.job.task; +import com.iailab.framework.common.util.date.DateUtils; import com.iailab.module.model.api.mdk.MdkApi; import com.iailab.module.model.api.mdk.dto.MdkPredictReqDTO; +import com.iailab.module.shasteel.mq.common.constant.CommonConstant; +import com.iailab.module.shasteel.mq.common.constant.RoutingConstant; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import java.util.Calendar; +import java.util.*; /** * 执行模块预测定时任务 - * + * 1、高炉 + * 2、焦炉 + * 3、转炉 + * 3.1、氧气 + * 3.2、蒸汽 + * 4、氮气 */ @Component("runPredictModuleTask") public class RunPredictModuleTask implements ITask { private Logger logger = LoggerFactory.getLogger(getClass()); @Autowired - MdkApi mdkApi; + private MdkApi mdkApi; + @Autowired + private RabbitTemplate rabbitTemplate; @Override public void run(String params) { - logger.info("runPredictModuleTask定时任务正在执行,参数为:{}",params ); + logger.info("runPredictModuleTask定时任务正在执行,参数为:{}", params); try { Calendar calendar = Calendar.getInstance(); - calendar.set(Calendar.SECOND,0); - calendar.set(Calendar.MILLISECOND,0); - - MdkPredictReqDTO dto = new MdkPredictReqDTO(); - dto.setPredictTime(calendar.getTime()); - dto.setModuleType(params); - mdkApi.predictModule(dto); - logger.info(params + "模块预测完成"); - - + calendar.set(Calendar.SECOND, 0); + calendar.set(Calendar.MILLISECOND, 0); + Date predictTime = calendar.getTime(); + if (StringUtils.isEmpty(params)) { + logger.info("参数为空"); + return; + } + List<String> moduleTypeList = Arrays.asList(params.split(",")); + moduleTypeList.forEach(type -> { + MdkPredictReqDTO dto = new MdkPredictReqDTO(); + dto.setPredictTime(predictTime); + dto.setModuleType(type); + mdkApi.predictModule(dto); + logger.info(type + "模块预测完成。"); + Map<String, Object> msg = new HashMap<>(); + msg.put("moduleType", type); + msg.put("predictTime", DateUtils.format(predictTime, DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)); + rabbitTemplate.convertAndSend(RoutingConstant.EXCHANGE, RoutingConstant.Iailab_Model_PredictFinish, msg); + if (type.equals(CommonConstant.NET_LDG)) { + //转炉管网预测完成发送单独消息,执行转炉调度 + rabbitTemplate.convertAndSend(RoutingConstant.EXCHANGE, RoutingConstant.Iailab_Model_PredictFinish_LDG, msg); + } + if (type.equals(CommonConstant.TRIGGER_CONDITION_ELEC)) { + //电力管网预测完成发送单独消息,执行电力调度 + rabbitTemplate.convertAndSend(RoutingConstant.EXCHANGE, RoutingConstant.Iailab_Model_PredictFinish_Elec, msg); + } + }); } catch (Exception ex) { logger.error("runPredictModuleTask运行异常"); ex.printStackTrace(); -- Gitblit v1.9.3