xlcp/XL监狱综合管理平台-需求拆解文档.md
tangweijie fa3e3bc37b feat: 初始提交需求拆解文档
- XL监狱综合管理平台需求拆解
- Phase 1-6 详细开发任务
- 里程碑计划与工时估算

注意: backend和frontend为子模块,单独推送
2026-01-12 20:18:13 +08:00

451 lines
17 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# XL监狱综合管理平台 - 需求拆解与开发计划
> 文档版本v1.0
> 创建日期2026-01-12
> 状态:待评审
---
## 一、项目概述
### 1.1 项目背景
XL监狱综合管理平台是面向监狱管理的信息化系统基于芋道源码yudao-boot-mini进行二次开发实现罪犯管理、教育改造、考核评估等业务的规范化、智能化。
### 1.2 技术选型
| 层级 | 技术选型 | 版本 |
|------|---------|------|
| 后端框架 | Spring Boot | 3.5.9 |
| Java版本 | JDK | 17 |
| ORM框架 | MyBatis-Plus | 3.5.7 |
| 安全框架 | Spring Security | 5.7.11 |
| 缓存 | Redis + Redisson | - |
| 前端框架 | Vue3 | 3.3.8 |
| 构建工具 | Vite | 4.5.0 |
| UI组件 | Element Plus | 2.4.2 |
| 包管理 | pnpm | ≥8.6.0 |
### 1.3 代码仓库
| 仓库 | 地址 |
|------|------|
| 后端 | https://gitea.devops.1msoft.cn/tangweijie/xlcp-backend |
| 前端 | https://gitea.devops.1msoft.cn/tangweijie/xlcp-frontend |
---
## 二、功能模块拆解
### 模块总览
```
XL监狱综合管理平台
├── 监管看板 (首页仪表盘)
├── 综合管理 (评估报告)
├── 测评管理 (测评问卷)
├── 数据中心 6个子模块
│ ├── 狱政信息
│ ├── 狱情平台
│ ├── 危评系统
│ ├── 消费系统
│ ├── 数据汇总
│ └── 计分考核
└── 系统管理 (租户/部门/用户)
```
---
## 三、详细需求拆解
### Phase 1基础平台搭建P0
#### 任务1.1:项目初始化与环境配置
| 任务ID | 任务名称 | 描述 | 预估工时 | 状态 |
|--------|---------|------|---------|------|
| T-001 | 后端项目初始化 | 基于芋道源码配置数据库连接、Redis等 | 4h | TODO |
| T-002 | 前端项目初始化 | 配置API地址、开发环境 | 2h | TODO |
| T-003 | 数据库初始化 | 创建xlcp_dev数据库导入基础表结构 | 2h | TODO |
| T-004 | 统一代码规范 | 配置ESLint、Prettier、Git Hooks | 2h | TODO |
#### 任务1.2:系统管理模块(芋道已有,适配即可)
| 任务ID | 任务名称 | 描述 | 预估工时 | 状态 |
|--------|---------|------|---------|------|
| T-005 | 用户管理适配 | 芋道已有,适配监狱业务角色 | 4h | TODO |
| T-006 | 角色权限适配 | 配置罪犯管理相关权限 | 4h | TODO |
| T-007 | 部门管理适配 | 适配监区、部门架构 | 2h | TODO |
| T-008 | 租户管理配置 | 配置默认租户信息 | 1h | TODO |
**芋道已有功能(无需开发,直接使用):**
- ✅ 用户管理、角色管理、菜单管理
- ✅ 部门管理、岗位管理
- ✅ 字典管理、敏感词管理
- ✅ 操作日志、登录日志
- ✅ 定时任务、文件服务
- ✅ 代码生成器、API文档
---
### Phase 2核心业务模块开发P0
#### 任务2.1:监管看板模块
| 任务ID | 任务名称 | 描述 | 优先级 | 预估工时 | 状态 |
|--------|---------|------|--------|---------|------|
| T-101 | 首页框架搭建 | 布局结构、导航菜单 | P0 | 4h | TODO |
| T-102 | 核心指标卡片 | 在册罪犯、已移交、就医人数、当前位置 | P0 | 4h | TODO |
| T-103 | 年龄分布图表 | ECharts饼图 | P0 | 2h | TODO |
| T-104 | 刑期分布图表 | ECharts饼图 | P0 | 2h | TODO |
| T-105 | 文化程度图表 | ECharts饼图 | P0 | 2h | TODO |
| T-106 | 省份分布地图 | ECharts地图热力图 | P0 | 4h | TODO |
| T-107 | 数据脱敏组件 | 敏感信息脱敏显示 | P0 | 4h | TODO |
#### 任务2.2:狱政信息管理模块
| 任务ID | 任务名称 | 描述 | 优先级 | 预估工时 | 状态 |
|--------|---------|------|--------|---------|------|
| T-201 | 罪犯基础信息表 | 设计并创建罪犯信息表 | P0 | 4h | TODO |
| T-202 | 罪犯列表页面 | 列表查询、筛选、导出 | P0 | 6h | TODO |
| T-203 | 罪犯详情页面 | 详细信息展示 | P0 | 4h | TODO |
| T-204 | 入监登记功能 | 新增罪犯信息 | P0 | 4h | TODO |
| T-205 | 出监管理功能 | 释放、移交登记 | P0 | 4h | TODO |
| T-206 | 罪犯信息修改 | 信息维护 | P1 | 2h | TODO |
| T-207 | 批量导入导出 | Excel导入导出 | P1 | 4h | TODO |
**数据模型设计 - 罪犯表**
```sql
CREATE TABLE xlcp_prisoner (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
prisoner_no VARCHAR(32) NOT NULL COMMENT '罪犯编号',
name VARCHAR(64) NOT NULL COMMENT '姓名',
id_card VARCHAR(18) COMMENT '身份证号',
gender TINYINT NOT NULL COMMENT '性别: 1男 2女',
birthday DATE COMMENT '出生日期',
nation VARCHAR(32) COMMENT '民族',
native_place VARCHAR(128) COMMENT '籍贯',
education VARCHAR(32) COMMENT '文化程度',
address VARCHAR(512) COMMENT '家庭地址',
crime_type VARCHAR(64) COMMENT '罪名',
sentence_years INT COMMENT '刑期(年)',
sentence_months INT COMMENT '刑期(月)',
sentence_days INT COMMENT '刑期(日)',
sentence_date DATE COMMENT '判决日期',
enter_date DATE COMMENT '入监日期',
release_date DATE COMMENT '刑满日期',
prison_area VARCHAR(64) COMMENT '监区',
manage_level VARCHAR(32) COMMENT '分管等级: 严管/普管/宽管',
status TINYINT NOT NULL DEFAULT 1 COMMENT '状态: 1在押 2释放 3移交',
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
deleted TINYINT NOT NULL DEFAULT 0,
INDEX idx_prisoner_no (prisoner_no),
INDEX idx_name (name),
INDEX idx_prison_area (prison_area),
INDEX idx_status (status)
) COMMENT '罪犯信息表';
```
#### 任务2.3:计分考核模块
| 任务ID | 任务名称 | 描述 | 优先级 | 预估工时 | 状态 |
|--------|---------|------|--------|---------|------|
| T-301 | 考核规则配置 | 配置考核项目和分值 | P0 | 4h | TODO |
| T-302 | 日常考核记录 | 每日考核录入 | P0 | 6h | TODO |
| T-303 | 月度考核汇总 | 自动计算月度得分 | P0 | 4h | TODO |
| T-304 | 考核等级评定 | 根据分数评定等级 | P0 | 2h | TODO |
| T-305 | 考核公示功能 | 考核结果公示 | P1 | 4h | TODO |
| T-306 | 减刑假释关联 | 关联减刑假释流程 | P1 | 4h | TODO |
**考核项目配置表**
```sql
CREATE TABLE xlcp_score_rule (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
category VARCHAR(32) NOT NULL COMMENT '类别: 劳动/教育/思想/卫生',
item_name VARCHAR(64) NOT NULL COMMENT '项目名称',
max_score DECIMAL(5,2) NOT NULL COMMENT '最高分值',
min_score DECIMAL(5,2) NOT NULL COMMENT '最低分值',
weight DECIMAL(5,2) DEFAULT 1 COMMENT '权重',
status TINYINT NOT NULL DEFAULT 1,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
INDEX idx_category (category)
) COMMENT '考核规则表';
CREATE TABLE xlcp_score_record (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
prisoner_id BIGINT NOT NULL COMMENT '罪犯ID',
record_date DATE NOT NULL COMMENT '记录日期',
category VARCHAR(32) NOT NULL COMMENT '考核类别',
rule_id BIGINT NOT NULL COMMENT '规则ID',
score DECIMAL(5,2) NOT NULL COMMENT '得分',
remark VARCHAR(512) COMMENT '备注',
recorder_id BIGINT NOT NULL COMMENT '记录人',
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
INDEX idx_prisoner_date (prisoner_id, record_date)
) COMMENT '日常考核记录表';
```
---
### Phase 3测评管理模块P0
#### 任务3.1:测评问卷管理
| 任务ID | 任务名称 | 描述 | 优先级 | 预估工时 | 状态 |
|--------|---------|------|--------|---------|------|
| T-401 | 问卷分类管理 | 问卷分类CRUD | P0 | 4h | TODO |
| T-402 | 问卷列表页面 | 问卷列表、筛选、发布状态 | P0 | 4h | TODO |
| T-403 | 问卷新增功能 | 创建问卷、设置属性 | P0 | 4h | TODO |
| T-404 | 问卷编辑功能 | 修改问卷内容 | P0 | 8h | TODO |
| T-405 | 问卷预览功能 | 预览问卷效果 | P0 | 2h | TODO |
| T-406 | 问卷发布/下架 | 控制问卷可用状态 | P0 | 2h | TODO |
| T-407 | 问卷复制功能 | 创建副本 | P1 | 2h | TODO |
| T-408 | 问卷删除功能 | 删除问卷 | P1 | 1h | TODO |
#### 任务3.2:题目管理
| 任务ID | 任务名称 | 描述 | 优先级 | 预估工时 | 状态 |
|--------|---------|------|--------|---------|------|
| T-411 | 单选题组件 | 单选题编辑与展示 | P0 | 4h | TODO |
| T-412 | 多选题组件 | 多选题编辑与展示 | P0 | 4h | TODO |
| T-413 | 判断题组件 | 判断题编辑与展示 | P0 | 2h | TODO |
| T-414 | 填空题组件 | 填空题编辑与展示 | P0 | 2h | TODO |
| T-415 | 简述题组件 | 简答题编辑与展示 | P0 | 2h | TODO |
| T-416 | 题目排序 | 拖拽调整顺序 | P1 | 2h | TODO |
| T-417 | 题目分值设置 | 配置每题分值 | P0 | 2h | TODO |
#### 任务3.3:测评执行
| 任务ID | 任务名称 | 描述 | 优先级 | 预估工时 | 状态 |
|--------|---------|------|--------|---------|------|
| T-421 | 在线测评页面 | 答题界面 | P0 | 6h | TODO |
| T-422 | 答题记录存储 | 保存答题结果 | P0 | 4h | TODO |
| T-423 | 自动评分功能 | 客观题自动评分 | P0 | 4h | TODO |
| T-424 | 测评结果查询 | 查询测评结果 | P0 | 4h | TODO |
| T-425 | 测评统计分析 | 统计分析报表 | P1 | 6h | TODO |
**问卷表设计**
```sql
CREATE TABLE xlcp_questionnaire (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
title VARCHAR(128) NOT NULL COMMENT '问卷标题',
category_id BIGINT NOT NULL COMMENT '分类ID',
description TEXT COMMENT '问卷描述',
total_score DECIMAL(5,2) DEFAULT 0 COMMENT '总分',
time_limit INT DEFAULT 0 COMMENT '时限(分钟),0表示不限时',
passing_score DECIMAL(5,2) COMMENT '及格分数',
is_repeatable TINYINT DEFAULT 0 COMMENT '是否允许重考: 0否 1是',
status TINYINT NOT NULL DEFAULT 0 COMMENT '状态: 0草稿 1已发布 2已下架',
creator_id BIGINT NOT NULL,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
published_at DATETIME COMMENT '发布时间',
INDEX idx_category (category_id),
INDEX idx_status (status)
) COMMENT '问卷表';
CREATE TABLE xlcp_question (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
questionnaire_id BIGINT NOT NULL COMMENT '问卷ID',
question_type VARCHAR(32) NOT NULL COMMENT '类型: SINGLE/MULTIPLE/BOOLEAN/FILL/ESSAY',
question_text TEXT NOT NULL COMMENT '题目内容',
question_order INT NOT NULL COMMENT '序号',
score DECIMAL(5,2) DEFAULT 0 COMMENT '分值',
is_required TINYINT DEFAULT 1 COMMENT '是否必答',
INDEX q_id (questionnaire_id)
) COMMENT '题目表';
CREATE TABLE xlcp_question_option (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
question_id BIGINT NOT NULL COMMENT '题目ID',
option_code VARCHAR(8) NOT NULL COMMENT '选项编码',
option_text VARCHAR(256) NOT NULL COMMENT '选项内容',
score DECIMAL(5,2) DEFAULT 0 COMMENT '得分',
INDEX q_id (question_id)
) COMMENT '题目选项表';
```
---
### Phase 4数据中心模块P1
#### 任务4.1:狱情平台
| 任务ID | 任务名称 | 描述 | 优先级 | 预估工时 | 状态 |
|--------|---------|------|--------|---------|------|
| T-501 | 狱情动态记录 | 记录狱内事件 | P1 | 4h | TODO |
| T-502 | 预警信息管理 | 预警规则触发 | P1 | 6h | TODO |
| T-503 | 事件登记 | 突发事件登记 | P1 | 4h | TODO |
| T-504 | 事件处理跟踪 | 处理流程跟踪 | P1 | 4h | TODO |
| T-505 | 应急预案管理 | 预案库管理 | P2 | 6h | TODO |
#### 任务4.2:危评系统
| 任务ID | 任务名称 | 描述 | 优先级 | 预估工时 | 状态 |
|--------|---------|------|--------|---------|------|
| T-511 | 评估问卷配置 | 评估维度配置 | P1 | 4h | TODO |
| T-512 | 危险评估录入 | 填写评估问卷 | P1 | 4h | TODO |
| T-513 | 风险计算引擎 | 自动计算风险值 | P1 | 4h | TODO |
| T-514 | 风险等级划分 | 确定风险等级 | P1 | 2h | TODO |
| T-515 | 定期复评提醒 | 周期性重新评估 | P1 | 2h | TODO |
| T-516 | 历史评估对比 | 与历史评估对比 | P2 | 4h | TODO |
#### 任务4.3:消费系统
| 任务ID | 任务名称 | 描述 | 优先级 | 预估工时 | 状态 |
|--------|---------|------|--------|---------|------|
| T-521 | 账户余额管理 | 查询账户余额 | P1 | 2h | TODO |
| T-522 | 家属存款 | 存款登记 | P1 | 4h | TODO |
| T-523 | 消费记录查询 | 购物消费明细 | P1 | 2h | TODO |
| T-524 | 消费限额设置 | 设置消费上限 | P1 | 2h | TODO |
| T-525 | 消费统计分析 | 消费报表 | P1 | 4h | TODO |
#### 任务4.4:数据汇总
| 任务ID | 任务名称 | 描述 | 优先级 | 预估工时 | 状态 |
|--------|---------|------|--------|---------|------|
| T-531 | 人口统计分析 | 在册、新增、释放统计 | P1 | 4h | TODO |
| T-532 | 押犯构成分析 | 年龄、刑期、罪名分布 | P1 | 4h | TODO |
| T-533 | 考核统计报表 | 考核分数分布 | P1 | 4h | TODO |
| T-534 | 消费统计报表 | 人均消费、消费总额 | P1 | 4h | TODO |
| T-535 | 评估统计报表 | 测评完成率、风险分布 | P1 | 4h | TODO |
---
### Phase 5综合管理模块P1
#### 任务5.1:评估报告管理
| 任务ID | 任务名称 | 描述 | 优先级 | 预估工时 | 状态 |
|--------|---------|------|--------|---------|------|
| T-601 | 报告模板管理 | 配置报告模板 | P1 | 4h | TODO |
| T-602 | 报告生成 | 根据评估数据生成报告 | P1 | 6h | TODO |
| T-603 | 报告预览 | 在线预览报告 | P1 | 2h | TODO |
| T-604 | 报告下载 | 导出PDF/Word | P1 | 4h | TODO |
| T-605 | 报告审核 | 审核发布报告 | P1 | 2h | TODO |
| T-606 | 报告归档 | 长期保存 | P1 | 2h | TODO |
---
### Phase 6智能化功能P2
#### 任务6.1:智能预警系统
| 任务ID | 任务名称 | 描述 | 优先级 | 预估工时 | 状态 |
|--------|---------|------|--------|---------|------|
| T-701 | 行为异常检测 | 发现异常行为模式 | P2 | 8h | TODO |
| T-702 | 消费异常预警 | 超阈值消费预警 | P2 | 4h | TODO |
| T-703 | 考核下滑预警 | 连续下降趋势预警 | P2 | 4h | TODO |
| T-704 | 风险评估模型 | 机器学习风险预测 | P2 | 12h | TODO |
| T-705 | 预警通知 | 多渠道预警通知 | P2 | 4h | TODO |
#### 任务6.2:智能分析
| 任务ID | 任务名称 | 描述 | 优先级 | 预估工时 | 状态 |
|--------|---------|------|--------|---------|------|
| T-711 | 自动报表生成 | 根据数据自动生成分析报告 | P2 | 8h | TODO |
| T-712 | 趋势预测 | 预测未来数据趋势 | P2 | 8h | TODO |
| T-713 | 关联分析 | 发现数据关联关系 | P2 | 6h | TODO |
---
## 四、开发优先级矩阵
### P0 - 核心功能(必须完成)
| 序号 | 任务 | 预计工时 |
|------|------|---------|
| 1 | 项目初始化与环境配置 | 10h |
| 2 | 监管看板(首页) | 18h |
| 3 | 狱政信息管理CRUD | 24h |
| 4 | 计分考核(核心) | 24h |
| 5 | 测评问卷管理 | 40h |
| 6 | 测评执行与评分 | 24h |
| | **P0小计** | **140h** |
### P1 - 重要功能(计划完成)
| 序号 | 任务 | 预计工时 |
|------|------|---------|
| 1 | 狱情平台 | 22h |
| 2 | 危评系统 | 22h |
| 3 | 消费系统 | 18h |
| 4 | 数据汇总报表 | 20h |
| 5 | 评估报告管理 | 20h |
| | **P1小计** | **102h** |
### P2 - 增值功能(选做)
| 序号 | 任务 | 预计工时 |
|------|------|---------|
| 1 | 智能预警系统 | 32h |
| 2 | 智能分析功能 | 22h |
| | **P2小计** | **54h** |
### 总工时估算
| 阶段 | 工时 |
|------|------|
| P0 核心功能 | 140h (约3.5周) |
| P1 重要功能 | 102h (约2.5周) |
| P2 增值功能 | 54h (约1.5周) |
| **合计** | **296h (约7.5周)** |
---
## 五、里程碑计划
| 里程碑 | 内容 | 目标日期 |
|--------|------|---------|
| M1 | 项目启动、环境搭建完成 | 第1周末 |
| M2 | 监管看板上线 | 第2周末 |
| M3 | 狱政信息+计分考核上线 | 第4周末 |
| M4 | 测评管理模块上线 | 第6周末 |
| M5 | 数据中心核心功能上线 | 第7周末 |
| M6 | 全部功能上线、测试完成 | 第8周末 |
---
## 六、验收标准
### 功能验收
- [ ] 监管看板各图表正常显示
- [ ] 罪犯信息CRUD操作正常
- [ ] 计分考核计算准确
- [ ] 测评问卷支持5种题型
- [ ] 测评自动评分正确
- [ ] 数据统计报表准确
### 性能验收
- [ ] 页面加载时间 < 3秒
- [ ] 接口响应时间 < 500ms
- [ ] 支持100并发用户
- [ ] 数据脱敏正常生效
### 安全验收
- [ ] 敏感数据脱敏显示
- [ ] 操作日志完整记录
- [ ] 权限控制生效
- [ ] 无SQL注入/XSS漏洞
---
## 七、风险识别
| 风险项 | 影响 | 应对措施 |
|--------|------|---------|
| 需求变更 | 可能影响进度 | 定期评审敏捷迭代 |
| 技术难点 | 可能延期 | 预留缓冲时间寻求技术支持 |
| 数据安全 | 合规风险 | 严格遵循等保要求 |
| 人员变动 | 项目风险 | 代码规范文档完善 |
---
**文档创建:** Claude AI
**待评审专家:** 王建国监狱业务)、李明远系统设计)、张AIAI技术