CREATE database if NOT EXISTS `iailab_fast_tenant_ansteel` default character set utf8mb4 collate utf8mb4_general_ci;
USE `iailab_fast_tenant_ansteel`;

    -- 定时任务
CREATE TABLE schedule_job
(
    id              bigint NOT NULL COMMENT 'id',
    bean_name       varchar(200)  DEFAULT NULL COMMENT 'spring bean名称',
    params          varchar(2000) DEFAULT NULL COMMENT '参数',
    cron_expression varchar(100)  DEFAULT NULL COMMENT 'cron表达式',
    status          tinyint unsigned COMMENT '任务状态  0：暂停  1：正常',
    remark          varchar(255)  DEFAULT NULL COMMENT '备注',
    creator         bigint COMMENT '创建者',
    create_date     datetime COMMENT '创建时间',
    updater         bigint COMMENT '更新者',
    update_date     datetime COMMENT '更新时间',
    PRIMARY KEY (id),
    key idx_create_date (create_date)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 COMMENT ='定时任务';

-- 定时任务日志
CREATE TABLE schedule_job_log
(
    id          bigint           NOT NULL COMMENT 'id',
    job_id      bigint           NOT NULL COMMENT '任务id',
    bean_name   varchar(200)  DEFAULT NULL COMMENT 'spring bean名称',
    params      varchar(2000) DEFAULT NULL COMMENT '参数',
    status      tinyint unsigned NOT NULL COMMENT '任务状态    0：失败    1：成功',
    error       varchar(2000) DEFAULT NULL COMMENT '失败信息',
    times       int              NOT NULL COMMENT '耗时(单位：毫秒)',
    create_date datetime COMMENT '创建时间',
    PRIMARY KEY (id),
    key idx_job_id (job_id),
    key idx_create_date (create_date)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 COMMENT ='定时任务日志';

--  quartz自带表结构
CREATE TABLE QRTZ_JOB_DETAILS
(
    SCHED_NAME        VARCHAR(120) NOT NULL,
    JOB_NAME          VARCHAR(200) NOT NULL,
    JOB_GROUP         VARCHAR(200) NOT NULL,
    DESCRIPTION       VARCHAR(250) NULL,
    JOB_CLASS_NAME    VARCHAR(250) NOT NULL,
    IS_DURABLE        VARCHAR(1)   NOT NULL,
    IS_NONCONCURRENT  VARCHAR(1)   NOT NULL,
    IS_UPDATE_DATA    VARCHAR(1)   NOT NULL,
    REQUESTS_RECOVERY VARCHAR(1)   NOT NULL,
    JOB_DATA          BLOB         NULL,
    PRIMARY KEY (SCHED_NAME, JOB_NAME, JOB_GROUP)
)
    ENGINE = InnoDB
  DEFAULT CHARSET = utf8;

CREATE TABLE QRTZ_TRIGGERS
(
    SCHED_NAME     VARCHAR(120) NOT NULL,
    TRIGGER_NAME   VARCHAR(200) NOT NULL,
    TRIGGER_GROUP  VARCHAR(200) NOT NULL,
    JOB_NAME       VARCHAR(200) NOT NULL,
    JOB_GROUP      VARCHAR(200) NOT NULL,
    DESCRIPTION    VARCHAR(250) NULL,
    NEXT_FIRE_TIME BIGINT(13)   NULL,
    PREV_FIRE_TIME BIGINT(13)   NULL,
    PRIORITY       INTEGER      NULL,
    TRIGGER_STATE  VARCHAR(16)  NOT NULL,
    TRIGGER_TYPE   VARCHAR(8)   NOT NULL,
    START_TIME     BIGINT(13)   NOT NULL,
    END_TIME       BIGINT(13)   NULL,
    CALENDAR_NAME  VARCHAR(200) NULL,
    MISFIRE_INSTR  SMALLINT(2)  NULL,
    JOB_DATA       BLOB         NULL,
    PRIMARY KEY (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP),
    FOREIGN KEY (SCHED_NAME, JOB_NAME, JOB_GROUP)
        REFERENCES QRTZ_JOB_DETAILS (SCHED_NAME, JOB_NAME, JOB_GROUP)
)
    ENGINE = InnoDB
  DEFAULT CHARSET = utf8;

CREATE TABLE QRTZ_SIMPLE_TRIGGERS
(
    SCHED_NAME      VARCHAR(120) NOT NULL,
    TRIGGER_NAME    VARCHAR(200) NOT NULL,
    TRIGGER_GROUP   VARCHAR(200) NOT NULL,
    REPEAT_COUNT    BIGINT(7)    NOT NULL,
    REPEAT_INTERVAL BIGINT(12)   NOT NULL,
    TIMES_TRIGGERED BIGINT(10)   NOT NULL,
    PRIMARY KEY (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP),
    FOREIGN KEY (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP)
        REFERENCES QRTZ_TRIGGERS (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP)
)
    ENGINE = InnoDB
  DEFAULT CHARSET = utf8;

CREATE TABLE QRTZ_CRON_TRIGGERS
(
    SCHED_NAME      VARCHAR(120) NOT NULL,
    TRIGGER_NAME    VARCHAR(200) NOT NULL,
    TRIGGER_GROUP   VARCHAR(200) NOT NULL,
    CRON_EXPRESSION VARCHAR(120) NOT NULL,
    TIME_ZONE_ID    VARCHAR(80),
    PRIMARY KEY (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP),
    FOREIGN KEY (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP)
        REFERENCES QRTZ_TRIGGERS (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP)
)
    ENGINE = InnoDB
  DEFAULT CHARSET = utf8;

CREATE TABLE QRTZ_SIMPROP_TRIGGERS
(
    SCHED_NAME    VARCHAR(120)   NOT NULL,
    TRIGGER_NAME  VARCHAR(200)   NOT NULL,
    TRIGGER_GROUP VARCHAR(200)   NOT NULL,
    STR_PROP_1    VARCHAR(512)   NULL,
    STR_PROP_2    VARCHAR(512)   NULL,
    STR_PROP_3    VARCHAR(512)   NULL,
    INT_PROP_1    INT            NULL,
    INT_PROP_2    INT            NULL,
    LONG_PROP_1   BIGINT         NULL,
    LONG_PROP_2   BIGINT         NULL,
    DEC_PROP_1    NUMERIC(13, 4) NULL,
    DEC_PROP_2    NUMERIC(13, 4) NULL,
    BOOL_PROP_1   VARCHAR(1)     NULL,
    BOOL_PROP_2   VARCHAR(1)     NULL,
    PRIMARY KEY (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP),
    FOREIGN KEY (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP)
        REFERENCES QRTZ_TRIGGERS (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP)
)
    ENGINE = InnoDB
  DEFAULT CHARSET = utf8;

CREATE TABLE QRTZ_BLOB_TRIGGERS
(
    SCHED_NAME    VARCHAR(120) NOT NULL,
    TRIGGER_NAME  VARCHAR(200) NOT NULL,
    TRIGGER_GROUP VARCHAR(200) NOT NULL,
    BLOB_DATA     BLOB         NULL,
    PRIMARY KEY (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP),
    INDEX (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP),
    FOREIGN KEY (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP)
        REFERENCES QRTZ_TRIGGERS (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP)
)
    ENGINE = InnoDB
  DEFAULT CHARSET = utf8;

CREATE TABLE QRTZ_CALENDARS
(
    SCHED_NAME    VARCHAR(120) NOT NULL,
    CALENDAR_NAME VARCHAR(200) NOT NULL,
    CALENDAR      BLOB         NOT NULL,
    PRIMARY KEY (SCHED_NAME, CALENDAR_NAME)
)
    ENGINE = InnoDB
  DEFAULT CHARSET = utf8;

CREATE TABLE QRTZ_PAUSED_TRIGGER_GRPS
(
    SCHED_NAME    VARCHAR(120) NOT NULL,
    TRIGGER_GROUP VARCHAR(200) NOT NULL,
    PRIMARY KEY (SCHED_NAME, TRIGGER_GROUP)
)
    ENGINE = InnoDB
  DEFAULT CHARSET = utf8;

CREATE TABLE QRTZ_FIRED_TRIGGERS
(
    SCHED_NAME        VARCHAR(120) NOT NULL,
    ENTRY_ID          VARCHAR(95)  NOT NULL,
    TRIGGER_NAME      VARCHAR(200) NOT NULL,
    TRIGGER_GROUP     VARCHAR(200) NOT NULL,
    INSTANCE_NAME     VARCHAR(200) NOT NULL,
    FIRED_TIME        BIGINT(13)   NOT NULL,
    SCHED_TIME        BIGINT(13)   NOT NULL,
    PRIORITY          INTEGER      NOT NULL,
    STATE             VARCHAR(16)  NOT NULL,
    JOB_NAME          VARCHAR(200) NULL,
    JOB_GROUP         VARCHAR(200) NULL,
    IS_NONCONCURRENT  VARCHAR(1)   NULL,
    REQUESTS_RECOVERY VARCHAR(1)   NULL,
    PRIMARY KEY (SCHED_NAME, ENTRY_ID)
)
    ENGINE = InnoDB
  DEFAULT CHARSET = utf8;

CREATE TABLE QRTZ_SCHEDULER_STATE
(
    SCHED_NAME        VARCHAR(120) NOT NULL,
    INSTANCE_NAME     VARCHAR(200) NOT NULL,
    LAST_CHECKIN_TIME BIGINT(13)   NOT NULL,
    CHECKIN_INTERVAL  BIGINT(13)   NOT NULL,
    PRIMARY KEY (SCHED_NAME, INSTANCE_NAME)
)
    ENGINE = InnoDB
  DEFAULT CHARSET = utf8;

CREATE TABLE QRTZ_LOCKS
(
    SCHED_NAME VARCHAR(120) NOT NULL,
    LOCK_NAME  VARCHAR(40)  NOT NULL,
    PRIMARY KEY (SCHED_NAME, LOCK_NAME)
)
    ENGINE = InnoDB
  DEFAULT CHARSET = utf8;

CREATE INDEX IDX_QRTZ_J_REQ_RECOVERY ON QRTZ_JOB_DETAILS (SCHED_NAME, REQUESTS_RECOVERY);
CREATE INDEX IDX_QRTZ_J_GRP ON QRTZ_JOB_DETAILS (SCHED_NAME, JOB_GROUP);

CREATE INDEX IDX_QRTZ_T_J ON QRTZ_TRIGGERS (SCHED_NAME, JOB_NAME, JOB_GROUP);
CREATE INDEX IDX_QRTZ_T_JG ON QRTZ_TRIGGERS (SCHED_NAME, JOB_GROUP);
CREATE INDEX IDX_QRTZ_T_C ON QRTZ_TRIGGERS (SCHED_NAME, CALENDAR_NAME);
CREATE INDEX IDX_QRTZ_T_G ON QRTZ_TRIGGERS (SCHED_NAME, TRIGGER_GROUP);
CREATE INDEX IDX_QRTZ_T_STATE ON QRTZ_TRIGGERS (SCHED_NAME, TRIGGER_STATE);
CREATE INDEX IDX_QRTZ_T_N_STATE ON QRTZ_TRIGGERS (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP, TRIGGER_STATE);
CREATE INDEX IDX_QRTZ_T_N_G_STATE ON QRTZ_TRIGGERS (SCHED_NAME, TRIGGER_GROUP, TRIGGER_STATE);
CREATE INDEX IDX_QRTZ_T_NEXT_FIRE_TIME ON QRTZ_TRIGGERS (SCHED_NAME, NEXT_FIRE_TIME);
CREATE INDEX IDX_QRTZ_T_NFT_ST ON QRTZ_TRIGGERS (SCHED_NAME, TRIGGER_STATE, NEXT_FIRE_TIME);
CREATE INDEX IDX_QRTZ_T_NFT_MISFIRE ON QRTZ_TRIGGERS (SCHED_NAME, MISFIRE_INSTR, NEXT_FIRE_TIME);
CREATE INDEX IDX_QRTZ_T_NFT_ST_MISFIRE ON QRTZ_TRIGGERS (SCHED_NAME, MISFIRE_INSTR, NEXT_FIRE_TIME, TRIGGER_STATE);
CREATE INDEX IDX_QRTZ_T_NFT_ST_MISFIRE_GRP ON QRTZ_TRIGGERS (SCHED_NAME, MISFIRE_INSTR, NEXT_FIRE_TIME, TRIGGER_GROUP,
                                                             TRIGGER_STATE);

CREATE INDEX IDX_QRTZ_FT_TRIG_INST_NAME ON QRTZ_FIRED_TRIGGERS (SCHED_NAME, INSTANCE_NAME);
CREATE INDEX IDX_QRTZ_FT_INST_JOB_REQ_RCVRY ON QRTZ_FIRED_TRIGGERS (SCHED_NAME, INSTANCE_NAME, REQUESTS_RECOVERY);
CREATE INDEX IDX_QRTZ_FT_J_G ON QRTZ_FIRED_TRIGGERS (SCHED_NAME, JOB_NAME, JOB_GROUP);
CREATE INDEX IDX_QRTZ_FT_JG ON QRTZ_FIRED_TRIGGERS (SCHED_NAME, JOB_GROUP);
CREATE INDEX IDX_QRTZ_FT_T_G ON QRTZ_FIRED_TRIGGERS (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP);
CREATE INDEX IDX_QRTZ_FT_TG ON QRTZ_FIRED_TRIGGERS (SCHED_NAME, TRIGGER_GROUP);


DROP TABLE IF EXISTS `t_main_process_index_day`;
CREATE TABLE `t_main_process_index_day`  (
                                             `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'id',
                                             `index` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '指标',
                                             `his_avg` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '历史平均',
                                             `theory` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '理论值',
                                             `actual` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '实际值',
                                             `real_data` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '实时数据',
                                             PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Records of t_main_process_index_day
-- ----------------------------
INSERT INTO `t_main_process_index_day` VALUES ('1', 'COG消耗', NULL, NULL, NULL, NULL);
INSERT INTO `t_main_process_index_day` VALUES ('2', 'COG发生', NULL, NULL, NULL, NULL);
INSERT INTO `t_main_process_index_day` VALUES ('3', 'BFG消耗', NULL, NULL, NULL, NULL);
INSERT INTO `t_main_process_index_day` VALUES ('4', '蒸汽消耗', NULL, NULL, NULL, NULL);
INSERT INTO `t_main_process_index_day` VALUES ('5', '蒸汽产生', NULL, NULL, NULL, NULL);
INSERT INTO `t_main_process_index_day` VALUES ('6', '电力消耗', NULL, NULL, NULL, NULL);

SET FOREIGN_KEY_CHECKS = 1;


DROP TABLE IF EXISTS `t_main_process_index_team`;
CREATE TABLE `t_main_process_index_team`  (
                                              `id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'id',
                                              `index` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '指标',
                                              `his_avg` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '历史平均',
                                              `theory` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '理论值',
                                              `actual` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '实际值',
                                              `real_data` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '实时数据',
                                              PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC;

-- ----------------------------
-- Records of t_main_process_index_team
-- ----------------------------
INSERT INTO `t_main_process_index_team` VALUES ('1', 'COG消耗', NULL, NULL, NULL, NULL);
INSERT INTO `t_main_process_index_team` VALUES ('2', 'COG发生', NULL, NULL, NULL, NULL);
INSERT INTO `t_main_process_index_team` VALUES ('3', 'BFG消耗', NULL, NULL, NULL, NULL);
INSERT INTO `t_main_process_index_team` VALUES ('4', '蒸汽消耗', NULL, NULL, NULL, NULL);
INSERT INTO `t_main_process_index_team` VALUES ('5', '蒸汽产生', NULL, NULL, NULL, NULL);
INSERT INTO `t_main_process_index_team` VALUES ('6', '电力消耗', NULL, NULL, NULL, NULL);

SET FOREIGN_KEY_CHECKS = 1;

-- ----------------------------
-- 电力功率因数-电网拓扑
-- ----------------------------
DROP TABLE IF EXISTS `t_power_net_factor`;
CREATE TABLE `t_power_net_factor`  (
                                             `id` varchar(36) NOT NULL COMMENT 'id',
                                             `group_name` varchar(50) NULL DEFAULT NULL COMMENT '分组名称',
                                             `node_name` varchar(50) NULL DEFAULT NULL COMMENT '节点名称',
                                             `cur_p` varchar(50) NULL DEFAULT NULL COMMENT '当前有功',
                                             `cur_q` varchar(50) NULL DEFAULT NULL COMMENT '当前无功',
                                             `cur_cos` varchar(50) NULL DEFAULT NULL COMMENT '当前功率因数',
                                             `pre_p` varchar(50) NULL DEFAULT NULL COMMENT '预测有功',
                                             `pre_q` varchar(50) NULL DEFAULT NULL COMMENT '预测无功',
                                             `pre_cos` varchar(50) NULL DEFAULT NULL COMMENT '预测功率因数',
                                             `item_id` varchar(50) NULL DEFAULT NULL COMMENT '预测项ID',
                                             `out_id` varchar(50) NULL DEFAULT NULL COMMENT '预测项输出ID',
                                             `limit_h` decimal(6, 3) NULL DEFAULT NULL COMMENT '上限',
                                             `limit_l` decimal(6, 3) NULL DEFAULT NULL COMMENT '下限',
                                             `status` int DEFAULT 0 COMMENT '是否超限(0:正常，1：超限)',
                                             `sort` int NULL DEFAULT NULL COMMENT '排序',
                                             PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC COMMENT '电力功率因数电网拓扑';

-- ----------------------------
-- 电力功率因数-电容器投运状态
-- ----------------------------
DROP TABLE IF EXISTS `t_power_capacitor_status`;
CREATE TABLE `t_power_capacitor_status`  (
                                       `id` varchar(36) NOT NULL COMMENT 'id',
                                       `name` varchar(50) NULL DEFAULT NULL COMMENT '电容器名称',
                                       `main_count` varchar(50) NULL DEFAULT NULL COMMENT '主变数量',
                                       `main_point` varchar(500) NULL DEFAULT NULL COMMENT '主变测点编码',
                                       `child_count` varchar(50) NULL DEFAULT NULL COMMENT '下属数量',
                                       `child_point` varchar(500) NULL DEFAULT NULL COMMENT '下属测点编码',
                                       `on_count` varchar(500) NULL DEFAULT NULL COMMENT '投运数量',
                                       `remark` varchar(50) NULL DEFAULT NULL COMMENT '备注',
                                       `sort` int NULL DEFAULT NULL COMMENT '排序',
                                       PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC COMMENT '电力功率因数电容器投运状态';

-- ----------------------------
-- 电力功率因数-管控功率因数主表
-- ----------------------------
DROP TABLE IF EXISTS `t_power_control_main`;
CREATE TABLE `t_power_control_main` (
                                             `id` varchar(36) NOT NULL COMMENT 'id',
                                             `name` varchar(50) NULL DEFAULT NULL COMMENT '名称',
                                             `remark` varchar(50) NULL DEFAULT NULL COMMENT '备注',
                                             `sort` int NULL DEFAULT NULL COMMENT '排序',
                                             PRIMARY KEY (`id`) USING BTREE,
                                             UNIQUE INDEX `uk_name` varchar(50) NULL DEFAULT NULL COMMENT '名称'
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC COMMENT '电力功率因数管控功率因数主表';

-- ----------------------------
-- 电力功率因数-管控功率因数从表
-- ----------------------------
DROP TABLE IF EXISTS `t_power_control_det`;
CREATE TABLE `t_power_control_det` (
                                        `id` varchar(36) NOT NULL COMMENT 'id',
                                        `control_id` varchar(36) NOT NULL COMMENT '主表ID',
                                        `name` varchar(50) NULL DEFAULT NULL COMMENT '名称',
                                        `point` varchar(50) NULL DEFAULT NULL COMMENT '测点',
                                        `limit_l` decimal(6, 3) NULL DEFAULT NULL COMMENT '下限',
                                        `status` int DEFAULT 0 COMMENT '是否超限(0:正常，1：超限)',
                                        `sort` int NULL DEFAULT NULL COMMENT '排序',
                                        PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC COMMENT '电力功率因数管控功率因数从表';