From 4f171763ce5ee065a704e5d08fcbd5a3379dec85 Mon Sep 17 00:00:00 2001 From: 潘志宝 <979469083@qq.com> Date: 星期三, 13 十一月 2024 14:22:31 +0800 Subject: [PATCH] 返回预测结果 --- iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/MdkApiImpl.java | 59 +++++++++++++++++++++++++++++------------------------------ 1 files changed, 29 insertions(+), 30 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 89994ce..eb7267e 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 @@ -99,34 +99,32 @@ } List<ItemVO> predictItemList = mmPredictItemService.getByModuleId(module.getId()); Map<String, PredictResultVO> predictResultMap = predictModuleHandler.predict(predictItemList, reqDTO.getPredictTime(), intervalTime); + // 更新Module时间 + dmModuleService.updatePredictTime(module.getId(), reqDTO.getPredictTime()); -// for (Map.Entry<String, PredictResultVO> entry : predictResultMap.entrySet()) { -// for (Map.Entry<String, List<DataValueVO>> dataListEntry : entry.getValue().getPredictLists().entrySet()) { -// List<MdkPredictDataDTO> predictData = dataListEntry.getValue().stream().map(t -> { -// MdkPredictDataDTO dto1 = new MdkPredictDataDTO(); -// dto1.setDataTime(t.getDataTime()); -// dto1.setDataValue(t.getDataValue()); -// return dto1; -// }).collect(Collectors.toList()); -// MdkPredictItemRespDTO itemResp = new MdkPredictItemRespDTO(); -// itemResp.setItemId(dataListEntry.getKey()); -// itemResp.setPredictData(predictData); -// predictItemRespMap.put(entry.getKey(), itemResp); -// } -// } + if (reqDTO.getIsResult() == null || !reqDTO.getIsResult()) { + return resp; + } -// for (Map.Entry<String, PredictResultVO> entry : predictResultMap.entrySet()) { -// List<MdkPredictDataDTO> predictData = entry.getValue().getPredictList().stream().map(t-> { -// MdkPredictDataDTO dto1 = new MdkPredictDataDTO(); -// dto1.setDataTime(t.getDataTime()); -// dto1.setDataValue(t.getDataValue()); -// return dto1; -// }).collect(Collectors.toList()); -// MdkPredictItemRespDTO itemResp = new MdkPredictItemRespDTO(); -// itemResp.setItemId(entry.getValue().getPredictId()); -// itemResp.setPredictData(predictData); -// predictItemRespMap.put(entry.getKey(), itemResp); -// } + for (Map.Entry<String, PredictResultVO> entry : predictResultMap.entrySet()) { + MdkPredictItemRespDTO itemResp = new MdkPredictItemRespDTO(); + itemResp.setItemId(entry.getKey()); + itemResp.setPredictTime(reqDTO.getPredictTime()); + Map<String, List<MdkPredictDataDTO>> itemPredictData = new HashMap<>(); + + Map<String, List<DataValueVO>> predictLists = predictResultHandler.convertToPredictData2(entry.getValue()); + for (Map.Entry<String, List<DataValueVO>> dataListEntry : predictLists.entrySet()) { + List<MdkPredictDataDTO> predictData = dataListEntry.getValue().stream().map(t -> { + MdkPredictDataDTO dto1 = new MdkPredictDataDTO(); + dto1.setDataTime(t.getDataTime()); + dto1.setDataValue(t.getDataValue()); + return dto1; + }).collect(Collectors.toList()); + itemPredictData.put(dataListEntry.getKey(), predictData); + } + itemResp.setPredictData(itemPredictData); + predictItemRespMap.put(entry.getKey(), itemResp); + } } log.info("预测计算结束: " + System.currentTimeMillis()); } catch (Exception ex) { @@ -149,14 +147,15 @@ try { log.info("预测计算开始: " + System.currentTimeMillis()); - List<MdkPredictDataDTO> predictData = new ArrayList<>(); + Map<String, List<MdkPredictDataDTO>> predictData = new HashMap<>(); ItemVO predictItem = itemEntityFactory.getItemByItemNo(reqDTO.getItemNo()); - PredictItemHandler predictItemHandler = (PredictItemHandler)predictItemFactory.create(predictItem.getId()); + PredictItemHandler predictItemHandler = predictItemFactory.create(predictItem.getId()); PredictResultVO predictResult = predictItemHandler.predict(reqDTO.getPredictTime(), predictItem); Map<String, List<DataValueVO>> resultMap = predictResultHandler.convertToPredictData(predictResult); if (!CollectionUtils.isEmpty(resultMap)) { for (Map.Entry<String, List<DataValueVO>> entry : resultMap.entrySet()) { - predictData = ConvertUtils.sourceToTarget(entry.getValue(), MdkPredictDataDTO.class); + List<MdkPredictDataDTO> data = ConvertUtils.sourceToTarget(entry.getValue(), MdkPredictDataDTO.class); + predictData.put(entry.getKey(), data); } } resp.setPredictData(predictData); @@ -164,7 +163,7 @@ resp.setPredictTime(reqDTO.getPredictTime()); log.info("预测计算结束: " + System.currentTimeMillis()); } catch (Exception ex) { - log.info("预测计算异常: " + System.currentTimeMillis(),ex); + log.info("预测计算异常: " + System.currentTimeMillis(), ex); return resp; } -- Gitblit v1.9.3