From 1ad80aff65ab3643add3fc79908a7fba0f305876 Mon Sep 17 00:00:00 2001 From: dengzedong <dengzedong@email> Date: 星期五, 27 六月 2025 10:57:30 +0800 Subject: [PATCH] 焦化异常溯源 指标记录 --- ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelLJTask.java | 65 +++++++++++++------------------- 1 files changed, 26 insertions(+), 39 deletions(-) diff --git a/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelLJTask.java b/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelLJTask.java index 1dc45d0..0262cc0 100644 --- a/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelLJTask.java +++ b/ansteel-biz/src/main/java/com/iailab/module/ansteel/job/task/RunCokingTraceModelLJTask.java @@ -6,14 +6,18 @@ import com.iailab.module.ansteel.coking.service.*; import com.iailab.module.ansteel.common.constant.CommonConstant; import com.iailab.module.ansteel.common.enums.TraceProcessTypeEnum; +import com.iailab.module.model.api.mcs.McsApi; import com.iailab.module.model.api.mdk.MdkApi; +import com.iailab.module.model.api.mdk.dto.StScheduleRecordVO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; 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.Objects; /** @@ -46,7 +50,7 @@ private CokingTraceChartService cokingTraceChartService; @Autowired - private MdkApi mdkApi; + private McsApi mcsApi; private final static String process = TraceProcessTypeEnum.LJ.getProcess(); @@ -56,27 +60,9 @@ private final static String indType = "炼焦工序异常溯源"; - private final static String row = "cokeRow"; - - private final static String total = "cokeTotal"; - - private static final String jsonStr = "{\n" + - "\"result\": {\n" + - "\"cokeElec\":[583562.4]," + - "\"cokeHeat1\":[130820.4,136710.3]," + - "\"cokeRow0\":[[0.0,13.6],[2.0,10.5],[69.0,34.6]]," + - "\"cokeIndex\":[[0.0149,0.0148],[23.6,24.5],[1350.2,1423.5],[1.21,1.25],[0.28],[103542.3,135238.5],[104668.63,137826.5],[155678.2]]," + - "\"cokeRow1\":[[0.0,12.51],[81.0,34.3],[69.0,42.3],[86.0,56.4],[92.0,89.4]]," + - "\"cokeRow2\":[[0.0,45.3],[9.0,42.5],[81.0,31.2],[88.0,16.3]]," + - "\"cokeHeat2\":[135220.3,134720.3]," + - "\"cokeCOG2\":[64525.8,64824.2]," + - "\"cokeHomeIndex\":[[90.4,90.2],[80.3,78.5],[103.6,100.3],[280.9,270.4]]," + - "\"cokeHomeIndexInfo\":\"吨焦耗热量异常\"," + - "\"cokeCOG1\":[64435.5,64532.6]," + - "\"cokeHomePage\":[[124439.4,124428.4],[320.6],[224.3],[248305.4],[124436.2],[3.96],[0.43]]," + - "\"cokeTotal\":\"炼焦吨焦耗热量因煤气流量偏高、煤气水分偏低而增加23,经模型计算,延建议调整煤气流量,预计可使吨焦耗热量指标降低17\"" + - " }" + - "}"; + private String scheduleCode = "lianjiaoguankong"; //焦化炼焦管控模型 + private final String finalResultStrKey = "finalResultStr"; + private final String resultListKey = "resultList"; @Override public void run(String params) { @@ -97,20 +83,20 @@ calendar.add(Calendar.MINUTE, -3); Date collectStartDate = calendar.getTime(); - // 调用模型 -// MdkScheduleReqDTO dto = new MdkScheduleReqDTO(); -// dto.setScheduleTime(calendar.getTime()); -// dto.setScheduleCode(params); -// MdkScheduleRespDTO mdkScheduleRespDTO = mdkApi.doSchedule(dto); -// logger.info(params + "调度方案执行完成," + mdkScheduleRespDTO); -// -// Map<String, Object> tResult = mdkScheduleRespDTO.getResult(); -// JSONObject result = new JSONObject(tResult); -// logger.info("result===" + JSONObject.toJSONString(result)); + // 查询模型结果 + List<StScheduleRecordVO> lastScheduleData = mcsApi.getLastScheduleData(scheduleCode, 1); + if (CollectionUtils.isEmpty(lastScheduleData)) { + logger.info("模型结果为空"); + return; + } + StScheduleRecordVO stScheduleRecordVO = lastScheduleData.get(0); + if (stScheduleRecordVO == null) { + logger.info("模型结果为空"); + return; + } + String jsonStr = stScheduleRecordVO.getResultData(); - JSONObject jsonObject = JSONObject.parseObject(jsonStr); - JSONObject result = (JSONObject) JSON.toJSON(jsonObject.get("result")); - + JSONObject result = JSONObject.parseObject(jsonStr); if (Objects.isNull(result)) { logger.info("模型结果为空"); return; @@ -118,18 +104,19 @@ // 保存报告 String analyDate = DateUtils.format(startDate); - String analyContent = clock + " " + result.getString("cokeHomeIndexInfo"); - String content = result.getString(total); + String analyContent = "炼焦异常"; String relId = cokingTraceReportService.save(process, reportName, analyDate, clock, analyContent); // 保存一级分析指标 cokingAnalyIndService.saveAnalyInd(relId, process, analyDate, analyContent); // 保存优化建议 - cokingTraceSuggestService.saveTraceSuggest(relId, process, clock, content, SugObj); + String suggest = result.getString(finalResultStrKey); + cokingTraceSuggestService.saveTraceSuggest(relId, process, clock, suggest, SugObj); // 保存偏差值 - cokingTraceDeviationService.saveTraceDeviation(relId, process, clock, result, CommonConstant.COKE_INDEX_CHARTCODE, row, SugObj); + String jsonString = result.getString(resultListKey); + cokingTraceDeviationService.saveTraceDeviation(relId, process, clock, jsonString, SugObj); // 保存溯源指标 cokingTraceIndService.saveTraceInd(relId, indType, clock, collectStartDate, endDate); -- Gitblit v1.9.3