From a2b4314c590248f3826764ac0ea63dcecc6fb20b Mon Sep 17 00:00:00 2001
From: 潘志宝 <979469083@qq.com>
Date: 星期五, 21 三月 2025 09:16:51 +0800
Subject: [PATCH] 预测值模拟调整

---
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/predict/PredictResultHandler.java |   17 ++++++++++-------
 1 files changed, 10 insertions(+), 7 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 ebaee0f..bea9b0a 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
@@ -42,12 +42,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());
             }
             resultMap.put(entry.getKey().getId(), predictDataList);
             predictLists.put(entry.getKey().getResultstr(), predictDataList);
@@ -59,7 +60,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 +86,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);
         }
@@ -112,11 +114,12 @@
      * savePredictAdjustResult
      *
      * @param predictResult
+     * @param configId
      */
     @DSTransactional
-    public void savePredictAdjustResult(PredictResultVO predictResult, String adjustValue, String scheduleModelId) {
+    public void savePredictAdjustResult(PredictResultVO predictResult, String adjustValue, String scheduleModelId, String configId) {
         Map<String, List<DataValueVO>> resultMap = convertToPredictData(predictResult);
-        stAdjustResultService.saveResult(resultMap, predictResult.getPredictTime(), adjustValue, scheduleModelId);
+        stAdjustResultService.saveResult(resultMap, predictResult.getPredictTime(), adjustValue, scheduleModelId,configId);
     }
 
     public List<DataValueVO> getPredictValueByItemNo(String itemNo, Date start, Date end) {

--
Gitblit v1.9.3