From 07890ec0dcb75572740f25a29c80f6d7bddb39e0 Mon Sep 17 00:00:00 2001 From: dengzedong <dengzedong@email> Date: 星期四, 19 十二月 2024 15:45:46 +0800 Subject: [PATCH] 模型运行测点数据获取方式修改 merge预测模型数据获取方式修改 --- iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/MdkApiImpl.java | 15 ++++++++++++--- 1 files changed, 12 insertions(+), 3 deletions(-) diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/MdkApiImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/MdkApiImpl.java index 9fe6967..fb32f7f 100644 --- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/MdkApiImpl.java +++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/MdkApiImpl.java @@ -97,7 +97,16 @@ intervalTime = (int) (reqDTO.getPredictTime().getTime() - module.getPredicttime().getTime()) / (1000 * 60); } List<ItemVO> predictItemList = mmPredictItemService.getByModuleId(module.getId()); - Map<String, PredictResultVO> predictResultMap = predictModuleHandler.predict(predictItemList, reqDTO.getPredictTime(), intervalTime); + Map<String, PredictResultVO> predictResultMap = new HashMap<>(predictItemList.size()); + // 分组,先运行normal预测项,再将结果传递给merge预测项 + List<ItemVO> normalItems = predictItemList.stream().filter(e -> e.getItemType().equals("NormalItem")).collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(normalItems)) { + predictModuleHandler.predict(normalItems, reqDTO.getPredictTime(), intervalTime,predictResultMap); + List<ItemVO> mergeItem = predictItemList.stream().filter(e -> e.getItemType().equals("MergeItem")).collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(mergeItem)) { + predictModuleHandler.predict(mergeItem, reqDTO.getPredictTime(), intervalTime,predictResultMap); + } + } // 更新Module时间 dmModuleService.updatePredictTime(module.getId(), reqDTO.getPredictTime()); if (reqDTO.getIsResult() == null || !reqDTO.getIsResult()) { @@ -147,7 +156,7 @@ Map<String, List<MdkPredictDataDTO>> predictData = new HashMap<>(); ItemVO predictItem = itemEntityFactory.getItemByItemNo(reqDTO.getItemNo()); PredictItemHandler predictItemHandler = predictItemFactory.create(predictItem.getId()); - PredictResultVO predictResult = predictItemHandler.predict(reqDTO.getPredictTime(), predictItem); + PredictResultVO predictResult = predictItemHandler.predict(reqDTO.getPredictTime(), predictItem,null); Map<String, List<DataValueVO>> resultMap = predictResultHandler.convertToPredictData(predictResult); if (!CollectionUtils.isEmpty(resultMap)) { for (Map.Entry<String, List<DataValueVO>> entry : resultMap.entrySet()) { @@ -198,7 +207,7 @@ log.info("预测计算结束: " + System.currentTimeMillis()); } catch (Exception ex) { log.info("调度计算异常: " + System.currentTimeMillis()); - ex.printStackTrace(); +// ex.printStackTrace(); return resp; } return resp; -- Gitblit v1.9.3