From a01eec9f761ffcc11d42da0a82595e720427dd68 Mon Sep 17 00:00:00 2001 From: 潘志宝 <979469083@qq.com> Date: 星期二, 24 六月 2025 23:15:52 +0800 Subject: [PATCH] 望铁关口触发边界 --- ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunDayScheduleModuleTask.java | 95 +++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 91 insertions(+), 4 deletions(-) diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunDayScheduleModuleTask.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunDayScheduleModuleTask.java index 7043b72..0b2a532 100644 --- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunDayScheduleModuleTask.java +++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunDayScheduleModuleTask.java @@ -1,14 +1,22 @@ package com.iailab.module.ansteel.job.task; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.iailab.module.model.api.mcs.McsApi; +import com.iailab.module.model.api.mcs.dto.ScheduleSuggestRespDTO; import com.iailab.module.model.api.mdk.MdkApi; import com.iailab.module.model.api.mdk.dto.MdkScheduleReqDTO; import com.iailab.module.model.api.mdk.dto.MdkScheduleRespDTO; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import java.util.ArrayList; import java.util.Calendar; +import java.util.Date; +import java.util.List; /** * 执行天粒度调度方案定时任务 @@ -17,34 +25,113 @@ public class RunDayScheduleModuleTask implements ITask { private Logger logger = LoggerFactory.getLogger(getClass()); + private String AnStellCOAL = "AnStellCOAL"; //焦化备煤管控 + private String AnSteelCDQTrackImplv3 = "AnSteelCDQTrackImplv3"; //焦化干熄焦产蒸汽模型 + private String AnSteelChemProSteamTrack = "AnSteelChemProSteamTrack"; //焦化化产蒸汽消耗模型 + @Autowired private MdkApi mdkApi; + @Autowired + private McsApi mcsApi; @Override public void run(String params) { logger.info("runDayScheduleModuleTask定时任务正在执行,参数为:{}", params); try { + String[] split = params.split(","); + String code; + String day = "0"; + if (split.length > 1) { + code = split[0]; + day = split[1]; + }else { + code = split[0]; + } + + Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.SECOND, 0); calendar.set(Calendar.MILLISECOND, 0); calendar.set(Calendar.MINUTE,0); calendar.set(Calendar.HOUR_OF_DAY,0); + calendar.add(Calendar.DAY_OF_YEAR,Integer.parseInt(day)); MdkScheduleReqDTO dto = new MdkScheduleReqDTO(); dto.setScheduleTime(calendar.getTime()); - dto.setScheduleCode(params); + dto.setScheduleCode(code); MdkScheduleRespDTO mdkScheduleRespDTO = mdkApi.doSchedule(dto); - logger.info(params + "调度方案执行完成," + mdkScheduleRespDTO); + logger.info(code + "调度方案执行完成," + mdkScheduleRespDTO); logger.info("调度方案结果开始下发"); if (mdkApi.scheduleModelOut(mdkScheduleRespDTO)) { logger.info("调度方案结果下发成功"); } else { logger.error("调度方案结果下发失败"); } + + //焦化备煤建议保存 + if (AnStellCOAL.equals(code)) { + Object equipOperationInfo = mdkScheduleRespDTO.getResult().get("EquipOperationInfo"); + if(equipOperationInfo != null && StringUtils.isNotBlank(equipOperationInfo.toString())) { + ScheduleSuggestRespDTO suggestDto = new ScheduleSuggestRespDTO(); + suggestDto.setTitle("焦化备煤建议"); + suggestDto.setContent(equipOperationInfo.toString()); + suggestDto.setScheduleObj("COAL"); + suggestDto.setScheduleTime(dto.getScheduleTime()); + suggestDto.setCreateTime(new Date()); + mcsApi.createScheduleSuggest(suggestDto); + } + } + //干熄焦产蒸汽 建议保存 + if (AnSteelCDQTrackImplv3.equals(code)) { + Object finalResultStr = mdkScheduleRespDTO.getResult().get("finalResultStr"); + if(finalResultStr != null && StringUtils.isNotBlank(finalResultStr.toString())) { + ScheduleSuggestRespDTO suggestDto = new ScheduleSuggestRespDTO(); + suggestDto.setTitle("干熄焦产蒸汽建议"); + suggestDto.setContent(finalResultStr.toString()); + suggestDto.setScheduleObj("GXJCZQ"); + suggestDto.setScheduleTime(dto.getScheduleTime()); + suggestDto.setCreateTime(new Date()); + mcsApi.createScheduleSuggest(suggestDto); + } + + Object resultList = mdkScheduleRespDTO.getResult().get("resultList"); + if(resultList != null && StringUtils.isNotBlank(resultList.toString())) { + ScheduleSuggestRespDTO suggestDto = new ScheduleSuggestRespDTO(); + suggestDto.setTitle("干熄焦产蒸汽异常溯源"); + suggestDto.setContent(resultList.toString()); + suggestDto.setScheduleObj("GXJCZQ_YCSY"); + suggestDto.setScheduleTime(dto.getScheduleTime()); + suggestDto.setCreateTime(new Date()); + mcsApi.createScheduleSuggest(suggestDto); + } + } + //化产蒸汽消耗 建议保存 + if (AnSteelChemProSteamTrack.equals(code)) { + Object finalResultStr = mdkScheduleRespDTO.getResult().get("finalResultStr"); + if(finalResultStr != null && StringUtils.isNotBlank(finalResultStr.toString())) { + ScheduleSuggestRespDTO suggestDto = new ScheduleSuggestRespDTO(); + suggestDto.setTitle("化产蒸汽消耗建议"); + suggestDto.setContent(finalResultStr.toString()); + suggestDto.setScheduleObj("HCZQXH"); + suggestDto.setScheduleTime(dto.getScheduleTime()); + suggestDto.setCreateTime(new Date()); + mcsApi.createScheduleSuggest(suggestDto); + } + + Object resultList = mdkScheduleRespDTO.getResult().get("resultList"); + if(resultList != null && StringUtils.isNotBlank(resultList.toString())) { + ScheduleSuggestRespDTO suggestDto = new ScheduleSuggestRespDTO(); + suggestDto.setTitle("化产蒸汽消耗异常溯源"); + suggestDto.setContent(resultList.toString()); + suggestDto.setScheduleObj("HCZQXH_YCSY"); + suggestDto.setScheduleTime(dto.getScheduleTime()); + suggestDto.setCreateTime(new Date()); + mcsApi.createScheduleSuggest(suggestDto); + } + } } catch (Exception ex) { - logger.error("runDayScheduleModuleTask运行异常"); - ex.printStackTrace(); + logger.error("runDayScheduleModuleTask运行异常",ex); } logger.info("runDayScheduleModuleTask运行完成"); } -- Gitblit v1.9.3