From 7f0bcd00c556889ba890e5e68c681f1b5d4267e1 Mon Sep 17 00:00:00 2001
From: dengzedong <dengzedong@email>
Date: 星期四, 19 十二月 2024 18:07:20 +0800
Subject: [PATCH] 预测项状态添加模型结果异常

---
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/predict/impl/PredictItemNormalHandlerImpl.java |   46 +++++++++++++++++-----------------------------
 1 files changed, 17 insertions(+), 29 deletions(-)

diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/predict/impl/PredictItemNormalHandlerImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/predict/impl/PredictItemNormalHandlerImpl.java
index 5131d2a..cb54cce 100644
--- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/predict/impl/PredictItemNormalHandlerImpl.java
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/predict/impl/PredictItemNormalHandlerImpl.java
@@ -1,9 +1,8 @@
 package com.iailab.module.model.mdk.predict.impl;
 
-import com.iailab.framework.common.util.collection.CollectionUtils;
 import com.iailab.module.model.mcs.pre.entity.MmPredictModelEntity;
+import com.iailab.module.model.mcs.pre.enums.ItemRunStatusEnum;
 import com.iailab.module.model.mcs.pre.service.MmPredictModelService;
-import com.iailab.module.model.mdk.common.enums.ItemPredictStatus;
 import com.iailab.module.model.mdk.common.exceptions.ItemInvokeException;
 import com.iailab.module.model.mdk.common.exceptions.ModelInvokeException;
 import com.iailab.module.model.mdk.predict.PredictItemHandler;
@@ -13,12 +12,9 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
-import java.sql.Timestamp;
 import java.text.MessageFormat;
-import java.util.ArrayList;
-import java.util.Calendar;
 import java.util.Date;
-import java.util.List;
+import java.util.Map;
 
 /**
  * @author PanZhibao
@@ -34,38 +30,30 @@
     @Autowired
     private PredictModelHandler predictModelHandler;
 
+    /**
+     * NormalItem预测
+     *
+     * @param predictTime
+     * @param predictItemDto
+     * @return
+     * @throws ItemInvokeException
+     */
     @Override
-    public PredictResultVO predict(Date predictTime, ItemVO predictItemDto)
-            throws ItemInvokeException{
-        String itemId = predictItemDto.getId();
-        PredictResultVO finalResult = new PredictResultVO();
+    public PredictResultVO predict(Date predictTime, ItemVO predictItemDto, Map<String, double[]> predictValueMap, ItemRunStatusEnum itemRunStatusEnum) throws ItemInvokeException {
         PredictResultVO predictResult = new PredictResultVO();
-        List<PredictResultVO> predictResultList = new ArrayList<>();
+        String itemId = predictItemDto.getId();
         try {
-            // 获取预测项模型
-            List<MmPredictModelEntity> predictModelList = mmPredictModelService.getActiveModelByItemId(itemId);
-            if (CollectionUtils.isAnyEmpty(predictModelList)) {
+            MmPredictModelEntity predictModel = mmPredictModelService.getActiveModelByItemId(itemId);
+            if (predictModel == null) {
                 throw new ModelInvokeException(MessageFormat.format("{0},itemId={1}",
                         ModelInvokeException.errorGetModelEntity, itemId));
             }
-            for (MmPredictModelEntity predictModel : predictModelList) {
-                predictResult = predictModelHandler.predictByModel(predictTime, predictModel);
-                predictResult.setPredictId(itemId);
-                predictResultList.add(predictResult);
-            }
-            /*Calendar calendar = Calendar.getInstance();
-            calendar.setTime(predictTime);
-            calendar.add(Calendar.MINUTE, predictResult.getPredictMatrix().length - 1);
-            Timestamp endTime = new Timestamp(calendar.getTime().getTime());*/
-            finalResult = predictResultList.get(0);
-
+            predictResult = predictModelHandler.predictByModel(predictTime, predictModel,predictItemDto.getItemName(),itemRunStatusEnum);
+            predictResult.setPredictId(itemId);
         } catch (Exception ex) {
-            ex.printStackTrace();
-            //预测项预测失败的状态
             throw new ItemInvokeException(MessageFormat.format("{0},itemId={1}",
                     ItemInvokeException.errorItemFailed, itemId));
         }
-
-        return finalResult;
+        return predictResult;
     }
 }
\ No newline at end of file

--
Gitblit v1.9.3