feat: 新增监狱综合管理平台数据库迁移脚本
- 创建了完整的数据库迁移脚本,包含罪犯信息、监区信息、监室信息、计分考核、考核规则、消费记录等多个表的定义 - 每个表均包含详细的字段定义和注释,确保数据结构清晰 - 关闭外键检查以支持表的创建,最后恢复外键检查 此脚本为后续系统功能实现提供了基础数据结构支持。
This commit is contained in:
parent
6063256883
commit
cff7832d5e
793
sql/v1_migration_20260121.sql
Normal file
793
sql/v1_migration_20260121.sql
Normal file
@ -0,0 +1,793 @@
|
|||||||
|
-- ============================================
|
||||||
|
-- XL监狱综合管理平台 - 数据库迁移脚本 V1
|
||||||
|
-- 版本: 1.0
|
||||||
|
-- 日期: 2026-01-21
|
||||||
|
-- 说明: 基于实体类DO生成,包含所有表的完整字段定义
|
||||||
|
-- ============================================
|
||||||
|
|
||||||
|
-- 开启外键检查(可选,根据需求调整)
|
||||||
|
SET FOREIGN_KEY_CHECKS = 0;
|
||||||
|
|
||||||
|
-- ============================================
|
||||||
|
-- 1. 罪犯信息表 (prison_prisoner)
|
||||||
|
-- ============================================
|
||||||
|
DROP TABLE IF EXISTS `prison_prisoner`;
|
||||||
|
CREATE TABLE IF NOT EXISTS `prison_prisoner` (
|
||||||
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '罪犯ID',
|
||||||
|
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||||||
|
`prisoner_no` varchar(50) NOT NULL COMMENT '罪犯编号',
|
||||||
|
`name` varchar(50) NOT NULL COMMENT '姓名',
|
||||||
|
`gender` tinyint NOT NULL COMMENT '性别:1-男 2-女',
|
||||||
|
`birthday` date DEFAULT NULL COMMENT '出生日期',
|
||||||
|
`id_card` varchar(18) DEFAULT NULL COMMENT '身份证号',
|
||||||
|
`ethnicity` varchar(50) DEFAULT NULL COMMENT '民族',
|
||||||
|
`native_place` varchar(100) DEFAULT NULL COMMENT '籍贯',
|
||||||
|
`education` tinyint DEFAULT NULL COMMENT '文化程度:1-文盲 2-小学 3-初中 4-高中 5-中专 6-大专 7-本科 8-硕士 9-博士',
|
||||||
|
`occupation` varchar(50) DEFAULT NULL COMMENT '入狱前职业',
|
||||||
|
`address` varchar(500) DEFAULT NULL COMMENT '家庭住址',
|
||||||
|
`crime` varchar(200) NOT NULL COMMENT '罪名',
|
||||||
|
`sentence_years` int DEFAULT 0 COMMENT '刑期(年)',
|
||||||
|
`sentence_months` int DEFAULT 0 COMMENT '刑期(月)',
|
||||||
|
`life_imprisonment` tinyint DEFAULT 0 COMMENT '是否无期:0-否 1-是',
|
||||||
|
`death_sentence_reprieve` tinyint DEFAULT 0 COMMENT '是否死缓:0-否 1-是',
|
||||||
|
`court_name` varchar(100) DEFAULT NULL COMMENT '判决法院',
|
||||||
|
`judgment_date` date DEFAULT NULL COMMENT '判决日期',
|
||||||
|
`judgment_no` varchar(50) DEFAULT NULL COMMENT '判决书编号',
|
||||||
|
`original_sentence` varchar(100) DEFAULT NULL COMMENT '原判刑期',
|
||||||
|
`imprisonment_date` date DEFAULT NULL COMMENT '入狱日期',
|
||||||
|
`release_date` date DEFAULT NULL COMMENT '释放日期',
|
||||||
|
`release_type` tinyint DEFAULT 0 COMMENT '释放类型:1-刑满 2-假释 3-暂予监外执行 4-减刑 5-移交 6-死亡',
|
||||||
|
`release_reason` varchar(500) DEFAULT NULL COMMENT '释放原因',
|
||||||
|
`photo` varchar(512) DEFAULT NULL COMMENT '照片URL',
|
||||||
|
`supervision_level` tinyint DEFAULT 2 COMMENT '监管等级:1-严管 2-普管 3-宽管',
|
||||||
|
`risk_level` tinyint DEFAULT 1 COMMENT '风险等级:1-低风险 2-中风险 3-高风险 4-极高风险',
|
||||||
|
`prison_area_id` bigint DEFAULT NULL COMMENT '监区ID',
|
||||||
|
`sub_area_id` bigint DEFAULT NULL COMMENT '分区ID',
|
||||||
|
`prison_cell_id` bigint DEFAULT NULL COMMENT '监室ID',
|
||||||
|
`marital_status` tinyint DEFAULT NULL COMMENT '婚姻状态:1-未婚 2-已婚 3-离异 4-丧偶',
|
||||||
|
`crime_type` varchar(100) DEFAULT NULL COMMENT '罪名类型',
|
||||||
|
`sentence` varchar(100) DEFAULT NULL COMMENT '刑期',
|
||||||
|
`children` varchar(500) DEFAULT NULL COMMENT '子女情况',
|
||||||
|
`status` tinyint NOT NULL DEFAULT 1 COMMENT '状态:1-在押 2-已释放 3-已死亡 4-假释',
|
||||||
|
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||||||
|
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
|
||||||
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
|
||||||
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||||
|
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
UNIQUE KEY `uk_prisoner_no` (`prisoner_no`, `tenant_id`),
|
||||||
|
KEY `idx_name` (`name`),
|
||||||
|
KEY `idx_id_card` (`id_card`),
|
||||||
|
KEY `idx_status` (`status`)
|
||||||
|
) ENGINE=InnoDB COMMENT='罪犯信息表';
|
||||||
|
|
||||||
|
-- ============================================
|
||||||
|
-- 2. 监区信息表 (prison_area)
|
||||||
|
-- ============================================
|
||||||
|
DROP TABLE IF EXISTS `prison_area`;
|
||||||
|
CREATE TABLE IF NOT EXISTS `prison_area` (
|
||||||
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '监区ID',
|
||||||
|
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||||||
|
`name` varchar(50) NOT NULL COMMENT '监区名称',
|
||||||
|
`code` varchar(50) NOT NULL COMMENT '监区编码',
|
||||||
|
`type` tinyint DEFAULT NULL COMMENT '监区类型:1-普通监区 2-严管监区 3-集训监区 4-出监监区 5-医院 6-禁闭室',
|
||||||
|
`parent_id` bigint DEFAULT 0 COMMENT '父级ID,0表示顶级监区',
|
||||||
|
`level` tinyint DEFAULT 1 COMMENT '级别:1-监区(大队) 2-分监区(中队)',
|
||||||
|
`capacity` int DEFAULT NULL COMMENT '容纳人数',
|
||||||
|
`current_count` int DEFAULT 0 COMMENT '当前人数',
|
||||||
|
`sort` int DEFAULT 0 COMMENT '排序',
|
||||||
|
`status` tinyint NOT NULL DEFAULT 1 COMMENT '状态:1-启用 2-禁用',
|
||||||
|
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||||||
|
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
|
||||||
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
|
||||||
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||||
|
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
UNIQUE KEY `uk_code` (`code`, `tenant_id`),
|
||||||
|
KEY `idx_sort` (`sort`),
|
||||||
|
KEY `idx_parent_id` (`parent_id`)
|
||||||
|
) ENGINE=InnoDB COMMENT='监区信息表';
|
||||||
|
|
||||||
|
-- ============================================
|
||||||
|
-- 3. 监室信息表 (prison_cell)
|
||||||
|
-- ============================================
|
||||||
|
DROP TABLE IF EXISTS `prison_cell`;
|
||||||
|
CREATE TABLE IF NOT EXISTS `prison_cell` (
|
||||||
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '监室ID',
|
||||||
|
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||||||
|
`area_id` bigint NOT NULL COMMENT '所属监区ID',
|
||||||
|
`name` varchar(50) NOT NULL COMMENT '监室名称',
|
||||||
|
`code` varchar(50) NOT NULL COMMENT '监室编码',
|
||||||
|
`capacity` int DEFAULT NULL COMMENT '床位数量',
|
||||||
|
`current_count` int DEFAULT 0 COMMENT '当前人数',
|
||||||
|
`sort` int DEFAULT 0 COMMENT '排序',
|
||||||
|
`status` tinyint NOT NULL DEFAULT 1 COMMENT '状态:1-启用 2-禁用',
|
||||||
|
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||||||
|
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
|
||||||
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
|
||||||
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||||
|
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
UNIQUE KEY `uk_code` (`code`, `tenant_id`),
|
||||||
|
KEY `idx_area_id` (`area_id`)
|
||||||
|
) ENGINE=InnoDB COMMENT='监室信息表';
|
||||||
|
|
||||||
|
-- ============================================
|
||||||
|
-- 4. 计分考核表 (prison_score)
|
||||||
|
-- ============================================
|
||||||
|
DROP TABLE IF EXISTS `prison_score`;
|
||||||
|
CREATE TABLE IF NOT EXISTS `prison_score` (
|
||||||
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '记录ID',
|
||||||
|
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||||||
|
`prisoner_id` bigint NOT NULL COMMENT '罪犯ID',
|
||||||
|
`prisoner_no` varchar(50) NOT NULL COMMENT '罪犯编号',
|
||||||
|
`year` int NOT NULL COMMENT '考核年份',
|
||||||
|
`month` int NOT NULL COMMENT '考核月份',
|
||||||
|
`base_score` decimal(10,2) DEFAULT 0.00 COMMENT '基础分',
|
||||||
|
`reward_score` decimal(10,2) DEFAULT 0.00 COMMENT '加分',
|
||||||
|
`penalty_score` decimal(10,2) DEFAULT 0.00 COMMENT '扣分',
|
||||||
|
`total_score` decimal(10,2) DEFAULT 0.00 COMMENT '总分',
|
||||||
|
`level` tinyint DEFAULT NULL COMMENT '考核等级:1-优秀 2-良好 3-合格 4-不合格',
|
||||||
|
`assessor_id` bigint DEFAULT NULL COMMENT '考核人ID',
|
||||||
|
`assessor_name` varchar(50) DEFAULT NULL COMMENT '考核人姓名',
|
||||||
|
`status` tinyint NOT NULL DEFAULT 1 COMMENT '状态:1-待审核 2-已通过 3-已驳回',
|
||||||
|
`prison_area_id` bigint DEFAULT NULL COMMENT '监区ID',
|
||||||
|
`prison_cell_id` bigint DEFAULT NULL COMMENT '监室ID',
|
||||||
|
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||||||
|
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
|
||||||
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
|
||||||
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||||
|
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `idx_prisoner_id` (`prisoner_id`),
|
||||||
|
KEY `idx_year_month` (`year`, `month`)
|
||||||
|
) ENGINE=InnoDB COMMENT='计分考核表';
|
||||||
|
|
||||||
|
-- ============================================
|
||||||
|
-- 5. 考核规则配置表 (prison_score_rule)
|
||||||
|
-- ============================================
|
||||||
|
DROP TABLE IF EXISTS `prison_score_rule`;
|
||||||
|
CREATE TABLE IF NOT EXISTS `prison_score_rule` (
|
||||||
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '规则ID',
|
||||||
|
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||||||
|
`category` tinyint NOT NULL COMMENT '类别:1-劳动改造 2-教育改造 3-日常行为 4-卫生纪律 5-加分项 6-扣分项',
|
||||||
|
`item_name` varchar(100) NOT NULL COMMENT '项目名称',
|
||||||
|
`item_code` varchar(50) NOT NULL COMMENT '项目编码(唯一)',
|
||||||
|
`score` decimal(10,2) NOT NULL COMMENT '分值(加分正数,扣分负数)',
|
||||||
|
`max_daily_score` decimal(10,2) DEFAULT NULL COMMENT '日最高分限制',
|
||||||
|
`max_monthly_score` decimal(10,2) DEFAULT NULL COMMENT '月最高分限制',
|
||||||
|
`description` varchar(500) DEFAULT NULL COMMENT '规则说明',
|
||||||
|
`status` tinyint NOT NULL DEFAULT 1 COMMENT '状态:1-启用 2-禁用',
|
||||||
|
`sort` int DEFAULT 0 COMMENT '排序',
|
||||||
|
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
|
||||||
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
|
||||||
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||||
|
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
UNIQUE KEY `uk_item_code` (`item_code`, `tenant_id`),
|
||||||
|
KEY `idx_category` (`category`),
|
||||||
|
KEY `idx_status` (`status`)
|
||||||
|
) ENGINE=InnoDB COMMENT='考核规则配置表';
|
||||||
|
|
||||||
|
-- ============================================
|
||||||
|
-- 6. 考核记录明细表 (prison_score_detail)
|
||||||
|
-- ============================================
|
||||||
|
DROP TABLE IF EXISTS `prison_score_detail`;
|
||||||
|
CREATE TABLE IF NOT EXISTS `prison_score_detail` (
|
||||||
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '记录ID',
|
||||||
|
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||||||
|
`prisoner_id` bigint NOT NULL COMMENT '罪犯ID',
|
||||||
|
`prisoner_no` varchar(50) NOT NULL COMMENT '罪犯编号',
|
||||||
|
`record_date` date NOT NULL COMMENT '记录日期',
|
||||||
|
`rule_id` bigint DEFAULT NULL COMMENT '规则ID',
|
||||||
|
`score` decimal(10,2) NOT NULL COMMENT '得分',
|
||||||
|
`score_type` tinyint NOT NULL COMMENT '类型:1-加分 2-扣分',
|
||||||
|
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||||||
|
`recorder_id` bigint DEFAULT NULL COMMENT '记录人ID',
|
||||||
|
`recorder_name` varchar(50) DEFAULT NULL COMMENT '记录人姓名',
|
||||||
|
`status` tinyint NOT NULL DEFAULT 1 COMMENT '状态:1-有效 2-作废',
|
||||||
|
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
|
||||||
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
|
||||||
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||||
|
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `idx_prisoner_id` (`prisoner_id`),
|
||||||
|
KEY `idx_record_date` (`record_date`),
|
||||||
|
KEY `idx_rule_id` (`rule_id`)
|
||||||
|
) ENGINE=InnoDB COMMENT='考核记录明细表';
|
||||||
|
|
||||||
|
-- ============================================
|
||||||
|
-- 7. 危险评估表 (prison_risk_assessment)
|
||||||
|
-- ============================================
|
||||||
|
DROP TABLE IF EXISTS `prison_risk_assessment`;
|
||||||
|
CREATE TABLE IF NOT EXISTS `prison_risk_assessment` (
|
||||||
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '评估ID',
|
||||||
|
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||||||
|
`prisoner_id` bigint NOT NULL COMMENT '罪犯ID',
|
||||||
|
`prisoner_no` varchar(50) NOT NULL COMMENT '罪犯编号',
|
||||||
|
`assessment_type` tinyint NOT NULL COMMENT '评估类型:1-入狱评估 2-定期评估 3-专项评估',
|
||||||
|
`assessment_date` date NOT NULL COMMENT '评估日期',
|
||||||
|
`violence_score` decimal(10,2) DEFAULT 0.00 COMMENT '暴力倾向得分',
|
||||||
|
`escape_score` decimal(10,2) DEFAULT 0.00 COMMENT '脱逃倾向得分',
|
||||||
|
`suicide_score` decimal(10,2) DEFAULT 0.00 COMMENT '自杀倾向得分',
|
||||||
|
`total_score` decimal(10,2) DEFAULT 0.00 COMMENT '综合得分',
|
||||||
|
`risk_level` tinyint NOT NULL COMMENT '风险等级:1-低风险 2-中风险 3-高风险 4-极高风险',
|
||||||
|
`risk_factors` varchar(500) DEFAULT NULL COMMENT '风险因素',
|
||||||
|
`suggestions` varchar(500) DEFAULT NULL COMMENT '管控建议',
|
||||||
|
`assessor_id` bigint DEFAULT NULL COMMENT '评估人ID',
|
||||||
|
`assessor_name` varchar(50) DEFAULT NULL COMMENT '评估人姓名',
|
||||||
|
`next_assessment_date` date DEFAULT NULL COMMENT '下次评估日期',
|
||||||
|
`status` tinyint NOT NULL DEFAULT 1 COMMENT '状态:1-待审核 2-已通过',
|
||||||
|
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||||||
|
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
|
||||||
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
|
||||||
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||||
|
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `idx_prisoner_id` (`prisoner_id`),
|
||||||
|
KEY `idx_assessment_date` (`assessment_date`)
|
||||||
|
) ENGINE=InnoDB COMMENT='危险评估表';
|
||||||
|
|
||||||
|
-- ============================================
|
||||||
|
-- 8. 消费记录表 (prison_consumption)
|
||||||
|
-- ============================================
|
||||||
|
DROP TABLE IF EXISTS `prison_consumption`;
|
||||||
|
CREATE TABLE IF NOT EXISTS `prison_consumption` (
|
||||||
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '消费ID',
|
||||||
|
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||||||
|
`prisoner_id` bigint NOT NULL COMMENT '罪犯ID',
|
||||||
|
`prisoner_no` varchar(50) NOT NULL COMMENT '罪犯编号',
|
||||||
|
`order_no` varchar(64) DEFAULT NULL COMMENT '订单号',
|
||||||
|
`type` tinyint NOT NULL COMMENT '类型:1-购物 2-餐饮 3-医疗 4-通讯 5-其他',
|
||||||
|
`total_amount` decimal(12,2) NOT NULL COMMENT '订单总金额',
|
||||||
|
`balance` decimal(12,2) DEFAULT 0.00 COMMENT '账户余额(消费后)',
|
||||||
|
`trade_time` datetime NOT NULL COMMENT '交易时间',
|
||||||
|
`status` tinyint NOT NULL DEFAULT 1 COMMENT '状态:1-成功 2-失败',
|
||||||
|
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||||||
|
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
|
||||||
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
|
||||||
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||||
|
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `idx_prisoner_id` (`prisoner_id`),
|
||||||
|
KEY `idx_trade_time` (`trade_time`),
|
||||||
|
KEY `idx_type` (`type`)
|
||||||
|
) ENGINE=InnoDB COMMENT='消费记录表';
|
||||||
|
|
||||||
|
-- ============================================
|
||||||
|
-- 9. 问卷模板表 (prison_questionnaire)
|
||||||
|
-- ============================================
|
||||||
|
DROP TABLE IF EXISTS `prison_questionnaire`;
|
||||||
|
CREATE TABLE IF NOT EXISTS `prison_questionnaire` (
|
||||||
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '问卷ID',
|
||||||
|
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||||||
|
`title` varchar(200) NOT NULL COMMENT '问卷标题',
|
||||||
|
`type` tinyint NOT NULL COMMENT '问卷类型:1-心理测评 2-行为评估 3-满意度调查',
|
||||||
|
`description` varchar(500) DEFAULT NULL COMMENT '问卷说明',
|
||||||
|
`total_score` decimal(10,2) DEFAULT 100.00 COMMENT '总分',
|
||||||
|
`pass_score` decimal(10,2) DEFAULT 60.00 COMMENT '及格分',
|
||||||
|
`status` tinyint NOT NULL DEFAULT 1 COMMENT '状态:1-草稿 2-已发布 3-已禁用',
|
||||||
|
`cover_image` varchar(500) DEFAULT NULL COMMENT '封面图片URL',
|
||||||
|
`instruction` varchar(1000) DEFAULT NULL COMMENT '填写说明',
|
||||||
|
`estimated_time` int DEFAULT NULL COMMENT '预计耗时(分钟)',
|
||||||
|
`part_count` tinyint DEFAULT 1 COMMENT '分区数量',
|
||||||
|
`allow_anonymous` tinyint DEFAULT 0 COMMENT '是否允许匿名:0-不允许 1-允许',
|
||||||
|
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
|
||||||
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
|
||||||
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||||
|
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `idx_type` (`type`),
|
||||||
|
KEY `idx_status` (`status`)
|
||||||
|
) ENGINE=InnoDB COMMENT='问卷模板表';
|
||||||
|
|
||||||
|
-- ============================================
|
||||||
|
-- 10. 问卷问题表 (prison_question)
|
||||||
|
-- ============================================
|
||||||
|
DROP TABLE IF EXISTS `prison_question`;
|
||||||
|
CREATE TABLE IF NOT EXISTS `prison_question` (
|
||||||
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '问题ID',
|
||||||
|
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||||||
|
`questionnaire_id` bigint NOT NULL COMMENT '所属问卷ID',
|
||||||
|
`title` varchar(500) NOT NULL COMMENT '问题标题',
|
||||||
|
`type` tinyint NOT NULL COMMENT '问题类型:1-单选 2-多选 3-填空 4-评分 5-日期 6-数字',
|
||||||
|
`options` text COMMENT '选项JSON:[{label:"选项1",score:10,isOther:false},...]',
|
||||||
|
`score` decimal(10,2) DEFAULT 0.00 COMMENT '分值',
|
||||||
|
`sort` int DEFAULT 0 COMMENT '排序',
|
||||||
|
`is_required` tinyint DEFAULT 1 COMMENT '是否必答:0-否 1-是',
|
||||||
|
`part_name` varchar(50) DEFAULT NULL COMMENT '分区名称(Part名称),用于将问题分组',
|
||||||
|
`part_sort` tinyint DEFAULT 0 COMMENT '分区排序(同一问卷内的分区序号)',
|
||||||
|
`help_text` varchar(500) DEFAULT NULL COMMENT '帮助说明文字',
|
||||||
|
`placeholder` varchar(200) DEFAULT NULL COMMENT '占位提示(填空题/数字题显示)',
|
||||||
|
`default_value` varchar(200) DEFAULT NULL COMMENT '默认值',
|
||||||
|
`auto_fill_type` varchar(20) DEFAULT 'NONE' COMMENT '自动填充类型:NONE-无 AUTO-系统自动填充 MANUAL-手动输入',
|
||||||
|
`auto_fill_source` varchar(100) DEFAULT NULL COMMENT '自动填充来源:dict:字典类型 / field:字段名',
|
||||||
|
`display_condition` text COMMENT '显示条件JSON:{"field":"字段名","operator":">=","value":"值"}',
|
||||||
|
`min_value` int DEFAULT NULL COMMENT '最小值(数字/评分题)',
|
||||||
|
`max_value` int DEFAULT NULL COMMENT '最大值(数字/评分题)',
|
||||||
|
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
|
||||||
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
|
||||||
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||||
|
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `idx_questionnaire_id` (`questionnaire_id`)
|
||||||
|
) ENGINE=InnoDB COMMENT='问卷问题表';
|
||||||
|
|
||||||
|
-- ============================================
|
||||||
|
-- 11. 问卷答题记录表 (prison_questionnaire_record)
|
||||||
|
-- ============================================
|
||||||
|
DROP TABLE IF EXISTS `prison_questionnaire_record`;
|
||||||
|
CREATE TABLE IF NOT EXISTS `prison_questionnaire_record` (
|
||||||
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '记录ID',
|
||||||
|
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||||||
|
`questionnaire_id` bigint NOT NULL COMMENT '问卷ID',
|
||||||
|
`questionnaire_name` varchar(200) DEFAULT NULL COMMENT '问卷名称',
|
||||||
|
`prisoner_id` bigint NOT NULL COMMENT '罪犯ID',
|
||||||
|
`prisoner_no` varchar(50) NOT NULL COMMENT '罪犯编号',
|
||||||
|
`prisoner_name` varchar(50) DEFAULT NULL COMMENT '罪犯姓名',
|
||||||
|
`status` tinyint NOT NULL DEFAULT 1 COMMENT '状态:1-待测评 2-测评中 3-已完成 4-已过期 5-已取消',
|
||||||
|
`start_time` datetime DEFAULT NULL COMMENT '开始时间',
|
||||||
|
`end_time` datetime DEFAULT NULL COMMENT '结束时间',
|
||||||
|
`answer_time` datetime DEFAULT NULL COMMENT '答题时间',
|
||||||
|
`deadline` datetime DEFAULT NULL COMMENT '截止日期',
|
||||||
|
`objective_score` decimal(10,2) DEFAULT 0.00 COMMENT '客观题得分',
|
||||||
|
`subjective_score` decimal(10,2) DEFAULT 0.00 COMMENT '主观题得分',
|
||||||
|
`total_score` decimal(10,2) DEFAULT 0.00 COMMENT '总分',
|
||||||
|
`pass_score` decimal(10,2) DEFAULT NULL COMMENT '及格分数',
|
||||||
|
`pass_status` tinyint DEFAULT NULL COMMENT '及格状态:1-及格 2-不及格 3-待评阅',
|
||||||
|
`risk_level` tinyint DEFAULT NULL COMMENT '风险等级:1-高风险 2-中风险 3-低风险',
|
||||||
|
`evaluator_id` bigint DEFAULT NULL COMMENT '评阅人ID',
|
||||||
|
`evaluator_name` varchar(50) DEFAULT NULL COMMENT '评阅人姓名',
|
||||||
|
`evaluate_time` datetime DEFAULT NULL COMMENT '评阅时间',
|
||||||
|
`participant_count` int DEFAULT 0 COMMENT '参与人数',
|
||||||
|
`completed_count` int DEFAULT 0 COMMENT '完成人数',
|
||||||
|
`duration` int DEFAULT 0 COMMENT '答题用时(秒)',
|
||||||
|
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||||||
|
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
|
||||||
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
|
||||||
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||||
|
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `idx_questionnaire_id` (`questionnaire_id`),
|
||||||
|
KEY `idx_prisoner_id` (`prisoner_id`),
|
||||||
|
KEY `idx_status` (`status`)
|
||||||
|
) ENGINE=InnoDB COMMENT='问卷答题记录表';
|
||||||
|
|
||||||
|
-- ============================================
|
||||||
|
-- 12. 问卷答题详情表 (prison_answer)
|
||||||
|
-- ============================================
|
||||||
|
DROP TABLE IF EXISTS `prison_answer`;
|
||||||
|
CREATE TABLE IF NOT EXISTS `prison_answer` (
|
||||||
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '答题记录ID',
|
||||||
|
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||||||
|
`assessment_record_id` bigint NOT NULL COMMENT '测评记录ID',
|
||||||
|
`question_id` bigint NOT NULL COMMENT '问题ID',
|
||||||
|
`questionnaire_id` bigint NOT NULL COMMENT '问卷ID(冗余)',
|
||||||
|
`prisoner_id` bigint NOT NULL COMMENT '罪犯ID',
|
||||||
|
`question_type` tinyint NOT NULL COMMENT '问题类型:1-单选 2-多选 3-填空 4-评分 5-日期 6-数字',
|
||||||
|
`answer_text` text COMMENT '答案内容(填空题、评分题等)',
|
||||||
|
`option_ids` text COMMENT '选项ID列表(JSON数组,如 [1,2,3])',
|
||||||
|
`score` decimal(10,2) DEFAULT 0.00 COMMENT '得分',
|
||||||
|
`is_correct` tinyint DEFAULT NULL COMMENT '是否正确:null-未评分 0-错误 1-正确',
|
||||||
|
`duration` int DEFAULT 0 COMMENT '答题时间(秒)',
|
||||||
|
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
|
||||||
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
|
||||||
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||||
|
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `idx_assessment_record_id` (`assessment_record_id`),
|
||||||
|
KEY `idx_question_id` (`question_id`),
|
||||||
|
KEY `idx_prisoner_id` (`prisoner_id`)
|
||||||
|
) ENGINE=InnoDB COMMENT='问卷答题详情表';
|
||||||
|
|
||||||
|
-- ============================================
|
||||||
|
-- 13. 罪犯监区变动记录表 (prison_prisoner_area_log)
|
||||||
|
-- ============================================
|
||||||
|
DROP TABLE IF EXISTS `prison_prisoner_area_log`;
|
||||||
|
CREATE TABLE IF NOT EXISTS `prison_prisoner_area_log` (
|
||||||
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||||
|
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||||||
|
`prisoner_id` bigint NOT NULL COMMENT '罪犯ID',
|
||||||
|
`prisoner_no` varchar(50) NOT NULL COMMENT '罪犯编号',
|
||||||
|
`from_area_id` bigint DEFAULT NULL COMMENT '原监区ID',
|
||||||
|
`from_sub_area_id` bigint DEFAULT NULL COMMENT '原分监区ID',
|
||||||
|
`from_cell_id` bigint DEFAULT NULL COMMENT '原监室ID',
|
||||||
|
`to_area_id` bigint NOT NULL COMMENT '新监区ID',
|
||||||
|
`to_sub_area_id` bigint DEFAULT NULL COMMENT '新分监区ID',
|
||||||
|
`to_cell_id` bigint NOT NULL COMMENT '新监室ID',
|
||||||
|
`change_type` tinyint NOT NULL COMMENT '变动类型:1-调入 2-调出 3-临时安置 4-医疗回监 5-初始分配',
|
||||||
|
`reason` varchar(500) DEFAULT NULL COMMENT '变动原因',
|
||||||
|
`approve_no` varchar(50) DEFAULT NULL COMMENT '批准文号',
|
||||||
|
`operate_by` bigint NOT NULL COMMENT '操作人ID',
|
||||||
|
`operate_name` varchar(50) DEFAULT NULL COMMENT '操作人姓名',
|
||||||
|
`operate_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '操作时间',
|
||||||
|
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
|
||||||
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
|
||||||
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||||
|
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `idx_prisoner_id` (`prisoner_id`),
|
||||||
|
KEY `idx_operate_time` (`operate_time`)
|
||||||
|
) ENGINE=InnoDB COMMENT='罪犯监区变动记录表';
|
||||||
|
|
||||||
|
-- ============================================
|
||||||
|
-- 14. 预警信息表 (prison_warning)
|
||||||
|
-- ============================================
|
||||||
|
DROP TABLE IF EXISTS `prison_warning`;
|
||||||
|
CREATE TABLE IF NOT EXISTS `prison_warning` (
|
||||||
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '预警ID',
|
||||||
|
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||||||
|
`title` varchar(200) NOT NULL COMMENT '预警标题',
|
||||||
|
`content` text COMMENT '预警内容',
|
||||||
|
`type` tinyint NOT NULL COMMENT '预警类型:1-安全预警 2-监管预警 3-改造预警 4-生产预警 5-生活卫生预警 6-其他',
|
||||||
|
`level` tinyint NOT NULL COMMENT '预警等级:1-一般 2-重要 3-紧急 4-严重',
|
||||||
|
`status` tinyint NOT NULL DEFAULT 1 COMMENT '预警状态:1-待核实 2-已核实 3-已处置 4-已解除',
|
||||||
|
`source` tinyint DEFAULT NULL COMMENT '预警来源:1-民警报告 2-监控系统 3-举报 4-罪犯自首 5-智能分析 6-其他',
|
||||||
|
`situation_id` bigint DEFAULT NULL COMMENT '关联狱情ID',
|
||||||
|
`area_id` bigint DEFAULT NULL COMMENT '关联监区ID',
|
||||||
|
`cell_id` bigint DEFAULT NULL COMMENT '关联监室ID',
|
||||||
|
`alert_time` datetime NOT NULL COMMENT '预警时间',
|
||||||
|
`verify_time` datetime DEFAULT NULL COMMENT '核实时间',
|
||||||
|
`verifier` varchar(50) DEFAULT NULL COMMENT '核实人',
|
||||||
|
`verify_result` varchar(500) DEFAULT NULL COMMENT '核实结果',
|
||||||
|
`handle_time` datetime DEFAULT NULL COMMENT '处置时间',
|
||||||
|
`handler` varchar(50) DEFAULT NULL COMMENT '处置人',
|
||||||
|
`handle_method` varchar(200) DEFAULT NULL COMMENT '处置方式',
|
||||||
|
`handle_result` varchar(500) DEFAULT NULL COMMENT '处置结果',
|
||||||
|
`release_time` datetime DEFAULT NULL COMMENT '解除时间',
|
||||||
|
`releaser` varchar(50) DEFAULT NULL COMMENT '解除人',
|
||||||
|
`release_reason` varchar(500) DEFAULT NULL COMMENT '解除原因',
|
||||||
|
`occur_time` datetime DEFAULT NULL COMMENT '发生时间',
|
||||||
|
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||||||
|
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
|
||||||
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
|
||||||
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||||
|
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `idx_type` (`type`),
|
||||||
|
KEY `idx_level` (`level`),
|
||||||
|
KEY `idx_status` (`status`),
|
||||||
|
KEY `idx_area_id` (`area_id`),
|
||||||
|
KEY `idx_alert_time` (`alert_time`)
|
||||||
|
) ENGINE=InnoDB COMMENT='预警信息表';
|
||||||
|
|
||||||
|
-- ============================================
|
||||||
|
-- 15. 狱情收集信息表 (prison_situation)
|
||||||
|
-- ============================================
|
||||||
|
DROP TABLE IF EXISTS `prison_situation`;
|
||||||
|
CREATE TABLE IF NOT EXISTS `prison_situation` (
|
||||||
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '狱情ID',
|
||||||
|
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||||||
|
`title` varchar(200) NOT NULL COMMENT '标题',
|
||||||
|
`content` text COMMENT '详情内容',
|
||||||
|
`category` tinyint NOT NULL COMMENT '分类:1-监管安全 2-教育改造 3-生活卫生 4-生产安全 5-狱内案件 6-其他',
|
||||||
|
`level` tinyint NOT NULL COMMENT '等级:1-一般 2-重要 3-紧急',
|
||||||
|
`source` tinyint DEFAULT NULL COMMENT '来源:1-民警报告 2-监控系统 3-举报 4-罪犯自首 5-其他',
|
||||||
|
`status` tinyint NOT NULL DEFAULT 1 COMMENT '处理状态:1-待处理 2-处理中 3-已处理',
|
||||||
|
`area_id` bigint DEFAULT NULL COMMENT '关联监区ID',
|
||||||
|
`cell_id` bigint DEFAULT NULL COMMENT '关联监室ID',
|
||||||
|
`reporter` varchar(50) DEFAULT NULL COMMENT '报告人',
|
||||||
|
`handler` varchar(50) DEFAULT NULL COMMENT '处理人',
|
||||||
|
`handle_time` datetime DEFAULT NULL COMMENT '处理时间',
|
||||||
|
`handle_result` varchar(500) DEFAULT NULL COMMENT '处理结果',
|
||||||
|
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||||||
|
`occur_time` datetime DEFAULT NULL COMMENT '发生时间',
|
||||||
|
`type` varchar(50) DEFAULT NULL COMMENT '类型',
|
||||||
|
`location` varchar(200) DEFAULT NULL COMMENT '地点',
|
||||||
|
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
|
||||||
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
|
||||||
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||||
|
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `idx_category` (`category`),
|
||||||
|
KEY `idx_level` (`level`),
|
||||||
|
KEY `idx_status` (`status`),
|
||||||
|
KEY `idx_area_id` (`area_id`),
|
||||||
|
KEY `idx_occur_time` (`occur_time`)
|
||||||
|
) ENGINE=InnoDB COMMENT='狱情收集信息表';
|
||||||
|
|
||||||
|
-- ============================================
|
||||||
|
-- 16. 评估报告表 (prison_evaluation_report)
|
||||||
|
-- ============================================
|
||||||
|
DROP TABLE IF EXISTS `prison_evaluation_report`;
|
||||||
|
CREATE TABLE IF NOT EXISTS `prison_evaluation_report` (
|
||||||
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '报告ID',
|
||||||
|
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||||||
|
`report_no` varchar(50) NOT NULL COMMENT '报告编号',
|
||||||
|
`prisoner_id` bigint NOT NULL COMMENT '罪犯ID',
|
||||||
|
`prisoner_no` varchar(50) NOT NULL COMMENT '罪犯编号',
|
||||||
|
`prisoner_name` varchar(50) DEFAULT NULL COMMENT '罪犯姓名',
|
||||||
|
`template_id` bigint DEFAULT NULL COMMENT '模板ID',
|
||||||
|
`template_name` varchar(100) DEFAULT NULL COMMENT '模板名称',
|
||||||
|
`evaluation_type` tinyint DEFAULT NULL COMMENT '评估类型:1-心理评估 2-危险性评估 3-改造表现评估 4-综合评估',
|
||||||
|
`evaluation_cycle` tinyint DEFAULT NULL COMMENT '评估周期:1-月评 2-季评 3-半年评 4-年终评 5-入监评估 6-出监评估',
|
||||||
|
`evaluation_date` datetime DEFAULT NULL COMMENT '评估日期',
|
||||||
|
`evaluator_id` bigint DEFAULT NULL COMMENT '评估人员ID',
|
||||||
|
`evaluator_name` varchar(50) DEFAULT NULL COMMENT '评估人员姓名',
|
||||||
|
`area_id` bigint DEFAULT NULL COMMENT '监区ID',
|
||||||
|
`area_name` varchar(100) DEFAULT NULL COMMENT '监区名称',
|
||||||
|
`total_score` decimal(10,2) DEFAULT 0.00 COMMENT '总分',
|
||||||
|
`level` tinyint DEFAULT NULL COMMENT '评级:1-优秀 2-良好 3-一般 4-较差 5-危险',
|
||||||
|
`risk_level` tinyint DEFAULT NULL COMMENT '风险等级:1-低风险 2-中风险 3-高风险 4-极高风险',
|
||||||
|
`risk_score` decimal(10,2) DEFAULT 0.00 COMMENT '风险得分',
|
||||||
|
`ai_status` tinyint DEFAULT 1 COMMENT 'AI生成状态:1-待生成 2-生成中 3-已完成 4-生成失败',
|
||||||
|
`ai_content` text COMMENT 'AI生成内容',
|
||||||
|
`ai_report_content` text COMMENT 'AI生成报告内容',
|
||||||
|
`status` tinyint NOT NULL DEFAULT 1 COMMENT '报告状态:1-草稿 2-待审核 3-已审核 4-已作废',
|
||||||
|
`auditor_id` bigint DEFAULT NULL COMMENT '审核人ID',
|
||||||
|
`auditor_name` varchar(50) DEFAULT NULL COMMENT '审核人姓名',
|
||||||
|
`audit_time` datetime DEFAULT NULL COMMENT '审核时间',
|
||||||
|
`audit_opinion` varchar(500) DEFAULT NULL COMMENT '审核意见',
|
||||||
|
`conclusion` text COMMENT '报告结论',
|
||||||
|
`suggestions` text COMMENT '改造建议',
|
||||||
|
`pdf_path` varchar(500) DEFAULT NULL COMMENT '报告PDF路径',
|
||||||
|
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||||||
|
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
|
||||||
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
|
||||||
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||||
|
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
UNIQUE KEY `uk_report_no` (`report_no`, `tenant_id`),
|
||||||
|
KEY `idx_prisoner_id` (`prisoner_id`),
|
||||||
|
KEY `idx_evaluation_date` (`evaluation_date`),
|
||||||
|
KEY `idx_status` (`status`)
|
||||||
|
) ENGINE=InnoDB COMMENT='评估报告表';
|
||||||
|
|
||||||
|
-- ============================================
|
||||||
|
-- 17. 快速点评表 (prison_quick_comment)
|
||||||
|
-- ============================================
|
||||||
|
DROP TABLE IF EXISTS `prison_quick_comment`;
|
||||||
|
CREATE TABLE IF NOT EXISTS `prison_quick_comment` (
|
||||||
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '点评ID',
|
||||||
|
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||||||
|
`title` varchar(100) NOT NULL COMMENT '点评标题',
|
||||||
|
`content` varchar(500) NOT NULL COMMENT '点评内容',
|
||||||
|
`category_id` bigint DEFAULT NULL COMMENT '分类ID',
|
||||||
|
`sort` int DEFAULT 0 COMMENT '排序',
|
||||||
|
`status` tinyint NOT NULL DEFAULT 1 COMMENT '状态:1-启用 2-禁用',
|
||||||
|
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
|
||||||
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
|
||||||
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||||
|
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `idx_category_id` (`category_id`)
|
||||||
|
) ENGINE=InnoDB COMMENT='快速点评表';
|
||||||
|
|
||||||
|
-- ============================================
|
||||||
|
-- 18. 快速点评分类表 (prison_comment_category)
|
||||||
|
-- ============================================
|
||||||
|
DROP TABLE IF EXISTS `prison_comment_category`;
|
||||||
|
CREATE TABLE IF NOT EXISTS `prison_comment_category` (
|
||||||
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '分类ID',
|
||||||
|
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||||||
|
`name` varchar(50) NOT NULL COMMENT '分类名称',
|
||||||
|
`sort` int DEFAULT 0 COMMENT '排序',
|
||||||
|
`status` tinyint NOT NULL DEFAULT 1 COMMENT '状态:1-启用 2-禁用',
|
||||||
|
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
|
||||||
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
|
||||||
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||||
|
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
) ENGINE=InnoDB COMMENT='快速点评分类表';
|
||||||
|
|
||||||
|
-- ============================================
|
||||||
|
-- 19. 报告模板表 (prison_report_template)
|
||||||
|
-- ============================================
|
||||||
|
DROP TABLE IF EXISTS `prison_report_template`;
|
||||||
|
CREATE TABLE IF NOT EXISTS `prison_report_template` (
|
||||||
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '模板ID',
|
||||||
|
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||||||
|
`name` varchar(100) NOT NULL COMMENT '模板名称',
|
||||||
|
`type` tinyint NOT NULL COMMENT '模板类型:1-评估报告 2-月度报告 3-季度报告',
|
||||||
|
`content` text COMMENT '模板内容(HTML或Markdown)',
|
||||||
|
`fields` text COMMENT '字段配置JSON',
|
||||||
|
`status` tinyint NOT NULL DEFAULT 1 COMMENT '状态:1-启用 2-禁用',
|
||||||
|
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
|
||||||
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
|
||||||
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||||
|
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `idx_type` (`type`)
|
||||||
|
) ENGINE=InnoDB COMMENT='报告模板表';
|
||||||
|
|
||||||
|
-- ============================================
|
||||||
|
-- 20. 报告表 (prison_report)
|
||||||
|
-- ============================================
|
||||||
|
DROP TABLE IF EXISTS `prison_report`;
|
||||||
|
CREATE TABLE IF NOT EXISTS `prison_report` (
|
||||||
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '报告ID',
|
||||||
|
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||||||
|
`title` varchar(200) NOT NULL COMMENT '报告标题',
|
||||||
|
`type` tinyint NOT NULL COMMENT '报告类型:1-日报告 2-周报告 3-月报告 4-季度报告 5-年度报告',
|
||||||
|
`content` text COMMENT '报告内容',
|
||||||
|
`prison_area_id` bigint DEFAULT NULL COMMENT '监区ID',
|
||||||
|
`report_date` date DEFAULT NULL COMMENT '报告日期',
|
||||||
|
`status` tinyint NOT NULL DEFAULT 1 COMMENT '状态:1-草稿 2-已发布 3-已归档',
|
||||||
|
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
|
||||||
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
|
||||||
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||||
|
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `idx_type` (`type`),
|
||||||
|
KEY `idx_report_date` (`report_date`)
|
||||||
|
) ENGINE=InnoDB COMMENT='报告表';
|
||||||
|
|
||||||
|
-- ============================================
|
||||||
|
-- 21. 释放登记信息表 (prison_release)
|
||||||
|
-- ============================================
|
||||||
|
DROP TABLE IF EXISTS `prison_release`;
|
||||||
|
CREATE TABLE IF NOT EXISTS `prison_release` (
|
||||||
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '释放ID',
|
||||||
|
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||||||
|
`prisoner_id` bigint NOT NULL COMMENT '罪犯ID',
|
||||||
|
`prisoner_no` varchar(50) NOT NULL COMMENT '罪犯编号',
|
||||||
|
`release_type` tinyint NOT NULL COMMENT '释放类型:1-刑满释放 2-假释 3-保外就医 4-减刑 5-暂予监外执行 6-特赦 7-死亡 8-其他',
|
||||||
|
`release_date` date NOT NULL COMMENT '释放日期',
|
||||||
|
`release_reason` varchar(500) DEFAULT NULL COMMENT '释放原因',
|
||||||
|
`approve_no` varchar(50) DEFAULT NULL COMMENT '批准文号',
|
||||||
|
`destination` varchar(200) DEFAULT NULL COMMENT '释放去向',
|
||||||
|
`contact_phone` varchar(20) DEFAULT NULL COMMENT '联系电话',
|
||||||
|
`emergency_contact` varchar(100) DEFAULT NULL COMMENT '紧急联系人',
|
||||||
|
`emergency_phone` varchar(20) DEFAULT NULL COMMENT '紧急联系人电话',
|
||||||
|
`status` tinyint NOT NULL DEFAULT 1 COMMENT '状态:1-待释放 2-已释放 3-已取消',
|
||||||
|
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||||||
|
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
|
||||||
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
|
||||||
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||||
|
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `idx_prisoner_id` (`prisoner_id`),
|
||||||
|
KEY `idx_release_date` (`release_date`)
|
||||||
|
) ENGINE=InnoDB COMMENT='释放登记信息表';
|
||||||
|
|
||||||
|
-- ============================================
|
||||||
|
-- 22. 风险评估维度表 (prison_risk)
|
||||||
|
-- ============================================
|
||||||
|
DROP TABLE IF EXISTS `prison_risk`;
|
||||||
|
CREATE TABLE IF NOT EXISTS `prison_risk` (
|
||||||
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '维度ID',
|
||||||
|
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||||||
|
`name` varchar(50) NOT NULL COMMENT '维度名称',
|
||||||
|
`code` varchar(50) NOT NULL COMMENT '维度编码',
|
||||||
|
`description` varchar(500) DEFAULT NULL COMMENT '维度描述',
|
||||||
|
`weight` decimal(5,2) DEFAULT NULL COMMENT '权重',
|
||||||
|
`max_score` decimal(10,2) DEFAULT 100.00 COMMENT '最高分值',
|
||||||
|
`status` tinyint NOT NULL DEFAULT 1 COMMENT '状态:1-启用 2-禁用',
|
||||||
|
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
|
||||||
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
|
||||||
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||||
|
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
UNIQUE KEY `uk_code` (`code`, `tenant_id`)
|
||||||
|
) ENGINE=InnoDB COMMENT='风险评估维度表';
|
||||||
|
|
||||||
|
-- ============================================
|
||||||
|
-- 23. 评估报告维度表 (prison_evaluation_dimension)
|
||||||
|
-- ============================================
|
||||||
|
DROP TABLE IF EXISTS `prison_evaluation_dimension`;
|
||||||
|
CREATE TABLE IF NOT EXISTS `prison_evaluation_dimension` (
|
||||||
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '维度ID',
|
||||||
|
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||||||
|
`report_id` bigint NOT NULL COMMENT '报告ID',
|
||||||
|
`dimension_name` varchar(100) NOT NULL COMMENT '维度名称',
|
||||||
|
`dimension_code` varchar(50) DEFAULT NULL COMMENT '维度编码',
|
||||||
|
`score` decimal(10,2) DEFAULT 0.00 COMMENT '得分',
|
||||||
|
`max_score` decimal(10,2) DEFAULT 100.00 COMMENT '满分',
|
||||||
|
`level` varchar(20) DEFAULT NULL COMMENT '评级',
|
||||||
|
`description` text COMMENT '维度描述',
|
||||||
|
`suggestion` text COMMENT '建议',
|
||||||
|
`sort` int DEFAULT 0 COMMENT '排序',
|
||||||
|
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
|
||||||
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
|
||||||
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||||
|
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `idx_report_id` (`report_id`)
|
||||||
|
) ENGINE=InnoDB COMMENT='评估报告维度表';
|
||||||
|
|
||||||
|
-- ============================================
|
||||||
|
-- 24. 评估报告维度数据表 (prison_evaluation_dimension_data)
|
||||||
|
-- ============================================
|
||||||
|
DROP TABLE IF EXISTS `prison_evaluation_dimension_data`;
|
||||||
|
CREATE TABLE IF NOT EXISTS `prison_evaluation_dimension_data` (
|
||||||
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '数据ID',
|
||||||
|
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||||||
|
`dimension_id` bigint NOT NULL COMMENT '维度ID',
|
||||||
|
`data_type` varchar(50) NOT NULL COMMENT '数据类型:score-得分 evidence-证据 behavior-行为',
|
||||||
|
`content` text COMMENT '内容',
|
||||||
|
`score` decimal(10,2) DEFAULT 0.00 COMMENT '得分',
|
||||||
|
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
|
||||||
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
|
||||||
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||||
|
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `idx_dimension_id` (`dimension_id`)
|
||||||
|
) ENGINE=InnoDB COMMENT='评估报告维度数据表';
|
||||||
|
|
||||||
|
-- ============================================
|
||||||
|
-- 25. 报告评价表 (prison_report_comment)
|
||||||
|
-- ============================================
|
||||||
|
DROP TABLE IF EXISTS `prison_report_comment`;
|
||||||
|
CREATE TABLE IF NOT EXISTS `prison_report_comment` (
|
||||||
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '评价ID',
|
||||||
|
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||||||
|
`report_id` bigint NOT NULL COMMENT '报告ID',
|
||||||
|
`type` tinyint NOT NULL COMMENT '评价类型:1-总体评价 2-优点 3-不足 4-建议',
|
||||||
|
`content` text NOT NULL COMMENT '评价内容',
|
||||||
|
`score` decimal(10,2) DEFAULT NULL COMMENT '评价得分',
|
||||||
|
`sort` int DEFAULT 0 COMMENT '排序',
|
||||||
|
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
|
||||||
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
|
||||||
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||||
|
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `idx_report_id` (`report_id`)
|
||||||
|
) ENGINE=InnoDB COMMENT='报告评价表';
|
||||||
|
|
||||||
|
-- ============================================
|
||||||
|
-- 26. 消费明细表 (prison_consumption_detail)
|
||||||
|
-- ============================================
|
||||||
|
DROP TABLE IF EXISTS `prison_consumption_detail`;
|
||||||
|
CREATE TABLE IF NOT EXISTS `prison_consumption_detail` (
|
||||||
|
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '明细ID',
|
||||||
|
`tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
|
||||||
|
`consumption_id` bigint NOT NULL COMMENT '消费ID',
|
||||||
|
`goods_name` varchar(100) NOT NULL COMMENT '商品名称',
|
||||||
|
`goods_code` varchar(50) DEFAULT NULL COMMENT '商品编码',
|
||||||
|
`quantity` int DEFAULT 1 COMMENT '数量',
|
||||||
|
`unit_price` decimal(10,2) NOT NULL COMMENT '单价',
|
||||||
|
`total_price` decimal(10,2) NOT NULL COMMENT '总价',
|
||||||
|
`creator` varchar(64) DEFAULT '' COMMENT '创建者',
|
||||||
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
`updater` varchar(64) DEFAULT '' COMMENT '更新者',
|
||||||
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||||
|
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `idx_consumption_id` (`consumption_id`)
|
||||||
|
) ENGINE=InnoDB COMMENT='消费明细表';
|
||||||
|
|
||||||
|
-- 恢复外键检查
|
||||||
|
SET FOREIGN_KEY_CHECKS = 1;
|
||||||
|
|
||||||
|
-- ============================================
|
||||||
|
-- 索引优化建议
|
||||||
|
-- ============================================
|
||||||
|
-- 为常用查询添加复合索引
|
||||||
|
-- ALTER TABLE prison_prisoner ADD INDEX idx_area_cell (prison_area_id, prison_cell_id);
|
||||||
|
-- ALTER TABLE prison_score ADD INDEX idx_prisoner_year_month (prisoner_id, year, month);
|
||||||
|
-- ALTER TABLE prison_warning ADD INDEX idx_type_level_status (type, level, status);
|
||||||
|
|
||||||
|
-- ============================================
|
||||||
|
-- 字段注释更新脚本(可选)
|
||||||
|
-- ============================================
|
||||||
|
-- COMMENT ON COLUMN prison_prisoner.children IS '子女情况';
|
||||||
|
-- COMMENT ON COLUMN prison_questionnaire.cover_image IS '封面图片URL';
|
||||||
|
-- COMMENT ON COLUMN prison_questionnaire.instruction IS '填写说明';
|
||||||
|
-- COMMENT ON COLUMN prison_questionnaire.estimated_time IS '预计耗时(分钟)';
|
||||||
|
-- COMMENT ON COLUMN prison_questionnaire.part_count IS '分区数量';
|
||||||
|
-- COMMENT ON COLUMN prison_questionnaire.allow_anonymous IS '是否允许匿名:0-不允许 1-允许';
|
||||||
Loading…
x
Reference in New Issue
Block a user