潘志宝
2024-09-09 bbc1eeba9c29032add5175f2739782fd204de715
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
create table t_dm_module
(
  id              varchar(36) not null,
  modulename      varchar(50),
  moduletype      varchar(30),
  cycle           decimal(5, 0),
  modulenavconfig varchar(3072),
  predicttime     datetime,
  collecttime     datetime,
  create_time     datetime default current_timestamp,
  update_time     datetime default current_timestamp,
  traintime       datetime,
  primary key (id),
  UNIQUE INDEX idx_moduletype (moduletype)
) engine = innodb default character set utf8mb4 COMMENT = '管网表';
 
 
create table t_dm_module_item
(
  id         varchar(36) not null,
  moduleid   varchar(36),
  itemid     varchar(36),
  itemorder  bigint,
  status     bigint,
  categoryid varchar(64),
  primary key (id),
  key idx_moduleid (moduleid)
) engine = innodb default character set utf8mb4 COMMENT = '管网预测项关系表';
 
create table t_mm_item_output
(
  id            varchar(36) not null,
  itemid        varchar(36),
  pointid       varchar(36),
  resulttableid varchar(36),
  tagname       varchar(50),
  outputorder   decimal(5, 0),
  primary key (id),
  INDEX idx_itemid (itemid)
) engine = innodb default character set utf8mb4 COMMENT = '预测项输出表';
 
create table t_mm_item_result
(
  id        varchar(36) not null,
  outputid  varchar(36),
  datatime  datetime,
  datavalue decimal(19, 3),
  primary key (id),
  INDEX idx_outputid (outputid),
  INDEX idx_datatime (datatime)
) engine = innodb
  default character set utf8mb4 COMMENT = '预测结果表';
 
create table t_mm_item_type
(
  id            varchar(36) not null,
  itemtypename  varchar(50),
  itemclasstype varchar(100),
  assemblyname  varchar(64),
  primary key (id)
) engine = innodb default character set utf8mb4 COMMENT = '预测项类型表';
 
create table t_mm_model_arith_settings
(
  id        varchar(36) not null,
  modelid   varchar(36),
  `key`     varchar(36),
  value     varchar(256),
  name      varchar(36),
  valuetype varchar(36),
  primary key (id),
  INDEX idx_modelid (modelid)
) engine = innodb default character set utf8mb4 COMMENT = '预测模型设置参数表';
 
create table t_mm_model_param
(
  id                  varchar(36) not null,
  modelid             varchar(36),
  modelparamname      varchar(36),
  modelparamid        varchar(36),
  modelparamorder     integer,
  modelparamportorder integer,
  datalength          integer,
  modelparamtype      varchar(36),
  primary key (id),
  INDEX idx_modelid (modelid)
) engine = innodb default character set utf8mb4 COMMENT = '预测模型输入参数表';
 
create table t_mm_model_resultstr
(
  id        varchar(64) not null,
  resultstr varchar(64),
  primary key (id)
) engine = innodb default character set utf8mb4 COMMENT = '预测模型结果字符串表';
 
create table
  t_mm_predict_item
(
  id              varchar(36) not null,
  itemno          varchar(16),
  itemname        varchar(50),
  caltypeid       varchar(36),
  itemtypeid      varchar(36),
  predictlength   decimal(5, 0),
  granularity     decimal(5, 0),
  status          decimal(5, 0),
  isfuse          decimal(5, 0),
  predictphase    decimal(5, 0),
  workchecked     decimal(5, 0),
  unittransfactor decimal(31, 6),
  create_time     datetime default current_timestamp,
  update_time     datetime default current_timestamp,
  saveindex       varchar(16),
  primary key (id),
  UNIQUE INDEX uk_itemno (itemno)
) engine = innodb default character set utf8mb4 COMMENT = '预测模型结果字符串表';
 
create table
  t_mm_predict_merge_item
(
  id         varchar(36) not null,
  itemid     varchar(36),
  expression varchar(255),
  num        integer,
  primary key (id),
  UNIQUE INDEX uk_itemid (itemid)
) engine = innodb default character set utf8mb4 COMMENT = '合并预测项表';
 
create table
  t_mm_predict_model
(
  id                  varchar(36) not null,
  modelno             varchar(32),
  modelname           varchar(50),
  itemid              varchar(36),
  arithid             varchar(36),
  trainsamplength     decimal(5, 0),
  predictsamplength   decimal(5, 0),
  isonlinetrain       decimal(5, 0),
  modelpath           varchar(256),
  isnormal            decimal(5, 0),
  normalmax           decimal(19, 3),
  normalmin           decimal(19, 3),
  status              decimal(5, 0),
  classname           varchar(256),
  methodname          varchar(64),
  modelparamstructure varchar(128),
  resultstrid         varchar(64),
  settingmap          varchar(256),
  trainmodelpath      varchar(256),
  pathstatus          decimal(5, 0),
  pdim                smallint,
  traninip            varchar(16),
  comparisonclassname varchar(256),
  primary key (id),
  INDEX idx_modelno (modelno),
  UNIQUE INDEX idx_itemid (itemid)
) engine = innodb
  default character set utf8mb4 COMMENT = '预测项模型表';
 
create table t_mm_result_table
(
  id        varchar(36) not null,
  tablename varchar(30),
  primary key (id)
) engine = innodb default character set utf8mb4 COMMENT = '预测结果存放表';
 
 
create table t_mm_item_result_json
(
  id          varchar(36) not null,
  outputid    varchar(36),
  predicttime datetime,
  jsonvalue   varchar(6400),
  cumulant    varchar(36),
  primary key (id),
  INDEX idx_outputid (outputid),
  INDEX idx_predicttime (predicttime)
) engine = innodb default character set utf8mb4 COMMENT = '预测JSON数据表';
 
create table
  t_mm_item_result_last_point
(
  id        varchar(36) not null,
  outputid  varchar(36),
  datatime  datetime,
  datavalue decimal(19, 3),
  primary key (id),
  INDEX idx_outputid (outputid),
  INDEX idx_datatime (datatime)
) engine = innodb default character set utf8mb4 COMMENT = '预测T+L数据表';
 
create table t_mm_item_accuracy_rate
(
  id                varchar(36) not null,
  item_id           varchar(36) not null COMMENT '预测项ID',
  sample_length     integer COMMENT '样本长度',
  value_type        integer COMMENT '值类型',
  in_deviation      decimal(8, 3) COMMENT '精准误差',
  in_accuracy_rate  decimal(6, 4) COMMENT '精准度',
  out_deviation     decimal(8, 3) COMMENT '不可信误差',
  out_accuracy_rate decimal(6, 4) COMMENT '不可信率',
  is_enable         tinyint,
  update_time       datetime,
  begin_time        datetime,
  primary key (id),
  INDEX idx_item_id (item_id)
) engine = innodb
  default character set utf8mb4 COMMENT = '预测精准度表';
 
create table t_mm_predict_alarm_config
(
  id            varchar(36) not null,
  title         varchar(20) COMMENT '消息标题',
  alarm_obj     varchar(36) COMMENT '监控对象',
  item_id       varchar(36) COMMENT '预测项ID',
  comp_length   int COMMENT '比较长度',
  upper_limit   decimal(10, 4) COMMENT '上限',
  lower_limit   decimal(10, 4) COMMENT '下限',
  unit          varchar(10) COMMENT '单位',
  coefficient   decimal(10, 4) COMMENT '转换系数',
  model_id      varchar(36) COMMENT '调度建议模型',
  is_enable     tinyint     NOT NULL COMMENT '是否启用(0禁用 1启用)',
  `creator`     varchar(64) NOT NULL DEFAULT '' COMMENT '创建者',
  `create_time` datetime    NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater`     varchar(64)          DEFAULT '' COMMENT '更新者',
  `update_time` datetime    NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  primary key (id)
) engine = innodb
  default character set utf8mb4 COMMENT = '预警配置表';
 
create table t_mm_predict_alarm_message
(
  id            varchar(36) not null,
  title         varchar(36) COMMENT '消息标题',
  content       varchar(128) COMMENT '消息内容',
  alarm_obj     varchar(36) COMMENT '监控对象',
  point_id      varchar(36) COMMENT '监控点位ID',
  item_id       varchar(36) COMMENT '预测项ID',
  current_value decimal(18, 4) COMMENT '当前值',
  out_time      datetime COMMENT '超出时间',
  out_value     decimal(18, 4) COMMENT '超出值',
  alarm_type    varchar(10) COMMENT '预警类型',
  alarm_time    datetime COMMENT '预警时间',
  create_time   datetime    NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  primary key (id),
  INDEX idx_item_id (item_id),
  INDEX idx_alarm_obj (alarm_obj),
  INDEX idx_alarm_time (alarm_time)
) engine = innodb
  default character set utf8mb4 COMMENT = '预警消息表';
 
 
-- 调度模块
 
create table t_st_schedule_scheme
(
  `id`                varchar(36) not null COMMENT 'ID',
  `code`              varchar(20) COMMENT '编号',
  `name`              varchar(20) COMMENT '名称',
  `trigger_method`    varchar(20) COMMENT '触发方式',
  `trigger_condition` varchar(20) COMMENT '触发条件',
  `schedule_obj`      varchar(20) COMMENT '调整对象',
  `schedule_type`     varchar(20) COMMENT '调整类型',
  `schedule_strategy` varchar(20) COMMENT '调整策略',
  `model_id`          varchar(36) COMMENT '调度模型',
  `schedule_time`     datetime COMMENT '调度时间',
  `status`            tinyint     NOT NULL DEFAULT 0 COMMENT '方案状态(0正常 1停用)',
  `remark`            varchar(100) COMMENT '备注',
  `creator`           varchar(64) NOT NULL DEFAULT '' COMMENT '创建者',
  `create_time`       datetime    NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater`           varchar(64) NULL     DEFAULT '' COMMENT '更新者',
  `update_time`       datetime    NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  primary key (id),
  UNIQUE INDEX `uk_code` (`code` ASC) USING BTREE
) engine = innodb
  default character set utf8mb4 COMMENT = '调度方案表';
 
create table t_st_schedule_model
(
  `id`              varchar(36) not null COMMENT 'ID',
  `model_code`      varchar(64) COMMENT '模型编号',
  `model_name`      varchar(64) COMMENT '模型名称',
  `model_type`      varchar(64) COMMENT '模型类型',
  `class_name`      varchar(128) COMMENT '类名',
  `method_name`     varchar(64) COMMENT '方法名',
  `port_length`     integer COMMENT '输入数量',
  `param_structure` varchar(256) COMMENT '参数构造',
  `model_path`      varchar(256) COMMENT '路径',
  `result_str_id`   varchar(64) COMMENT '结果ID',
  `invocation`      varchar(64) COMMENT '调用方式',
  `status`          tinyint     NOT NULL DEFAULT 0 COMMENT '状态(0正常 1停用)',
  `creator`         varchar(64) NOT NULL DEFAULT '' COMMENT '创建者',
  `create_time`     datetime    NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater`         varchar(64) NULL     DEFAULT '' COMMENT '更新者',
  `update_time`     datetime    NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  primary key (id),
  UNIQUE INDEX `uk_model_code` (`model_code` ASC) USING BTREE
) engine = innodb default character set utf8mb4 COMMENT = '调度模型表';
 
create table
  t_st_schedule_model_param
(
  id                  varchar(36) not null,
  modelid             varchar(64),
  modelparamname      varchar(64),
  modelparamid        varchar(64),
  modelparamorder     integer,
  modelparamportorder integer,
  datalength          integer,
  modelparamtype      varchar(64),
  primary key (id)
) engine = innodb
  default character set utf8mb4 COMMENT = '调度模型输入参数表';
 
 
create table
  t_st_schedule_model_setting
(
  `id`        varchar(36) not null,
  `modelid`   varchar(64),
  `key`       varchar(64),
  `value`     varchar(64),
  `valuetype` varchar(64),
  `name`      varchar(64),
  `sort`      integer,
  primary key (id),
  key idx_modelid (modelid)
) engine = innodb
  default character set utf8mb4 COMMENT = '调度模型设置参数表';
 
create table
  t_st_schedule_suggest
(
  id                varchar(36) not null,
  title             varchar(50) COMMENT '标题',
  content           varchar(256) COMMENT '内容',
  sort              integer COMMENT '排序',
  scheme_id         varchar(36) COMMENT '方案ID',
  alarm_id          varchar(36) COMMENT '预警ID',
  item_id           varchar(36) COMMENT '预测项ID',
  model_id          varchar(36) COMMENT '模型ID',
  schedule_obj      varchar(20) COMMENT '调整对象',
  schedule_type     varchar(20) COMMENT '调整类型',
  schedule_strategy varchar(20) COMMENT '调整策略',
  adjust_mode       varchar(20) COMMENT '调整方式',
  adjust_value      decimal(18, 4) COMMENT '调整值',
  adjust_unit       varchar(20) COMMENT '调整单位',
  adjust_times      decimal(18, 4) COMMENT '持续时长',
  adjust_start      datetime COMMENT '调整开始时间',
  adjust_end        datetime COMMENT '调整结束时间',
  schedule_time     datetime COMMENT '调度时间',
  status            tinyint     NOT NULL COMMENT '状态(0未处理 1已采纳 2已忽略)',
  handler           varchar(36) COMMENT '处理人',
  handle_time       datetime COMMENT '处理时间',
  create_time       datetime default current_timestamp COMMENT '创建时间',
  primary key (id),
  INDEX idx_scheme_id (scheme_id),
  INDEX idx_alarm_id (alarm_id),
  INDEX idx_item_id (item_id),
  INDEX idx_model_id (model_id),
  INDEX idx_schedule_obj (schedule_obj),
  INDEX idx_schedule_type (schedule_type)
) engine = innodb
  default character set utf8mb4 COMMENT = '调度建议表';
 
 
create table
  t_st_schedule_record
(
  `id`            varchar(36) not null,
  `scheme_id`     varchar(36) COMMENT '方案ID',
  `model_id`      varchar(36) COMMENT '模型ID',
  `model_name`    varchar(64) COMMENT '模型名称',
  `schedule_time` datetime COMMENT '调度时间',
  `create_time`   datetime default current_timestamp COMMENT '创建时间',
  primary key (id),
  INDEX idx_scheme_id (scheme_id),
  INDEX idx_model_id (model_id),
  INDEX idx_schedule_time (schedule_time)
) engine = innodb
  default character set utf8mb4 COMMENT = '调度记录表';
 
 
create table
  t_st_schedule_record_detail
(
  `id`            varchar(36) not null,
  `record_id`     varchar(36),
  `scheme_id`     varchar(64),
  `model_id`      varchar(36) COMMENT '模型ID',
  `result_key`    varchar(64),
  `result_value`  text,
  `schedule_time` datetime COMMENT '调度时间',
  primary key (id),
  key idx_record_id (record_id),
  key idx_scheme_id (scheme_id),
  key idx_model_id (model_id)
) engine = innodb
  default character set utf8mb4 COMMENT = '调度记录详情表';