diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..ffdca9a --- /dev/null +++ b/Makefile @@ -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 - 显示此帮助信息" diff --git a/backend b/backend index bbcf68b..f6b0410 160000 --- a/backend +++ b/backend @@ -1 +1 @@ -Subproject commit bbcf68bdb84aeec934a8f5c8fca30d216428837b +Subproject commit f6b0410fda09b68989acce8eef0acd89a5c4c975 diff --git a/docs/assessment-report-requirements.md b/docs/assessment-report-requirements.md new file mode 100644 index 0000000..56ee033 --- /dev/null +++ b/docs/assessment-report-requirements.md @@ -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 dataSources); + + /** + * 批量生成报告(定时任务用) + */ + void batchGenerateReports(Long templateId, List prisonerIds); +} +``` + +## 7. 权限设计 + +| 角色 | 权限 | +|------|------| +| 管教民警 | 创建报告、编辑、导出、AI生成 | +| 分监区领导 | 审核报告 | +| 监狱领导 | 查看全监区评估统计报表 | +| 管理员 | 模板管理、系统配置 | + +## 8. 外部系统对接 + +### 8.1 数据同步 + +- 外部系统数据导入到系统内部 +- 同步工具定期从其他系统拉取数据 + +### 8.2 AI模型接入 + +- 调试阶段:使用第三方API(OpenAI/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助手 diff --git a/frontend b/frontend index 2115e4a..bbf4c64 160000 --- a/frontend +++ b/frontend @@ -1 +1 @@ -Subproject commit 2115e4aa522388cd72eb3b6d8bce595b1673b1c4 +Subproject commit bbf4c643919ec91e5a81ea600158e593566307ad