From cc6270c5f434f93bf51f4c454e3de512be70b584 Mon Sep 17 00:00:00 2001
From: dengzedong <dengzedong@email>
Date: 星期三, 02 四月 2025 13:10:33 +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/PredictResultHandler.java |   13 ++++++++++---
 1 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/predict/PredictResultHandler.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/predict/PredictResultHandler.java
index a6cac8e..d8548a3 100644
--- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/predict/PredictResultHandler.java
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/predict/PredictResultHandler.java
@@ -3,6 +3,7 @@
 import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.iailab.module.model.common.enums.CommonDict;
 import com.iailab.module.model.mcs.pre.entity.MmItemOutputEntity;
+import com.iailab.module.model.mcs.pre.enums.PredGranularityEnum;
 import com.iailab.module.model.mcs.pre.service.MmItemResultService;
 import com.iailab.module.model.mcs.sche.service.StAdjustResultService;
 import com.iailab.module.model.mdk.factory.ItemEntityFactory;
@@ -41,6 +42,11 @@
             List<DataValueVO> predictDataList = new ArrayList<>();
             Calendar calendar = Calendar.getInstance();
             calendar.setTime(predictResult.getPredictTime());
+
+            if (predictResult.getGranularity() < PredGranularityEnum.D1.getCode()) {
+                // 如果小于天粒度,则从下个时间粒度开始
+                calendar.add(Calendar.SECOND, predictResult.getGranularity());
+            }
             for (Integer i = 0; i < rows; i++) {
                 DataValueVO predictData = new DataValueVO();
                 predictData.setDataTime(calendar.getTime());
@@ -59,7 +65,7 @@
                     // 时间 预测时间+预测长度*粒度
                     Calendar calendar = Calendar.getInstance();
                     calendar.setTime(predictResult.getPredictTime());
-                    calendar.add(Calendar.SECOND, predictResult.getGranularity() * (rows - 1));
+                    calendar.add(Calendar.SECOND, predictResult.getGranularity() * rows);
                     predictData.setDataTime(calendar.getTime());
                     //值 所有值相加/除数
                     BigDecimal sum = BigDecimal.valueOf(Arrays.stream(entry.getValue()).sum());
@@ -85,12 +91,13 @@
             Calendar calendar = Calendar.getInstance();
             calendar.setTime(predictResult.getPredictTime());
             for (Integer i = 0; i < rows; i++) {
+                // 从下个时间粒度开始
+                calendar.add(Calendar.SECOND, predictResult.getGranularity());
+
                 DataValueVO predictData = new DataValueVO();
                 predictData.setDataTime(calendar.getTime());
                 predictData.setDataValue(Double.valueOf(entry.getValue()[i]));
                 predictDataList.add(predictData);
-
-                calendar.add(Calendar.SECOND, predictResult.getGranularity());
             }
             predictLists.put(entry.getKey().getResultstr(), predictDataList);
         }

--
Gitblit v1.9.3