zcloud_gbs_safetyDutyList/docs/安全责任清单应用数据库设计文档.md

33 KiB
Raw Permalink Blame History

安全责任清单应用数据库设计文档

1. 概述

本文档描述了安全责任清单应用的数据库设计。该系统用于管理企业安全责任清单的全流程,包括清单模板管理、任务模板管理、清单下发、任务执行、执行反馈、反馈异常检测等功能。系统采用模板与实例分离的设计,清单与任务作为模板可下发给多个公司,支持多租户、多组织、数据权限控制,涵盖清单创建、下发、执行、反馈、评分、异常检测等核心业务。

1.1 核心设计思路

  • 模板与实例分离task_list(清单模板)与 task_list_issue(下发记录)分离,task_detail(任务模板)与 task_execution(执行记录)分离
  • 一对多关系:一个清单模板可下发给多个公司,生成多条下发记录;一个任务模板对应多条执行记录
  • 反馈周期机制:根据反馈周期类型(月/季/半年/年)自动生成周期标识,用于分组统计和异常检测
  • 异常自动检测定时任务每月1日0时检测上一周期是否有反馈无反馈则记录异常

1.2 表关系概览

task_list (清单模板)
  ├── task_detail (任务模板,一对多)
  └── task_list_issue (下发记录,一对多)
        ├── task_execution (执行记录,一对多)
        ├── feedback (反馈记录,一对多)
        └── feedback_exception (反馈异常,一对多)

2. 数据库表设计

2.1 safety_accountability_task_list任务清单表

任务清单表用于存储安全责任清单的模板信息,包括清单名称、任务级别、责任岗位、开关状态等。作为模板,可被多次下发给不同公司。

2.1.1 表结构

字段名 类型 长度 允许空 说明 备注
id BIGINT - 主键 ID 自增
task_list_id VARCHAR 64 清单 UUID 业务主键UUID 生成
task_list_name VARCHAR 255 清单名称
task_level TINYINT - 任务级别 1-企业级 2-部门级 3-班组级
responsibility_post VARCHAR 255 责任岗位
switch_flag TINYINT 1 开启/关闭 0-关 1-开默认1
create_corp_id BIGINT - 创建公司 ID 外键
create_department_id BIGINT - 创建部门 ID 外键
create_user_id BIGINT - 创建人 ID 外键
status TINYINT - 状态 1-进行中 2-已完成 3-已关闭默认1
delete_enum VARCHAR 32 删除标识 TRUE-已删除FALSE-未删除
remarks VARCHAR 500 备注
create_name VARCHAR 50 创建人姓名 冗余字段
update_name VARCHAR 50 更新人姓名 冗余字段
tenant_id BIGINT - 租户 ID 多租户字段
org_id BIGINT - 组织 ID 组织字段
version INT - 版本号 乐观锁版本号默认0
create_time DATETIME - 创建时间 默认当前时间
update_time DATETIME - 更新时间 自动更新
create_id BIGINT - 创建人 ID 外键
update_id BIGINT - 更新人 ID 外键
env VARCHAR 50 环境标识

2.1.2 建表语句

CREATE TABLE `safety_accountability_task_list` (
    `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
    `task_list_id` varchar(64) NOT NULL COMMENT '清单UUID业务主键',
    `task_list_name` varchar(255) NOT NULL COMMENT '清单名称',
    `task_level` tinyint NOT NULL COMMENT '任务级别1-企业级 2-部门级 3-班组级',
    `responsibility_post` varchar(255) NOT NULL COMMENT '责任岗位',
    `switch_flag` tinyint(1) NOT NULL DEFAULT '1' COMMENT '开启/关闭0-关 1-开',
    `create_corp_id` bigint DEFAULT NULL COMMENT '创建公司ID',
    `create_department_id` bigint DEFAULT NULL COMMENT '创建部门ID',
    `create_user_id` bigint DEFAULT NULL COMMENT '创建人ID',
    `status` tinyint NOT NULL DEFAULT '1' COMMENT '状态1-进行中 2-已完成 3-已关闭',
    `delete_enum` varchar(32) DEFAULT 'FALSE' COMMENT '删除标识TRUE/FALSE',
    `remarks` varchar(500) DEFAULT NULL COMMENT '备注',
    `create_name` varchar(50) DEFAULT NULL COMMENT '创建人姓名',
    `update_name` varchar(50) DEFAULT NULL COMMENT '更新人姓名',
    `tenant_id` bigint DEFAULT NULL COMMENT '租户ID',
    `org_id` bigint DEFAULT NULL COMMENT '单位ID',
    `version` int DEFAULT '0' COMMENT '版本',
    `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
    `create_id` bigint DEFAULT NULL COMMENT '创建人ID',
    `update_id` bigint DEFAULT NULL COMMENT '修改人ID',
    `env` varchar(50) DEFAULT NULL COMMENT '环境标识',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_task_list_id` (`task_list_id`),
    KEY `idx_create_corp_id` (`create_corp_id`),
    KEY `idx_status_task_list_id` (`task_list_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='任务清单表';

2.1.3 索引设计

索引名 索引类型 字段 说明
PRIMARY 主键索引 id 主键
uk_task_list_id 唯一索引 task_list_id 清单业务主键唯一
idx_create_corp_id 普通索引 create_corp_id 按创建公司查询
idx_status_task_list_id 普通索引 task_list_id 按状态和清单ID查询

2.2 safety_accountability_task_detail任务清单详细表

任务清单详细表用于存储清单下的任务模板信息,包括执行内容、反馈周期类型、任务分值等。每个清单可包含多个任务模板。

2.2.1 表结构

字段名 类型 长度 允许空 说明 备注
id BIGINT - 主键 ID 自增
task_detail_id VARCHAR 64 任务详情 UUID 业务主键UUID 生成
task_list_id VARCHAR 64 任务清单主键 外键,关联 task_list 表
execute_content TEXT - 执行内容
feedback_cycle_type TINYINT - 反馈周期类型 1-每月 2-季度 3-半年 4-年
task_score DECIMAL 5,2 任务分值
task_status TINYINT - 任务状态 1-进行中 2-已完成 3-已关闭默认1
delete_enum VARCHAR 32 删除标识 TRUE-已删除FALSE-未删除
remarks VARCHAR 500 备注
create_name VARCHAR 50 创建人姓名 冗余字段
update_name VARCHAR 50 更新人姓名 冗余字段
tenant_id BIGINT - 租户 ID 多租户字段
org_id BIGINT - 组织 ID 组织字段
version INT - 版本号 乐观锁版本号默认0
create_time DATETIME - 创建时间 默认当前时间
update_time DATETIME - 更新时间 自动更新
create_id BIGINT - 创建人 ID 外键
update_id BIGINT - 更新人 ID 外键
env VARCHAR 50 环境标识

2.2.2 建表语句

CREATE TABLE `safety_accountability_task_detail` (
    `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
    `task_detail_id` varchar(64) NOT NULL COMMENT '任务详情UUID业务主键',
    `task_list_id` varchar(64) NOT NULL COMMENT '任务清单主键(关联任务清单表)',
    `execute_content` text COMMENT '执行内容',
    `feedback_cycle_type` tinyint NOT NULL COMMENT '反馈周期类型1-每月 2-季度 3-半年 4-年',
    `task_score` decimal(5,2) DEFAULT NULL COMMENT '任务分值',
    `task_status` tinyint NOT NULL DEFAULT '1' COMMENT '任务状态1-进行中 2-已完成 3-已关闭',
    `delete_enum` varchar(32) DEFAULT 'FALSE' COMMENT '删除标识TRUE/FALSE',
    `remarks` varchar(500) DEFAULT NULL COMMENT '备注',
    `create_name` varchar(50) DEFAULT NULL COMMENT '创建人姓名',
    `update_name` varchar(50) DEFAULT NULL COMMENT '更新人姓名',
    `tenant_id` bigint DEFAULT NULL COMMENT '租户ID',
    `org_id` bigint DEFAULT NULL COMMENT '单位ID',
    `version` int DEFAULT '0' COMMENT '版本',
    `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
    `create_id` bigint DEFAULT NULL COMMENT '创建人ID',
    `update_id` bigint DEFAULT NULL COMMENT '修改人ID',
    `env` varchar(50) DEFAULT NULL COMMENT '环境标识',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_task_detail_id` (`task_detail_id`),
    KEY `idx_task_list_id` (`task_list_id`),
    KEY `idx_task_list_status` (`task_list_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='任务清单详细表';

2.2.3 索引设计

索引名 索引类型 字段 说明
PRIMARY 主键索引 id 主键
uk_task_detail_id 唯一索引 task_detail_id 任务详情业务主键唯一
idx_task_list_id 普通索引 task_list_id 按清单ID查询任务
idx_task_list_status 普通索引 task_list_id 按清单ID和状态查询

2.3 safety_accountability_task_list_issue清单下发记录表

清单下发记录表用于存储清单下发给具体公司/部门/人员的记录信息,包括执行周期、下发状态、评分等。一个清单模板可下发给多个公司,每条下发记录对应一组任务执行记录。

2.3.1 表结构

字段名 类型 长度 允许空 说明 备注
id BIGINT - 主键 ID 自增
task_issue_id VARCHAR 64 下发记录 UUID 业务主键UUID 生成
task_list_id VARCHAR 64 清单 UUID 外键,关联 task_list 表
execute_corp_id BIGINT - 执行公司 ID 外键
execute_department_id BIGINT - 执行部门 ID 外键
execute_user_id BIGINT - 执行人员 ID 外键
issue_status TINYINT - 下发状态 0-未下发 1-已下发默认0
issue_time DATETIME - 下发时间
issue_corp_id BIGINT - 下发公司 ID 外键
issue_department_id BIGINT - 下发部门 ID 外键
issue_user_id BIGINT - 下发人员 ID 外键
period_start_time DATETIME - 执行周期开始时间
period_end_time DATETIME - 执行周期结束时间
status TINYINT - 状态 1-进行中 2-已完成 3-已关闭默认1
close_time DATETIME - 关闭时间
rating_score DECIMAL 5,2 评分数 汇总所有任务执行评分
rating_user_id BIGINT - 评分人 ID 外键
rating_department_id BIGINT - 评分部门 ID 外键
delete_enum VARCHAR 32 删除标识 TRUE-已删除FALSE-未删除
remarks VARCHAR 500 备注
create_name VARCHAR 50 创建人姓名 冗余字段
update_name VARCHAR 50 更新人姓名 冗余字段
tenant_id BIGINT - 租户 ID 多租户字段
org_id BIGINT - 组织 ID 组织字段
version INT - 版本号 乐观锁版本号默认0
create_time DATETIME - 创建时间 默认当前时间
update_time DATETIME - 更新时间 自动更新
create_id BIGINT - 创建人 ID 外键
update_id BIGINT - 更新人 ID 外键
env VARCHAR 50 环境标识

2.3.2 建表语句

CREATE TABLE `safety_accountability_task_list_issue` (
    `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
    `task_issue_id` varchar(64) NOT NULL COMMENT '下发记录UUID业务主键',
    `task_list_id` varchar(64) NOT NULL COMMENT '清单UUID关联清单模板表',
    `execute_corp_id` bigint DEFAULT NULL COMMENT '执行公司ID',
    `execute_department_id` bigint DEFAULT NULL COMMENT '执行部门ID',
    `execute_user_id` bigint DEFAULT NULL COMMENT '执行人员ID',
    `issue_status` tinyint DEFAULT '0' COMMENT '下发状态0-未下发 1-已下发',
    `issue_time` datetime DEFAULT NULL COMMENT '下发时间',
    `issue_corp_id` bigint DEFAULT NULL COMMENT '下发公司ID',
    `issue_department_id` bigint DEFAULT NULL COMMENT '下发部门ID',
    `issue_user_id` bigint DEFAULT NULL COMMENT '下发人员ID',
    `period_start_time` datetime DEFAULT NULL COMMENT '执行周期开始时间',
    `period_end_time` datetime DEFAULT NULL COMMENT '执行周期结束时间',
    `status` tinyint NOT NULL DEFAULT '1' COMMENT '状态1-进行中 2-已完成 3-已关闭',
    `close_time` datetime DEFAULT NULL COMMENT '关闭时间',
    `rating_score` decimal(5,2) DEFAULT NULL COMMENT '评分数(汇总所有任务执行评分)',
    `rating_user_id` bigint DEFAULT NULL COMMENT '评分人ID',
    `rating_department_id` bigint DEFAULT NULL COMMENT '评分部门ID',
    `delete_enum` varchar(32) DEFAULT 'FALSE' COMMENT '删除标识TRUE/FALSE',
    `remarks` varchar(500) DEFAULT NULL COMMENT '备注',
    `create_name` varchar(50) DEFAULT NULL COMMENT '创建人姓名',
    `update_name` varchar(50) DEFAULT NULL COMMENT '更新人姓名',
    `tenant_id` bigint DEFAULT NULL COMMENT '租户ID',
    `org_id` bigint DEFAULT NULL COMMENT '单位ID',
    `version` int DEFAULT '0' COMMENT '版本',
    `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
    `create_id` bigint DEFAULT NULL COMMENT '创建人ID',
    `update_id` bigint DEFAULT NULL COMMENT '修改人ID',
    `env` varchar(50) DEFAULT NULL COMMENT '环境标识',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_task_issue_id` (`task_issue_id`),
    KEY `idx_tenant_org_status` (`tenant_id`,`org_id`,`status`),
    KEY `idx_task_list_id` (`task_list_id`),
    KEY `idx_execute_corp_dept_user` (`execute_corp_id`, `execute_department_id`, `execute_user_id`),
    KEY `idx_period_start` (`period_start_time`),
    KEY `idx_issue_time` (`issue_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='清单下发记录表';

2.3.3 索引设计

索引名 索引类型 字段 说明
PRIMARY 主键索引 id 主键
uk_task_issue_id 唯一索引 task_issue_id 下发记录业务主键唯一
idx_tenant_org_status 联合索引 tenant_id, org_id, status 按租户组织状态查询
idx_task_list_id 普通索引 task_list_id 按清单ID查询下发记录
idx_execute_corp_dept_user 联合索引 execute_corp_id, execute_department_id, execute_user_id 重复下发校验
idx_period_start 普通索引 period_start_time 按执行周期查询
idx_issue_time 普通索引 issue_time 按下发时间查询

2.4 safety_accountability_task_execution任务执行记录表

任务执行记录表用于存储任务模板下发给具体公司后的执行实例记录,包括任务状态、反馈状态、评分等。每条下发记录中的每个任务模板对应一条执行记录。

2.4.1 表结构

字段名 类型 长度 允许空 说明 备注
id BIGINT - 主键 ID 自增
task_execution_id VARCHAR 64 任务执行 UUID 业务主键UUID 生成
task_issue_id VARCHAR 64 清单下发记录 UUID 外键,关联 task_list_issue 表
task_detail_id VARCHAR 64 任务模板 UUID 外键,关联 task_detail 表
task_list_id VARCHAR 64 清单 UUID 冗余字段,便于查询
task_status TINYINT - 任务状态 1-进行中 2-已完成 3-已关闭默认1
feedback_status TINYINT - 反馈状态 1-正常 2-异常默认1
task_rating DECIMAL 5,2 任务评分
rating_time DATETIME - 评分时间
rating_department_id BIGINT - 评分部门 ID 外键
rating_user_id BIGINT - 评分人 ID 外键
delete_enum VARCHAR 32 删除标识 TRUE-已删除FALSE-未删除
remarks VARCHAR 500 备注
create_name VARCHAR 50 创建人姓名 冗余字段
update_name VARCHAR 50 更新人姓名 冗余字段
tenant_id BIGINT - 租户 ID 多租户字段
org_id BIGINT - 组织 ID 组织字段
version INT - 版本号 乐观锁版本号默认0
create_time DATETIME - 创建时间 默认当前时间
update_time DATETIME - 更新时间 自动更新
create_id BIGINT - 创建人 ID 外键
update_id BIGINT - 更新人 ID 外键
env VARCHAR 50 环境标识

2.4.2 建表语句

CREATE TABLE `safety_accountability_task_execution` (
    `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
    `task_execution_id` varchar(64) NOT NULL COMMENT '任务执行UUID业务主键',
    `task_issue_id` varchar(64) NOT NULL COMMENT '清单下发记录UUID关联下发记录表',
    `task_detail_id` varchar(64) NOT NULL COMMENT '任务模板UUID关联任务详情模板表',
    `task_list_id` varchar(64) NOT NULL COMMENT '清单UUID冗余便于查询',
    `task_status` tinyint NOT NULL DEFAULT '1' COMMENT '任务状态1-进行中 2-已完成 3-已关闭',
    `feedback_status` tinyint DEFAULT '1' COMMENT '反馈状态1-正常 2-异常',
    `task_rating` decimal(5,2) DEFAULT NULL COMMENT '任务评分',
    `rating_time` datetime DEFAULT NULL COMMENT '评分时间',
    `rating_department_id` bigint DEFAULT NULL COMMENT '评分部门ID',
    `rating_user_id` bigint DEFAULT NULL COMMENT '评分人ID',
    `delete_enum` varchar(32) DEFAULT 'FALSE' COMMENT '删除标识TRUE/FALSE',
    `remarks` varchar(500) DEFAULT NULL COMMENT '备注',
    `create_name` varchar(50) DEFAULT NULL COMMENT '创建人姓名',
    `update_name` varchar(50) DEFAULT NULL COMMENT '更新人姓名',
    `tenant_id` bigint DEFAULT NULL COMMENT '租户ID',
    `org_id` bigint DEFAULT NULL COMMENT '单位ID',
    `version` int DEFAULT '0' COMMENT '版本',
    `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
    `create_id` bigint DEFAULT NULL COMMENT '创建人ID',
    `update_id` bigint DEFAULT NULL COMMENT '修改人ID',
    `env` varchar(50) DEFAULT NULL COMMENT '环境标识',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_task_execution_id` (`task_execution_id`),
    KEY `idx_tenant_org_task` (`tenant_id`,`org_id`,`task_status`),
    KEY `idx_task_issue_id` (`task_issue_id`),
    KEY `idx_task_detail_id` (`task_detail_id`),
    KEY `idx_task_list_id` (`task_list_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='任务执行记录表';

2.4.3 索引设计

索引名 索引类型 字段 说明
PRIMARY 主键索引 id 主键
uk_task_execution_id 唯一索引 task_execution_id 执行记录业务主键唯一
idx_tenant_org_task 联合索引 tenant_id, org_id, task_status 按租户组织任务状态查询
idx_task_issue_id 普通索引 task_issue_id 按下发记录ID查询执行记录
idx_task_detail_id 普通索引 task_detail_id 按任务模板ID查询执行记录
idx_task_list_id 普通索引 task_list_id 按清单ID查询执行记录

2.5 safety_accountability_feedback执行反馈表

执行反馈表用于存储任务执行的反馈信息,包括反馈内容、反馈时间、反馈周期标识等。通过周期标识可按月/季/半年/年分组统计反馈记录。

2.5.1 表结构

字段名 类型 长度 允许空 说明 备注
id BIGINT - 主键 ID 自增
feedback_id VARCHAR 64 反馈 UUID 业务主键UUID 生成
task_detail_id VARCHAR 64 任务详情 UUID 外键,关联 task_detail 表
task_execution_id VARCHAR 64 任务执行 UUID 外键,关联 task_execution 表
task_list_id VARCHAR 64 任务清单 UUID 冗余字段,便于查询
task_issue_id VARCHAR 64 清单下发记录 UUID 冗余字段
feedback_time DATETIME - 反馈时间
feedback_period_start_time DATETIME - 反馈周期开始时间 用于回显
feedback_period_end_time DATETIME - 反馈周期结束时间 用于回显
feedback_period_flag VARCHAR 20 反馈周期标识 格式2026-05月、2026-Q1季、2026-H1半年、2026年
feedback_content TEXT - 反馈内容
feedback_corp_id BIGINT - 反馈人公司 ID 外键
feedback_department_id BIGINT - 反馈人部门 ID 外键
feedback_user_id BIGINT - 反馈人 ID 外键
delete_enum VARCHAR 32 删除标识 TRUE-已删除FALSE-未删除
remarks VARCHAR 500 备注
create_name VARCHAR 50 创建人姓名 冗余字段
update_name VARCHAR 50 更新人姓名 冗余字段
tenant_id BIGINT - 租户 ID 多租户字段
org_id BIGINT - 组织 ID 组织字段
version INT - 版本号 乐观锁版本号默认0
create_time DATETIME - 创建时间 默认当前时间
update_time DATETIME - 更新时间 自动更新
create_id BIGINT - 创建人 ID 外键
update_id BIGINT - 更新人 ID 外键
env VARCHAR 50 环境标识

2.5.2 建表语句

CREATE TABLE `safety_accountability_feedback` (
    `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
    `feedback_id` varchar(64) NOT NULL COMMENT '反馈UUID业务主键',
    `task_detail_id` varchar(64) NOT NULL COMMENT '任务详情UUID关联任务清单详细表',
    `task_execution_id` varchar(64) DEFAULT NULL COMMENT '任务执行UUID关联任务执行表',
    `task_list_id` varchar(64) NOT NULL COMMENT '任务清单UUID冗余字段便于查询',
    `task_issue_id` varchar(64) DEFAULT NULL COMMENT '清单下发记录UUID冗余',
    `feedback_time` datetime NOT NULL COMMENT '反馈时间',
    `feedback_period_start_time` datetime NOT NULL COMMENT '反馈周期开始时间(用于回显)',
    `feedback_period_end_time` datetime NOT NULL COMMENT '反馈周期结束时间(用于回显)',
    `feedback_period_flag` varchar(20) NOT NULL COMMENT '反馈周期标识格式2026-05表示月2026-Q1表示季度2026-H1表示半年2026表示年',
    `feedback_content` text COMMENT '反馈内容',
    `feedback_corp_id` bigint DEFAULT NULL COMMENT '反馈人公司ID',
    `feedback_department_id` bigint DEFAULT NULL COMMENT '反馈人部门ID',
    `feedback_user_id` bigint DEFAULT NULL COMMENT '反馈人ID',
    `delete_enum` varchar(32) DEFAULT 'FALSE' COMMENT '删除标识TRUE/FALSE',
    `remarks` varchar(500) DEFAULT NULL COMMENT '备注',
    `create_name` varchar(50) DEFAULT NULL COMMENT '创建人姓名',
    `update_name` varchar(50) DEFAULT NULL COMMENT '更新人姓名',
    `tenant_id` bigint DEFAULT NULL COMMENT '租户ID',
    `org_id` bigint DEFAULT NULL COMMENT '单位ID',
    `version` int DEFAULT '0' COMMENT '版本',
    `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
    `create_id` bigint DEFAULT NULL COMMENT '创建人ID',
    `update_id` bigint DEFAULT NULL COMMENT '修改人ID',
    `env` varchar(50) DEFAULT NULL COMMENT '环境标识',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_feedback_id` (`feedback_id`),
    KEY `idx_task_detail_id` (`task_detail_id`),
    KEY `idx_task_list_id` (`task_list_id`),
    KEY `idx_feedback_time` (`feedback_time`),
    KEY `idx_feedback_user_id` (`feedback_user_id`),
    KEY `idx_taskdetail_period` (`task_detail_id`,`feedback_period_flag`),
    KEY `idx_task_execution_id` (`task_execution_id`),
    KEY `idx_task_issue_id` (`task_issue_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='执行反馈表';

2.5.3 索引设计

索引名 索引类型 字段 说明
PRIMARY 主键索引 id 主键
uk_feedback_id 唯一索引 feedback_id 反馈业务主键唯一
idx_task_detail_id 普通索引 task_detail_id 按任务详情ID查询反馈
idx_task_list_id 普通索引 task_list_id 按清单ID查询反馈
idx_feedback_time 普通索引 feedback_time 按反馈时间查询
idx_feedback_user_id 普通索引 feedback_user_id 按反馈人查询
idx_taskdetail_period 联合索引 task_detail_id, feedback_period_flag 按任务和周期标识查询
idx_task_execution_id 普通索引 task_execution_id 按执行记录ID查询反馈
idx_task_issue_id 普通索引 task_issue_id 按下发记录ID查询反馈

2.6 safety_accountability_feedback_exception反馈异常信息表

反馈异常信息表用于存储反馈异常记录由定时任务每月1日0时自动检测生成。检测逻辑根据任务的反馈周期类型判断上一阶段是否有反馈记录无记录则判定为异常并写入此表。

2.6.1 表结构

字段名 类型 长度 允许空 说明 备注
id BIGINT - 主键 ID 自增
feedback_exception_id VARCHAR 64 反馈异常 UUID 业务主键UUID 生成
task_detail_id VARCHAR 64 任务详情主键 外键,关联 task_detail 表
task_execution_id VARCHAR 64 任务执行 UUID 外键,关联 task_execution 表
task_list_id VARCHAR 64 任务清单主键 冗余字段
task_issue_id VARCHAR 64 清单下发记录 UUID 冗余字段
exception_period_flag VARCHAR 20 异常周期标识 同 feedback_period_flag 格式
exception_period_start_time DATETIME - 反馈周期开始时间 用于回显
exception_period_end_time DATETIME - 反馈周期结束时间 用于回显
exception_type TINYINT - 异常类型 1-未按时反馈 2-反馈内容异常 3-其他默认1
exception_content TEXT - 反馈异常信息
exception_time DATETIME - 异常时间
delete_enum VARCHAR 32 删除标识 TRUE-已删除FALSE-未删除
remarks VARCHAR 500 备注
create_name VARCHAR 50 创建人姓名 冗余字段
update_name VARCHAR 50 更新人姓名 冗余字段
tenant_id BIGINT - 租户 ID 多租户字段
org_id BIGINT - 组织 ID 组织字段
version INT - 版本号 乐观锁版本号默认0
create_time DATETIME - 创建时间 默认当前时间
update_time DATETIME - 更新时间 自动更新
create_id BIGINT - 创建人 ID 外键
update_id BIGINT - 更新人 ID 外键
env VARCHAR 50 环境标识

2.6.2 建表语句

CREATE TABLE `safety_accountability_feedback_exception` (
    `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
    `feedback_exception_id` varchar(64) NOT NULL COMMENT '反馈异常UUID业务主键',
    `task_detail_id` varchar(64) NOT NULL COMMENT '任务详情主键(关联任务清单详细表)',
    `task_execution_id` varchar(64) DEFAULT NULL COMMENT '任务执行UUID关联任务执行表',
    `task_list_id` varchar(64) DEFAULT NULL COMMENT '任务清单主键(冗余字段)',
    `task_issue_id` varchar(64) DEFAULT NULL COMMENT '清单下发记录UUID冗余',
    `exception_period_flag` varchar(20) NOT NULL COMMENT '异常周期标识',
    `exception_period_start_time` datetime DEFAULT NULL COMMENT '反馈周期开始时间(用于回显)',
    `exception_period_end_time` datetime DEFAULT NULL COMMENT '反馈周期结束时间(用于回显)',
    `exception_type` tinyint DEFAULT '1' COMMENT '异常类型1-未按时反馈 2-反馈内容异常 3-其他',
    `exception_content` text COMMENT '反馈异常信息',
    `exception_time` datetime DEFAULT NULL COMMENT '异常时间',
    `delete_enum` varchar(32) DEFAULT 'FALSE' COMMENT '删除标识TRUE/FALSE',
    `remarks` varchar(500) DEFAULT NULL COMMENT '备注',
    `create_name` varchar(50) DEFAULT NULL COMMENT '创建人姓名',
    `update_name` varchar(50) DEFAULT NULL COMMENT '更新人姓名',
    `tenant_id` bigint DEFAULT NULL COMMENT '租户ID',
    `org_id` bigint DEFAULT NULL COMMENT '单位ID',
    `version` int DEFAULT '0' COMMENT '版本',
    `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
    `create_id` bigint DEFAULT NULL COMMENT '创建人ID',
    `update_id` bigint DEFAULT NULL COMMENT '修改人ID',
    `env` varchar(50) DEFAULT NULL COMMENT '环境标识',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_feedback_exception_id` (`feedback_exception_id`),
    KEY `idx_task_detail_id` (`task_detail_id`),
    KEY `idx_task_list_id` (`task_list_id`),
    KEY `idx_taskdetail_ex_period` (`task_detail_id`,`exception_period_flag`),
    KEY `idx_taskdetail_ex_type` (`task_detail_id`,`exception_type`),
    KEY `idx_task_execution_id` (`task_execution_id`),
    KEY `idx_task_issue_id` (`task_issue_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='反馈异常信息表';

2.6.3 索引设计

索引名 索引类型 字段 说明
PRIMARY 主键索引 id 主键
uk_feedback_exception_id 唯一索引 feedback_exception_id 异常记录业务主键唯一
idx_task_detail_id 普通索引 task_detail_id 按任务详情ID查询异常
idx_task_list_id 普通索引 task_list_id 按清单ID查询异常
idx_taskdetail_ex_period 联合索引 task_detail_id, exception_period_flag 按任务和周期标识查询异常
idx_taskdetail_ex_type 联合索引 task_detail_id, exception_type 按任务和异常类型查询
idx_task_execution_id 普通索引 task_execution_id 按执行记录ID查询异常
idx_task_issue_id 普通索引 task_issue_id 按下发记录ID查询异常

3. 视图设计

3.1 corp_info公司信息视图

公司信息视图,跨库引用基础信息服务中的公司信息表,过滤已删除数据。

3.2 department部门信息视图

部门信息视图,跨库引用基础信息服务中的部门信息表,过滤已删除数据。

3.3 user用户信息视图

用户信息视图,跨库引用基础信息服务中的用户信息表,过滤已删除数据。

以上三个视图均为只读视图,数据来源于 jjb-saas-zcloud-basic-info 库,本系统仅做联表查询使用,不对其进行增删改操作。


4. 枚举值说明

4.1 任务级别task_level

说明
1 企业级
2 部门级
3 班组级

4.2 开启/关闭switch_flag

说明
0 关闭
1 开启

4.3 状态status

说明
1 进行中
2 已完成
3 已关闭

4.4 反馈周期类型feedback_cycle_type

说明 周期标识格式 示例
1 每月 yyyy-MM 2026-05
2 每季度 yyyy-QN 2026-Q1
3 每半年 yyyy-HN 2026-H1
4 每年 yyyy 2026

4.5 反馈状态feedback_status

说明
1 正常
2 异常

4.6 下发状态issue_status

说明
0 未下发
1 已下发

4.7 异常类型exception_type

说明
1 未按时反馈
2 反馈内容异常
3 其他

4.8 删除标识delete_enum

说明
FALSE 未删除
TRUE 已删除

5. 公共字段说明

所有业务表均包含以下公共字段,用于多租户隔离、数据审计和乐观锁控制:

字段名 类型 说明
delete_enum VARCHAR(32) 逻辑删除标识TRUE-已删除FALSE-未删除
remarks VARCHAR(500) 备注
create_name VARCHAR(50) 创建人姓名(冗余)
update_name VARCHAR(50) 更新人姓名(冗余)
tenant_id BIGINT 租户ID用于多租户数据隔离
org_id BIGINT 组织ID用于组织级数据权限
version INT 乐观锁版本号
create_time DATETIME 创建时间,默认当前时间
update_time DATETIME 更新时间,自动更新
create_id BIGINT 创建人ID
update_id BIGINT 更新人ID
env VARCHAR(50) 环境标识