From 97d38f7b7f7d95fe38cdbb79960106c15454b6ba Mon Sep 17 00:00:00 2001 From: 潘志宝 <979469083@qq.com> Date: 星期二, 19 十一月 2024 15:23:51 +0800 Subject: [PATCH] 预警信息 --- iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/predict/PredictModuleHandler.java | 30 ++++++++++++++++++++++++++++-- 1 files changed, 28 insertions(+), 2 deletions(-) diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/predict/PredictModuleHandler.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/predict/PredictModuleHandler.java index 853bd14..255e1af 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/predict/PredictModuleHandler.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/predict/PredictModuleHandler.java @@ -1,6 +1,8 @@ package com.iailab.module.model.mdk.predict; +import com.iailab.module.model.mcs.pre.enums.ItemRunStatusEnum; import com.iailab.module.model.mcs.pre.enums.ItemStatus; +import com.iailab.module.model.mcs.pre.service.MmItemStatusService; import com.iailab.module.model.mdk.factory.PredictItemFactory; import com.iailab.module.model.mdk.vo.ItemVO; import com.iailab.module.model.mdk.vo.PredictResultVO; @@ -32,40 +34,64 @@ @Autowired private PredictResultHandler predictResultHandler; + @Autowired + private MmItemStatusService mmItemStatusService; + + /** + * 预测处理 + * + * @param predictItemList + * @param predictTime + * @param intervalTime + * @return + */ public Map<String, PredictResultVO> predict(List<ItemVO> predictItemList, Date predictTime, int intervalTime) { Map<String, PredictResultVO> result = new HashMap<>(); PredictResultVO predictResult = new PredictResultVO(); for (ItemVO predictItem : predictItemList) { - if (!predictItem.getStatus().equals(ItemStatus.STATUS1)) { + if (!predictItem.getStatus().equals(ItemStatus.STATUS1.getCode())) { continue; } + Long totalDur = 0L; try { - PredictItemHandler predictItemHandler = (PredictItemHandler)predictItemFactory.create(predictItem.getId()); + mmItemStatusService.recordStatus(predictItem.getId(), ItemRunStatusEnum.PROCESSING, totalDur, predictTime); + PredictItemHandler predictItemHandler = predictItemFactory.create(predictItem.getId()); Instant start = Instant.now(); try { + // 预测项开始预测 predictResult = predictItemHandler.predict(predictTime, predictItem); } catch (Exception e) { e.printStackTrace(); log.error(String.valueOf(e)); + mmItemStatusService.recordStatus(predictItem.getId(), ItemRunStatusEnum.FAIL, totalDur, predictTime); + continue; } Instant end = Instant.now(); Long drtPre = Duration.between(start, end).getSeconds(); log.info(MessageFormat.format("预测项:{0},预测时间:{1}秒", predictItem.getItemName(), drtPre)); + totalDur = totalDur + drtPre; + predictResult.setGranularity(predictItem.getGranularity()); predictResult.setT(intervalTime); predictResult.setSaveIndex(predictItem.getSaveIndex()); predictResult.setLt(1); + + // 保存预测结果 predictResultHandler.savePredictResult(predictResult); Instant endSave = Instant.now(); Long drtSave = Duration.between(end, endSave).getSeconds(); log.info(MessageFormat.format("预测项:{0},保存时间:{1}秒", predictItem.getItemName(), drtSave)); + totalDur = totalDur + drtSave; + mmItemStatusService.recordStatus(predictItem.getId(), ItemRunStatusEnum.SUCCESS, totalDur, predictTime); + result.put(predictItem.getItemNo(), predictResult); } catch (Exception e) { e.printStackTrace(); log.error(MessageFormat.format("预测项编号:{0},预测项名称:{1},预测失败:{2} 预测时刻:{3}", predictItem.getId(), predictItem.getItemName(), e.getMessage(), predictTime)); + mmItemStatusService.recordStatus(predictItem.getId(), ItemRunStatusEnum.FAIL, totalDur, predictTime); } } return result; -- Gitblit v1.9.3