From a82313d17b2b5d1c02e880122efc1b701c401dcf Mon Sep 17 00:00:00 2001
From: houzhongjian <houzhongyi@126.com>
Date: 星期三, 04 十二月 2024 09:58:58 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/predict/PredictModuleHandler.java |   35 ++++++++++++++++++++++++-----------
 1 files changed, 24 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 2b07c1d..9a5f462 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
@@ -1,6 +1,5 @@
 package com.iailab.module.model.mdk.predict;
 
-import com.iailab.module.model.mcs.pre.entity.MmItemStatusEntity;
 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.service.MmItemStatusService;
@@ -39,6 +38,14 @@
     private MmItemStatusService mmItemStatusService;
 
 
+    /**
+     * 预测处理
+     *
+     * @param predictItemList
+     * @param predictTime
+     * @param intervalTime
+     * @return
+     */
     public Map<String, PredictResultVO> predict(List<ItemVO> predictItemList, Date predictTime, int intervalTime) {
         Map<String, PredictResultVO> result = new HashMap<>();
 
@@ -49,36 +56,42 @@
             }
             Long totalDur = 0L;
             try {
-                mmItemStatusService.recordStatus(predictItem.getId(), ItemRunStatusEnum.PROCESSING, totalDur);
+                mmItemStatusService.recordStatus(predictItem.getId(), ItemRunStatusEnum.PROCESSING, totalDur, predictTime);
                 PredictItemHandler predictItemHandler = predictItemFactory.create(predictItem.getId());
-                Instant start = Instant.now();
+                long start = System.currentTimeMillis();
                 try {
+                    // 预测项开始预测
                     predictResult = predictItemHandler.predict(predictTime, predictItem);
                 } catch (Exception e) {
                     e.printStackTrace();
                     log.error(String.valueOf(e));
+                    mmItemStatusService.recordStatus(predictItem.getId(), ItemRunStatusEnum.FAIL, totalDur, predictTime);
+                    continue;
                 }
-                Instant end = Instant.now();
-                Long drtPre = Duration.between(start, end).getSeconds();
-                log.info(MessageFormat.format("预测项:{0},预测时间:{1}秒", predictItem.getItemName(), drtPre));
+                long end = System.currentTimeMillis();
+                Long drtPre = end - start;
+                log.info(MessageFormat.format("预测项:{0},预测时间:{1}ms", predictItem.getItemName(), drtPre));
                 totalDur = totalDur + drtPre;
 
+                predictResult.setGranularity(predictItem.getGranularity());
                 predictResult.setT(intervalTime);
                 predictResult.setSaveIndex(predictItem.getSaveIndex());
                 predictResult.setLt(1);
+
+                // 保存预测结果
                 predictResultHandler.savePredictResult(predictResult);
-                Instant endSave = Instant.now();
-                Long drtSave = Duration.between(end, endSave).getSeconds();
-                log.info(MessageFormat.format("预测项:{0},保存时间:{1}秒", predictItem.getItemName(),
+                long endSave = System.currentTimeMillis();
+                Long drtSave = endSave - end;
+                log.info(MessageFormat.format("预测项:{0},保存时间:{1}ms", predictItem.getItemName(),
                         drtSave));
                 totalDur = totalDur + drtSave;
-                mmItemStatusService.recordStatus(predictItem.getId(), ItemRunStatusEnum.SUCCESS, totalDur);
+                mmItemStatusService.recordStatus(predictItem.getId(), ItemRunStatusEnum.SUCCESS, totalDur, predictTime);
                 result.put(predictItem.getItemNo(), predictResult);
             } catch (Exception e) {
                 e.printStackTrace();
                 log.error(MessageFormat.format("预测项编号:{0},预测项名称:{1},预测失败:{2} 预测时刻:{3}",
                         predictItem.getId(), predictItem.getItemName(), e.getMessage(), predictTime));
-                mmItemStatusService.recordStatus(predictItem.getId(), ItemRunStatusEnum.FAIL, totalDur);
+                mmItemStatusService.recordStatus(predictItem.getId(), ItemRunStatusEnum.FAIL, totalDur, predictTime);
             }
         }
         return result;

--
Gitblit v1.9.3