项目详情与迭代
这篇解决什么
台账详情有哪些页签、里程碑存在哪、所谓 Sprint 是不是一张表。读完能对上 GET /project/ledger/get、project_milestone,以及能力包 agile 只是任务树视图。
默认端口 48080,管理端前缀 /admin-api。PC 开发页 http://127.0.0.1:5800。台账列表见 工作台与项目管理。
示意图:详情是一个壳。成员、里程碑、任务、文档、风险各自一张表,按能力包决定显不显示页签。
从哪改
| 名称 | 说明 | 仓库路径 |
|---|---|---|
| 台账详情 | GET /project/ledger/get | ruoyi-office/yudao-module-project/.../controller/admin/ledger/ProjectLedgerController.java |
| 里程碑 | @RequestMapping("/project/milestone") | ProjectMilestoneController |
| 里程碑表 | project_milestone | ProjectMilestoneDO |
| 甘特 | @RequestMapping("/project/gantt") | ProjectGanttController |
| 成员 | /project/member | ProjectMemberController |
| 能力包 | /project/module-config | ProjectModuleConfigController |
| 类型配置 | /project/type-config | ProjectTypeConfigController |
| PC 详情 | /project/project-ledger-detail?id= | ruoyi-office-vben/apps/web-antd/src/views/project/ledger/detail/ |
| 页签元数据 | agile 控制看板 / Sprint | views/project/constants/module-meta.ts |
官方菜单:5438 项目台账详情(隐藏路由),7246 项目类型配置,7249 能力包管理。按钮 project:ledger:query。

本系统截图:项目台账详情。默认进任务页签,旁边才是看板、Sprint、甘特、里程碑。
里程碑和 Sprint
没有 project_sprint / 迭代表。详情里的「Sprint 迭代」读任务树:taskType = 1 或根节点当阶段,子任务算完成率。能力包 agile 在元数据里是 partial。里程碑是独立表,可和里程碑型任务互相同步 taskId。
| 名称 | 说明 | 仓库路径 |
|---|---|---|
projectId | 台账 id,也就是立项 id | project_milestone |
name / planDate / actualDate | 名称和日期 | 同上 |
status | 字典 project_milestone_status | 同上 |
deliverables | 交付物 | 同上 |
| 生命周期 | 暂停 / 恢复 / 完成 / 终止 / 归档 | ProjectLedgerController |
| 只读 | 状态 4 / 5 / 6 | 前端 isReadonly |
CREATE TABLE project_milestone (
id bigint NOT NULL AUTO_INCREMENT,
project_id bigint DEFAULT NULL,
task_id bigint DEFAULT NULL,
name varchar(255) DEFAULT NULL,
plan_date date DEFAULT NULL,
actual_date date DEFAULT NULL,
status int DEFAULT NULL,
PRIMARY KEY (id)
);示意图:三个页签数据源不同。改 Sprint 视图不会插入迭代表,改的还是 project_task。
不要按上游 PMS 建迭代表
本仓库阶段用任务类型,里程碑用 project_milestone。招投标等能力包还是 planned,启用后可能只是占位页。先看 PROJECT_MODULE_LIST 的 status。
里程碑到期提醒走 XXL-Job projectMilestoneNotifyJob,模板码 project-milestone-notify。没挂 Job,页签上的日期不会自己推送。
配置与操作
先在 项目类型配置(7246)和 能力包管理(7249)决定详情页签。agile 控制看板 / Sprint 是否出现。从台账点进 /project/project-ledger-detail?id=(隐藏菜单 5438)。
里程碑走 /project/milestone,填 name、planDate、actualDate、status(字典 project_milestone_status)、deliverables。保存只写 project_milestone,可和里程碑型任务同步 taskId。Sprint 不是独立表,改的是任务树 taskType = 1 或根节点。状态 4 / 5 / 6 前端 isReadonly。到期提醒要 XXL-Job projectMilestoneNotifyJob 和模板 project-milestone-notify 都挂上。
