/*
 Navicat Premium Data Transfer

 Source Server         : 192.168.10.130
 Source Server Type    : MySQL
 Source Server Version : 80403 (8.4.3)
 Source Host           : 192.168.10.130:3306
 Source Schema         : xlcp_dev

 Target Server Type    : MySQL
 Target Server Version : 80403 (8.4.3)
 File Encoding         : 65001

 Date: 21/01/2026 16:05:49

 Note: 本文件已根据代码实体类进行了精简，只保留代码中涉及的字段
*/

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for prison_prisoner
-- 服刑人员信息表
-- ----------------------------
DROP TABLE IF EXISTS `prison_prisoner`;
CREATE TABLE `prison_prisoner` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '罪犯ID',
  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号',
  `prisoner_no` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '罪犯编号',
  `name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '姓名',
  `gender` tinyint NOT NULL COMMENT '性别：1-男 2-女',
  `birthday` date DEFAULT NULL COMMENT '出生日期',
  `id_card` varchar(18) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '身份证号',
  `photo` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '照片URL',
  `ethnicity` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '民族',
  `native_place` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '籍贯',
  `education` tinyint DEFAULT NULL COMMENT '文化程度：1-文盲 2-小学 3-初中 4-高中 5-中专 6-大专 7-本科 8-硕士 9-博士',
  `occupation` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '入狱前职业',
  `address` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '家庭住址',
  `crime` varchar(200) COLLATE utf8mb4_unicode_ci 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) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '判决法院',
  `judgment_date` date DEFAULT NULL COMMENT '判决日期',
  `judgment_no` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '判决书编号',
  `original_sentence` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '原判刑期',
  `imprisonment_date` date DEFAULT NULL COMMENT '入狱日期',
  `release_date` date DEFAULT NULL COMMENT '释放日期',
  `release_type` tinyint DEFAULT NULL COMMENT '释放类型',
  `release_reason` varchar(500) COLLATE utf8mb4_unicode_ci 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',
  `sub_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) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注',
  `creator` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者',
  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  `marital_status` tinyint DEFAULT NULL COMMENT '婚姻状态：1-未婚 2-已婚 3-离异 4-丧偶',
  `crime_type` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '罪名类型',
  `sentence` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '刑期',
  `children` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL 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 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='罪犯信息表';

-- ----------------------------
-- Table structure for prison_area
-- 监区信息表
-- ----------------------------
DROP TABLE IF EXISTS `prison_area`;
CREATE TABLE `prison_area` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '监区ID',
  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号',
  `name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '监区名称',
  `code` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '监区编码',
  `parent_id` bigint NOT NULL DEFAULT '0' COMMENT '父级ID，0表示顶级监区',
  `level` tinyint NOT NULL DEFAULT '1' COMMENT '级别：1-监区(大队) 2-分监区(中队)',
  `type` tinyint DEFAULT NULL COMMENT '监区类型：1-普通监区 2-严管监区 3-集训监区 4-出监监区 5-医院 6-禁闭室',
  `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) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注',
  `creator` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` varchar(64) COLLATE utf8mb4_unicode_ci 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 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='监区信息表';

-- ----------------------------
-- Table structure for prison_cell
-- 监室信息表
-- ----------------------------
DROP TABLE IF EXISTS `prison_cell`;
CREATE TABLE `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) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '监室名称',
  `code` varchar(50) COLLATE utf8mb4_unicode_ci 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) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注',
  `creator` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` varchar(64) COLLATE utf8mb4_unicode_ci 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 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='监室信息表';

-- ----------------------------
-- Table structure for prison_score
-- 计分考核表
-- ----------------------------
DROP TABLE IF EXISTS `prison_score`;
CREATE TABLE `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) COLLATE utf8mb4_unicode_ci 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) COLLATE utf8mb4_unicode_ci 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) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注',
  `creator` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` varchar(64) COLLATE utf8mb4_unicode_ci 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`),
  KEY `idx_prison_score_prison_area_id` (`prison_area_id`),
  KEY `idx_prison_score_prison_cell_id` (`prison_cell_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='计分考核表';

-- ----------------------------
-- Table structure for prison_score_rule
-- 考核规则配置表
-- ----------------------------
DROP TABLE IF EXISTS `prison_score_rule`;
CREATE TABLE `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) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '项目名称',
  `item_code` varchar(50) COLLATE utf8mb4_unicode_ci 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) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '规则说明',
  `status` tinyint NOT NULL DEFAULT '1' COMMENT '状态：1-启用 2-禁用',
  `sort` int DEFAULT '0' COMMENT '排序',
  `creator` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` varchar(64) COLLATE utf8mb4_unicode_ci 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`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='考核规则配置表';

-- ----------------------------
-- Table structure for prison_score_detail
-- 考核记录明细表
-- ----------------------------
DROP TABLE IF EXISTS `prison_score_detail`;
CREATE TABLE `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) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '罪犯编号',
  `record_date` date NOT NULL COMMENT '记录日期',
  `rule_id` bigint NOT NULL COMMENT '规则ID',
  `score` decimal(10,2) NOT NULL COMMENT '得分',
  `score_type` tinyint NOT NULL COMMENT '类型：1-加分 2-扣分',
  `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注',
  `recorder_id` bigint DEFAULT NULL COMMENT '记录人ID',
  `recorder_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '记录人姓名',
  `status` tinyint NOT NULL DEFAULT '1' COMMENT '状态：1-有效 2-作废',
  `creator` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` varchar(64) COLLATE utf8mb4_unicode_ci 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 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='考核记录明细表';

-- ----------------------------
-- Table structure for prison_risk_assessment
-- 危险评估表
-- ----------------------------
DROP TABLE IF EXISTS `prison_risk_assessment`;
CREATE TABLE `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) COLLATE utf8mb4_unicode_ci 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) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '风险因素',
  `suggestions` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '管控建议',
  `assessor_id` bigint DEFAULT NULL COMMENT '评估人ID',
  `assessor_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '评估人姓名',
  `next_assessment_date` date DEFAULT NULL COMMENT '下次评估日期',
  `status` tinyint NOT NULL DEFAULT '1' COMMENT '状态：1-待审核 2-已通过',
  `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注',
  `creator` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` varchar(64) COLLATE utf8mb4_unicode_ci 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 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='危险评估表';

-- ----------------------------
-- Table structure for prison_risk
-- 风险评估表
-- ----------------------------
DROP TABLE IF EXISTS `prison_risk`;
CREATE TABLE `prison_risk` (
  `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) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '罪犯编号',
  `prisoner_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '罪犯姓名',
  `assessment_type` tinyint NOT NULL DEFAULT '1' COMMENT '评估类型：1-入监评估 2-定期评估 3-专项评估 4-出监评估',
  `assessment_date` date NOT NULL COMMENT '评估日期',
  `overall_score` decimal(5,2) DEFAULT NULL COMMENT '综合风险得分',
  `risk_level` tinyint DEFAULT NULL COMMENT '风险等级：1-低风险 2-中风险 3-高风险 4-极高风险',
  `mental_state` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '精神状态评估',
  `escape_risk` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '脱逃风险评估',
  `violence_risk` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '暴力倾向评估',
  `revolt_risk` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '抗改风险评估',
  `self_harm_risk` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '自杀自伤风险评估',
  `recommendation` text COLLATE utf8mb4_unicode_ci COMMENT '评估建议',
  `assessor` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '评估人',
  `assess_method` tinyint DEFAULT NULL COMMENT '评估方式：1-心理测评 2-行为观察 3-面谈评估 4-综合评估',
  `item_scores` text COLLATE utf8mb4_unicode_ci COMMENT '评估项目得分JSON',
  `conclusion` text COLLATE utf8mb4_unicode_ci COMMENT '评估结论',
  `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注',
  `risk_score` int DEFAULT NULL COMMENT '风险评分',
  `risk_description` varchar(2000) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '风险描述',
  `risk_factors` varchar(2000) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '风险因素',
  `suggestions` varchar(2000) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '建议措施',
  `assessor_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '评估人姓名',
  `status` tinyint DEFAULT '1' COMMENT '状态：1-待评估 2-评估中 3-已完成 4-已取消',
  `creator` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` varchar(64) COLLATE utf8mb4_unicode_ci 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_prison_risk_prisoner_id` (`prisoner_id`),
  KEY `idx_prison_risk_assessment_type` (`assessment_type`),
  KEY `idx_prison_risk_assessment_date` (`assessment_date`),
  KEY `idx_prison_risk_risk_level` (`risk_level`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='风险评估表';

-- ----------------------------
-- Table structure for prison_consumption
-- 消费记录表
-- ----------------------------
DROP TABLE IF EXISTS `prison_consumption`;
CREATE TABLE `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) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '罪犯编号',
  `type` tinyint NOT NULL DEFAULT '1' COMMENT '类型：1-购物 2-餐饮 3-医疗 4-通讯 5-其他',
  `total_amount` decimal(10,2) NOT NULL COMMENT '订单总金额',
  `balance` decimal(12,2) DEFAULT '0.00' COMMENT '账户余额',
  `order_no` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '订单号',
  `trade_time` datetime NOT NULL COMMENT '交易时间',
  `status` tinyint NOT NULL DEFAULT '1' COMMENT '状态：1-成功 2-失败',
  `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注',
  `creator` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` varchar(64) COLLATE utf8mb4_unicode_ci 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`),
  KEY `idx_prison_consumption_order_no` (`order_no`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='消费记录表';

-- ----------------------------
-- Table structure for prison_consumption_detail
-- 消费明细表
-- ----------------------------
DROP TABLE IF EXISTS `prison_consumption_detail`;
CREATE TABLE `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',
  `prisoner_id` bigint NOT NULL COMMENT '罪犯ID（冗余，便于查询）',
  `goods_name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '商品名称',
  `goods_code` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '商品编码',
  `goods_price` decimal(10,2) NOT NULL COMMENT '商品单价',
  `goods_count` int NOT NULL COMMENT '商品数量',
  `subtotal` decimal(10,2) NOT NULL COMMENT '小计金额',
  `creator` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  `updater` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新人',
  `deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除',
  PRIMARY KEY (`id`),
  KEY `idx_consumption_detail_consumption_id` (`consumption_id`),
  KEY `idx_consumption_detail_prisoner_id` (`prisoner_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='消费明细表';

-- ----------------------------
-- Table structure for prison_questionnaire
-- 问卷模板表
-- ----------------------------
DROP TABLE IF EXISTS `prison_questionnaire`;
CREATE TABLE `prison_questionnaire` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '问卷ID',
  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号',
  `title` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '问卷标题',
  `type` tinyint NOT NULL COMMENT '问卷类型：1-心理测评 2-行为评估 3-满意度调查',
  `description` varchar(500) COLLATE utf8mb4_unicode_ci 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) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '封面图片URL',
  `instruction` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '填写说明',
  `estimated_time` int DEFAULT NULL COMMENT '预计耗时（分钟）',
  `part_count` int DEFAULT NULL COMMENT '分区数量',
  `allow_anonymous` tinyint(1) DEFAULT NULL COMMENT '是否允许匿名：0-否 1-是',
  `creator` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` varchar(64) COLLATE utf8mb4_unicode_ci 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 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='问卷模板表';

-- ----------------------------
-- Table structure for prison_question
-- 问卷问题表
-- ----------------------------
DROP TABLE IF EXISTS `prison_question`;
CREATE TABLE `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) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '问题标题',
  `type` tinyint NOT NULL COMMENT '问题类型：1-单选 2-多选 3-填空 4-评分',
  `options` text COLLATE utf8mb4_unicode_ci COMMENT '选项JSON：[{label:"选项1",score:10},...]',
  `score` decimal(10,2) DEFAULT '0.00' COMMENT '分值',
  `sort` int DEFAULT '0' COMMENT '排序',
  `part_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '分区名称',
  `part_sort` int DEFAULT NULL COMMENT '分区排序',
  `help_text` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '帮助说明',
  `placeholder` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '占位提示',
  `default_value` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '默认值',
  `auto_fill_type` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '自动填充类型：NONE-无 AUTO-自动 MANUAL-手动',
  `auto_fill_source` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '自动填充来源',
  `display_condition` varchar(1000) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '显示条件JSON',
  `min_value` decimal(10,2) DEFAULT NULL COMMENT '最小值',
  `max_value` decimal(10,2) DEFAULT NULL COMMENT '最大值',
  `is_required` bit(1) DEFAULT b'1' COMMENT '是否必答',
  `creator` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` varchar(64) COLLATE utf8mb4_unicode_ci 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 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='问卷问题表';

-- ----------------------------
-- Table structure for prison_questionnaire_record
-- 问卷答题记录表
-- ----------------------------
DROP TABLE IF EXISTS `prison_questionnaire_record`;
CREATE TABLE `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) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '问卷名称',
  `prisoner_id` bigint NOT NULL COMMENT '罪犯ID',
  `prisoner_no` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '罪犯编号',
  `prisoner_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '罪犯姓名',
  `status` tinyint NOT NULL DEFAULT '1' COMMENT '状态：1-待测评 2-测评中 3-已完成 4-已过期',
  `start_time` datetime DEFAULT NULL COMMENT '开始时间',
  `end_time` datetime DEFAULT 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 '答题时间',
  `creator` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者',
  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  `deadline` datetime DEFAULT NULL COMMENT '截止日期',
  `objective_score` decimal(10,2) DEFAULT '0.00' COMMENT '客观题得分',
  `subjective_score` decimal(10,2) DEFAULT '0.00' COMMENT '主观题得分',
  `pass_score` decimal(10,2) DEFAULT NULL COMMENT '及格分数',
  `risk_level` tinyint DEFAULT NULL COMMENT '风险等级：1-高风险 2-中风险 3-低风险',
  `evaluator_id` bigint DEFAULT NULL COMMENT '评阅人ID',
  `evaluator_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '评阅人姓名',
  `evaluate_time` datetime DEFAULT NULL COMMENT '评阅时间',
  `participant_count` int DEFAULT '0' COMMENT '参与人数',
  `completed_count` int DEFAULT '0' COMMENT '完成人数',
  `duration` int DEFAULT NULL COMMENT '答题用时（秒）',
  `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注',
  PRIMARY KEY (`id`),
  KEY `idx_questionnaire_id` (`questionnaire_id`),
  KEY `idx_prisoner_id` (`prisoner_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='问卷答题记录表';

-- ----------------------------
-- Table structure for prison_answer
-- 问卷答题详情表
-- ----------------------------
DROP TABLE IF EXISTS `prison_answer`;
CREATE TABLE `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 DEFAULT NULL COMMENT '问卷ID（冗余）',
  `prisoner_id` bigint NOT NULL COMMENT '罪犯ID',
  `question_type` tinyint NOT NULL DEFAULT '1' COMMENT '问题类型：1-单选 2-多选 3-填空 4-评分 5-日期 6-数字',
  `answer_text` text COLLATE utf8mb4_unicode_ci COMMENT '答案内容（填空题、评分题等）',
  `option_ids` text COLLATE utf8mb4_unicode_ci COMMENT '选项ID列表（JSON数组，如 [1,2,3]）',
  `score` decimal(10,2) DEFAULT NULL COMMENT '得分',
  `is_correct` tinyint(1) DEFAULT NULL COMMENT '是否正确：null-未评分 false-错误 true-正确',
  `duration` int DEFAULT NULL COMMENT '答题时间（秒）',
  `creator` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` varchar(64) COLLATE utf8mb4_unicode_ci 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_prison_answer_assessment_record_id` (`assessment_record_id`),
  KEY `idx_prison_answer_question_id` (`question_id`),
  KEY `idx_prison_answer_prisoner_id` (`prisoner_id`),
  KEY `idx_prison_answer_questionnaire_id` (`questionnaire_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='问卷答题记录表';

-- ----------------------------
-- Table structure for prison_prisoner_area_log
-- 罪犯监区变动记录表
-- ----------------------------
DROP TABLE IF EXISTS `prison_prisoner_area_log`;
CREATE TABLE `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',
  `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` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '变动类型：调监区、调监室、入监、出监',
  `reason` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '变动原因',
  `approve_no` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '批准文号',
  `operate_by` bigint NOT NULL COMMENT '操作人ID',
  `operate_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '操作人姓名',
  `operate_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '操作时间',
  `creator` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者',
  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  `prisoner_no` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '罪犯编号',
  PRIMARY KEY (`id`),
  KEY `idx_prisoner_id` (`prisoner_id`),
  KEY `idx_operate_time` (`operate_time`),
  KEY `idx_operate_time_change_type` (`operate_time`,`change_type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='罪犯监区变动记录表';

-- ----------------------------
-- Table structure for prison_warning
-- 预警管理表
-- ----------------------------
DROP TABLE IF EXISTS `prison_warning`;
CREATE TABLE `prison_warning` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '预警ID',
  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号',
  `title` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '预警标题',
  `content` text COLLATE utf8mb4_unicode_ci COMMENT '预警内容',
  `type` tinyint NOT NULL DEFAULT '1' COMMENT '预警类型：1-安全预警 2-监管预警 3-改造预警 4-生产预警 5-生活卫生预警 6-其他',
  `level` tinyint NOT NULL DEFAULT '1' COMMENT '预警等级：1-一般 2-重要 3-紧急 4-严重',
  `status` tinyint NOT NULL DEFAULT '1' COMMENT '预警状态：1-待核实 2-已核实 3-已处置 4-已解除',
  `source` tinyint NOT NULL DEFAULT '1' 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 DEFAULT NULL COMMENT '预警时间',
  `verify_time` datetime DEFAULT NULL COMMENT '核实时间',
  `verifier` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '核实人',
  `verify_result` text COLLATE utf8mb4_unicode_ci COMMENT '核实结果',
  `handle_time` datetime DEFAULT NULL COMMENT '处置时间',
  `handler` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '处置人',
  `handle_method` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '处置方式',
  `handle_result` text COLLATE utf8mb4_unicode_ci COMMENT '处置结果',
  `release_time` datetime DEFAULT NULL COMMENT '解除时间',
  `releaser` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '解除人',
  `release_reason` text COLLATE utf8mb4_unicode_ci COMMENT '解除原因',
  `occur_time` datetime DEFAULT NULL COMMENT '发生时间',
  `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注',
  `creator` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者',
  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  `prisoner_id` bigint DEFAULT NULL COMMENT '关联罪犯ID',
  PRIMARY KEY (`id`),
  KEY `idx_prison_warning_status` (`status`),
  KEY `idx_prison_warning_level` (`level`),
  KEY `idx_prison_warning_type` (`type`),
  KEY `idx_prison_warning_situation_id` (`situation_id`),
  KEY `idx_prison_warning_area_id` (`area_id`),
  KEY `idx_prison_warning_cell_id` (`cell_id`),
  KEY `idx_prison_warning_alert_time` (`alert_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='预警管理表';

-- ----------------------------
-- Table structure for prison_situation
-- 狱情收集表
-- ----------------------------
DROP TABLE IF EXISTS `prison_situation`;
CREATE TABLE `prison_situation` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '狱情ID',
  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号',
  `title` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '标题',
  `content` text COLLATE utf8mb4_unicode_ci COMMENT '详情内容',
  `category` tinyint NOT NULL DEFAULT '1' COMMENT '分类：1-监管安全 2-教育改造 3-生活卫生 4-生产安全 5-狱内案件 6-其他',
  `level` tinyint NOT NULL DEFAULT '1' COMMENT '等级：1-一般 2-重要 3-紧急',
  `source` tinyint NOT NULL DEFAULT '1' 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) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '报告人',
  `handler` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '处理人',
  `handle_time` datetime DEFAULT NULL COMMENT '处理时间',
  `handle_result` text COLLATE utf8mb4_unicode_ci COMMENT '处理结果',
  `occur_time` datetime DEFAULT NULL COMMENT '发生时间',
  `location` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '地点',
  `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注',
  `creator` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者',
  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  `type` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '类型',
  PRIMARY KEY (`id`),
  KEY `idx_prison_situation_status` (`status`),
  KEY `idx_prison_situation_category` (`category`),
  KEY `idx_prison_situation_level` (`level`),
  KEY `idx_prison_situation_area_id` (`area_id`),
  KEY `idx_prison_situation_cell_id` (`cell_id`),
  KEY `idx_prison_situation_occur_time` (`occur_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='狱情收集表';

-- ----------------------------
-- Table structure for prison_evaluation_dimension
-- 评估维度配置表
-- ----------------------------
DROP TABLE IF EXISTS `prison_evaluation_dimension`;
CREATE TABLE `prison_evaluation_dimension` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '维度ID',
  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号',
  `template_id` bigint NOT NULL COMMENT '所属模板ID',
  `name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '维度名称',
  `code` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '维度编码',
  `description` text COLLATE utf8mb4_unicode_ci COMMENT '维度描述',
  `dimension_type` int DEFAULT NULL COMMENT '维度类型：1-基本信息 2-犯罪情况 3-服刑表现 4-心理评估 5-风险评估 6-消费行为 7-劳动表现 8-家庭帮教 9-综合分析 10-管教意见',
  `weight` decimal(5,2) DEFAULT NULL COMMENT '权重（百分比）',
  `score_rule` int DEFAULT NULL COMMENT '评分规则：1-分值越高越好 2-分值越低越好 3-区间评分',
  `max_score` decimal(10,2) DEFAULT NULL COMMENT '最大分值',
  `min_score` decimal(10,2) DEFAULT NULL COMMENT '最小分值',
  `pass_score` decimal(10,2) DEFAULT NULL COMMENT '及格分值',
  `evaluation_method` int DEFAULT NULL COMMENT '评估方式：1-问卷测评 2-量表评分 3-行为观察 4-AI分析 5-综合评定',
  `output_format` tinyint DEFAULT '1' COMMENT '输出格式：1-文本 2-段落 3-列表 4-评分 5-富文本',
  `editor_type` tinyint DEFAULT '1' COMMENT '编辑器类型：1-文本框 2-富文本 3-下拉选择 4-评分组件',
  `ai_enabled` tinyint(1) DEFAULT '0' COMMENT '是否AI生成：0-否 1-是',
  `ai_prompt` text COLLATE utf8mb4_unicode_ci COMMENT 'AI提示词，用于指导AI生成该维度的内容',
  `questions` text COLLATE utf8mb4_unicode_ci COMMENT '问题列表（JSON格式）',
  `status` int DEFAULT '1' COMMENT '是否启用：1-启用 2-禁用',
  `data_sources` text COLLATE utf8mb4_unicode_ci COMMENT '数据源绑定',
  `is_required` tinyint(1) DEFAULT '1' COMMENT '是否必填：0-否 1-是',
  `sort` int DEFAULT '0' COMMENT '排序',
  `creator` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `updater` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  `deleted` bit(1) DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`),
  KEY `idx_prison_evaluation_dimension_template` (`template_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='评估维度配置表';

-- ----------------------------
-- Table structure for prison_evaluation_dimension_data
-- 报告维度数据表
-- ----------------------------
DROP TABLE IF EXISTS `prison_evaluation_dimension_data`;
CREATE TABLE `prison_evaluation_dimension_data` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '数据ID',
  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号',
  `report_id` bigint NOT NULL COMMENT '报告ID',
  `dimension_id` bigint NOT NULL COMMENT '维度配置ID',
  `dimension_code` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '维度编码',
  `dimension_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '维度名称',
  `dimension_type` int DEFAULT NULL COMMENT '维度类型：1-心理测评 2-行为表现 3-教育改造 4-劳动表现 5-人际交往 6-自评/他评',
  `score` decimal(10,2) DEFAULT NULL COMMENT '得分',
  `full_score` decimal(10,2) DEFAULT NULL COMMENT '满分',
  `weighted_score` decimal(10,2) DEFAULT NULL COMMENT '权重得分',
  `level` int DEFAULT NULL COMMENT '评级：1-优秀 2-良好 3-一般 4-较差',
  `conclusion` text COLLATE utf8mb4_unicode_ci COMMENT '维度结论',
  `comment` text COLLATE utf8mb4_unicode_ci COMMENT '维度评语',
  `ai_analysis` text COLLATE utf8mb4_unicode_ci COMMENT 'AI分析内容',
  `answer_details` text COLLATE utf8mb4_unicode_ci COMMENT '回答详情（JSON格式）',
  `sort` int DEFAULT NULL COMMENT '排序',
  `content` text COLLATE utf8mb4_unicode_ci COMMENT '填充内容',
  `is_ai_generated` tinyint(1) DEFAULT '0' COMMENT '是否AI生成：0-否 1-是',
  `is_modified` tinyint(1) DEFAULT '0' COMMENT '是否人工修改：0-否 1-是',
  `modified_by` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '修改人',
  `modified_time` datetime DEFAULT NULL COMMENT '修改时间',
  `data_source` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '数据来源',
  `raw_data` text COLLATE utf8mb4_unicode_ci COMMENT '原始数据JSON',
  `creator` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `updater` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  `deleted` bit(1) DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`),
  KEY `idx_prison_evaluation_dimension_data_report` (`report_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='报告维度数据表';

-- ----------------------------
-- Table structure for prison_evaluation_report
-- 评估报告表
-- ----------------------------
DROP TABLE IF EXISTS `prison_evaluation_report`;
CREATE TABLE `prison_evaluation_report` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '报告ID',
  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号',
  `report_no` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '报告编号',
  `prisoner_id` bigint NOT NULL COMMENT '罪犯ID',
  `prisoner_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '罪犯姓名',
  `prisoner_no` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '罪犯编号',
  `template_id` bigint NOT NULL COMMENT '模板ID',
  `template_name` varchar(100) COLLATE utf8mb4_unicode_ci 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` date DEFAULT NULL COMMENT '评估日期',
  `risk_level` tinyint DEFAULT NULL COMMENT '风险等级：1-低风险 2-中风险 3-高风险',
  `conclusion` text COLLATE utf8mb4_unicode_ci COMMENT '综合结论',
  `suggestions` text COLLATE utf8mb4_unicode_ci COMMENT '改造建议',
  `status` tinyint NOT NULL DEFAULT '1' COMMENT '状态：1-草稿 2-待审核 3-已通过 4-已退回 5-已归档',
  `ai_status` tinyint NOT NULL DEFAULT '0' COMMENT 'AI生成状态：0-未生成 1-生成中 2-生成完成 3-生成失败',
  `auditor_id` bigint DEFAULT NULL COMMENT '审核人ID',
  `auditor_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '审核人姓名',
  `audit_time` datetime DEFAULT NULL COMMENT '审核时间',
  `audit_opinion` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '审核意见',
  `evaluator_id` bigint DEFAULT NULL COMMENT '评估人员ID',
  `evaluator_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '评估人员姓名',
  `area_id` bigint DEFAULT NULL COMMENT '监区ID',
  `area_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '监区名称',
  `total_score` decimal(10,2) DEFAULT NULL COMMENT '总分',
  `level` tinyint DEFAULT NULL COMMENT '评级：1-优秀 2-良好 3-一般 4-较差 5-危险',
  `risk_score` decimal(10,2) DEFAULT NULL COMMENT '风险得分',
  `ai_content` text COLLATE utf8mb4_unicode_ci COMMENT 'AI生成内容',
  `ai_report_content` text COLLATE utf8mb4_unicode_ci COMMENT 'AI生成报告内容',
  `pdf_path` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '报告PDF路径',
  `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注',
  `creator` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `updater` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  `deleted` bit(1) DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_prison_evaluation_report_no` (`report_no`),
  KEY `idx_prison_evaluation_report_prisoner` (`prisoner_id`),
  KEY `idx_prison_evaluation_report_template` (`template_id`),
  KEY `idx_prison_evaluation_report_status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='评估报告表';

-- ----------------------------
-- Table structure for prison_evaluation_template
-- 评估报告模板表
-- ----------------------------
DROP TABLE IF EXISTS `prison_evaluation_template`;
CREATE TABLE `prison_evaluation_template` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '模板ID',
  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号',
  `name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模板名称',
  `code` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '模板编码',
  `type` tinyint NOT NULL COMMENT '模板类型：1-入监综合评估 2-定期考核报告 3-出监评估 4-减刑假释建议 5-专项评估',
  `title_format` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '报告标题格式',
  `description` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '模板描述',
  `applicable_crowd` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '适用人群',
  `evaluation_cycle` tinyint DEFAULT NULL COMMENT '评估周期类型',
  `ai_enabled` tinyint(1) DEFAULT '0' COMMENT '是否允许AI生成',
  `ai_prompt` text COLLATE utf8mb4_unicode_ci COMMENT 'AI提示词配置',
  `cover_image` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '报告封面图',
  `sort` int DEFAULT '0' COMMENT '排序',
  `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注',
  `style_config` text COLLATE utf8mb4_unicode_ci COMMENT '样式配置JSON',
  `is_default` tinyint(1) DEFAULT '0' COMMENT '是否默认模板：0-否 1-是',
  `status` tinyint(1) DEFAULT '1' COMMENT '状态：0-停用 1-启用',
  `creator` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `updater` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  `deleted` bit(1) DEFAULT b'0' COMMENT '是否删除',
  PRIMARY KEY (`id`),
  KEY `idx_prison_evaluation_template_type` (`type`),
  KEY `idx_prison_evaluation_template_status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='评估报告模板表';

-- ----------------------------
-- Table structure for prison_report
-- 评估报告表（通用）
-- ----------------------------
DROP TABLE IF EXISTS `prison_report`;
CREATE TABLE `prison_report` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '报告ID',
  `report_no` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '报告编号',
  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号',
  `prisoner_id` bigint NOT NULL COMMENT '罪犯ID',
  `prisoner_no` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '罪犯编号',
  `prisoner_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '罪犯姓名',
  `template_id` bigint NOT NULL COMMENT '模板ID',
  `template_name` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '模板名称',
  `title` varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '报告标题',
  `report_date` date NOT NULL COMMENT '报告日期',
  `dimensions` text COLLATE utf8mb4_unicode_ci COMMENT '维度内容，JSON格式',
  `conclusion` text COLLATE utf8mb4_unicode_ci COMMENT '综合结论',
  `suggestions` text COLLATE utf8mb4_unicode_ci COMMENT '改造建议',
  `risk_level` tinyint DEFAULT NULL COMMENT '风险等级：1-低风险 2-中风险 3-高风险 4-极高风险',
  `attachments` text COLLATE utf8mb4_unicode_ci COMMENT '附件列表，JSON格式',
  `status` tinyint NOT NULL DEFAULT '1' COMMENT '状态：1-草稿 2-待审核 3-已通过 4-已退回',
  `version` int NOT NULL DEFAULT '1' COMMENT '版本号',
  `signature` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '数字签名',
  `fingerprint` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '报告指纹',
  `submitter_id` bigint DEFAULT NULL COMMENT '提交人ID',
  `submitter_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '提交人姓名',
  `submit_time` datetime DEFAULT NULL COMMENT '提交时间',
  `reviewer_id` bigint DEFAULT NULL COMMENT '审核人ID',
  `reviewer_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '审核人姓名',
  `review_time` datetime DEFAULT NULL COMMENT '审核时间',
  `review_comment` text COLLATE utf8mb4_unicode_ci COMMENT '审核意见',
  `archived` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否已归档',
  `archived_time` datetime DEFAULT NULL COMMENT '归档时间',
  `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注',
  `creator` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` varchar(64) COLLATE utf8mb4_unicode_ci 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`),
  KEY `idx_prison_report_prisoner_id` (`prisoner_id`),
  KEY `idx_prison_report_template_id` (`template_id`),
  KEY `idx_prison_report_status` (`status`),
  KEY `idx_prison_report_report_date` (`report_date`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='评估报告表';

-- ----------------------------
-- Table structure for prison_report_template
-- 评估报告模板表（通用）
-- ----------------------------
DROP TABLE IF EXISTS `prison_report_template`;
CREATE TABLE `prison_report_template` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '模板ID',
  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号',
  `name` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '模板名称',
  `type` tinyint NOT NULL DEFAULT '1' COMMENT '模板类型：1-入监综合评估 2-定期考核报告 3-出监评估 4-减刑假释建议 5-专项评估',
  `title_format` varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '报告标题格式',
  `dimensions` text COLLATE utf8mb4_unicode_ci COMMENT '评估维度配置，JSON格式',
  `ai_prompt_config` text COLLATE utf8mb4_unicode_ci COMMENT 'AI提示词配置，JSON格式',
  `style_config` text COLLATE utf8mb4_unicode_ci COMMENT '样式配置，JSON格式',
  `status` tinyint NOT NULL DEFAULT '1' COMMENT '状态：0-停用 1-启用',
  `is_default` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否默认',
  `version` int NOT NULL DEFAULT '1' COMMENT '版本号',
  `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注',
  `creator` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` varchar(64) COLLATE utf8mb4_unicode_ci 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_prison_report_template_type` (`type`),
  KEY `idx_prison_report_template_status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='评估报告模板表';

-- ----------------------------
-- Table structure for prison_report_comment
-- 快捷评语表
-- ----------------------------
DROP TABLE IF EXISTS `prison_report_comment`;
CREATE TABLE `prison_report_comment` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '评语ID',
  `content` varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '评语内容',
  `comment_type` tinyint NOT NULL DEFAULT '1' COMMENT '评语类型：1-心理评语 2-行为表现评语 3-教育改造评语 4-劳动表现评语 5-综合评语 6-风险提示 7-建议措施',
  `dimension_id` bigint DEFAULT NULL COMMENT '适用维度（关联维度表）',
  `dimension_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '维度名称',
  `level` tinyint DEFAULT NULL COMMENT '评级等级：1-优秀 2-良好 3-一般 4-较差 5-危险',
  `tags` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '标签（逗号分隔）',
  `use_count` int DEFAULT '0' COMMENT '使用次数',
  `sort` int DEFAULT '0' COMMENT '排序',
  `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注',
  `dimension` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '适用维度',
  `is_builtin` tinyint(1) DEFAULT '0' COMMENT '是否内置：0-否 1-是',
  `status` tinyint(1) DEFAULT '1' COMMENT '状态：0-停用 1-启用',
  `creator` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `updater` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  `deleted` bit(1) DEFAULT b'0' COMMENT '是否删除',
  `tenant_id` bigint DEFAULT '0' COMMENT '租户编号',
  PRIMARY KEY (`id`),
  KEY `idx_prison_report_comment_dimension` (`dimension`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='快捷评语表';

-- ----------------------------
-- Table structure for prison_quick_comment
-- 快捷评语表
-- ----------------------------
DROP TABLE IF EXISTS `prison_quick_comment`;
CREATE TABLE `prison_quick_comment` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '评语ID',
  `category_id` bigint NOT NULL COMMENT '分类ID',
  `content` text COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '评语内容',
  `usage_count` int NOT NULL DEFAULT '0' COMMENT '使用次数',
  `sort` int NOT NULL DEFAULT '0' COMMENT '排序',
  `status` tinyint NOT NULL DEFAULT '1' COMMENT '状态：0-停用 1-启用',
  `creator` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者',
  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号',
  PRIMARY KEY (`id`),
  KEY `idx_prison_quick_comment_category_id` (`category_id`),
  KEY `idx_prison_quick_comment_status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='快捷评语表';

-- ----------------------------
-- Table structure for prison_comment_category
-- 快捷评语分类表
-- ----------------------------
DROP TABLE IF EXISTS `prison_comment_category`;
CREATE TABLE `prison_comment_category` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '分类ID',
  `name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '分类名称',
  `type` tinyint NOT NULL DEFAULT '1' COMMENT '评估类型：1-入监 2-定期 3-出监 4-减刑 5-专项',
  `sort` int NOT NULL DEFAULT '0' COMMENT '排序',
  `status` tinyint NOT NULL DEFAULT '1' COMMENT '状态：0-停用 1-启用',
  `creator` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updater` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者',
  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
  `tenant_id` bigint NOT NULL DEFAULT '0' COMMENT '租户编号',
  PRIMARY KEY (`id`),
  KEY `idx_prison_comment_category_type` (`type`),
  KEY `idx_prison_comment_category_status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='快捷评语分类表';

SET FOREIGN_KEY_CHECKS = 1;
