3.9 KiB
3.9 KiB
Proposal: 添加项目管理模块
Change ID
add-project-management
Summary
添加项目管理模块,实现初核项目的创建、查询、状态管理、归档等核心功能。该模块是系统的首页和入口,用于管理所有历史创建的核查项目。
Motivation
目前系统缺少项目管理的核心功能模块。用户需要:
- 统一管理所有初核项目
- 快速查找和定位项目
- 跟踪项目状态(进行中/已完成)
- 监控预警人数变化
- 对已完成项目进行归档管理
Scope
本提案实现以下功能(不包括快捷入口区):
包含的功能
-
1.1 导航与搜索区
- 项目搜索(模糊搜索项目名称)
- 新建项目(标准表单创建)
- 导入历史项目(复制历史配置快速创建)
-
1.2 项目列表区
- 项目信息展示(名称、描述、创建日期、状态、目标人数、预警人数)
- 项目状态标识(进行中/已完成)
- 预警人数动态更新
- 查看结果(已完成项目跳转结果页)
- 重新分析(已完成项目重新运行风险模型)
- 归档项目(生成PDF导出)
- 进入项目(进行中项目跳转工作台)
明确排除
- 1.3 快捷入口区(创建季度初核、创建新员工排查等快捷功能)
Proposed Design
详见 design.md
Alternatives Considered
选项1:使用若依代码生成器
优点:
- 快速生成标准CRUD代码
- 符合项目规范
缺点:
- 需要手动调整业务逻辑
- 缺少复杂的业务规则处理
决定:不采用。项目管理模块包含复杂的业务逻辑(状态流转、归档、重新分析等),需要自定义实现。
选项2:完全自定义开发
优点:
- 完全控制实现细节
- 灵活应对业务需求变化
缺点:
- 开发周期较长
- 需要确保代码规范一致
决定:采用。参考现有系统模块的代码模式,确保与项目风格一致。
Impact
后端影响
- 新建
ruoyi-dpc模块,与若依框架代码分离(包含 Controller、Service、Mapper、Domain 层) - 新增表:
ccdi_project(项目主表)、ccdi_project_person(项目人员关联表) - 新增权限:
dpc:project:list,dpc:project:query,dpc:project:add,dpc:project:edit,dpc:project:remove,dpc:project:archive,dpc:project:reanalyze - Controller层:
ruoyi-dpc/src/main/java/com/ruoyi/dpc/controller/CcdiProjectController.java
前端影响
- 新增视图:
ruoyi-ui/src/views/dpcProject/ - 新增API:
ruoyi-ui/src/api/dpcProject.js - 新增菜单:项目管理(在系统菜单中添加,注意与数据库中菜单表进行联动修改)
数据库影响
- 新增表:
ccdi_project(项目主表) - 新增表:
ccdi_project_person(项目人员关联表)
Dependencies
- 依赖现有用户系统(
SysUser)进行人员选择 - 依赖部门系统(
SysDept)进行部门范围选择 - 依赖文件上传功能(项目附件、归档PDF)
Related Changes
无
Open Questions
-
项目人员关联方式:使用多对多关联表还是JSON字段存储人员列表?
- 建议:使用
ccdi_project_person关联表,便于查询和扩展
- 建议:使用
-
归档PDF生成:使用什么工具生成PDF?
- 建议:使用 iText 或 Apache POI,需要后续确认
-
重新分析的触发方式:同步还是异步?
- 建议:异步处理,避免长时间阻塞
Success Criteria
- 用户可以创建新项目并填写完整信息
- 用户可以搜索项目(按名称模糊匹配)
- 项目列表正确显示状态和预警人数
- 进行中项目可以进入工作台
- 已完成项目可以查看结果
- 已完成项目可以归档并生成PDF
- 已完成项目可以重新分析