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