/*------begin 03月31号 郭恩洲 新创建表 sys_mobile_banner*/
DROP TABLE IF EXISTS sys_mobile_banner;
CREATE TABLE sys_mobile_banner(
    id INT(11) NOT NULL AUTO_INCREMENT  COMMENT '主键ID' ,
    tenant_id INT(11) NOT NULL   COMMENT '租户ID' ,
    open_not INT(1)    COMMENT '是否开启banner;0、关闭 1、开启' ,
    carousel_time INT(5)    COMMENT '轮播时间(s)' ,
    banner_path1 VARCHAR(100)    COMMENT '轮播图路径1' ,
    banner_path2 VARCHAR(100)    COMMENT '轮播图路径2' ,
    banner_path3 VARCHAR(100)    COMMENT '轮播图路径3' ,
    banner_path4 VARCHAR(100)    COMMENT '轮播图路径4' ,
    banner_path5 VARCHAR(100)    COMMENT '轮播图路径5' ,
    link_type1 INT(1)    COMMENT '链接类型1;1、内链 2、外链' ,
    link_type2 INT(1)    COMMENT '链接类型2;1、内链 2、外链' ,
    link_type3 INT(1)    COMMENT '链接类型3;1、内链 2、外链' ,
    link_type4 INT(1)    COMMENT '链接类型4;1、内链 2、外链' ,
    link_type5 INT(1)    COMMENT '链接类型5;1、内链 2、外链' ,
    link_url1 VARCHAR(255)    COMMENT '链接地址1' ,
    link_url3 VARCHAR(255)    COMMENT '链接地址3' ,
    link_url4 VARCHAR(255)    COMMENT '链接地址4' ,
    link_url5 VARCHAR(255)    COMMENT '链接地址4' ,
    link_url2 VARCHAR(255)    COMMENT '链接地址2' ,
    create_by VARCHAR(64)    COMMENT '创建者' ,
    create_time DATETIME    COMMENT '创建时间' ,
    update_by VARCHAR(64)    COMMENT '更新者' ,
    update_time DATETIME    COMMENT '更新时间' ,
    PRIMARY KEY (id)
)  COMMENT = '移动端_banner图配置表';
/*------end 03月31号 郭恩洲 新创建表 sys_mobile_banner*/

/*------begin 05月07号 韩正义 新创建表 mce_content、mce_receive、mce_setting*/
DROP TABLE IF EXISTS mce_content;
CREATE TABLE `mce_content` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `info_title` varchar(200) DEFAULT NULL COMMENT '消息标题',
  `info_content` varchar(255) DEFAULT NULL COMMENT '消息内容',
  `info_type` varchar(100) DEFAULT NULL COMMENT '消息类型',
  `tenant_id` int(11) DEFAULT NULL COMMENT '租户号',
  `dept_id` int(11) DEFAULT NULL COMMENT '组织机构ID',
  `create_by` varchar(25) DEFAULT NULL COMMENT '创建人',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(25) DEFAULT NULL COMMENT '更新人',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='消息内容表';

CREATE TABLE `mce_receive` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `receiver_id` int(11) DEFAULT NULL COMMENT '接收人ID',
  `receiver_name` varchar(30) DEFAULT NULL COMMENT '接收人',
  `info_type` varchar(100) DEFAULT NULL COMMENT '消息类型',
  `read_flag` int(1) DEFAULT NULL COMMENT '是否已读;0、未读，1、已读',
  `content_id` int(11) DEFAULT NULL COMMENT '消息内容ID',
  `module_id` int(11) DEFAULT NULL COMMENT '子模块记录ID',
  `tenant_id` int(11) DEFAULT NULL COMMENT '租户号',
  `dept_id` int(11) DEFAULT NULL COMMENT '组织机构ID',
  `create_by` varchar(25) DEFAULT NULL COMMENT '创建人',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(25) DEFAULT NULL COMMENT '更新人',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='消息接收表';

CREATE TABLE `mce_setting` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `app_mode` varchar(500) DEFAULT NULL COMMENT 'APP通知方式',
  `pc_mode` varchar(500) DEFAULT NULL COMMENT 'PC端通知方式',
  `wc_mode` varchar(500) DEFAULT NULL COMMENT '微信端通知方式',
  `tenant_id` int(11) DEFAULT NULL COMMENT '租户号',
  `dept_id` int(11) DEFAULT NULL COMMENT '组织机构ID',
  `create_by` varchar(25) DEFAULT NULL COMMENT '创建人',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(25) DEFAULT NULL COMMENT '更新人',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='消息设置表';
/*------end 05月07号 韩正义 新创建表 mce_content、mce_receive、mce_setting*/

/*------begin 05月29号 韩正义 新创建表 base_app_info*/
CREATE TABLE `base_app_info` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `device_id` varchar(50) DEFAULT NULL COMMENT '设备ID',
  `user_name` varchar(30) DEFAULT NULL COMMENT '用户账号',
  `device_model` varchar(50) DEFAULT NULL COMMENT '设备型号',
  `access_ip` varchar(50) DEFAULT NULL COMMENT '访问IP',
  `network_type` varchar(20) DEFAULT NULL COMMENT '网络类型',
  `network_service` text COMMENT '网络服务商',
  `operate_system` varchar(30) DEFAULT NULL COMMENT '操作系统',
  `longitude` varchar(30) DEFAULT NULL COMMENT '经度',
  `latitude` varchar(30) DEFAULT NULL COMMENT '纬度',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  `update_by` varchar(25) DEFAULT NULL COMMENT '更新人',
  `create_by` varchar(25) DEFAULT NULL COMMENT '创建人',
  `dept_id` int(11) DEFAULT NULL COMMENT '组织机构ID',
  `tenant_id` int(11) DEFAULT NULL COMMENT '租户ID',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='APP用户心跳信息';
/*------end 05月29号 韩正义 新创建表 base_app_info*/

/*------begin 06月04号 韩正义 新创建表 pm_project、pm_work_report、pm_work_content*/
CREATE TABLE `pm_project`  (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '项目表主键ID',
  `project_name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '项目名称',
  `start_time` datetime NULL DEFAULT NULL COMMENT '项目开始时间',
  `end_time` datetime NULL DEFAULT NULL COMMENT '项目结束时间',
  `project_describe` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '项目描述',
  `project_type` int(1) NULL DEFAULT 0 COMMENT '项目类型(1：人力外包，2：项目研发，3：采购项目，4：过标项目，5：集成项目，6：其他)',
  `project_status` int(1) NULL DEFAULT 0 COMMENT '项目状态(1：未开始；2；进行中；3：已完成；4：已暂停；5：已作废)',
  `project_head` bigint(20) NULL DEFAULT NULL COMMENT '负责人',
  `project_member` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '项目成员',
  `project_workload` decimal(6, 2) NULL DEFAULT NULL COMMENT '项目工作量(计划人/天)',
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
  `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
  `dept_id` bigint(20) NULL DEFAULT NULL COMMENT '部门ID',
  `tenant_id` int(11) NULL DEFAULT NULL COMMENT '租户ID',
  `del_flag` int(1) NULL DEFAULT 0 COMMENT '删除标识（默认0，已删除1）',
  PRIMARY KEY (`id`) USING BTREE,
  INDEX `project_head`(`project_head`) USING BTREE,
  CONSTRAINT `pm_project_ibfk_1` FOREIGN KEY (`project_head`) REFERENCES `sys_user` (`user_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '项目表' ROW_FORMAT = Dynamic;

CREATE TABLE `pm_work_report`  (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '工作报告表主键ID',
  `submitter_id` bigint(20) NULL DEFAULT NULL COMMENT '提交人ID',
  `report_date` date NULL DEFAULT NULL COMMENT '报告时间',
  `submit_date` datetime NULL DEFAULT NULL COMMENT '提交时间',
  `total_hours` decimal(10, 2) NULL DEFAULT NULL COMMENT '总工时',
  `cc_to` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '抄送人',
  `coordinate_work` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '工作协调',
  `tomorrow_plan` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '明日计划',
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
  `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
  `dept_id` bigint(20) NULL DEFAULT NULL COMMENT '部门ID',
  `tenant_id` int(11) NULL DEFAULT NULL COMMENT '租户ID',
  PRIMARY KEY (`id`) USING BTREE,
  INDEX `submitter_id`(`submitter_id`) USING BTREE,
  CONSTRAINT `pm_work_report_ibfk_1` FOREIGN KEY (`submitter_id`) REFERENCES `sys_user` (`user_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '工作报告表' ROW_FORMAT = Dynamic;

CREATE TABLE `pm_work_content`  (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '工作内容表主键ID',
  `report_id` int(11) NULL DEFAULT NULL COMMENT '工作报告表主键ID',
  `project_id` int(11) NULL DEFAULT NULL COMMENT '项目ID',
  `project_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '项目名称',
  `submitter_id` bigint(20) NULL DEFAULT NULL COMMENT '提交人ID',
  `work_content` varchar(520) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '工作内容',
  `work_time` decimal(4, 2) NULL DEFAULT NULL COMMENT '工时',
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
  `create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
  `update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
  `dept_id` bigint(20) NULL DEFAULT NULL COMMENT '部门ID',
  `tenant_id` int(11) NULL DEFAULT NULL COMMENT '租户ID',
  PRIMARY KEY (`id`) USING BTREE,
  INDEX `submitter_id`(`submitter_id`) USING BTREE,
  INDEX `report_id`(`report_id`) USING BTREE,
  INDEX `pm_work_content_ibfk_3`(`project_id`) USING BTREE,
  CONSTRAINT `pm_work_content_ibfk_1` FOREIGN KEY (`submitter_id`) REFERENCES `sys_user` (`user_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  CONSTRAINT `pm_work_content_ibfk_2` FOREIGN KEY (`report_id`) REFERENCES `pm_work_report` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  CONSTRAINT `pm_work_content_ibfk_3` FOREIGN KEY (`project_id`) REFERENCES `pm_project` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '工作内容表' ROW_FORMAT = Dynamic;
/*------end 06月04号 韩正义 新创建表 pm_project、pm_work_report、pm_work_content*/

/*------begin 06月14号 韩正义 新创建表 dmp_device_linkage*/
CREATE TABLE `dmp_device_linkage` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `device_id` varchar(50) NOT NULL COMMENT '设备ID;设备注册时系统自动生成一个唯一编号',
  `device_type` int(12) NOT NULL DEFAULT '0' COMMENT '设备类型（501、监控系统  502、门禁系统  503、梯控系统  504、机房系统  509、环境系统  510、照明系统）',
  `linkage_address` varchar(200) DEFAULT NULL COMMENT '联动地址',
  `group_id` int(12) DEFAULT NULL COMMENT '分组id',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
/*------end 06月14号 韩正义 新创建表 dmp_device_linkage*/

/*------begin 06月24号 韩正义 心跳表增加字段*/
ALTER TABLE `base_app_info` ADD COLUMN `device_status` INT(2) DEFAULT '0' COMMENT '设备状态（0 正常，1 故障）';
ALTER TABLE `base_app_info` ADD COLUMN `check_status` INT(2) DEFAULT '0' COMMENT '自检状态（0 未自检，1 自检）';
/*------end 06月24号 韩正义 心跳表增加字段*/

/*------begin 07月04号 韩正义 消息接收表增加字段*/
ALTER TABLE `mce_receive` ADD COLUMN `issuer_name` varchar(50) DEFAULT NULL COMMENT '发布人';
/*------end 07月04号 韩正义 消息接收表增加字段*/

/*------begin 07月09号 韩正义 工作报告表增加索引*/
ALTER TABLE pm_work_report ADD UNIQUE KEY user_report (submitter_id, report_date);
/*------end 07月09号 韩正义 工作报告表增加索引*/

/*------begin 07月11号 韩正义 创建报告接收表*/
DROP TABLE IF EXISTS pm_receive;
CREATE TABLE `pm_receive` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `receiver_id` bigint(20) DEFAULT NULL COMMENT '接收人ID',
  `receiver_name` varchar(30) DEFAULT NULL COMMENT '接收人',
  `report_id` int(11) DEFAULT NULL COMMENT '报告id',
  `read_flag` int(1) DEFAULT '0' COMMENT '是否已读;0、未读，1、已读',
  `tenant_id` int(11) DEFAULT NULL COMMENT '租户号',
  `dept_id` bigint(20) DEFAULT NULL COMMENT '组织机构ID',
  `create_by` varchar(25) DEFAULT NULL COMMENT '创建人',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(25) DEFAULT NULL COMMENT '更新人',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`),
  KEY `pm_receive_ibfk_1` (`receiver_id`),
  KEY `pm_receive_ibfk_2` (`report_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='报告接收表';
/*------end 07月11号 韩正义 创建报告接收表*/

/*------begin 08月20号 韩正义 租户配置表增加字段*/
ALTER TABLE `sys_tenant_config` ADD COLUMN `middle_type` INT(1) DEFAULT '1' COMMENT '中间页显示类型：0 应用列表 1 菜单列表';
/*------end 08月20号 韩正义 租户配置表增加字段middle_type*/

/*------begin 08月01号 付宇川 工作报告表表增加字段*/
ALTER TABLE `pm_work_report`
ADD COLUMN `timing_time` datetime DEFAULT NULL COMMENT '定时时间';

ALTER TABLE `pm_work_report`
ADD COLUMN `report_status` tinyint(1) DEFAULT 1 COMMENT '报告状态（默认1; 0：保存状态；1：发送状态）';

ALTER TABLE `pm_work_report`
ADD COLUMN `is_regularly_send` tinyint(1) DEFAULT 0 COMMENT '是否定时（默认0; 0：否，1：是）';
/*------end 08月01号 付宇川 工作报告表表增加字段*/

/*------begin 08月07号 詹叶俊 帮助中心建议反馈表*/
DROP TABLE IF EXISTS hce_review;
CREATE TABLE `hce_review` (
  `id` INT(12) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `user_name` VARCHAR(30) NOT NULL COMMENT '用户账号',
  `nick_name` VARCHAR(30) NOT NULL COMMENT '用户昵称',
  `review_type` INT(2) NOT NULL COMMENT '反馈问题类型',
  `review_content` VARCHAR(1000) NOT NULL COMMENT '反馈问题内容',
  `review_picture` VARCHAR(500) DEFAULT NULL COMMENT '反馈图片',
  `status` INT(2) NOT NULL COMMENT '状态',
  `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `handle_by` VARCHAR(32) DEFAULT NULL COMMENT '处理人',
  `handle_time` DATETIME DEFAULT NULL COMMENT '处理时间',
  `dept_id` INT(20) DEFAULT NULL COMMENT '组织结构ID',
  `tenant_id` INT(12) DEFAULT NULL COMMENT '租户ID',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=INNODB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='帮助中心建议反馈表';
/*------end 08月07号 詹叶俊 帮助中心建议反馈表*/

/*------begin 08月08号 詹叶俊 帮助中心建议反馈表新增处理内容字段*/
ALTER TABLE `hce_review` ADD COLUMN `handle_content` VARCHAR(200) DEFAULT NULL COMMENT '处理内容';
/*------end 08月08号 詹叶俊 帮助中心建议反馈表新增处理内容字段*/

/*------begin 08月19号 詹叶俊 帮助中心建议反馈表修改字段属性和新增评分相关字段*/
ALTER TABLE `hce_review` ADD COLUMN `hce_code` VARCHAR(30) NOT NULL COMMENT '反馈单编码';
ALTER TABLE `hce_review` CHANGE user_name review_name VARCHAR(30) NOT NULL COMMENT '反馈人';
ALTER TABLE `hce_review` DROP nick_name;
ALTER TABLE `hce_review` ADD COLUMN `email` VARCHAR(50) DEFAULT '' COMMENT '用户邮箱';
ALTER TABLE `hce_review` ADD COLUMN `phonenumber` VARCHAR(11) DEFAULT '' COMMENT '手机号码';
ALTER TABLE `hce_review` MODIFY `review_type` INT(2) NOT NULL COMMENT '反馈类型';
ALTER TABLE `hce_review` MODIFY `review_content` VARCHAR(1000) NOT NULL COMMENT '反馈描述';
ALTER TABLE `hce_review` MODIFY `handle_by` VARCHAR(32) DEFAULT NULL COMMENT '处理人';
ALTER TABLE `hce_review` ADD COLUMN `score` FLOAT DEFAULT NULL COMMENT '评分';
ALTER TABLE `hce_review` ADD COLUMN `appraise_content` VARCHAR(1000) DEFAULT NULL COMMENT '评价内容';
ALTER TABLE `hce_review` ADD COLUMN `create_by` VARCHAR(25) DEFAULT NULL COMMENT '创建人';
ALTER TABLE `hce_review` ADD COLUMN `update_by` VARCHAR(25) DEFAULT NULL COMMENT '更新人';
ALTER TABLE `hce_review` ADD COLUMN `update_time` DATETIME DEFAULT NULL COMMENT '更新时间';
/*------end 08月19号 詹叶俊 帮助中心建议反馈表修改字段属性和新增评分相关字段*/

/*------begin 08月19号 韩正义 新增租户和应用关联表*/
CREATE TABLE `sys_tenant_platform` (
  `tenant_id` int(11) NOT NULL DEFAULT '0' COMMENT '租户ID',
  `platform_id` int(11) NOT NULL DEFAULT '0' COMMENT '应用ID',
  `is_default` tinyint(1) DEFAULT '0' COMMENT '是否为默认应用（默认0; 0：否，1：是）',
  PRIMARY KEY (`tenant_id`,`platform_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='租户和应用关联表';
/*------end 08月19号 韩正义 新增租户和应用关联表*/

/*------begin 08月20号 韩正义 平台信息表新增应用图标字段*/
ALTER TABLE `sys_platform` ADD COLUMN `icon` VARCHAR(100) DEFAULT NULL COMMENT '应用图标';
/*------end 08月20号 韩正义 平台信息表新增应用图标字段*/

/*------begin 08月20号 韩正义 租户配置表增加字段*/
ALTER TABLE `sys_tenant_config` ADD COLUMN `middle_type` INT(1) DEFAULT '1' COMMENT '中间页显示类型：0 应用列表 1 菜单列表';
/*------end 08月20号 韩正义 租户配置表增加字段middle_type*/

/*------begin 08月29号 赵金雨 系统访问记录表增加字段*/
ALTER TABLE `sys_logininfor` ADD COLUMN `login_location` VARCHAR(255) DEFAULT NULL COMMENT '登录地点';
ALTER TABLE `sys_logininfor` ADD COLUMN `browser` VARCHAR(50) DEFAULT NULL COMMENT '浏览器类型';
ALTER TABLE `sys_logininfor` ADD COLUMN `os` VARCHAR(50) DEFAULT NULL COMMENT '操作系统';
/*------end 08月29号 赵金雨 系统访问记录表增加字段登录地点,浏览器类型,操作系统*/

/*------begin 09月5号 赵金雨 操作日志表增加字段*/
ALTER TABLE `sys_oper_log` ADD COLUMN `start_time` DATETIME DEFAULT NULL COMMENT '执行开始时间';
ALTER TABLE `sys_oper_log` ADD COLUMN `end_time` DATETIME DEFAULT NULL COMMENT '执行结束时间';
ALTER TABLE `sys_oper_log` ADD COLUMN `consuming_time` BIGINT(20) DEFAULT NULL COMMENT '执行耗时';
ALTER TABLE `sys_oper_log` ADD COLUMN `consuming_time_with_unit` VARCHAR(255) DEFAULT NULL COMMENT '执行耗时毫秒';
/*------end 09月5号 赵金雨 操作日志表增加字段执行开始时间,执行结束时间,执行耗时毫秒*/

/*------begin 09月11号 付宇川 项目信息表修改字段*/
ALTER TABLE `pm_project` MODIFY COLUMN `project_describe` varchar(512) DEFAULT NULL COMMENT '项目描述';
/*------end 09月11号 付宇川 项目信息表修改字段*/

/*------begin 09月19号 付宇川 项目信息表、报告表新增和修改字段*/
ALTER TABLE `pm_project` ADD COLUMN `visible_range` tinyint(1) DEFAULT 1 COMMENT '项目可见范围(1：公开；2：私有，指定人（创建人、负责人、项目成员）可见)';
ALTER TABLE `pm_project` MODIFY COLUMN `project_workload` decimal(6,1) DEFAULT NULL COMMENT '项目工作量(计划人/天)';
ALTER TABLE `pm_work_report` ADD COLUMN `report_file` varchar(500) DEFAULT NULL COMMENT '报告附件（以逗号隔开）';
ALTER TABLE `pm_work_report` ADD COLUMN `report_image` varchar(500) DEFAULT NULL COMMENT '报告图片（以逗号隔开）';
ALTER TABLE `pm_work_report` MODIFY COLUMN `total_hours` decimal(3,1) DEFAULT NULL COMMENT '总工时';
ALTER TABLE `pm_work_content` MODIFY COLUMN `work_time` decimal(3,1) DEFAULT NULL COMMENT '工时';
/*------end 09月19号 付宇川 项目信息表、报告表新增和修改字段*/

/*------begin 09月09号 詹叶俊 在设备信息表中新增联合唯一索引（product_id,device_id）和单字段device_uuid唯一索引*/
UPDATE dmp_device SET device_uuid = REPLACE(UUID(),'-','')  WHERE device_uuid = '';
alter table dmp_device add unique (device_uuid);
alter table dmp_device add unique key `pro_dev` (`product_id`,`device_id`);
/*------end 09月09号 詹叶俊 在设备信息表中新增联合唯一索引（product_id,device_id）和单字段device_uuid唯一索引*/

/*------begin 09月26号 詹叶俊 创建下发命令历史记录表*/
DROP TABLE IF EXISTS dmp_device_command;
CREATE TABLE `dmp_device_command` (
  `id` INT(12) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `product_code` VARCHAR(50) NOT NULL COMMENT '产品编码',
  `device_id` VARCHAR(30) NOT NULL COMMENT '设备编码',
  `command_content` VARCHAR(500) NOT NULL COMMENT '下发命令内容',
  `command_response` VARCHAR(500) DEFAULT NULL COMMENT '下发命令响应内容',
  `command_status` INT(2) DEFAULT 0 COMMENT '命令状态;0 命令执行中，1 命令成功，2 命令失败',
  `created_by` VARCHAR(32) DEFAULT NULL COMMENT '创建人',
  `created_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updated_by` VARCHAR(32) DEFAULT NULL COMMENT '更新人',
  `updated_time` DATETIME DEFAULT NULL COMMENT '更新时间',
  `dept_id` INT(20) DEFAULT NULL COMMENT '组织结构ID',
  `tenant_id` INT(12) DEFAULT NULL COMMENT '租户ID',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='创建下发命令历史记录表';
/*------end 09月26号 詹叶俊 创建下发命令历史记录表*/

/*------begin 10月12号 詹叶俊 设备信息表增加经度、维度字段*/
alter table `dmp_device` add column `longitude` VARCHAR(50) DEFAULT NULL COMMENT '经度';
alter table `dmp_device` add column `latitude` VARCHAR(50) DEFAULT NULL COMMENT '纬度';
/*------end 10月12号 詹叶俊 设备信息表增加经度、维度字段*/

/*------begin 10月18号 韩正义 新增用户和租户关联表*/
DROP TABLE IF EXISTS `sys_user_tenant`;
CREATE TABLE `sys_user_tenant` (
  `user_id` bigint(20) NOT NULL COMMENT '用户ID',
  `tenant_id` int(11) NOT NULL DEFAULT '0' COMMENT '租户ID',
  `is_default` tinyint(1) DEFAULT '0' COMMENT '是否为默认应用（默认0; 0：否，1：是）',
  PRIMARY KEY (`user_id`,`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
/*------end 10月18号 韩正义 新增用户和租户关联表*/

/*------begin 11月7号 詹叶俊 修改设备下发命令记录表中设备id字段的大小，以及新增操作人和操作人Id两个字段*/
alter table dmp_device_command modify column device_id varchar(50);
ALTER TABLE `dmp_device_command` ADD COLUMN `user_name` VARCHAR(100) DEFAULT NULL COMMENT '操作人';
ALTER TABLE `dmp_device_command` ADD COLUMN `user_id` BIGINT(20) DEFAULT NULL COMMENT '操作人Id';
/*------end 11月7号 詹叶俊 修改设备下发命令记录表中设备id字段的大小，以及新增操作人和操作人Id两个字段*/



/*------begin 11月7号 韩正义 新增视频中心相关表*/
DROP TABLE IF EXISTS `vc_device`;
CREATE TABLE `vc_device` (
  `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '视频中心主键ID',
  `video_number` VARCHAR(50) NOT NULL COMMENT '视频编号',
  `video_name` VARCHAR(100) NOT NULL COMMENT '视频名称',
  `video_stream` VARCHAR(50) DEFAULT NULL COMMENT '视频流',
  `camera_type` INT(2) DEFAULT NULL COMMENT '摄像机类型',
  `stream_id` INT(11) DEFAULT '0' COMMENT '流媒体ID',
  `group_id` INT(11) DEFAULT '0' COMMENT '设备分组ID',
  `create_by` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME DEFAULT NULL COMMENT '创建时间',
  `update_by` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME DEFAULT NULL COMMENT '更新时间',
  `dept_id` BIGINT(20) DEFAULT NULL COMMENT '部门ID',
  `tenant_id` INT(11) DEFAULT NULL COMMENT '租户ID',
  `del_flag` INT(1) DEFAULT '0' COMMENT '删除标识（默认0，已删除1）',
  PRIMARY KEY (`id`)
) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='视频配置信息表';

DROP TABLE IF EXISTS `vc_device_group`;
CREATE TABLE `vc_device_group` (
  `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '站点分组表主键ID',
  `group_name` VARCHAR(50) CHARACTER SET utf8 NOT NULL COMMENT '分组名称',
  `create_by` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME DEFAULT NULL COMMENT '创建时间',
  `update_by` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME DEFAULT NULL COMMENT '更新时间',
  `dept_id` BIGINT(20) DEFAULT NULL COMMENT '部门ID',
  `tenant_id` INT(11) DEFAULT NULL COMMENT '租户ID',
  PRIMARY KEY (`id`)
) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='视频配置分组表';

DROP TABLE IF EXISTS `vc_stream`;
CREATE TABLE `vc_stream` (
  `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '流媒体主键ID',
  `stream_name` VARCHAR(100) CHARACTER SET utf8 DEFAULT NULL COMMENT '流媒体名称',
  `platform_address` VARCHAR(100) CHARACTER SET utf8 DEFAULT NULL COMMENT '平台地址',
  `user_key` VARCHAR(50) CHARACTER SET utf8 DEFAULT NULL COMMENT '用户KEY',
  `user_password` VARCHAR(100) CHARACTER SET utf8 DEFAULT NULL COMMENT '用户密码',
  `platform_type` INT(1) DEFAULT NULL COMMENT '平台类型',
  `deploy_ambient` VARCHAR(50) CHARACTER SET utf8 DEFAULT NULL COMMENT '部署环境',
  `create_by` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
  `create_time` DATETIME DEFAULT NULL COMMENT '创建时间',
  `update_by` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者',
  `update_time` DATETIME DEFAULT NULL COMMENT '更新时间',
  `dept_id` BIGINT(20) DEFAULT NULL COMMENT '部门ID',
  `tenant_id` INT(11) DEFAULT NULL COMMENT '租户ID',
  `del_flag` INT(1) DEFAULT '0' COMMENT '删除标识（默认0，已删除1）',
  PRIMARY KEY (`id`)
) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='视频流信息表';
/*------end  11月7号 韩正义 新增视频中心相关表*/

/*------begin 11月7号 詹叶俊 新增产品命令表*/
DROP TABLE IF EXISTS `dmp_product_command`;
CREATE TABLE `dmp_product_command` (
  `id` INT(12) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `product_code` VARCHAR(50) NOT NULL COMMENT '产品编码',
  `command_code` VARCHAR(50) NOT NULL COMMENT '命令编码',
  `command_name` VARCHAR(50) NOT NULL COMMENT '命令名称',
  `data_type` INT(2) NOT NULL COMMENT '数据类型（1、状态量 2、模拟量）',
  `command_unit` VARCHAR(50) DEFAULT NULL COMMENT '单位',
  `maximum` DECIMAL(24,6) DEFAULT NULL COMMENT '最大值',
  `minimum` DECIMAL(24,6) DEFAULT NULL COMMENT '最小值',
  `command_dict` VARCHAR(300) DEFAULT NULL COMMENT '命令字典',
  `command_describe` VARCHAR(300) DEFAULT NULL COMMENT '命令描述',
  `remark` VARCHAR(500) DEFAULT NULL COMMENT '备注',
  `delete_flag` INT(1) DEFAULT '0' COMMENT '删除标识;0：未删除，1：已删除',
  `created_by` VARCHAR(32) DEFAULT NULL COMMENT '创建人',
  `created_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updated_by` VARCHAR(32) DEFAULT NULL COMMENT '更新人',
  `updated_time` DATETIME DEFAULT NULL COMMENT '更新时间',
  `tenant_id` INT(12) DEFAULT NULL COMMENT '租户号',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='产品命令表';
/*------end 11月7号 詹叶俊 新增产品命令表*/

/*------begin 11月15号 詹叶俊 新增人脸卡号与设备关联表，以及人脸信息表和人脸日志表新增卡号和验证类型*/
ALTER TABLE `meeting_face` CHANGE update_extend2 card_num VARCHAR(30) DEFAULT NULL COMMENT '卡号';
ALTER TABLE `meeting_face` CHANGE update_extend3 bind_device VARCHAR(500) DEFAULT NULL COMMENT '绑定设备'; 
ALTER TABLE `meeting_face` ADD UNIQUE(`user_id`);
ALTER TABLE `meeting_face_vef_log` ADD COLUMN `face_base` LONGTEXT COLLATE utf8mb4_icelandic_ci COMMENT '人脸图片数据base_64编码';
ALTER TABLE `meeting_face_vef_log` ADD COLUMN `card_num` VARCHAR(30) COLLATE utf8mb4_icelandic_ci DEFAULT NULL COMMENT '卡号';
ALTER TABLE `meeting_face_vef_log` ADD COLUMN `vef_type` INT(1) DEFAULT NULL COMMENT '验证类型(1、人脸 2、卡号)';

CREATE TABLE `meeting_face_device` (
	`face_id` INT(11) NOT NULL COMMENT '人脸主键ID',
	`device_id` INT(12) NOT NULL COMMENT '设备主键ID',
	PRIMARY KEY (`face_id`,`device_id`)
)ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8  COMMENT='人脸设备关联表';
/*------end 11月15号 詹叶俊 新增人脸卡号与设备关联表，以及人脸信息表和人脸日志表新增卡号和验证类型*/

/*------begin 11月19号 韩正义 视频设备表新加字段*/
alter table `vc_device` add column `order_num` int(4) DEFAULT '0' COMMENT '排序';
alter table `vc_device` add column `access` int(4) DEFAULT '0' COMMENT '获取方式';
alter table `vc_device` add column `video_desc` varchar(500) DEFAULT NULL COMMENT '视频描述';
alter table `vc_device` add column `video_ip` varchar(50) DEFAULT NULL COMMENT '摄像头IP';
alter table `vc_device` add column `video_port` int(10) DEFAULT '0' COMMENT '摄像头端口';
alter table `vc_device_group` add column `order_num` int(4) DEFAULT '0' COMMENT '排序';
alter table `vc_stream` add column `stream_desc` varchar(500) DEFAULT NULL COMMENT '流媒体描述';
alter table `vc_device` add column `account_number` varchar(50) DEFAULT NULL COMMENT '摄像头账号';
alter table `vc_device` add column `video_password` varchar(50) DEFAULT NULL COMMENT '摄像头密码';
/*------end 11月19号 韩正义 视频设备表新加字段*/

/*------begin 12月4号 詹叶俊 新增门禁_设备信息表、门禁_通行记录表和修改会议屏设备表-设备列表字段*/
ALTER TABLE `meeting_device` CHANGE device_id device_uuid BIGINT(20) NOT NULL COMMENT '设备uuid';
ALTER TABLE `meeting_device` ADD COLUMN `eg_device_id` INT(12) DEFAULT NULL COMMENT '门禁设备主键id';
ALTER TABLE `meeting_device` ADD COLUMN `install_address` VARCHAR(100) DEFAULT NULL COMMENT '安装位置';

CREATE TABLE `eg_device` (
  `id` INT(12) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `device_uuid` VARCHAR(50) NOT NULL COMMENT '设备uuid',
  `device_id` VARCHAR(50) NOT NULL COMMENT '设备ID',
  `device_name` VARCHAR(255) DEFAULT NULL COMMENT '设备名称',
  `install_address` VARCHAR(100) DEFAULT NULL COMMENT '安装位置',
  `service_status` INT(2) NOT NULL COMMENT '业务状态;1：未激活，2：已激活，3：禁用',
  `device_ip` VARCHAR(50) DEFAULT NULL COMMENT 'IP',
  `device_port` INT(10) DEFAULT '0' COMMENT '端口',
  `eg_number` VARCHAR(10)  DEFAULT NULL COMMENT '门禁号',
  `bind_face` VARCHAR(500) DEFAULT NULL COMMENT '绑定人脸信息'
  `create_by` VARCHAR(255) DEFAULT NULL COMMENT '创建者',
  `update_by` VARCHAR(255) DEFAULT NULL COMMENT '更新者',
  `create_time` DATETIME DEFAULT NULL COMMENT '创建日期',
  `update_time` DATETIME DEFAULT NULL COMMENT '更新时间',
  `dept_id` INT(12) DEFAULT NULL COMMENT '组织机构ID',
  `tenant_id` INT(12) DEFAULT NULL COMMENT '租户ID',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='门禁_设备信息表';

CREATE TABLE `eg_record` (
  `id` INT(12) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `user_name` VARCHAR(255) DEFAULT NULL COMMENT '用户姓名',
  `pass_time` DATETIME DEFAULT NULL COMMENT '通行时间',
  `eg_device_id` INT(12) DEFAULT NULL COMMENT '门禁设备主键id',
  `pass_type` INT(1) DEFAULT NULL COMMENT '通行方式(1、人脸 2、刷卡 3、手机)',
  `face_base` LONGTEXT  DEFAULT NULL COMMENT '人脸图片数据 base_64编码',
  `card_num` VARCHAR(30) DEFAULT NULL COMMENT '卡号',
  `pass_result` VARCHAR(200) DEFAULT NULL COMMENT '通行结果',
  `create_by` VARCHAR(255) DEFAULT NULL COMMENT '创建者',
  `update_by` VARCHAR(255) DEFAULT NULL COMMENT '更新者',
  `create_time` DATETIME DEFAULT NULL COMMENT '创建日期',
  `update_time` DATETIME DEFAULT NULL COMMENT '更新时间',
  `dept_id` INT(12) DEFAULT NULL COMMENT '组织机构ID',
  `tenant_id` INT(12) DEFAULT NULL COMMENT '租户ID',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='门禁_通行记录表';

ALTER TABLE `dmp_device_command` change device_id device_uuid  VARCHAR(50) NOT NULL COMMENT '设备uuid';
/*------end 12月4号 詹叶俊 新增门禁_设备信息表、门禁_通行记录表和修改会议屏设备表-设备列表字段*/

/*------begin 12月25号 付宇川 项目信息表修改 项目成员 字段修改*/
ALTER TABLE `pm_project` MODIFY COLUMN `project_member` varchar(512) DEFAULT NULL COMMENT '项目成员';
/*------end 12月25号 付宇川 项目信息表修改 项目成员 字段*/

/*------begin 1月24号 付宇川 oa审批表新增 申请人id 字段*/
ALTER TABLE `oa_approval` ADD COLUMN `proposer` INT(11) NOT NULL COMMENT '申请人id';
/*------end 1月24号 付宇川 oa审批表新增 申请人id 字段*/

/*------begin 1月25号 詹叶俊 优化门禁_设备信息表-列表接口，门禁设备类文件增加屏保图片、标识语和开门方式字段；开发门禁_设备信息表-附加功能更新接口，用于更新屏保图片、标识语和开门方式三个字段的值；	*/
ALTER TABLE `eg_device` ADD COLUMN `img_path` VARCHAR(255) DEFAULT NULL COMMENT '屏保';
ALTER TABLE `eg_device` ADD COLUMN `remark` VARCHAR(500) DEFAULT NULL COMMENT '标识语';
ALTER TABLE `eg_device` ADD COLUMN `open_mode` VARCHAR(100) DEFAULT NULL COMMENT '开门方式';
/*------end 1月25号 詹叶俊 优化门禁_设备信息表-列表接口，门禁设备类文件增加屏保图片、标识语和开门方式字段；开发门禁_设备信息表-附加功能更新接口，用于更新屏保图片、标识语和开门方式三个字段的值；	*/

/*------begin 2025年2月14号 詹叶俊 修改产品信息表中设备型号字段为非必填字段	*/
ALTER TABLE `dmp_product` MODIFY COLUMN `device_model` VARCHAR(50) DEFAULT NULL COMMENT '设备型号';
/*------end 2025年2月14号 詹叶俊 修改产品信息表中设备型号字段为非必填字段	*/

/*------begin 2025年2月21号 付宇川 新增报告管理时间配置表、OA流程表、OA节点表 */
CREATE TABLE `pm_time_conf` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '时间配置表主键ID',
  `conf_name` varchar(64) NOT NULL COMMENT '配置名称',
  `conf_type` varchar(52) NOT NULL COMMENT '配置类型(PM:工作报告)',
  `start_time` time NOT NULL COMMENT '开始时间',
  `on_time` time NOT NULL COMMENT '正常时间',
  `end_time` time NOT NULL COMMENT '结束时间',
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  `dept_id` bigint(20) DEFAULT NULL COMMENT '部门ID',
  `tenant_id` int(11) DEFAULT NULL COMMENT '租户ID',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='pm_时间配置表';

CREATE TABLE `oa_flow` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '流程表主键ID',
  `flow_name` varchar(64) NOT NULL COMMENT '流程名称',
  `doc_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '表单标识',
  `description` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '流程说明',
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  `dept_id` bigint(20) NOT NULL COMMENT '部门ID',
  `tenant_id` int(11) NOT NULL COMMENT '租户ID',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='oa_审批流程表';

	CREATE TABLE `oa_node` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '节点表主键ID',
  `flow_id` int(11) DEFAULT NULL COMMENT '流程ID',
  `node_name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '节点名称',
  `node_no` varchar(255) NOT NULL COMMENT '节点编号',
  `parent_id` int(11) DEFAULT NULL COMMENT '上级节点',
  `node_type` int(1) NOT NULL COMMENT '节点类型 （1：审批节点 2：抄送节点）',
  `node_scope` int(1) NOT NULL COMMENT '节点审批权限范围（0：指定成员，1：部门主管，2：发起人自选，3：指定部门，4：指定职位）',
  `proposer` varchar(520) DEFAULT NULL COMMENT '审批人id',
  `dept_id` int(11) DEFAULT NULL COMMENT '审批部门id',
  `job_id` int(11) DEFAULT NULL COMMENT '职位id',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='oa_流程节点表';
/*------end 2025年2月21号 付宇川 新增报告管理时间配置表、OA流程表、OA节点表 */

/*------begin 2025年2月24号 詹叶俊 设备状态表添加device_uuid字段，同时更新设备状态表已有设备对应的device_uuid字段值	*/
ALTER TABLE dmp_device_status ADD COLUMN `device_uuid` VARCHAR(50) NOT NULL COMMENT '设备uuid';
UPDATE dmp_device_status dds INNER JOIN dmp_device dde ON dds.product_code=dde.product_code AND dds.device_id=dde.device_id SET dds.device_uuid = dde.device_uuid;
/*------end 2025年2月24号 詹叶俊 设备状态表添加device_uuid字段，同时更新设备状态表已有设备对应的device_uuid字段值	*/

/*------begin 2025年3月10号 付宇川 OA新增发布申请表、流程表新增 form_id 字段、审批表新增 node_id 字段 */
CREATE TABLE `oa_fbd_document` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '发布申请表主键',
  `form_id` int(11) NOT NULL COMMENT '表单定义表主键',
  `doc_no` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '单据编号',
  `proposer` bigint(20) NOT NULL COMMENT '申请人id',
  `application_name` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '申请名称',
  `doc_status` int(1) NOT NULL DEFAULT '0' COMMENT '单据状态 (0:未提交,1:审批中,2:审批通过,3:审批不通过)',
  `publish_time` datetime NOT NULL COMMENT '申请发布时间',
  `publish_project` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '发布项目名称',
  `project_type` int(1) NOT NULL COMMENT '项目类型(1:前端,2:后端)',
  `online_function` varchar(1000) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '上线功能',
  `preparation` varchar(1000) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '上线前准备',
  `annex` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '附件',
  `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT ' ' COMMENT '创建者',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT ' ' COMMENT '更新者',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  `dept_id` bigint(20) DEFAULT NULL COMMENT '部门id',
  `tenant_id` int(11) DEFAULT NULL COMMENT '租户id',
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE KEY `idx_doc_no` (`doc_no`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='OA_发布申请表';

ALTER TABLE `oa_flow` ADD COLUMN `form_id` INT(11) NOT NULL COMMENT '表单定义表主键id';

ALTER TABLE `oa_approval` ADD COLUMN `node_id` INT(11) NOT NULL COMMENT '节点id';
/*------end 2025年3月10号 付宇川 OA新增发布申请表、流程表新增 form_id 字段、审批表新增 node_id 字段 */

/*------begin 2025年3月13号 詹叶俊 设备类型表新增命令字段，在门禁设备信息表中新增密码和工作状态两个字段	*/
ALTER TABLE `dmp_device_type` ADD COLUMN `command_field` TEXT COMMENT '命令字段';
ALTER TABLE `eg_device` ADD COLUMN `password` VARCHAR(10) NULL COMMENT '密码';
ALTER TABLE `eg_device` ADD COLUMN `work_status` INT(2) NULL COMMENT '工作状态;1：办公，2：出差，3：会客，4：空闲';
/*------end 2025年3月13号 詹叶俊 设备类型表新增命令字段，在门禁设备信息表中新增密码和工作状态两个字段	*/

/*------begin 2025年3月19号 赵金雨 AI新增会话ID记录表、智能助手会话表; 附件管理新增文件管理表、文件编号每月递增值表 */
CREATE TABLE `ai_questions`
(
    `id`         bigint(20) NOT NULL AUTO_INCREMENT,
    `model`      varchar(255) DEFAULT NULL COMMENT '模型名称',
    `session_id` varchar(255) DEFAULT NULL COMMENT '会话ID',
    `user_id`    bigint(20) NOT NULL COMMENT '用户ID',
    `user_name`  varchar(255) NOT NULL COMMENT '用户名称',
    `question`   text         NOT NULL COMMENT '提问内容',
    `answer`     text         NOT NULL COMMENT '回复内容',
    `ask_time`   datetime     NOT NULL COMMENT '提问时间',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=133 DEFAULT CHARSET=utf8mb4 COMMENT='智能助手会话表';

CREATE TABLE `ai_sessions`
(
    `id`         bigint(20) NOT NULL AUTO_INCREMENT,
    `session_id` varchar(255) DEFAULT NULL COMMENT '会话ID',
    `user_id`    bigint(20) NOT NULL COMMENT '用户ID',
    `user_name`  varchar(255) NOT NULL COMMENT '用户名称',
    `question`   text         NOT NULL COMMENT '提问内容',
    `ask_time`   datetime     NOT NULL COMMENT '提问时间',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=120 DEFAULT CHARSET=utf8mb4 COMMENT='会话ID记录表';

CREATE TABLE `file_upload`
(
    `id`          int(11) NOT NULL AUTO_INCREMENT COMMENT '文件id',
    `files_name`  varchar(255)       DEFAULT NULL COMMENT '文件真实名称',
    `name`        varchar(255)       DEFAULT NULL COMMENT '文件新命名',
    `path`        varchar(255)       DEFAULT NULL COMMENT '真实存储路径',
    `type`        varchar(255)       DEFAULT NULL COMMENT '文件类型',
    `size` double(32,2) DEFAULT NULL COMMENT '文件大小（KB）',
    `url`         varchar(255)       DEFAULT NULL COMMENT '下载链接',
    `enable`      tinyint(4) DEFAULT '1' COMMENT '链接是否可用（1：是 0：否）',
    `is_delete`   tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否删除（1：是 0：否）',
    `create_by`   varchar(255)       DEFAULT NULL COMMENT '创建者',
    `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_by`   varchar(255)       DEFAULT NULL COMMENT '更新者',
    `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
    PRIMARY KEY (`id`) USING BTREE,
    KEY           `name` (`files_name`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='文件管理表';
/*------end 2025年3月19号 赵金雨 AI新增会话ID记录表、智能助手会话表; 附件管理新增文件管理表*/

/*------begin 2025年3月14号 付宇川 通知公告表删除字段：remark；新增字段：file_url、author、dept_id */
ALTER TABLE `sys_notice` DROP COLUMN `remark`;
ALTER TABLE `sys_notice` ADD COLUMN `file_url` varchar(800) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '附件';
ALTER TABLE `sys_notice` ADD COLUMN `author` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '作者';
ALTER TABLE `sys_notice` ADD COLUMN `dept_id` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '通知接收部门id（多个，号隔开）';
/*------end 2025年3月14号 付宇川 通知公告表删除字段：remark；新增字段：file_url、author、dept_id */

/*------begin 2025年3月20号 赵金雨 新增字段：deleted */
ALTER TABLE `ai_sessions` ADD COLUMN `deleted` tinyint(1) DEFAULT '0' COMMENT '(0未删除，1已删除)';
ALTER TABLE `ai_questions` ADD COLUMN `deleted` tinyint(1) DEFAULT '0' COMMENT '(0未删除，1已删除)';
/*------end 2025年3月20号 赵金雨 新增字段：deleted */

/*------begin 2025年4月10号 赵金雨 File新增在线升级; 新增服务更新记录表 */
CREATE TABLE `file_update_info` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `file_name` varchar(255) NOT NULL COMMENT '文件名称',
  `version` varchar(20) DEFAULT 'v1.0.0' COMMENT '服务版本号',
  `file_status` int(1) DEFAULT '0' COMMENT '运行状态（0：未知，1：运行中，2：已停止）',
  `file_md5` varchar(255) DEFAULT NULL COMMENT '文件的MD5值',
  `remote_md5` varchar(255) DEFAULT NULL COMMENT '远程服务器文件MD5 值',
  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
  `update_status` int(1) DEFAULT NULL COMMENT '更新状态（0无需更新，1待更新）',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COMMENT='服务更新记录表';
/*------end 2025年4月10号 赵金雨 File新增在线升级; 新增服务更新记录表 */

/*------begin 2025年4月16号 赵金雨 附件管理表新增字段: create_id、update_id、referer_path*/
ALTER TABLE `file_upload` ADD COLUMN `create_id` BIGINT(20) NULL COMMENT '创建者ID',
ALTER TABLE `file_upload` ADD COLUMN `update_id` BIGINT(20) NULL COMMENT '更新者ID';
ALTER TABLE `file_upload` ADD COLUMN `referer_path` VARCHAR(255) NULL COMMENT '引用路径';
/*------end 2025年4月16号 赵金雨 附件管理表新增字段: create_id、update_id、referer_path*/

/*------begin 2025年5月6号 韩正义 应用信息表新增字段: order_num*/
ALTER TABLE `sys_platform` ADD COLUMN `order_num` INT(4) DEFAULT '0'  COMMENT '显示顺序',
/*------end 2025年5月6号 韩正义 应用信息表新增字段: order_num*/

/*------begin 2025年4月18号 詹叶俊 插入在设备状态表中没有记录的设备状态信息 */
INSERT INTO `dmp_device_status` (`device_id`,`product_id`,`device_status`,`last_offline_time`,`product_code`,`device_uuid`) SELECT device_id,product_id,2,SYSDATE(),product_code,device_uuid FROM dmp_device WHERE device_uuid NOT IN (SELECT DISTINCT device_uuid FROM dmp_device_status);
/*------end 2025年4月18号 詹叶俊 插入在设备状态表中没有记录的设备状态信息 */

/*------begin 2025年5月26号 詹叶俊 帮助中心_栏目管理菜单Id字段改为非必填 */
ALTER TABLE `hce_category` MODIFY `menu_id` INT(20) NULL COMMENT '菜单ID';
/*------end 2025年5月26号 詹叶俊 帮助中心_栏目管理菜单Id字段改为非必填 */

/*------begin 2025年5月30号 詹叶俊 设备信息表新增设备所属类型和所属网关两个字段，以及产品属性表中新增属性字典字段 */
ALTER TABLE `dmp_device` ADD COLUMN `category_type` INT(1) DEFAULT '1' COMMENT '设备所属类型（1、普通设备  2、网关设备  3、网关子设备）';
ALTER TABLE `dmp_device` ADD COLUMN `gateway_uuid` VARCHAR(50) DEFAULT NULL COMMENT '所属网关';

ALTER TABLE `dmp_product_attribute` ADD COLUMN `attribute_dict` VARCHAR(300) DEFAULT NULL COMMENT '属性字典';
/*------end 2025年5月30号 詹叶俊 设备信息表新增设备所属类型和所属网关两个字段，以及产品属性表中新增属性字典字段 */

/*------begin 2025年6月12号 付宇川 新增 用户人员关联表_是否打开登录通知字段 */
ALTER TABLE `sys_user_person` ADD COLUMN `is_login_notify` INT(1) DEFAULT '0' COMMENT '是否打开登录通知(1 表示是，0 表示否，默认0)';
/*------end 2025年6月12号 付宇川 新增 用户人员关联表_是否打开登录通知字段 */

/*------begin 2025年11月26号 詹叶俊 在设备信息表中增加建筑ID字段，同时在设备信息表类中增加这个字段 */
alter table dmp_device add column `build_id` int(15) DEFAULT NULL COMMENT '建筑ID';
/*------end 2025年11月26号 詹叶俊 在设备信息表中增加建筑ID字段，同时在设备信息表类中增加这个字段 */

/*------begin 2026年1月30号 詹叶俊 创建能耗_集成平台配置表 */
CREATE TABLE `ems_cons_platform_config` (
  `id` INT(12) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `platform_name` VARCHAR(255) DEFAULT NULL COMMENT '平台名称',
  `build_id` VARCHAR(20) NOT NULL COMMENT '建筑Id',
  `build_name` VARCHAR(255) NOT NULL COMMENT '建筑名称',
  `platform_ip` VARCHAR(50) DEFAULT NULL COMMENT '平台IP',
  `platform_port` INT(10) DEFAULT '0' COMMENT '平台端口',
  `username` VARCHAR(50) DEFAULT NULL COMMENT '用户名',
  `passwd` VARCHAR(20) DEFAULT NULL COMMENT '密钥',
  `created_by` VARCHAR(32) DEFAULT NULL COMMENT '创建人',
  `created_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updated_by` VARCHAR(32) DEFAULT NULL COMMENT '更新人',
  `updated_time` DATETIME DEFAULT NULL COMMENT '更新时间',
  `tenant_id` INT(12) DEFAULT NULL COMMENT '租户号',
  `product_code` VARCHAR(50) NOT NULL COMMENT '关联产品编码',
  `delete_flag` INT(1) DEFAULT '0' COMMENT '删除标识',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='能耗_集成平台配置表'
/*------end 2026年1月30号 詹叶俊 创建能耗_集成平台配置表 */

/*------begin 2026年2月9号 付宇川 人防_工程表、人防_投递日志表 */
CREATE TABLE `cdi_defense_project` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '人防_工程表主键ID',
  `engineering_name` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '工程名称',
  `engineering_id` bigint(20) NOT NULL COMMENT '工程id',
  `passwd` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '密码',
  `push_address` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '推送地址（带端口）',
  `mqtt_user_name` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'mqtt用户名',
  `mqtt_password` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'mqtt密码',
  `mqtt_client_id` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'mqtt客户端id',
  `base_topic` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '基础数据MQTT消息主题',
  `iotInfo_topic` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '监测数据MQTT消息主题',
  `alarm_topic` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '告警数据MQTT消息主题',
  `create_by` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '创建者',
  `create_time` datetime NOT NULL COMMENT '创建时间',
  `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  `is_enable` int(1) NOT NULL DEFAULT '0' COMMENT '是否启用（0：未启用，1：已启用）',
  `tenant_id` int(11) NOT NULL COMMENT '租户ID',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='人防_工程表（人防工程基础信息及MQTT连接配置）';

CREATE TABLE `cdi_delivery_log` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '人防_投递日志表主键ID',
  `engineering_id` bigint(20) NOT NULL COMMENT '工程id',
  `data_type` tinyint(4) NOT NULL COMMENT '数据类型：1-单元，2-平面图，3-设施，4-监测',
  `topic` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'MQTT消息主题（base/engineering、iotInfo/temp、alarm/message等）',
  `data_content` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '数据内容（JSON格式字符串，存储此次上报数据推送情况）',
  `push_flag` tinyint(4) NOT NULL COMMENT '推送结果（0:失败，1:成功）',
  `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
  `create_time` datetime NOT NULL COMMENT '创建时间',
  `tenant_id` int(11) NOT NULL COMMENT '租户ID',
  PRIMARY KEY (`id`),
  KEY `idx_engineering_id` (`engineering_id`),
  KEY `idx_data_type` (`data_type`),
  KEY `idx_create_time` (`create_time`)
) ENGINE=InnoDB AUTO_INCREMENT=78 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='人防_投递日志表（记录数据的MQTT投递情况）';
/*------end 2026年2月9号 付宇川 人防_工程表、人防_投递日志表 */

/*------begin 2026年2月24号 韩正义 新增 菜单权限表 菜单类型字段 */
ALTER TABLE `sys_menu` ADD COLUMN `menu_mold` INT(1) DEFAULT '1' COMMENT '菜单类型（1.基础功能，2.业务功能）';
/*------end 2026年2月24号 韩正义 新增 菜单权限表 菜单类型字段 */

/*------begin 2026年2月24号 韩正义 新增 平台信息表 应用类型字段 */
ALTER TABLE `sys_platform` ADD COLUMN `platform_type` INT(1) DEFAULT '1' COMMENT '应用类型（1.基础功能，2.业务功能）';
/*------end 2026年2月24号 韩正义 新增 平台信息表 应用类型字段 */

/*------begin 2026年3月10号 方惠圣 给sys_person人员表新增人脸相关字段 */
ALTER TABLE `sys_person`
ADD COLUMN `face_base` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci COMMENT '图片数据（base64编码）' AFTER `update_time`,
ADD COLUMN `vef_num` int(11) DEFAULT 0 COMMENT '验证次数（默认0）' AFTER `face_base`,
ADD COLUMN `remark` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '人脸备注' AFTER `face_name`,
ADD COLUMN `face_status` tinyint(1) DEFAULT 0 COMMENT '人脸状态（0=可用，1=不可用）' AFTER `remark`,
ADD COLUMN `card_num` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '卡号' AFTER `face_status`;
/*------end 2026年3月10号 方惠圣 给sys_person人员表新增人脸相关字段 */

/*------begin 2026年4月27号 韩正义 新增base_build_engineering数据表 */
CREATE TABLE `base_build_engineering` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '工程基础信息表',
  `engineering_name` varchar(100) CHARACTER SET utf8 NOT NULL COMMENT '工程名称',
  `engineering_address` varchar(200) CHARACTER SET utf8 NOT NULL COMMENT '工程地址',
  `engineering_area` varchar(50) CHARACTER SET utf8 NOT NULL COMMENT '工程区划',
  `review_code` varchar(50) CHARACTER SET utf8 NOT NULL COMMENT '联审编号',
  `project_code` varchar(50) CHARACTER SET utf8 NOT NULL COMMENT '施工许可证工程单体编号',
  `unit_count` int(5) NOT NULL COMMENT '单元数量',
  `normal_usage` varchar(100) CHARACTER SET utf8 NOT NULL COMMENT '平时阶段用途',
  `construction_company` varchar(100) CHARACTER SET utf8 NOT NULL COMMENT '建设单位',
  `construction_company_person` varchar(50) CHARACTER SET utf8 NOT NULL COMMENT '建设单位联系人',
  `construction_company_phone` varchar(50) CHARACTER SET utf8 NOT NULL COMMENT '建设单位联系电话',
  `contractor_company` varchar(100) CHARACTER SET utf8 NOT NULL COMMENT '总包单位',
  `contractor_company_person` varchar(50) CHARACTER SET utf8 NOT NULL COMMENT '总包单位联系人',
  `contractor_company_phone` varchar(50) CHARACTER SET utf8 NOT NULL COMMENT '总包单位电话',
  `iot_company` varchar(100) CHARACTER SET utf8 NOT NULL COMMENT '物联系统建设单位',
  `iot_company_person` varchar(50) CHARACTER SET utf8 NOT NULL COMMENT '物联系统联系人',
  `iot_company_phone` varchar(50) CHARACTER SET utf8 NOT NULL COMMENT '物联系统单位电话',
  `build_id` int(11) DEFAULT NULL COMMENT '建筑ID',
  `create_by` varchar(32) CHARACTER SET utf8 DEFAULT NULL COMMENT '创建人',
  `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_by` varchar(32) CHARACTER SET utf8 DEFAULT NULL COMMENT '更新人',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  `dept_id` int(11) DEFAULT NULL COMMENT '组织机构ID',
  `tenant_id` int(12) DEFAULT NULL COMMENT '租户号',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;
/*------end 2026年4月27号 韩正义 新增base_build_engineering数据表 */

/*------begin 2026年5月6号 詹叶俊 能耗系统相关表 */
drop table if exists `base_space`;
CREATE TABLE `base_space` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '自增ID',
  `name` VARCHAR(20) NOT NULL COMMENT '名称',
  `parent_id` BIGINT(20) NOT NULL COMMENT '父节点ID',
  `type` TINYINT(4) NOT NULL COMMENT '空间类型 1:项目 2:区域 3:建筑',
  `root_id` BIGINT(20) NOT NULL DEFAULT '0' COMMENT '根节点ID',
  `path` VARCHAR(200) DEFAULT NULL COMMENT '节点路径',
  `path_name` VARCHAR(200) DEFAULT NULL COMMENT '节点路径名称',
  `deep` TINYINT(4) DEFAULT NULL COMMENT '深度',
  `updated_by` varchar(32) DEFAULT NULL COMMENT '更新人',
  `update_time` DATETIME NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '记录更新时间',
  `created_by` varchar(32) DEFAULT NULL COMMENT '创建人',
  `create_time` DATETIME NOT NULL COMMENT '记录创建时间',
  `tenant_id` INT(12) DEFAULT NULL COMMENT '租户号',
  PRIMARY KEY (`id`) USING BTREE,
  KEY `idx_root_id` (`root_id`) USING BTREE
) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='空间';

drop table if exists `base_area`;
CREATE TABLE `base_area` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增ID',
  `name` varchar(20) NOT NULL COMMENT '名称',
  `type` tinyint(4) NOT NULL COMMENT '区域类型 1:区域 2:部门 3:科室',
  `area` decimal(18,4) DEFAULT NULL COMMENT '区域面积',
  `common_area` decimal(18,4) DEFAULT NULL COMMENT '公区面积',
  `air_conditioned_area` decimal(18,4) DEFAULT NULL COMMENT '空调面积',
  `resident_population` int(11) DEFAULT NULL COMMENT '常驻人数',
  `updated_by` varchar(32) DEFAULT NULL COMMENT '更新人',
  `update_time` datetime NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '记录更新时间',
  `created_by` varchar(32) DEFAULT NULL COMMENT '创建人',
  `create_time` datetime NOT NULL COMMENT '记录创建时间',
`tenant_id` INT(12) DEFAULT NULL COMMENT '租户号',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='区域';

drop table if exists `base_space_build`;
CREATE TABLE `base_space_build` (
  `id` int(12) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `space_id` int(12) DEFAULT NULL COMMENT '空间id',
  `build_id` int(12) DEFAULT NULL COMMENT '建筑id',
  `created_by` varchar(32) DEFAULT NULL COMMENT '创建人',
  `created_time` datetime DEFAULT NULL COMMENT '创建时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='空间建筑关联表';

drop table if exists `base_space_area`;
CREATE TABLE `base_space_area` (
  `id` int(12) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `space_id` int(12) DEFAULT NULL COMMENT '空间id',
  `area_id` int(12) DEFAULT NULL COMMENT '区域id',
  `created_by` varchar(32) DEFAULT NULL COMMENT '创建人',
  `created_time` datetime DEFAULT NULL COMMENT '创建时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='空间区域关联表';

drop table if exists `base_space_gateway`;
CREATE TABLE `base_space_gateway` (
  `id` int(12) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `space_id` int(12) DEFAULT NULL COMMENT '空间id',
  `gateway_uuid` varchar(50) NOT NULL COMMENT '网关uuid',
  `created_by` varchar(32) DEFAULT NULL COMMENT '创建人',
  `created_time` datetime DEFAULT NULL COMMENT '创建时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='空间网关关联表';

drop table if exists `dmp_gateway`;
CREATE TABLE `dmp_gateway` (
  `id` INT(12) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `device_uuid` VARCHAR(50) NOT NULL COMMENT '设备uuid',
  `name` VARCHAR(50) NOT NULL COMMENT '设备名称',
  `ip` VARCHAR(15) DEFAULT NULL COMMENT 'IP',
  `port` INT DEFAULT NULL COMMENT '端口',
  `install_address` varchar(100) DEFAULT NULL COMMENT '安装位置',
  `comm_status` int(2) NOT NULL DEFAULT '0' COMMENT '通讯状态 0:离线 1:在线',
  `online_time` DATETIME DEFAULT NULL COMMENT '网关最后上线时间',
  `offline_time` DATETIME DEFAULT NULL COMMENT '网关最后离线时间',
  `update_config_time` DATETIME DEFAULT NULL COMMENT '上次成功下发配置时间',
  `update_protocol_time` DATETIME DEFAULT NULL COMMENT '上次成功更新协议时间',
  `upgrade_time` DATETIME DEFAULT NULL COMMENT '上次成功更新程序时间',
  `virtual_device` TINYINT NOT NULL DEFAULT '0' COMMENT '虚拟设备 0:否 1:是',
  `remark` VARCHAR(100) DEFAULT NULL COMMENT '备注',
  `updated_by` varchar(32) DEFAULT NULL COMMENT '更新人',
  `update_time` DATETIME NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '记录更新时间',
  `created_by` varchar(32) DEFAULT NULL COMMENT '创建人',
  `create_time` DATETIME NOT NULL COMMENT '记录创建时间',
  `tenant_id` INT(12) DEFAULT NULL COMMENT '租户号',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='网关';

CREATE TABLE `ems_project` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增ID',
  `space_id` bigint(20) NOT NULL COMMENT '空间ID',
  `name` varchar(20) NOT NULL COMMENT '名称',
  `platform_name` varchar(20) DEFAULT NULL COMMENT '平台名称',
  `abbreviation` varchar(10) DEFAULT NULL COMMENT '简称',
  `area` decimal(18,4) DEFAULT NULL COMMENT '项目面积',
  `common_area` decimal(18,4) DEFAULT NULL COMMENT '公区面积',
  `air_conditioned_area` decimal(18,4) DEFAULT NULL COMMENT '空调面积',
  `resident_population` int(11) DEFAULT NULL COMMENT '常驻人数',
  `province_code` varchar(6) NOT NULL COMMENT '省编码',
  `province_name` varchar(10) NOT NULL COMMENT '省',
  `city_code` varchar(6) NOT NULL COMMENT '市编码',
  `city_name` varchar(20) NOT NULL COMMENT '市',
  `district_code` varchar(6) NOT NULL COMMENT '区编码',
  `district_name` varchar(20) NOT NULL COMMENT '区',
  `location` varchar(50) DEFAULT NULL COMMENT '地理位置',
  `address` varchar(100) DEFAULT NULL COMMENT '项目地址',
  `type_id` int(11) NOT NULL COMMENT '项目类型ID',
  `type_name` varchar(20) NOT NULL COMMENT '项目类型',
  `image` varchar(100) DEFAULT NULL COMMENT '项目图片',
  `introduction` varchar(255) DEFAULT NULL COMMENT '项目简介',
  `logo` varchar(100) DEFAULT NULL COMMENT 'LOGO（大）',
  `logo_min` varchar(100) DEFAULT NULL COMMENT 'LOGO（小）',
  `updated_by` varchar(32) DEFAULT NULL COMMENT '更新人',
  `update_time` datetime NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '记录更新时间',
  `created_by` varchar(32) DEFAULT NULL COMMENT '创建人',
  `create_time` datetime NOT NULL COMMENT '记录创建时间',
  `tenant_id` INT(12) DEFAULT NULL COMMENT '租户号',
  PRIMARY KEY (`id`) USING BTREE,
  KEY `idx_space_id` (`space_id`) USING BTREE,
  KEY `idx_name` (`name`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='项目';

CREATE TABLE `ems_project_device_system` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增ID',
  `project_id` bigint(20) NOT NULL COMMENT '项目ID',
  `device_system` int(11) NOT NULL COMMENT '设备系统',
  `updated_by` varchar(32) DEFAULT NULL COMMENT '更新人',
  `update_time` datetime NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '记录更新时间',
  `created_by` varchar(32) DEFAULT NULL COMMENT '创建人',
  `create_time` datetime NOT NULL COMMENT '记录创建时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;


CREATE TABLE `ems_system_dict_code` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增ID',
  `name` varchar(50) NOT NULL COMMENT '名称',
  `code` varchar(50) NOT NULL COMMENT '编码',
  `remark` varchar(100) DEFAULT NULL COMMENT '备注',
  `updated_by` varchar(32) DEFAULT NULL COMMENT '更新人',
  `update_time` datetime NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '记录更新时间',
  `created_by` varchar(32) DEFAULT NULL COMMENT '创建人',
  `create_time` datetime NOT NULL COMMENT '记录创建时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='系统字典编码';

CREATE TABLE `ems_system_dict_region` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增ID',
  `code` varchar(6) NOT NULL COMMENT '编码',
  `name` varchar(20) NOT NULL COMMENT '名称',
  `parent` varchar(6) NOT NULL COMMENT '父级编码',
  `updated_by` varchar(32) DEFAULT NULL COMMENT '更新人',
  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '记录更新时间',
  `created_by` varchar(32) DEFAULT NULL COMMENT '创建人',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '记录创建时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='省市区字典';

CREATE TABLE `ems_system_dict_value` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增ID',
  `dict_code` varchar(50) NOT NULL COMMENT '字典编码',
  `parent_id` int(11) NOT NULL COMMENT '父节点ID',
  `name` varchar(50) NOT NULL COMMENT '名称',
  `value` varchar(50) NOT NULL COMMENT '值',
  `icon` varchar(100) DEFAULT NULL COMMENT '图标',
  `sort` int(11) NOT NULL COMMENT '排序',
  `remark` varchar(100) DEFAULT NULL COMMENT '备注',
  `updated_by` varchar(32) DEFAULT NULL COMMENT '更新人',
  `update_time` datetime NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '记录更新时间',
  `created_by` varchar(32) DEFAULT NULL COMMENT '创建人',
  `create_time` datetime NOT NULL COMMENT '记录创建时间',
  PRIMARY KEY (`id`) USING BTREE,
  KEY `idx_dict_code` (`dict_code`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='系统字典值';
/*------end 2026年5月6号 詹叶俊 能耗系统相关表 */

/*------begin 2026年6月26号 詹叶俊 租户信息表增加涉及领域字段和设备信息表增加地址码 */
ALTER TABLE `sys_tenant` ADD COLUMN `field` VARCHAR(30) DEFAULT NULL COMMENT '涉及领域(1、消防 2、楼宇 3、人防 4、能耗)';

ALTER TABLE dmp_device ADD COLUMN address_code VARCHAR(20) DEFAULT NULL COMMENT '地址码';
/*------end 2026年6月26号 詹叶俊 租户信息表增加涉及领域字段和设备信息表增加地址码 */

/*------begin 2026年6月29号 詹叶俊 在参数配置表中增加租户Id字段 */
ALTER TABLE `sys_config` ADD COLUMN `tenant_id` INT(11) DEFAULT NULL COMMENT '租户ID';
/*------end 2026年6月29号 詹叶俊 在参数配置表中增加租户Id字段 */

/*------begin 2026年7月1号 付宇川 新增云平台相关表-issue */
CREATE TABLE `issue_cloud_config`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `tenant_id` int(11) NOT NULL COMMENT '云平台租户ID',
  `cloud_address` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '云平台推送地址',
  `credential_key` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'AES-256-GCM加密后的凭证密钥',
  `status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '集成状态: 0禁用 1启用',
  `connection_status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '连接状态: 0未知 1成功 2失败',
  `version` int(11) NOT NULL DEFAULT 0 COMMENT '乐观锁版本号',
  `last_test_time` datetime NULL DEFAULT NULL COMMENT '上次测试连接时间',
  `created_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  `created_time` datetime NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  `updated_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `is_deleted` tinyint(4) NULL DEFAULT 0,
  PRIMARY KEY (`id`) USING BTREE,
  INDEX `idx_tenant_id`(`tenant_id`) USING BTREE,
  INDEX `idx_status_deleted`(`status`, `is_deleted`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'issue_云平台集成配置' ROW_FORMAT = Dynamic;

CREATE TABLE `issue_trigger_event`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `config_id` bigint(20) NOT NULL COMMENT '关联配置ID',
  `tenant_id` int(11) NULL DEFAULT NULL COMMENT '租户ID',
  `event_code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '事件编码',
  `event_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '事件名称',
  `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '事件描述',
  `enabled` tinyint(1) NOT NULL DEFAULT 0 COMMENT '是否启用: 0否 1是',
  `created_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  `created_time` datetime NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  `updated_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `is_deleted` tinyint(4) NULL DEFAULT 0,
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE INDEX `uk_config_event`(`config_id`, `event_code`) USING BTREE,
  INDEX `idx_config_enabled`(`config_id`, `enabled`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'issue_云平台同步触发事件' ROW_FORMAT = Dynamic;

CREATE TABLE `issue_sync_task`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `config_id` bigint(20) NOT NULL COMMENT '关联配置ID',
  `tenant_id` int(11) NULL DEFAULT NULL COMMENT '租户ID',
  `sync_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '同步类型',
  `task_status` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'PENDING/RUNNING/SUCCESS/FAILED/CANCELLED',
  `trigger_mode` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'MANUAL/AUTO/EVENT',
  `total_count` int(11) NOT NULL DEFAULT 0 COMMENT '待处理总数',
  `processed_count` int(11) NOT NULL DEFAULT 0 COMMENT '已处理数',
  `success_count` int(11) NOT NULL DEFAULT 0 COMMENT '成功数',
  `failure_count` int(11) NOT NULL DEFAULT 0 COMMENT '失败数',
  `error_summary` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误摘要',
  `start_time` datetime NULL DEFAULT NULL COMMENT '开始时间',
  `finish_time` datetime NULL DEFAULT NULL COMMENT '结束时间',
  `created_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  `created_time` datetime NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  `updated_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `is_deleted` tinyint(4) NULL DEFAULT 0,
  PRIMARY KEY (`id`) USING BTREE,
  INDEX `idx_config_type_status`(`config_id`, `sync_type`, `task_status`) USING BTREE,
  INDEX `idx_created_at`(`created_time`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'issue_云平台同步任务' ROW_FORMAT = Dynamic;

CREATE TABLE `issue_sync_status`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `config_id` bigint(20) NOT NULL COMMENT '关联配置ID',
  `tenant_id` int(11) NULL DEFAULT NULL COMMENT '租户ID',
  `sync_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '同步类型编码',
  `type_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '同步类型名称(冗余)',
  `total_count` int(11) NOT NULL DEFAULT 0 COMMENT '总数',
  `success_count` int(11) NOT NULL DEFAULT 0 COMMENT '同步成功数',
  `failure_count` int(11) NOT NULL DEFAULT 0 COMMENT '同步失败数',
  `unsynced_count` int(11) NOT NULL DEFAULT 0 COMMENT '未同步数',
  `last_sync_time` datetime NULL DEFAULT NULL COMMENT '最后同步时间',
  `created_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  `created_time` datetime NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  `updated_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `is_deleted` tinyint(4) NULL DEFAULT 0,
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE INDEX `uk_config_sync_type`(`config_id`, `sync_type`) USING BTREE,
  INDEX `idx_config_id`(`config_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'issue_云平台数据同步状态' ROW_FORMAT = Dynamic;

CREATE TABLE `issue_sync_down_queue`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `table_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '同步表名',
  `operation` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '操作类型: INSERT/UPDATE/DELETE',
  `payload` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '数据内容(JSON格式)',
  `sync_version` bigint(20) NULL DEFAULT 0 COMMENT '同步版本号(乐观锁)',
  `status` tinyint(4) NULL DEFAULT 0 COMMENT '状态: 0待拉取 1已确认 2失败',
  `tenant_id` int(11) NOT NULL COMMENT '云平台租户ID',
  `created_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
  `created_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updated_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人',
  `updated_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `is_deleted` tinyint(4) NULL DEFAULT 0 COMMENT '是否删除: 0正常 1已删除',
  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
  PRIMARY KEY (`id`) USING BTREE,
  INDEX `idx_table_name`(`table_name`) USING BTREE,
  INDEX `idx_operation`(`operation`) USING BTREE,
  INDEX `idx_status`(`status`) USING BTREE,
  INDEX `idx_tenant_id`(`tenant_id`) USING BTREE,
  INDEX `idx_created_time`(`created_time`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 149 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '问题同步下行队列' ROW_FORMAT = Dynamic;

CREATE TABLE `issue_sync_detail`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `task_id` bigint(20) NOT NULL COMMENT '任务ID',
  `tenant_id` int(11) NULL DEFAULT NULL COMMENT '租户ID',
  `data_id` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '业务数据ID',
  `detail_status` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'PENDING/SUCCESS/FAILED',
  `retry_count` int(11) NOT NULL DEFAULT 0 COMMENT '重试次数',
  `error_message` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '错误信息',
  `created_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  `created_time` datetime NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  `updated_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `is_deleted` tinyint(4) NULL DEFAULT 0,
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE INDEX `uk_task_data`(`task_id`, `data_id`) USING BTREE,
  INDEX `idx_task_status`(`task_id`, `detail_status`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'issue_云平台同步任务明细' ROW_FORMAT = Dynamic;

CREATE TABLE `issue_sync_data`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `table_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '同步表名',
  `data_key` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '业务主键/数据标识',
  `payload` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '数据内容(JSON格式)',
  `sync_version` bigint(20) NULL DEFAULT 0 COMMENT '同步版本号(乐观锁)',
  `sync_status` tinyint(4) NULL DEFAULT 0 COMMENT '同步状态: 0未同步 1已推送 2推送失败',
  `sync_direction` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '同步方向: LOCAL/CLOUD',
  `create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建者',
  `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新者',
  `update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `del_flag` tinyint(4) NULL DEFAULT 0 COMMENT '删除标志: 0正常 1已删除',
  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
  `is_deleted` tinyint(4) NULL DEFAULT 0 COMMENT '是否删除: 0正常 1已删除',
  `tenant_id` int(11) NOT NULL COMMENT '云平台租户ID',
  `created_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
  `created_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updated_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人',
  `updated_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE,
  INDEX `idx_table_name`(`table_name`) USING BTREE,
  INDEX `idx_data_key`(`data_key`) USING BTREE,
  INDEX `idx_sync_status`(`sync_status`) USING BTREE,
  INDEX `idx_sync_direction`(`sync_direction`) USING BTREE,
  INDEX `idx_create_time`(`create_time`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '问题同步数据表' ROW_FORMAT = Dynamic;

CREATE TABLE `issue_sync_cursor`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `table_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '同步表名',
  `direction` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '同步方向: UP(上行)/DOWN(下行)',
  `last_sync_version` bigint(20) NULL DEFAULT 0 COMMENT '最后同步版本号',
  `last_sync_time` datetime NULL DEFAULT NULL COMMENT '最后同步时间',
  `tenant_id` int(11) NOT NULL COMMENT '云平台租户ID',
  `created_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人',
  `created_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updated_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人',
  `updated_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `is_deleted` tinyint(4) NULL DEFAULT 0 COMMENT '是否删除: 0正常 1已删除',
  `remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注',
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE INDEX `uk_table_direction`(`table_name`, `direction`) USING BTREE,
  INDEX `idx_tenant_id`(`tenant_id`) USING BTREE,
  INDEX `idx_last_sync_time`(`last_sync_time`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '问题同步游标表' ROW_FORMAT = Dynamic;

CREATE TABLE `issue_operation_log`  (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `config_id` bigint(20) NULL DEFAULT NULL COMMENT '关联配置ID',
  `tenant_id` int(11) NULL DEFAULT NULL COMMENT '租户ID',
  `operation_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '操作类型',
  `operation_detail` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作详情(脱敏)',
  `request_ip` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求IP',
  `created_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  `created_time` datetime NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  `updated_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `is_deleted` tinyint(4) NULL DEFAULT 0,
  PRIMARY KEY (`id`) USING BTREE,
  INDEX `idx_config_created`(`config_id`, `created_time`) USING BTREE,
  INDEX `idx_operation_type`(`operation_type`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 639 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'issue_云平台集成操作日志' ROW_FORMAT = Dynamic;
/*------end 2026年7月1号 付宇川 新增云平台相关表-issue */