chore: 更新前后端子模块到最新版本

- backend: 集成评估报告、快捷评语、预警风险等模块
- frontend: 新增评估报告编辑、快捷评语管理等工作台页面

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
tangweijie 2026-01-16 20:16:25 +08:00
parent 9e125df809
commit bcc7756f90
4 changed files with 384 additions and 2 deletions

34
Makefile Normal file
View File

@ -0,0 +1,34 @@
.PHONY: help frontend backend all
# 默认目标
all: help
# 前端开发服务器
frontend:
@echo "启动前端开发服务器..."
cd frontend && pnpm dev
# 后端开发服务器
backend:
@echo "启动后端开发服务器..."
cd backend/yudao-server && mvn clean compile -DskipTests && mvn spring-boot:run
# 停止后端 n
# 同时启动前后端
run: frontend backend
@echo "前后端服务已全部启动"
prison:
@echo "编译监狱模块..."
cd backend/yudao-server && mvn compile -pl :yudao-module-prison -am
# 查看帮助
help:
@echo "可用的 Make 命令:"
@echo ""
@echo " make frontend - 启动前端开发服务器"
@echo " make backend - 启动后端开发服务器"
@echo " make run - 同时启动前后端"
@echo " make help - 显示此帮助信息"

@ -1 +1 @@
Subproject commit bbcf68bdb84aeec934a8f5c8fca30d216428837b
Subproject commit f6b0410fda09b68989acce8eef0acd89a5c4c975

View File

@ -0,0 +1,348 @@
# 评估报告模块需求文档
## 1. 项目背景
XL监狱综合管理平台需要新增**评估报告模块**利用AI大语言模型自动填写风险评估报告提高评估工作效率。
## 2. 需求概述
### 2.1 功能目标
使用AI大语言模型自动填写风险评估报告支持人机协作模式AI生成初稿 + 人工审核修改)。
### 2.2 核心特性
- 独立的评估报告模板配置(与问卷模板分离)
- 绑定多种数据源(消费、计分、狱情、亲属信息等)
- AI生成初稿管教民警可逐项修改确认
- 报告导出PDF/Word
- 审核工作流
### 2.3 评估类型
| 类型 | 说明 |
|------|------|
| 入监评估 | 新犯入狱后的综合评估 |
| 定期评估 | 服刑期间定期的改造情况评估 |
| 专项评估 | 针对特定事件的专项评估 |
| 出监评估 | 假释/刑满前的释放前评估 |
## 3. 功能需求
### 3.1 评估报告模板管理
#### 3.1.1 功能描述
管理员可配置评估报告模板包含多个评估维度和对应的AI提示词。
#### 3.1.2 功能点
| 功能 | 说明 |
|------|------|
| 模板增删改查 | 模板的基本信息管理 |
| 版本管理 | 模板版本控制 |
| 评估维度配置 | 支持拖拽排序的维度配置 |
| AI提示词配置 | 每个维度配置AI提示词 |
| 数据源绑定 | 配置维度需要使用的数据源 |
#### 3.1.3 评估维度配置
| 字段 | 类型 | 说明 |
|------|------|------|
| 维度名称 | 文本 | 如:犯罪情况分析、服刑表现评估等 |
| AI提示词 | 多行文本 | AI生成的指令模板 |
| 数据源绑定 | 多选 | 选择需要聚合的数据源 |
| 输出格式 | 下拉 | 文本/段落/列表 |
| 是否AI生成 | 开关 | 该维度是否需要AI生成 |
| 编辑器类型 | 下拉 | 文本框/富文本/下拉选择 |
| 排序 | 数字 | 维度排序 |
### 3.2 数据源类型
| 数据源类型 | 标识 | 说明 |
|-----------|------|------|
| 罪犯档案 | prisoner | 基本信息、犯罪情况、刑期等 |
| 消费记录 | consumption | 消费金额、消费类型分布 |
| 计分考核 | score | 月度得分、年度汇总、等级分布 |
| 问卷答题 | questionnaire_record | 心理测评结果、问卷得分 |
| 违规记录 | violation | 违规次数、违规类型 |
| 奖励记录 | reward | 表扬次数、立功情况 |
| 会见记录 | visit | 会见频次、会见人关系 |
| 劳动数据 | labor | 劳动效率、产量质量 |
### 3.3 评估报告管理
#### 3.3.1 工作流程
```
选择服刑人员 → 选择评估模板 → 创建报告 → AI生成初稿 → 人工修改 → 提交审核 → 审核通过 → 导出报告
数据源自动聚合
```
#### 3.3.2 报告状态
| 状态 | 说明 |
|------|------|
| 草稿 | 报告刚创建,未提交审核 |
| 待审核 | 已提交,等待领导审核 |
| 已通过 | 审核通过 |
| 已驳回 | 审核被驳回,需修改后重新提交 |
#### 3.3.3 人机协作模式
- AI生成各维度初稿显示"AI生成"标识
- 管教民警可逐维度编辑修改
- 修改后显示"人工修改"标识和修改时间
- 记录修改历史(版本管理)
### 3.4 报告导出
#### 3.4.1 导出格式
| 格式 | 用途 |
|------|------|
| PDF | 正式存档、打印 |
| Word | 修改编辑 |
| HTML | 系统内预览 |
#### 3.4.2 导出内容选项
- [x] 维度分析
- [x] 综合结论
- [x] 改造建议
- [x] 审核信息
## 4. 页面设计
### 4.1 报告编辑页面(左右分栏布局)
```
┌─────────────────────────────────────────────────────────────────────────┐
│ 评估报告编辑 │
├────────────────────────────┬────────────────────────────────────────────┤
│ 【服刑人员列表】 │ 【报告编辑区】 │
│ ┌────────────────────┐ │ ┌────────────────────────────────────────┐ │
│ │ [搜索框] 姓名/编号 │ │ │ 服刑人员:张三 (2024001) │ │
│ │ [搜索按钮] │ │ │ 监区:三分监区 风险等级:高风险 │ │
│ ├────────────────────┤ │ ├────────────────────────────────────────┤ │
│ │ [卡片列表] │ │ │ │ │
│ │ ┌────────────────┐│ │ │ [基本信息] │ │
│ │ │ 三分监区 ││ │ │ ┌────────────────────────────────────┐ │ │
│ │ │ 张三 2024001 ││ │ │ │ 评估模板:入监风险评估 v │ │ │
│ │ │ [高风险] ││ │ │ │ 评估日期2026-01-16 │ │ │
│ │ └────────────────┘│ │ │ │ 评估类型:入监评估 v │ │ │
│ │ │ │ │ └────────────────────────────────────┘ │ │
│ │ ┌────────────────┐│ │ │ │ │
│ │ │ 二分监区 ││ │ │ [维度分析 - 折叠面板] │ │
│ │ │ 李四 2024002 ││ │ │ ┌────────────────────────────────────┐ │ │
│ │ │ [中风险] ││ │ │ │ ▼ 犯罪情况分析 [重新生成] │ │ │
│ │ └────────────────┘│ │ │ │ 该犯因盗窃罪... │ │ │
│ │ │ │ │ │ [AI生成] [已修改] │ │ │
│ │ ... │ │ │ └────────────────────────────────────┘ │ │
│ ├────────────────────┤ │ ├────────────────────────────────────────┤ │
│ │ [分页组件] 1/5 │ │ │ [综合结论与建议] │ │
│ └────────────────────┘ │ │ ┌────────────────────────────────────┐ │ │
│ │ │ │ 风险等级:高风险 v │ │ │
│ │ │ │ 综合结论: │ │ │
│ │ │ │ 改造建议: │ │ │
│ │ │ └────────────────────────────────────┘ │ │
│ │ ├────────────────────────────────────────┤ │
│ │ │ [操作按钮] │ │
│ │ │ [AI生成全部内容] [保存草稿] [提交审核] │ │
│ │ │ [导出PDF] [导出Word] │ │
│ │ └────────────────────────────────────────┘ │
│ │ │
└────────────────────────────┴────────────────────────────────────────────┘
```
### 4.2 模板配置页面
- 模板列表页:展示所有模板,支持增删改查
- 模板配置表单:配置模板名称、描述、评估类型、评估维度列表
### 4.3 报告列表页面
- 分页查询报告
- 批量操作(批量创建、批量导出)
- 操作按钮(预览、编辑、重新生成、审核、导出、删除)
## 5. 数据库设计
### 5.1 评估报告模板表 (prison_assessment_report_template)
| 字段 | 类型 | 说明 |
|------|------|------|
| id | bigint | 模板ID主键 |
| name | varchar(100) | 模板名称 |
| description | varchar(500) | 模板说明 |
| assessment_type | tinyint | 评估类型 |
| version | varchar(20) | 模板版本 |
| status | tinyint | 状态1-启用 2-禁用 |
| creator | varchar(64) | 创建者 |
| create_time | datetime | 创建时间 |
| updater | varchar(64) | 更新者 |
| update_time | datetime | 更新时间 |
| deleted | bit(1) | 是否删除 |
| tenant_id | bigint | 租户ID |
### 5.2 评估维度表 (prison_assessment_dimension)
| 字段 | 类型 | 说明 |
|------|------|------|
| id | bigint | 维度ID主键 |
| template_id | bigint | 所属模板ID |
| name | varchar(100) | 维度名称 |
| description | varchar(500) | 维度说明 |
| sort | int | 排序 |
| ai_prompt | text | AI提示词模板 |
| data_source_config | text | 数据源配置JSON |
| output_format | varchar(50) | 输出格式 |
| require_ai_generate | tinyint | 是否需要AI生成 |
| editor_type | tinyint | 编辑器类型 |
| options | text | 选项JSON |
| creator | varchar(64) | 创建者 |
| create_time | datetime | 创建时间 |
| updater | varchar(64) | 更新者 |
| update_time | datetime | 更新时间 |
| deleted | bit(1) | 是否删除 |
| tenant_id | bigint | 租户ID |
### 5.3 评估报告表 (prison_assessment_report)
| 字段 | 类型 | 说明 |
|------|------|------|
| id | bigint | 报告ID主键 |
| template_id | bigint | 使用的模板ID |
| template_name | varchar(100) | 模板名称 |
| prisoner_id | bigint | 罪犯ID |
| prisoner_no | varchar(50) | 罪犯编号 |
| prisoner_name | varchar(50) | 罪犯姓名 |
| assessment_date | date | 评估日期 |
| assessment_type | tinyint | 评估类型 |
| dimension_data | text | 维度数据JSON |
| overall_score | decimal(5,2) | 综合评分 |
| risk_level | tinyint | 风险等级 |
| conclusion | text | 综合结论 |
| suggestions | text | 改造建议 |
| ai_generate_status | tinyint | AI生成状态 |
| ai_generate_time | datetime | AI生成时间 |
| audit_status | tinyint | 审核状态 |
| auditor_id | bigint | 审核人ID |
| auditor_name | varchar(50) | 审核人姓名 |
| audit_time | datetime | 审核时间 |
| audit_remark | varchar(500) | 审核备注 |
| report_status | tinyint | 报告状态 |
| creator | varchar(64) | 创建者 |
| create_time | datetime | 创建时间 |
| updater | varchar(64) | 更新者 |
| update_time | datetime | 更新时间 |
| deleted | bit(1) | 是否删除 |
| tenant_id | bigint | 租户ID |
## 6. AI服务设计
### 6.1 AI提示词示例
```
你是一位有20年工作经验的监狱管教民警根据以下服刑人员数据
生成一份专业的{维度名称}分析报告。
服刑人员基本信息:
{罪犯档案数据}
服刑期间表现数据:
{计分考核数据}
消费记录分析:
{消费记录数据}
请分析该服刑人员在{维度名称}方面的表现,要求:
1. 语言专业、客观,符合监狱管理规范
2. 数据分析要具体,有理有据
3. 字数控制在200-500字
```
### 6.2 AI服务接口
```java
public interface AiService {
/**
* 生成评估报告
* @param dimension 评估维度配置
* @param dataSources 所有数据源数据
* @return AI生成的内容
*/
String generateContent(DimensionConfig dimension, Map<String, Object> dataSources);
/**
* 批量生成报告(定时任务用)
*/
void batchGenerateReports(Long templateId, List<Long> prisonerIds);
}
```
## 7. 权限设计
| 角色 | 权限 |
|------|------|
| 管教民警 | 创建报告、编辑、导出、AI生成 |
| 分监区领导 | 审核报告 |
| 监狱领导 | 查看全监区评估统计报表 |
| 管理员 | 模板管理、系统配置 |
## 8. 外部系统对接
### 8.1 数据同步
- 外部系统数据导入到系统内部
- 同步工具定期从其他系统拉取数据
### 8.2 AI模型接入
- 调试阶段使用第三方APIOpenAI/Claude等
- 生产部署:单位私有部署的模型
## 9. 验收标准
### 9.1 功能验收
- [ ] 模板创建:添加模板,配置多个评估维度
- [ ] 报告创建选择模板和服刑人员触发AI生成
- [ ] 内容修改编辑AI生成的初稿内容
- [ ] 提交审核:报告状态流转测试
- [ ] 导出测试验证PDF/Word导出格式
### 9.2 AI生成验收
- [ ] 使用真实服刑人员数据测试AI生成
- [ ] 验证数据源绑定是否正确
- [ ] 验证提示词是否有效
- [ ] 评估生成内容的质量
### 9.3 权限验收
- [ ] 民警角色:创建报告、编辑、导出
- [ ] 领导角色:审核报告、查看统计
- [ ] 管理员角色:模板管理
## 10. 风险与注意事项
1. **数据安全**AI生成内容需人工审核后才能存档
2. **敏感数据**:家庭背景等敏感信息需要脱敏处理
3. **生成日志**AI生成日志要可追溯
4. **版本管理**:报告修改历史需要保留
## 11. 后续扩展
- [ ] 评估报告模板导入导出JSON格式
- [ ] 批量生成(定时任务批量生成报告)
- [ ] 评估报告模板版本对比
- [ ] 与司法部报表系统对接
- [ ] 评估报告统计分析大屏
---
**文档版本**: v1.0
**创建日期**: 2026-01-16
**作者**: AI助手

@ -1 +1 @@
Subproject commit 2115e4aa522388cd72eb3b6d8bce595b1673b1c4
Subproject commit bbf4c643919ec91e5a81ea600158e593566307ad