From 5131f1810e63457d2cf21cfb2824198c5b90c6f6 Mon Sep 17 00:00:00 2001
From: 潘志宝 <979469083@qq.com>
Date: 星期三, 12 二月 2025 13:28:51 +0800
Subject: [PATCH] 预测项累计配置

---
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmItemResultServiceImpl.java  |    1 +
 iailab-module-model/iailab-module-model-biz/db/mysql.sql                                                                             |    7 ++++++-
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/entity/MmPredictItemEntity.java            |   15 +++++++++++++++
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmPredictItemServiceImpl.java |    1 +
 iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mdk/predict/PredictResultHandler.java              |    4 ++--
 5 files changed, 25 insertions(+), 3 deletions(-)

diff --git a/iailab-module-model/iailab-module-model-biz/db/mysql.sql b/iailab-module-model/iailab-module-model-biz/db/mysql.sql
index 95b2b04..5a746f6 100644
--- a/iailab-module-model/iailab-module-model-biz/db/mysql.sql
+++ b/iailab-module-model/iailab-module-model-biz/db/mysql.sql
@@ -895,4 +895,9 @@
                                                  `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
                                                  PRIMARY KEY (`id`) USING BTREE,
                                                  INDEX `ind_i_time_id`(`i_time_id` ASC) USING BTREE
-) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='电价时段配置数据';
\ No newline at end of file
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='电价时段配置数据';
+
+
+alter table t_mm_predict_item add column `iscumulant` tinyint default false COMMENT '是否累计';
+alter table t_mm_predict_item add column `cumuldivisor`  int default 60 COMMENT '累计除数';
+alter table t_mm_predict_item add column `cumulpoint` varchar(36) DEFAULT NULL, COMMENT '累计测点';
\ No newline at end of file
diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/entity/MmPredictItemEntity.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/entity/MmPredictItemEntity.java
index 6f54674..66e0622 100644
--- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/entity/MmPredictItemEntity.java
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/entity/MmPredictItemEntity.java
@@ -96,4 +96,19 @@
      * 保留的预测点位 (T+2 则n=2, T+30则n=30, T+n则表示从最后点位开始,n=预测长度;n由系统配置得出)
      */
     private String saveindex;
+
+    /**
+     * 是否累计
+     */
+    private Integer iscumulant;
+
+    /**
+     * 累计除数
+     */
+    private Integer cumuldivisor;
+
+    /**
+     * 累计测点
+     */
+    private String cumulpoint;
 }
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 30f3cfb..30be0f8 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
@@ -77,6 +77,7 @@
             resultJson.setPredicttime(predictTime);
             List<Double> jsonValueList = entry.getValue().stream().map(valueVO -> valueVO.getDataValue()).collect(Collectors.toList());
             resultJson.setJsonvalue(JSONArray.toJSONString(jsonValueList));
+            resultJson.setCumulant("");
             resultJsonList.add(resultJson);
         }
         // json结果存入mysql
diff --git a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmPredictItemServiceImpl.java b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmPredictItemServiceImpl.java
index abe0ee6..3d1bc60 100644
--- a/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmPredictItemServiceImpl.java
+++ b/iailab-module-model/iailab-module-model-biz/src/main/java/com/iailab/module/model/mcs/pre/service/impl/MmPredictItemServiceImpl.java
@@ -175,6 +175,7 @@
     @Override
     public void update(MmPredictItemDTO mmPredictItemDto) {
         MmPredictItemEntity predictItem = mmPredictItemDto.getMmPredictItem();
+        predictItem.setCumulpoint(predictItem.getCumulpoint() == null? "" : predictItem.getCumulpoint());
         predictItem.setUpdateTime(new Date());
         mmPredictItemDao.updateById(predictItem);
         MmItemTypeEntity itemType = mmItemTypeImpl.getById(predictItem.getItemtypeid());
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 16447f5..67ce702 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
@@ -62,8 +62,8 @@
         if (!CollectionUtils.isEmpty(predictResult.getPredictList())) {
             return predictLists;
         }
-        Map<com.iailab.module.model.mcs.pre.entity.MmItemOutputEntity, double[]> predictMatrixs = predictResult.getPredictMatrixs();
-        for (Map.Entry<com.iailab.module.model.mcs.pre.entity.MmItemOutputEntity, double[]> entry : predictMatrixs.entrySet()) {
+        Map<MmItemOutputEntity, double[]> predictMatrixs = predictResult.getPredictMatrixs();
+        for (Map.Entry<MmItemOutputEntity, double[]> entry : predictMatrixs.entrySet()) {
             Integer rows = entry.getValue().length;
             List<DataValueVO> predictDataList = new ArrayList<>();
             Calendar calendar = Calendar.getInstance();

--
Gitblit v1.9.3