From 8fad9df67cc660f8e6d581b9e06f3132a187d713 Mon Sep 17 00:00:00 2001
From: dengzedong <dengzedong@email>
Date: 星期五, 18 四月 2025 18:20:18 +0800
Subject: [PATCH] 数据分析 左测下拉数据预测项不可点击 接口 获得影响因素结果列表 接口 获得影响因素结果列表 影响因素表添加组合唯一索引

---
 iailab-module-model/iailab-module-model-biz/db/mysql.sql |  170 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 167 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..6c1a5c4 100644
--- a/iailab-module-model/iailab-module-model-biz/db/mysql.sql
+++ b/iailab-module-model/iailab-module-model-biz/db/mysql.sql
@@ -144,7 +144,7 @@
 create table t_mm_item_result_json
 (
     id          varchar(36) not null,
-    outputid    varchar(36),
+    outputid    varchar(50),
     predicttime datetime,
     jsonvalue   text,
     cumulant    varchar(36),
@@ -305,7 +305,7 @@
     `id`        varchar(36) not null,
     `modelid`   varchar(64) not null,
     `key`       varchar(64),
-    `value`     varchar(64),
+    `value`     varchar(1000),
     `valuetype` varchar(64),
     `name`      varchar(64),
     `sort`      integer,
@@ -895,4 +895,168 @@
                                                  `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_item_output add column `iscumulant` tinyint default false COMMENT '是否累计';
+alter table t_mm_item_output add column `cumuldivisor` int DEFAULT NULL COMMENT '累计除数';
+alter table t_mm_item_output add column `cumulpoint` varchar(36) DEFAULT NULL, COMMENT '累计测点';
+
+
+CREATE TABLE `t_st_adjust_config` (
+                                      `id` varchar(36) NOT NULL COMMENT 'ID',
+                                      `schedule_model_id` varchar(36) DEFAULT NULL COMMENT '调度模型ID',
+                                      `remark` varchar(200) DEFAULT NULL COMMENT '备注',
+                                      `status`          tinyint DEFAULT 1 COMMENT '状态',
+                                      create_time     datetime default current_timestamp,
+                                      update_time     datetime default current_timestamp,
+                                      PRIMARY KEY (`id`) USING BTREE,
+                                      INDEX `idx_schedule_model_id`(`schedule_model_id` ASC) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='模拟调整配置表';
+
+CREATE TABLE `t_st_adjust_config_det` (
+                                      `id` varchar(36) NOT NULL COMMENT 'ID',
+                                      `config_id` varchar(36) DEFAULT NULL COMMENT '配置ID',
+                                      `item_type_id` varchar(36) DEFAULT NULL COMMENT '预测项类型',
+                                      `predict_item_id` varchar(36) DEFAULT NULL COMMENT '预测项ID',
+                                      `out_key` varchar(50) DEFAULT NULL COMMENT '输出KEY',
+                                      `out_name` varchar(50) DEFAULT NULL COMMENT '输出名称',
+                                      `model_param_order`     integer DEFAULT NULL COMMENT '参数排序',
+                                      `model_param_port_order` integer DEFAULT NULL COMMENT '输入排序',
+                                      `sort`              integer COMMENT '执行顺序',
+                                      PRIMARY KEY (`id`) USING BTREE,
+                                      INDEX `idx_config_id`(`config_id` ASC) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='模拟调整配置详细表';
+
+CREATE TABLE `t_st_adjust_result` (
+                                                 `id` varchar(36) NOT NULL COMMENT 'ID',
+                                                 `config_id` varchar(36) DEFAULT NULL COMMENT '配置ID',
+                                                 `output_id` varchar(50) DEFAULT NULL COMMENT '预测项输出ID',
+                                                 `schedule_model_id` varchar(36) DEFAULT NULL COMMENT '调度模型ID',
+                                                 `adjust_time` datetime NULL DEFAULT NULL COMMENT '模拟调整时间',
+                                                 `adjust_value` varchar(500) DEFAULT NULL COMMENT '模拟调整值',
+                                                 `json_value` varchar(1000) DEFAULT NULL COMMENT '模拟调整结果',
+                                                 PRIMARY KEY (`id`) USING BTREE,
+                                                 INDEX `idx_output_id`(`output_id` ASC) USING BTREE,
+                                                 INDEX `idx_schedule_model_id`(`schedule_model_id` ASC) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='模拟调整结果表';
+
+-- matlab
+CREATE TABLE `t_ml_model`  (
+                               `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
+                               `model_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '模型名称',
+                               `model_file_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '模型文件名',
+                               `model_file_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '模型文件路径',
+                               `model_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '模型类型',
+                               `matlab_platform` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'matlab平台',
+                               `matlab_version` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'matlab版本',
+                               `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
+                               `creator` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建者',
+                               `create_date` datetime NULL DEFAULT NULL COMMENT '创建时间',
+                               `updater` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '更新者',
+                               `update_date` datetime NULL DEFAULT NULL COMMENT '更新时间',
+                               PRIMARY KEY (`id`) USING BTREE,
+                               UNIQUE INDEX `model_file_name`(`model_file_name` ASC) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'matlab模型表' ROW_FORMAT = Dynamic;
+
+CREATE TABLE `t_ml_model_method`  (
+                                      `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
+                                      `ml_model_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '模型id',
+                                      `class_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '全类名',
+                                      `method_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '方法名',
+                                      `data_length` int NULL DEFAULT 1 COMMENT '数据长度',
+                                      `out_length` int NULL DEFAULT NULL COMMENT '输出长度',
+                                      `sort` int NULL DEFAULT NULL COMMENT '排序',
+                                      PRIMARY KEY (`id`, `ml_model_id`) USING BTREE,
+                                      INDEX `id`(`id` ASC) USING BTREE,
+                                      INDEX `index_model_id`(`ml_model_id` ASC) USING BTREE,
+                                      CONSTRAINT `t_ml_model_method_ibfk_1` FOREIGN KEY (`ml_model_id`) REFERENCES `t_ml_model` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'matlab模型方法表' ROW_FORMAT = Dynamic;
+
+CREATE TABLE `t_ml_model_method_setting`  (
+                                              `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'id',
+                                              `ml_model_method_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '模型方法id',
+                                              `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '参数名称',
+                                              `setting_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '参数key',
+                                              `setting_value` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '参数值',
+                                              `value_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '参数类型',
+                                              `sort` int NULL DEFAULT NULL COMMENT '排序',
+                                              PRIMARY KEY (`id`) USING BTREE,
+                                              INDEX `id`(`id` ASC) USING BTREE,
+                                              INDEX `ml_model_method_id`(`ml_model_method_id` ASC) USING BTREE,
+                                              CONSTRAINT `t_ml_model_method_setting_ibfk_1` FOREIGN KEY (`ml_model_method_id`) REFERENCES `t_ml_model_method` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'matlab模型方法参数表' ROW_FORMAT = Dynamic;
+
+CREATE TABLE `t_ml_project`  (
+                                 `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'id',
+                                 `project_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '项目名称',
+                                 `project_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '项目编码',
+                                 `create_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',
+                                 `update_time` timestamp NULL DEFAULT NULL COMMENT '修改时间',
+                                 `publish_time` timestamp NULL DEFAULT NULL COMMENT '发布时间',
+                                 PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'matlab项目表' ROW_FORMAT = DYNAMIC;
+
+CREATE TABLE `t_ml_project_model`  (
+                                       `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT 'id',
+                                       `project_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '项目id',
+                                       `model_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '模型id',
+                                       PRIMARY KEY (`id`, `project_id`, `model_id`) USING BTREE,
+                                       INDEX `model_id`(`model_id` ASC) USING BTREE,
+                                       INDEX `project_id`(`project_id` ASC) USING BTREE,
+                                       CONSTRAINT `t_ml_project_model_ibfk_1` FOREIGN KEY (`model_id`) REFERENCES `t_ml_model` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT,
+                                       CONSTRAINT `t_ml_project_model_ibfk_2` FOREIGN KEY (`project_id`) REFERENCES `t_ml_project` (`id`) ON DELETE CASCADE ON UPDATE RESTRICT
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = 'matlab项目模型关联表' ROW_FORMAT = DYNAMIC;
+
+
+-- t_st_schedule_record 创建复合索引
+CREATE INDEX idx_st_schedule_record_scheme_result_time ON t_st_schedule_record (scheme_id, result_code, schedule_time DESC, create_time DESC);
+
+CREATE TABLE `t_mm_predict_auto_adjust_config` (
+                                                   `id` varchar(36) NOT NULL,
+                                                   `config_name` varchar(255) DEFAULT NULL COMMENT '配置名称',
+                                                   `config_code` varchar(255) DEFAULT NULL COMMENT '配置编码',
+                                                   `output_id` varchar(36) DEFAULT NULL COMMENT '预测输出id',
+                                                   `point_id` varchar(36) DEFAULT NULL COMMENT '测点id',
+                                                   `t` int DEFAULT NULL COMMENT '取值时间范围',
+                                                   `trigger_rule` varchar(36) DEFAULT NULL COMMENT '触发规则',
+                                                   `trigger_value` double DEFAULT NULL COMMENT '触发值',
+                                                   `adjust_direction` tinyint DEFAULT '1' COMMENT '调整方向(1:正向,-1:反向)',
+                                                   `adjust_length` int DEFAULT NULL COMMENT '调整长度',
+                                                   `adjust_value_rule` varchar(36) DEFAULT NULL COMMENT '调整值计算规则',
+                                                   `is_enable` tinyint DEFAULT NULL COMMENT '是否启用(0禁用 1启用)',
+                                                   `create_time` datetime DEFAULT NULL,
+                                                   PRIMARY KEY (`id`),
+                                                   UNIQUE KEY `config_code` (`config_code`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='预测结果自动调整配置表';
+
+-- 预测项影响因素
+
+CREATE TABLE `t_mm_predict_influence_factor_config` (
+                                                        `id` varchar(36) NOT NULL,
+                                                        `output_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '预测项id',
+                                                        `pattern` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '统计方式',
+                                                        `is_enable` tinyint DEFAULT NULL COMMENT '是否启用(0禁用 1启用)',
+                                                        `create_time` datetime DEFAULT NULL,
+                                                        PRIMARY KEY (`id`),
+                                                        UNIQUE KEY `output_id_pattern_unique` (`output_id`,`pattern`),
+                                                        KEY `output_id` (`output_id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='预测项影响因素配置表';
+
+CREATE TABLE `t_mm_predict_influence_factor` (
+                                                 `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
+                                                 `config_id` varchar(36) DEFAULT NULL COMMENT '配置id',
+                                                 `factor_output_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '因素预测项id',
+                                                 `deviation_value` double DEFAULT NULL COMMENT '偏差值',
+                                                 PRIMARY KEY (`id`),
+                                                 UNIQUE KEY `config_id_factor_output_id_unique` (`config_id`,`factor_output_id`),
+                                                 CONSTRAINT `t_mm_predict_influence_factor_ibfk_1` FOREIGN KEY (`config_id`) REFERENCES `t_mm_predict_influence_factor_config` (`id`) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='预测项影响因素关联表';
+
+CREATE TABLE `t_mm_predict_influence_factor_result` (
+                                                        `factor_id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '因素id',
+                                                        `time` datetime DEFAULT NULL COMMENT '影响时间',
+                                                        `value` double DEFAULT NULL COMMENT '影响值',
+                                                        UNIQUE KEY `factor_id_time_unique` (`factor_id`,`time` DESC) USING BTREE,
+                                                        CONSTRAINT `t_mm_predict_influence_factor_result_ibfk_1` FOREIGN KEY (`factor_id`) REFERENCES `t_mm_predict_influence_factor` (`id`) ON DELETE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='预测项影响因素结果表';

--
Gitblit v1.9.3