From 271fed395d4d3e4ab8cdb44ccf466859ba485e46 Mon Sep 17 00:00:00 2001 From: 潘志宝 <979469083@qq.com> Date: 星期四, 09 一月 2025 17:45:33 +0800 Subject: [PATCH] Merge branch 'master' of http://dlindusit.com:53929/r/iailab-plat --- iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/predict/PredictModuleHandler.java | 28 +++++++++++++++++----------- 1 files changed, 17 insertions(+), 11 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 034a6c8..76d88ec 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 @@ -4,6 +4,7 @@ import com.iailab.module.model.mcs.pre.entity.MmItemOutputEntity; 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.enums.PredGranularityEnum; 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; @@ -14,12 +15,7 @@ import org.springframework.util.CollectionUtils; import java.text.MessageFormat; -import java.time.Duration; -import java.time.Instant; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * @author PanZhibao @@ -50,7 +46,6 @@ * @return */ public void predict(List<ItemVO> predictItemList, Date predictTime, int intervalTime,Map<String, PredictResultVO> predictResultMap) { - PredictResultVO predictResult; Map<String, double[]> predictValueMap = null; if (!CollectionUtils.isEmpty(predictResultMap)) { // 将predictResultMap处理成Map<outPutId, double[]> @@ -62,18 +57,30 @@ } } for (ItemVO predictItem : predictItemList) { + // 根据item粒度处理预测时间 + Calendar calendar = Calendar.getInstance(); + calendar.setTime(predictTime); + calendar.set(Calendar.MILLISECOND, 0); + calendar.set(Calendar.SECOND, 0); + if (PredGranularityEnum.H1.getCode().equals(predictItem.getGranularity())) { + calendar.set(Calendar.MINUTE,0); + }else if (PredGranularityEnum.D1.getCode().equals(predictItem.getGranularity())) { + calendar.set(Calendar.MINUTE,0); + calendar.set(Calendar.HOUR_OF_DAY,0); + } + PredictResultVO predictResult; if (!predictItem.getStatus().equals(ItemStatus.STATUS1.getCode())) { continue; } Long totalDur = 0L; ItemRunStatusEnum itemRunStatusEnum = ItemRunStatusEnum.PROCESSING; try { - mmItemStatusService.recordStatus(predictItem.getId(), itemRunStatusEnum, totalDur, predictTime); + mmItemStatusService.recordStatus(predictItem.getId(), itemRunStatusEnum, totalDur, calendar.getTime()); PredictItemHandler predictItemHandler = predictItemFactory.create(predictItem.getId()); long start = System.currentTimeMillis(); try { // 预测项开始预测 - predictResult = predictItemHandler.predict(predictTime, predictItem, predictValueMap); + predictResult = predictItemHandler.predict(calendar.getTime(), predictItem, predictValueMap); } catch (ModelResultErrorException e) { itemRunStatusEnum = ItemRunStatusEnum.MODELRESULTERROR; continue; @@ -108,9 +115,8 @@ e.printStackTrace(); log.error(MessageFormat.format("预测项编号:{0},预测项名称:{1},预测失败:{2} 预测时刻:{3}", predictItem.getId(), predictItem.getItemName(), e.getMessage(), predictTime)); - itemRunStatusEnum = ItemRunStatusEnum.FAIL; } finally { - mmItemStatusService.recordStatus(predictItem.getId(), itemRunStatusEnum, totalDur, predictTime); + mmItemStatusService.recordStatus(predictItem.getId(), itemRunStatusEnum, totalDur, calendar.getTime()); } } } -- Gitblit v1.9.3