- 添加问卷问题批量更新API: POST /prison/question/batch-update - 修复savePartitions循环调用API问题 (50题只需1次请求) - 修复onPartitionDragEnd拖拽排序性能问题 - 修复onQuestionDragEnd问题拖拽排序性能问题 - 添加QuestionBatchUpdateReqVO请求对象 - 添加自动填充来源字典SQL (35个选项)
229 lines
13 KiB
SQL
229 lines
13 KiB
SQL
-- ============================================
|
||
-- XL监狱综合管理平台 - 数据库初始化脚本
|
||
-- ============================================
|
||
|
||
-- 罪犯信息表
|
||
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 '刑期(月)',
|
||
`imprisonment_date` date DEFAULT NULL COMMENT '入狱日期',
|
||
`release_date` date DEFAULT NULL COMMENT '释放日期',
|
||
`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',
|
||
`prison_cell_id` bigint DEFAULT NULL COMMENT '监室ID',
|
||
`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='罪犯信息表';
|
||
|
||
-- 监区信息表
|
||
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-禁闭室',
|
||
`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`)
|
||
) ENGINE=InnoDB COMMENT='监区信息表';
|
||
|
||
-- 监室信息表
|
||
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='监室信息表';
|
||
|
||
-- 计分考核表
|
||
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-已驳回',
|
||
`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='计分考核表';
|
||
|
||
-- 危险评估表
|
||
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='危险评估表';
|
||
|
||
-- 消费记录表
|
||
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 '罪犯编号',
|
||
`type` tinyint NOT NULL COMMENT '类型:1-存款 2-消费 3-转账',
|
||
`amount` decimal(12,2) NOT NULL COMMENT '金额',
|
||
`balance` decimal(12,2) DEFAULT 0.00 COMMENT '账户余额',
|
||
`goods_name` varchar(100) DEFAULT NULL COMMENT '商品名称',
|
||
`goods_count` int DEFAULT 1 COMMENT '商品数量',
|
||
`order_no` varchar(64) DEFAULT NULL 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='消费记录表';
|
||
|
||
-- 问卷模板表
|
||
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-已禁用',
|
||
`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='问卷模板表';
|
||
|
||
-- 问卷问题表
|
||
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-评分',
|
||
`options` text COMMENT '选项JSON:[{label:"选项1",score:10},...]',
|
||
`score` decimal(10,2) DEFAULT 0.00 COMMENT '分值',
|
||
`sort` int DEFAULT 0 COMMENT '排序',
|
||
`is_required` bit(1) DEFAULT b'1' 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='问卷问题表';
|
||
|
||
-- 问卷答题记录表
|
||
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',
|
||
`prisoner_id` bigint NOT NULL COMMENT '罪犯ID',
|
||
`prisoner_no` varchar(50) NOT NULL COMMENT '罪犯编号',
|
||
`total_score` decimal(10,2) DEFAULT 0.00 COMMENT '得分',
|
||
`pass_status` tinyint DEFAULT NULL COMMENT '是否及格:1-及格 2-不及格',
|
||
`answer_time` datetime NOT 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_questionnaire_id` (`questionnaire_id`),
|
||
KEY `idx_prisoner_id` (`prisoner_id`)
|
||
) ENGINE=InnoDB COMMENT='问卷答题记录表';
|