-- 巡检摄像头管理添加设备编号
alter table `hz_st_camera_info` add column `em_code` varchar(50) default null comment '设备编号';
-- 巡检情况对象记录异常告警
alter table `hz_st_ex_event_record` add column `abnormal_condition` varchar(255) default null comment '异常告警';

alter table `hz_st_ex_task` add column `video_start_time` datetime default null comment '视频录制开始时间';
alter table `hz_st_ex_task` add column `video_end_time` datetime default null comment '视频录制开始时间';
alter table `hz_st_ex_task` add column `video_url` varchar(255) default null comment '手动录制视频地址';
alter table `hz_st_ex_task` add column `hik_video_task_id` varchar(50) default null comment '海康录制视频任务ID';

-- 巡检计划模板表
CREATE TABLE IF NOT EXISTS `hz_st_re_plan_template` (
    `ID` bigint(64) NOT NULL COMMENT 'ID',
    `CODE` varchar(18) DEFAULT NULL COMMENT '计划编码',
    `NAME` varchar(128) DEFAULT NULL COMMENT '计划名称',
    `START_TIME` date DEFAULT NULL COMMENT '计划开始时间',
    `END_TIME` date DEFAULT NULL COMMENT '计划结束时间',
    `TYPE` char(1) DEFAULT NULL COMMENT '计划模式 0 人员 1岗位  2机构 3自由模式 4 自由人模式',
    `METHOD` char(1) DEFAULT '0' COMMENT '派发方式：0 抢占模式  1 并发模式',
    `CYCLE` char(1) DEFAULT NULL COMMENT '计划周期 0: 从不 1:每天 2:每月  3:每季度 5:每年 4:每周',
    `APPROVER` bigint(20) DEFAULT NULL COMMENT '审批人',
    `APPROVE_TIME` datetime DEFAULT NULL COMMENT '审批时间 ',
    `FROM_SOURCE` char(2) DEFAULT NULL COMMENT '计划来源 1巡检 2点检',
    `CREATE_USER` bigint(64) DEFAULT NULL COMMENT '创建人',
    `CREATE_DEPT` bigint(64) DEFAULT NULL COMMENT '创建部门',
    `CREATE_TIME` datetime DEFAULT NULL COMMENT '创建时间',
    `UPDATE_USER` bigint(64) DEFAULT NULL COMMENT '修改人',
    `UPDATE_TIME` datetime DEFAULT NULL COMMENT '修改时间',
    `STATUS` int(2) DEFAULT '6' COMMENT '计划状态  0:待审核-->1:已审核-->2:派发中-->3:暂停-->4:结束-->5审核不通过-->6待提交',
    `IS_DELETED` int(2) NOT NULL DEFAULT '0' COMMENT '是否已删除',
    `TENANT_ID` varchar(12) DEFAULT '000000' COMMENT '租户',
    `TASK_FLG` tinyint(4) DEFAULT '0' COMMENT '是否立即生产任务 1-是 0-否',
    `ROUTE_DATA` text COMMENT '巡检路线数据',
    `ROUTE_ID` bigint(20) DEFAULT NULL COMMENT '巡检路线ID字段',
    `ROUTE_NAME` varchar(255) DEFAULT NULL COMMENT '路线名称',
    `START_REMIND` int(11) DEFAULT NULL COMMENT '开始前提醒（分钟）',
    `END_REMIND` int(11) DEFAULT NULL COMMENT '结束前提醒（分钟）',
    `TASK_TIMES_A_DAY` int(11) DEFAULT NULL COMMENT '一天任务次数',
    `EXEC_TIME_JSON` text COMMENT '任务执行时间json数据',
    `AI_CHECK_ITEMS` varchar(255) DEFAULT NULL COMMENT '开始任务时AI检测项 来自数据字段表: beginCheckType  多个检测项直接通过隔开',
    `AUTO_VIDEO` varchar(255) DEFAULT '0' COMMENT '巡检类型标识： 0普通巡检  1视频自动巡检  2机器人巡检',
    `PLAN_TYPE` varchar(20) DEFAULT 'common' COMMENT '计划类型 common常规任务 temporary临时任务',
    `TASK_CONTENT` text COMMENT '临时任务的巡检任务内容',
    `message_template_id` bigint(20) DEFAULT NULL COMMENT '消息模板ID',
    `ENABLE` tinyint(2) DEFAULT NULL COMMENT '是否启用',
    PRIMARY KEY (`ID`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='巡检计划模板表（专供演示数据使用）';

-- 巡检任务模板表
CREATE TABLE IF NOT EXISTS `hz_st_ex_task_template` (
    `ID` bigint(20) NOT NULL COMMENT 'ID',
    `PLAN_ID` bigint(20) DEFAULT NULL COMMENT '计划ID',
    `TYPE` char(1) DEFAULT NULL COMMENT '计划模式 0 人员 1岗位  2机构 3自由模式 4 自由人模式',
    `PLAN_NAME` varchar(128) DEFAULT NULL COMMENT '计划名称',
    `BATCH_NUMBER` varchar(20) DEFAULT NULL COMMENT '任务批次号',
    `CYCLE` char(1) DEFAULT NULL COMMENT '计划周期 0: 从不 1:每天 2:每月  3:每季度 5:每年 4:每周',
    `METHOD` char(1) DEFAULT '0' COMMENT '派发方式：0 抢占模式  1 并发模式',
    `PLAN_START_TIME` datetime DEFAULT NULL COMMENT '任务计划开始时间',
    `PLAN_END_TIME` datetime DEFAULT NULL COMMENT '任务计划结束时间',
    `START_TIME` datetime DEFAULT NULL COMMENT '任务实际开始时间',
    `END_TIME` datetime DEFAULT NULL COMMENT '任务实际结束时间',
    `KEEP_ON_RECORD` char(1) DEFAULT '0' COMMENT '巡检报备 0 未报备 1已报备',
    `CREATE_USER` bigint(64) DEFAULT NULL COMMENT '创建人',
    `CREATE_DEPT` bigint(64) DEFAULT NULL COMMENT '创建部门',
    `CREATE_TIME` datetime DEFAULT NULL COMMENT '创建时间',
    `UPDATE_USER` bigint(64) DEFAULT NULL COMMENT '修改人',
    `UPDATE_TIME` datetime DEFAULT NULL COMMENT '修改时间',
    `STATUS` int(2) DEFAULT '0' COMMENT '任务状态 0未开始 1进行中 2暂停 3已完成 4未完成',
    `IS_DELETED` int(2) NOT NULL DEFAULT '0' COMMENT '是否已删除',
    `TENANT_ID` varchar(12) DEFAULT '000000' COMMENT '租户',
    `AUTO_VIDEO` varchar(255) DEFAULT '0' COMMENT '巡检类型标识： 0普通巡检 1 视频自动巡检 2机器人巡检',
    `TASK_CONTENT` text COMMENT '临时任务的巡检任务内容',
    `PLAN_TYPE` varchar(20) DEFAULT 'common' COMMENT '计划类型common常规任务temporary临时任务',
    `START_REMIND_FLAG` tinyint(1) DEFAULT '0' COMMENT '任务开始前 是否发送提醒短信 标识',
    `END_REMIND_FLAG` tinyint(1) DEFAULT '0' COMMENT '任务结束前 是否发送提醒短信 标识',
    `START_REMIND_TIME` datetime DEFAULT NULL COMMENT '开始前提醒时间',
    `END_REMIND_TIME` datetime DEFAULT NULL COMMENT '结束前提醒时间',
    `DUTY_ID` bigint(20) DEFAULT NULL COMMENT '值班ID',
    `message_template_id` bigint(20) DEFAULT NULL COMMENT '消息模板ID',
    `push_status` bigint(1) DEFAULT NULL COMMENT '推送状态',
    `ENABLE` tinyint(2) DEFAULT NULL COMMENT '是否启用',
    PRIMARY KEY (`ID`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='巡检任务模板表（专供演示数据使用）';

-- 巡检任务对象模板表
CREATE TABLE IF NOT EXISTS `hz_st_ex_object_template` (
    `ID` bigint(64) NOT NULL,
    `TASK_ID` bigint(20) NOT NULL COMMENT '任务ID',
    `OBJECT_ID` bigint(20) NOT NULL COMMENT '对象ID',
    `CODE` varchar(18) DEFAULT NULL COMMENT '对象编码',
    `NAME` varchar(128) DEFAULT NULL COMMENT '对象名称',
    `ADDRESS` varchar(128) DEFAULT NULL COMMENT '地理位置',
    `LGTD` decimal(13,10) DEFAULT NULL COMMENT '经度(东经)',
    `LTTD` decimal(12,10) DEFAULT NULL COMMENT '纬度(北纬)',
    `DUPLICATE_RECORD` char(1) DEFAULT '0' COMMENT '是否重复记录 0 不允许 1允许',
    `CREATE_USER` bigint(64) DEFAULT NULL COMMENT '创建人',
    `CREATE_DEPT` bigint(64) DEFAULT NULL COMMENT '创建部门',
    `CREATE_TIME` datetime DEFAULT NULL COMMENT '创建时间',
    `UPDATE_USER` bigint(64) DEFAULT NULL COMMENT '修改人',
    `UPDATE_TIME` datetime DEFAULT NULL COMMENT '修改时间',
    `STATUS` int(2) DEFAULT '0' COMMENT '状态',
    `IS_DELETED` int(2) NOT NULL DEFAULT '0' COMMENT '是否已删除',
    `TENANT_ID` varchar(12) DEFAULT '000000' COMMENT '租户',
    `ENABLE` tinyint(2) DEFAULT NULL COMMENT '是否启用',
    PRIMARY KEY (`ID`) USING BTREE,
    KEY `idx_task_id` (`TASK_ID`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='巡检任务对象模板表（专供演示数据使用）';

-- 巡检任务对象项目模板表
CREATE TABLE IF NOT EXISTS `hz_st_ex_object_project_template` (
    `ID` bigint(64) NOT NULL,
    `TASK_ID` bigint(64) NOT NULL COMMENT '任务ID',
    `OBJECT_ID` bigint(64) NOT NULL COMMENT '对象ID',
    `PROJECT_ID` bigint(64) NOT NULL COMMENT '项目ID',
    `CODE` varchar(18) DEFAULT NULL COMMENT '目标编码',
    `NAME` varchar(128) DEFAULT NULL COMMENT '目标名称',
    `DESCRIPTION` varchar(512) DEFAULT NULL COMMENT '目标描述',
    `CREATE_USER` bigint(64) DEFAULT NULL COMMENT '创建人',
    `CREATE_DEPT` bigint(64) DEFAULT NULL COMMENT '创建部门',
    `CREATE_TIME` datetime DEFAULT NULL COMMENT '创建时间',
    `UPDATE_USER` bigint(64) DEFAULT NULL COMMENT '修改人',
    `UPDATE_TIME` datetime DEFAULT NULL COMMENT '修改时间',
    `STATUS` int(2) DEFAULT '0' COMMENT '状态',
    `IS_DELETED` int(2) NOT NULL DEFAULT '0' COMMENT '是否已删除',
    `TENANT_ID` varchar(12) DEFAULT '000000' COMMENT '租户',
    `ENABLE` tinyint(2) DEFAULT NULL COMMENT '是否启用',
    PRIMARY KEY (`ID`) USING BTREE,
    KEY `idx_task_id` (`TASK_ID`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='巡检任务对象项目模板表（专供演示数据使用）';

CREATE TABLE IF NOT EXISTS `hz_st_ex_object_project_content_template` (
    `ID` bigint(64) NOT NULL,
    `TASK_ID` bigint(20) NOT NULL COMMENT '任务ID',
    `OBJECT_ID` bigint(20) NOT NULL COMMENT '对象ID',
    `PROJECT_ID` bigint(20) NOT NULL COMMENT '项目ID',
    `CONTENT_ID` bigint(20) NOT NULL COMMENT '内容ID',
    `CODE` varchar(18) DEFAULT NULL COMMENT '内容编码 由系统自动生成自动生成',
    `NAME` varchar(128) DEFAULT NULL COMMENT '内容名称',
    `AVAILABLE` char(1) DEFAULT '1' COMMENT '完成标识 0 不可用 1 可用',
    `DESCRIPTION` varchar(512) DEFAULT NULL COMMENT '内容描述',
    `CHECK_TYPE` char(2) DEFAULT NULL COMMENT '检测类型',
    `RECORD_TYPE` char(1) DEFAULT NULL COMMENT '记录类型',
    `CHECK_TYPE_SON` varchar(256) DEFAULT NULL COMMENT '存字典表key 检测类型子类  子类的子类通过-隔开例如：1-12',
    `CREATE_USER` bigint(64) DEFAULT NULL COMMENT '创建人',
    `CREATE_DEPT` bigint(64) DEFAULT NULL COMMENT '创建部门',
    `CREATE_TIME` datetime DEFAULT NULL COMMENT '创建时间',
    `UPDATE_USER` bigint(64) DEFAULT NULL COMMENT '修改人',
    `UPDATE_TIME` datetime DEFAULT NULL COMMENT '修改时间',
    `STATUS` int(2) DEFAULT '0' COMMENT '状态',
    `IS_DELETED` int(2) NOT NULL DEFAULT '0' COMMENT '是否已删除',
    `TENANT_ID` varchar(12) DEFAULT '000000' COMMENT '租户',
    `CLOCK_ID` bigint(20) DEFAULT NULL COMMENT '表针识别 表盘ID',
    `CAMERA_ID` bigint(20) DEFAULT NULL COMMENT '视频巡检摄像机ID',
    `CAMERA_ADDR` varchar(128) DEFAULT NULL COMMENT '开关/灯/表盘在摄像机可视面二维坐标位置 例如：2 1   表示第三行第二列 行列均从0开始记录 默认 0 0 如果有多张图则：0 0 1( 最后一位表示所在图片 最后一位1表示第二张图) 默认0 0 0',
    `OTHER_PARAM` varchar(1024) DEFAULT NULL COMMENT '其他参数 例如多联断路器内断路器的个数',
    `CHECK_VAL` varchar(512) DEFAULT NULL COMMENT '校验值 用来判断当前值是否正确：枚举数据通过 “    ”隔开  区间通过~隔开',
    `DICT_TYPE` varchar(255) DEFAULT NULL COMMENT '记值方式为选择时选择值',
    `ENABLE` tinyint(2) DEFAULT NULL COMMENT '是否启用',
    PRIMARY KEY (`ID`) USING BTREE,
    KEY `idx_task_id` (`TASK_ID`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='巡检任务对象项目内容模板表（专供演示数据使用）';

-- 巡检情况列模板表
CREATE TABLE IF NOT EXISTS `hz_st_ex_event_template` (
   `ID` bigint(20) NOT NULL COMMENT 'ID',
   `TASK_ID` bigint(20) DEFAULT NULL COMMENT '任务ID',
   `OBJECT_ID` bigint(20) DEFAULT NULL COMMENT '对象ID',
   `PROJECT_ID` bigint(20) DEFAULT NULL COMMENT '项目ID',
   `USER_ID` bigint(20) DEFAULT NULL COMMENT '事件登记人',
   `CODE` varchar(18) DEFAULT NULL COMMENT '事件编号',
   `TITLE` varchar(128) DEFAULT NULL COMMENT '事件标题',
   `DESCRIPTION` varchar(1024) DEFAULT NULL COMMENT '事件描述',
   `IS_PROBLEM` char(1) DEFAULT '0' COMMENT '是否问题 0:否 1 是  默认0',
   `TYPE_BIG` char(10) DEFAULT NULL COMMENT '问题类型(大)',
   `TYPE_SMALL` char(10) DEFAULT NULL COMMENT '问题类型(小)',
   `LGTD` decimal(13,10) DEFAULT NULL COMMENT '经度(东经)',
   `LTTD` decimal(12,10) DEFAULT NULL COMMENT '纬度(北纬)',
   `ADDRESS` varchar(256) DEFAULT NULL COMMENT '事件地点',
   `PROCESS_DEFINITION_ID` varchar(64) DEFAULT NULL COMMENT '流程定义id',
   `PROCESS_INSTANCE_ID` varchar(64) DEFAULT NULL COMMENT '流程实例id',
   `CREATE_TIME` datetime DEFAULT NULL COMMENT '创建时间',
   `CREATE_USER` bigint(64) DEFAULT NULL,
   `CREATE_DEPT` bigint(64) DEFAULT NULL COMMENT '创建部门',
   `UPDATE_USER` bigint(64) DEFAULT NULL COMMENT '修改人',
   `UPDATE_TIME` datetime DEFAULT NULL COMMENT '修改时间',
   `STATUS` int(2) DEFAULT '0' COMMENT '状态',
   `IS_DELETED` int(2) NOT NULL DEFAULT '0' COMMENT '是否已删除',
   `TENANT_ID` varchar(12) DEFAULT NULL COMMENT '租户',
   `ENABLE` tinyint(2) DEFAULT NULL COMMENT '是否启用',
   PRIMARY KEY (`ID`) USING BTREE,
   KEY `idx_task_id` (`TASK_ID`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='巡检情况列模板表（专供演示数据使用）';

-- 巡检情况记录模板表
CREATE TABLE IF NOT EXISTS `hz_st_ex_event_record_template` (
  `ID` bigint(64) NOT NULL,
  `EVENT_ID` bigint(20) NOT NULL COMMENT '事件ID',
  `OBJECT_ID` bigint(20) NOT NULL COMMENT '对象ID',
  `PROJECT_ID` bigint(20) NOT NULL COMMENT '项目ID',
  `CONTENT_ID` bigint(20) NOT NULL COMMENT '内容ID',
  `CURRENT_STATUS` char(1) DEFAULT '1' COMMENT '内容当前状态 0 异常 1 正常 ',
  `CURRENT_VALUE` varchar(512) DEFAULT NULL COMMENT '内容当前值',
  `CURRENT_DESC` varchar(512) DEFAULT NULL COMMENT '内容当前描述',
  `CODE` varchar(18) DEFAULT NULL COMMENT '内容编码:由系统自动生成自动生成',
  `NAME` varchar(128) DEFAULT NULL COMMENT '内容名称',
  `DESCRIPTION` varchar(512) DEFAULT NULL COMMENT '内容描述',
  `RECORD_TYPE` char(1) DEFAULT NULL COMMENT '记录类型  0 不记录  1仅选择 2仅记值 3选择并记值',
  `CHECK_TYPE` char(2) DEFAULT NULL COMMENT '检测类型 原来数据字典 暂时设计只支持99个类型',
  `CREATE_USER` bigint(64) DEFAULT NULL COMMENT '创建人',
  `CREATE_DEPT` bigint(64) DEFAULT NULL COMMENT '创建部门',
  `CREATE_TIME` datetime DEFAULT NULL COMMENT '创建时间',
  `UPDATE_USER` bigint(64) DEFAULT NULL COMMENT '修改人',
  `UPDATE_TIME` datetime DEFAULT NULL COMMENT '修改时间',
  `STATUS` int(2) DEFAULT NULL COMMENT '状态',
  `IS_DELETED` int(2) NOT NULL DEFAULT '0' COMMENT '是否已删除',
  `TENANT_ID` varchar(12) DEFAULT '000000' COMMENT '租户',
  `CHECK_TYPE_SON` varchar(256) DEFAULT NULL COMMENT '存字典表key 检测类型子类 子类的子类通过-隔开例如：1-12',
  `FILE_URL` varchar(512) DEFAULT NULL COMMENT '文件地址',
  `CAMERA_ADDR` varchar(256) DEFAULT NULL COMMENT '开关/灯/表盘在摄像机可视面二维坐标位置 例如：2 1   表示第三行第二列 行列均从0开始记录 默认 0 0  如果有多张图则：0 0 1( 最后一位表示所在图片 最后一位1表示第二张图) 默认0 0 0',
  `OTHER_PARAM` varchar(1024) DEFAULT NULL COMMENT '其他参数 例如多联断路器内断路器的',
  `CHECK_VAL` varchar(512) DEFAULT NULL COMMENT '校验值 用来判断当前值是否正确：枚举数据通过 隔开 区间通过 隔开',
  `DICT_TYPE` varchar(255) DEFAULT NULL COMMENT '记值方式为选择时选择值',
  `ENABLE` tinyint(2) DEFAULT NULL COMMENT '是否启用',
  PRIMARY KEY (`ID`) USING BTREE,
  KEY `idx_event_id` (`EVENT_ID`) USING BTREE,
  KEY `idx_is_deleted_tenant_id` (`IS_DELETED`,`TENANT_ID`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='巡检情况记录模板表（专供演示数据使用）';

ALTER TABLE `hz_st_ex_task_user` MODIFY COLUMN `CLAIM_STATUS` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '领用状态 0:未领用  1:已领用 每条任务可以存在多个用户，但是只有一个领用人' AFTER `USER_ID`;

ALTER TABLE `hz_st_ex_task_user` ADD COLUMN `user_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL AFTER `TENANT_ID`;

-- 巡检摄像头管理添加设备编号
alter table `hz_st_robot` add column `station_code` varchar(50) default null comment '站点编号';
alter table `hz_st_robot` add column `is_device_instance` tinyint(2) default 0 comment '是否绑定设备实例';
alter table `hz_st_re_object` change COLUMN `EM_CODE` `EM_CODE` VARCHAR(50) COMMENT '设备编号';
-- 大模型分析增加多选字段
ALTER TABLE `hz_st_re_content` ADD COLUMN `MULTI_CHECK_TYPE_SON` VARCHAR ( 255 ) NULL COMMENT '存字典表key 检测类型子类 多个数据之间使用逗号分隔开' AFTER `CHECK_TYPE_SON`;
ALTER TABLE `hz_st_re_content_definition` ADD COLUMN `MULTI_CHECK_TYPE_SON` VARCHAR ( 255 ) NULL COMMENT '存字典表key 检测类型子类 多个数据之间使用逗号分隔开' AFTER `CHECK_TYPE_SON`;
ALTER TABLE `hz_st_re_content` ADD COLUMN `ANALYSER_TYPE` VARCHAR ( 255 ) NULL COMMENT 'ai识别分析方式，设备或大模型' AFTER `MULTI_CHECK_TYPE_SON`;
ALTER TABLE `hz_st_re_content_definition` ADD COLUMN `ANALYSER_TYPE` VARCHAR ( 255 ) NULL COMMENT 'ai识别分析方式，设备或大模型' AFTER `MULTI_CHECK_TYPE_SON`;