- 移除 AbstractFlowMsgPreInterceptor 中的 beforeIntercept 和 afterIntercept 方法实现 - 调整 FlowExceptionInterceptor、FlowLoggingInterceptor、FlowOutputStoreInterceptor 的执行顺序 - 在 FlowExecutionEvent 中新增 nodeName 字段用于存储节点名称 - 修改 FlowItemExecutor 以传递节点名称到执行消息中 - 更新 FlowMsgPreInterceptor 接口移除 beforeIntercept 和 afterIntercept 方法定义 - 新增 FlowAfterInterceptor 处理节点执行后的事件发布 - 新增 FlowBeforeInterceptor 处理节点执行前的事件发布 - 在巡检任务表中添加 map_id 字段并更新相关实体类和映射文件 - 实现巡检流程执行监听器中的节点执行状态推送功能
147 lines
7.8 KiB
SQL
147 lines
7.8 KiB
SQL
-- ----------------------------
|
||
-- 智能巡检模块数据库表结构
|
||
-- ----------------------------
|
||
|
||
-- 1. 巡检机器人表
|
||
DROP TABLE IF EXISTS `inspection_robot`;
|
||
CREATE TABLE `inspection_robot` (
|
||
`id` varchar(64) NOT NULL COMMENT '主键ID',
|
||
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
|
||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
|
||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||
`robot_code` varchar(64) DEFAULT NULL COMMENT '机器人编码',
|
||
`robot_name` varchar(100) NOT NULL COMMENT '机器人名称',
|
||
`robot_model` varchar(100) DEFAULT NULL COMMENT '机器人型号',
|
||
`robot_type` varchar(50) DEFAULT NULL COMMENT '机器人类型',
|
||
`ip_address` varchar(50) DEFAULT NULL COMMENT 'IP地址',
|
||
`port` int(11) DEFAULT NULL COMMENT '端口号',
|
||
`current_map_id` varchar(64) DEFAULT NULL COMMENT '当前地图ID',
|
||
`status` char(1) DEFAULT '0' COMMENT '状态(0在线 1离线 2充电中 3巡检中)',
|
||
`battery_level` int(3) DEFAULT NULL COMMENT '电量百分比',
|
||
`current_position` varchar(200) DEFAULT NULL COMMENT '当前位置',
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `uk_robot_code` (`robot_code`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='巡检机器人表';
|
||
|
||
-- 2. 巡检地图表
|
||
DROP TABLE IF EXISTS `inspection_map`;
|
||
CREATE TABLE `inspection_map` (
|
||
`id` varchar(64) NOT NULL COMMENT '主键ID',
|
||
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
|
||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
|
||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||
`map_name` varchar(100) NOT NULL COMMENT '地图名称',
|
||
`map_source_robot_id` varchar(64) DEFAULT NULL COMMENT '地图来源的机器人id',
|
||
`map_source_name` varchar(100) DEFAULT NULL COMMENT '地图来源的地图名称',
|
||
`map_file_path` varchar(500) DEFAULT NULL COMMENT '地图文件路径',
|
||
`status` char(1) DEFAULT '0' COMMENT '状态(0正常 1停用)',
|
||
`map_desc` varchar(500) DEFAULT NULL COMMENT '地图描述',
|
||
PRIMARY KEY (`id`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='巡检地图表';
|
||
|
||
-- 3. 巡检任务表(不再包含机器人信息)
|
||
DROP TABLE IF EXISTS `inspection_task`;
|
||
CREATE TABLE `inspection_task` (
|
||
`id` varchar(64) NOT NULL COMMENT '主键ID',
|
||
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
|
||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
|
||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||
`task_code` varchar(64) DEFAULT NULL COMMENT '任务编码',
|
||
`task_name` varchar(100) NOT NULL COMMENT '任务名称',
|
||
`task_type` char(1) DEFAULT '1' COMMENT '任务类型(1巡检任务 2讲解任务)',
|
||
`task_config_id` varchar(64) DEFAULT NULL COMMENT '任务配置ID',
|
||
`map_id` varchar(64) DEFAULT NULL COMMENT '地图ID',
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `uk_task_code` (`task_code`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='巡检任务表';
|
||
|
||
-- 4. 巡检点位表(不再包含任务ID,通过关联表关联)
|
||
DROP TABLE IF EXISTS `inspection_waypoint`;
|
||
CREATE TABLE `inspection_waypoint` (
|
||
`id` varchar(64) NOT NULL COMMENT '主键ID',
|
||
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
|
||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
|
||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||
`waypoint_name` varchar(100) NOT NULL COMMENT '点位名称',
|
||
`enabled` char(1) DEFAULT '0' COMMENT '是否启用(0启用 1禁用)',
|
||
`sort_order` int(11) DEFAULT '0' COMMENT '排序号',
|
||
`detect_item_id` varchar(64) DEFAULT NULL COMMENT '检测项ID',
|
||
`map_id` varchar(64) DEFAULT NULL COMMENT '地图ID',
|
||
PRIMARY KEY (`id`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='巡检点位表';
|
||
|
||
-- 4.1 任务与点位关联表(多对多)
|
||
DROP TABLE IF EXISTS `inspection_task_waypoint`;
|
||
CREATE TABLE `inspection_task_waypoint` (
|
||
`task_id` varchar(64) NOT NULL COMMENT '任务ID',
|
||
`waypoint_id` varchar(64) NOT NULL COMMENT '点位ID',
|
||
`sort_order` int(11) DEFAULT '0' COMMENT '排序号',
|
||
PRIMARY KEY (`task_id`, `waypoint_id`),
|
||
KEY `idx_task_id` (`task_id`),
|
||
KEY `idx_waypoint_id` (`waypoint_id`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='任务与点位关联表';
|
||
|
||
-- 4.2 巡检任务执行实例表
|
||
DROP TABLE IF EXISTS `inspection_task_instance`;
|
||
CREATE TABLE `inspection_task_instance` (
|
||
`id` varchar(64) NOT NULL COMMENT '主键ID',
|
||
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
|
||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
|
||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||
`task_id` varchar(64) NOT NULL COMMENT '任务ID',
|
||
`robot_id` varchar(64) DEFAULT NULL COMMENT '机器人ID',
|
||
`status` char(1) DEFAULT '0' COMMENT '执行状态(0待执行 1执行中 2已完成 3已取消 4执行失败 5已暂停)',
|
||
`start_time` datetime DEFAULT NULL COMMENT '开始时间',
|
||
`end_time` datetime DEFAULT NULL COMMENT '结束时间',
|
||
`task_ins_id` varchar(64) DEFAULT NULL COMMENT '检测任务id',
|
||
PRIMARY KEY (`id`),
|
||
KEY `idx_task_id` (`task_id`),
|
||
KEY `idx_robot_id` (`robot_id`),
|
||
KEY `idx_status` (`status`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='巡检任务执行实例表';
|
||
|
||
-- 5. 巡检告警表(增加任务执行实例ID)
|
||
DROP TABLE IF EXISTS `inspection_alarm`;
|
||
CREATE TABLE `inspection_alarm` (
|
||
`id` varchar(64) NOT NULL COMMENT '主键ID',
|
||
`create_by` varchar(64) DEFAULT '' COMMENT '创建者',
|
||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||
`update_by` varchar(64) DEFAULT '' COMMENT '更新者',
|
||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||
`alarm_code` varchar(64) DEFAULT NULL COMMENT '告警编码',
|
||
`task_instance_id` varchar(64) DEFAULT NULL COMMENT '任务执行实例ID',
|
||
`task_id` varchar(64) DEFAULT NULL COMMENT '任务ID',
|
||
`task_name` varchar(100) DEFAULT NULL COMMENT '任务名称',
|
||
`robot_id` varchar(64) DEFAULT NULL COMMENT '机器人ID',
|
||
`robot_name` varchar(100) DEFAULT NULL COMMENT '机器人名称',
|
||
`alarm_level` char(1) DEFAULT '2' COMMENT '告警级别(1提示 2警告 3严重)',
|
||
`alarm_type` char(1) DEFAULT NULL COMMENT '告警类型(1设备异常 2环境异常 3任务异常 4通信异常)',
|
||
`alarm_title` varchar(200) DEFAULT NULL COMMENT '告警标题',
|
||
`alarm_content` text COMMENT '告警内容',
|
||
`alarm_location` varchar(200) DEFAULT NULL COMMENT '告警位置',
|
||
`alarm_time` datetime DEFAULT NULL COMMENT '告警时间',
|
||
`handle_status` char(1) DEFAULT '0' COMMENT '处理状态(0未处理 1处理中 2已处理 3已忽略)',
|
||
`handler` varchar(64) DEFAULT NULL COMMENT '处理人',
|
||
`handle_time` datetime DEFAULT NULL COMMENT '处理时间',
|
||
`handle_remark` varchar(500) DEFAULT NULL COMMENT '处理说明',
|
||
`evidence_image` varchar(500) DEFAULT NULL COMMENT '图片证据',
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `uk_alarm_code` (`alarm_code`),
|
||
KEY `idx_task_instance_id` (`task_instance_id`),
|
||
KEY `idx_task_id` (`task_id`),
|
||
KEY `idx_robot_id` (`robot_id`),
|
||
KEY `idx_alarm_time` (`alarm_time`),
|
||
KEY `idx_handle_status` (`handle_status`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='巡检告警表';
|