From 13622b9e0d09945a7cad4e43d9cdf242d3b9b3f8 Mon Sep 17 00:00:00 2001
From: dengzedong <dengzedong@email>
Date: 星期四, 26 六月 2025 11:04:48 +0800
Subject: [PATCH] 动态长度

---
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmItemResultServiceImpl.java |   33 ++++++++++++++++++++-------------
 1 files changed, 20 insertions(+), 13 deletions(-)

diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmItemResultServiceImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmItemResultServiceImpl.java
index cb59cba..9467b53 100644
--- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmItemResultServiceImpl.java
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmItemResultServiceImpl.java
@@ -198,41 +198,48 @@
             return result;
         }
         Date predictTime = reqVO.getPredictTime();
+        Integer predictLength = null;
         if (predictTime == null) {
             MmItemOutputEntity output = null;
             for (String outId : outIds) {
                 output = mmItemOutputService.getOutPutById(outId);
                 if (output != null) {
-                    break;
+                    ItemVO predictItem = mmPredictItemService.getItemById(output.getItemid());
+                    if (predictItem != null && predictItem.getLastTime() != null) {
+                        predictTime = predictItem.getLastTime();
+                        predictLength = predictItem.getPredictLength();
+                        break;
+                    }
                 }
             }
-            ItemVO predictItem = mmPredictItemService.getItemById(output.getItemid());
-            if (predictItem.getLastTime() != null) {
-                predictTime = predictItem.getLastTime();
-            } else {
-                Calendar calendar = Calendar.getInstance();
-                calendar.set(Calendar.MILLISECOND, 0);
-                calendar.set(Calendar.SECOND, 0);
-                predictTime = calendar.getTime();
-            }
+        }
+        if (predictTime == null) {
+            Calendar calendar = Calendar.getInstance();
+            calendar.set(Calendar.MILLISECOND, 0);
+            calendar.set(Calendar.SECOND, 0);
+            predictTime = calendar.getTime();
+        }
+        if (predictLength == null) {
+            predictLength = 120;
         }
         Date startTime = reqVO.getStartTime();
         if (startTime == null) {
             Calendar calendar = Calendar.getInstance();
             calendar.setTime(predictTime);
-            calendar.add(Calendar.HOUR_OF_DAY, -1);
+            calendar.add(Calendar.MINUTE, -1 * predictLength);
             startTime = calendar.getTime();
         }
         Date endTime = reqVO.getEndTime();
         if (endTime == null) {
             Calendar calendar = Calendar.getInstance();
             calendar.setTime(predictTime);
-            calendar.add(Calendar.HOUR_OF_DAY, 1);
-            calendar.add(Calendar.MINUTE, 1);
+            calendar.add(Calendar.MINUTE, predictLength + 1);
             endTime = calendar.getTime();
         }
 
         for (int i = 0; i < outIds.size(); i++) {
+            // 根据预测长度动态开始结束时间
+
             PreDataViewRespDTO viewDto = new PreDataViewRespDTO();
             String outId = outIds.get(i);
             MmItemOutputEntity output = mmItemOutputService.getOutPutById(outId);

--
Gitblit v1.9.3