4.5 KiB
4.5 KiB
| 1 | ID | Title | Description | Acceptance | Test_Method | Tools | Dev_Status | Review1_Status | Regression_Status | Files | Dependencies | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | P27-0 | P27执行合同建档与范围冻结 | 创建并校验合同 项目 WBS 执行合同 CSV 并冻结本轮经营对象主数据边界 | CSV 通过校验且明确本期只做合同 项目 WBS 主数据与业务引用 不引入复杂项目核算引擎 | python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-03-21_09-30-00-p27-contract-project-wbs.csv | manual | TODO | TODO | TODO | issues/2026-03-21_09-30-00-p27-contract-project-wbs.csv|server/prisma/schema.prisma|client/src/pages/MasterDataPage.tsx | [] | P27 优先补经营对象主数据与费用归因 不做复杂项目结算与收入确认 |
| 3 | P27-1 | 合同 项目 WBS 主数据模型 | 新增 Contract Project WbsNode 主数据模型和基础层级管理能力 | 可维护合同 项目 WBS 的启停用 编号 名称 层级与基础关联且 Prisma 校验通过 | cd server && npm run prisma:validate && npm test -- tests/unit/constants/permissions.test.js tests/unit/permissions.entity.test.js | manual | TODO | TODO | TODO | server/prisma/schema.prisma|server/prisma/migrations|server/src/routes/contracts.js|server/src/routes/projects.js|server/src/routes/wbs.js|server/src/constants/permissions.js | ["P27-0"] | 优先复用 master data 的权限与列表模式 不单独设计新治理体系 |
| 4 | P27-2 | 业务单据关联 | 为采购 差旅 报销补齐合同 项目 WBS 可选引用字段和前后端选择器 | 采购 差旅 报销可绑定合同 项目 WBS 且历史单据兼容无引用场景 | cd server && npm run prisma:validate && npm test -- tests/unit/routes/travelRequests.test.js tests/unit/routes/invoicePool.travel-bind.test.js && cd ../client && npm run typecheck && npm run build | manual | TODO | TODO | TODO | server/prisma/schema.prisma|server/src/routes/reimbursements.js|server/src/routes/purchaseRequests.js|server/src/routes/travelRequests.js|client/src/pages/ReimbursementsPage.tsx|client/src/pages/PurchaseRequestsPage.tsx|client/src/pages/TravelRequestsPage.tsx | ["P27-1"] | 引用字段默认可空 不因历史数据缺失阻断已有单据展示 |
| 5 | P27-3 | 预算与承诺应计联动 | 让采购承诺 差旅预算 报销归集可按项目和 WBS 进行聚合与摘要输出 | 预算和承诺应计摘要可按 projectId wbsId 聚合查询且不改写既有账本语义 | cd server && npm test -- tests/unit/budgetPool.service.test.js tests/unit/services/purchaseBudget.test.js tests/unit/services/travelReconciliation.test.js | manual | TODO | TODO | TODO | server/src/services/budgetPool.js|server/src/services/purchaseBudget.js|server/src/routes/budgets.js|server/src/routes/exports.js|server/tests/unit/services | ["P27-2"] | 保持现有 reserve confirm release 和 authorize settle reverse 双账轨并存 |
| 6 | P27-4 | 项目合同支出视图 | 新增项目和合同的支出视图展示预算 已申请 已支付 未核销与异常项 | 运营页可查看项目或合同维度的费用摘要 明细和异常项且权限边界正确 | cd server && npm test -- tests/unit/routes/assets.search.test.js && cd ../client && npm run typecheck && npm run build | manual | TODO | TODO | TODO | server/src/routes/projects.js|server/src/routes/contracts.js|server/src/routes/exports.js|client/src/pages/ProjectSpendPage.tsx|client/src/api/exports.ts|client/src/api/masterData.ts | ["P27-3"] | 视图以聚合查询和导出为主 不引入项目门户二次导航体系 |
| 7 | P27-5 | 文档矩阵与导出同步 | 同步经营对象能力到规格书 Feature Matrix 集成边界和导出契约说明 | 规格书 Feature Matrix 边界文档与导出契约对合同 项目 WBS 语义一致且可追溯 | python3 scripts/validate-feature-matrix.py && git diff --check | manual | TODO | TODO | TODO | docs/requirements-specification.md|docs/feature-matrix.md|docs/integration-boundaries.md|docs/domain-events.md|issues/2026-03-21_09-30-00-p27-contract-project-wbs.csv | ["P27-4"] | 仅同步已实现主数据与费用归因能力 不提前承诺复杂项目核算 |
| 8 | P27-6 | P27回归与验收收口 | 完成合同 项目 WBS 主数据 业务引用 预算联动和视图后的整体验收收口 | 合同 项目 WBS 建档 引用 聚合 视图和既有采购 差旅 报销流程零回归全部通过 | cd server && npm run prisma:validate && npm test && ./scripts/regression-budget.sh && ./scripts/regression-all.sh && cd ../client && npm run typecheck && npm run build | manual | TODO | TODO | TODO | issues/2026-03-21_09-30-00-p27-contract-project-wbs.csv|server/scripts/regression-budget.sh|server/scripts/regression-all.sh|client/src/pages/ProjectSpendPage.tsx | ["P27-5"] | P27 完成标准以经营对象进入主链路且可聚合查看为准 |