From 1178da30ca701da465bf7bc1342b539b2df03c7d Mon Sep 17 00:00:00 2001
From: dengzedong <dengzedong@email>
Date: 星期五, 20 十二月 2024 13:52:35 +0800
Subject: [PATCH] predictItem MODELRESULTERROR

---
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/api/MdkApiImpl.java |   40 ++++++++++++++++++++++------------------
 1 files changed, 22 insertions(+), 18 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 21864c0..f593686 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
@@ -150,27 +150,31 @@
     @Override
     public MdkPredictItemRespDTO predictItem(MdkPredictReqDTO reqDTO) {
         MdkPredictItemRespDTO resp = new MdkPredictItemRespDTO();
-
         try {
-            log.info("预测计算开始: " + System.currentTimeMillis());
-            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,null,null);
-            Map<String, List<DataValueVO>> resultMap = predictResultHandler.convertToPredictData(predictResult);
-            if (!CollectionUtils.isEmpty(resultMap)) {
-                for (Map.Entry<String, List<DataValueVO>> entry : resultMap.entrySet()) {
-                    List<MdkPredictDataDTO>  data = ConvertUtils.sourceToTarget(entry.getValue(), MdkPredictDataDTO.class);
-                    predictData.put(entry.getKey(), data);
-                }
+
+            ItemVO itemByItemNo = mmPredictItemService.getItemByItemNo(reqDTO.getItemNo());
+            List<ItemVO> predictItemList = new ArrayList<>();
+            predictItemList.add(itemByItemNo);
+            Map<String, PredictResultVO> predictResultMap = new HashMap<>(predictItemList.size());
+            predictModuleHandler.predict(predictItemList, reqDTO.getPredictTime(), 0,predictResultMap);
+
+            Map<String, List<MdkPredictDataDTO>> itemPredictData = new HashMap<>();
+
+            Map<String, List<DataValueVO>> predictLists = predictResultHandler.convertToPredictData2(predictResultMap.get(reqDTO.getItemNo()));
+            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);
             }
-            resp.setPredictData(predictData);
-            resp.setItemId(predictItem.getId());
+            resp.setItemId(reqDTO.getItemNo());
             resp.setPredictTime(reqDTO.getPredictTime());
-            log.info("预测计算结束: " + System.currentTimeMillis());
-        } catch (Exception ex) {
-            log.info("预测计算异常: " + System.currentTimeMillis(), ex);
-            return resp;
+            resp.setPredictData(itemPredictData);
+        } catch (Exception e) {
+            throw new RuntimeException(e);
         }
 
         return resp;

--
Gitblit v1.9.3