3.4 KiB
3.4 KiB
| 1 | ID | Title | Description | Acceptance | Test_Method | Tools | Dev_Status | Review1_Status | Regression_Status | Files | Dependencies | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | P17B-0 | P17B执行合同建档 | 创建并校验P17B采购预算闭环与归档执行合同CSV | CSV通过校验且字段完整 | python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-03-07_21-00-37-p17b-l5-procurement-budget-archive.csv | manual | TODO | TODO | TODO | issues/2026-03-07_21-00-37-p17b-l5-procurement-budget-archive.csv | [] | P17B仅补预算预留确认释放与PO合同归档不进入收货入库三单匹配 |
| 3 | P17B-1 | 采购预算预留确认释放语义 | 为采购申请补齐reserve confirm release三类预算台账语义并维护used_amount占用 | 提交审批撤回驳回退回均能按规则写预算台账且不破坏报销旧语义 | cd server && npm run test && OCR_PROVIDER=mock JOBS_ENABLED=false ./scripts/regression-all.sh | manual | TODO | TODO | TODO | server/prisma/schema.prisma | server/src/routes/purchaseRequests.js | server/src/routes/workflow.js | server/tests | ["P17B-0"] | 采购占用仅作用于purchase_request报销继续沿用既有提交即占用语义 |
| 4 | P17B-2 | PO合同归档模型与接口 | 新增PurchaseOrderArchive并提供采购单归档读取写入接口 | approved状态采购单可幂等归档且仅procurement.manage或administration可操作 | cd server && npm run test | manual | TODO | TODO | TODO | server/prisma/schema.prisma | server/src/routes/purchaseRequests.js | server/tests | ["P17B-1"] | 归档文件先存JSON元数据数组不另起独立页面 |
| 5 | P17B-3 | 工作流联动预算释放 | 在approve reject return withdraw链路中接入采购预算台账联动与幂等释放助手 | 采购任务审批退回驳回撤回都能正确更新预算台账且无重复释放 | cd server && npm run test && ./scripts/regression-workflow-actions.sh | manual | TODO | TODO | TODO | server/src/routes/workflow.js | server/src/routes/purchaseRequests.js | server/tests | ["P17B-2"] | 禁止新增新的全局权限映射层仅在现有workflow与采购路由内补齐 |
| 6 | P17B-4 | 前端归档入口与E2E | 在采购申请页面补归档区块并接入playwright采购主流程 | approved采购详情可见PO合同归档且主流程E2E通过 | cd client && npm run typecheck && npm run build | manual | TODO | TODO | TODO | client/src/pages/PurchaseRequestsPage.tsx | client/src/api/purchaseRequests.ts | client/tests | playwright | ["P17B-3"] | 不新增独立归档页面仍在采购详情区完成留档 |
| 7 | P17B-5 | 安全文档与接口说明 | 补齐采购预算闭环与归档的接口说明权限边界与安全校验记录 | 文档明确IDOR越权风险与归档权限边界且矩阵锚点可追踪 | cd server && npm run test && python3 scripts/validate-feature-matrix.py | manual | TODO | TODO | TODO | issues/2026-03-07_21-00-37-p17b-l5-procurement-budget-archive.csv | docs/feature-matrix.md | server/src/routes/purchaseRequests.js | ["P17B-4"] | security-best-practices在合并前必须执行一轮 |
| 8 | P17B-6 | P17B回归与安全收口 | 执行采购预算闭环归档E2E与全量回归后再允许进入P18A | 采购预算预留确认释放与PO归档通过且报销请假主数据采购主流程零回归 | cd server && npm run test && OCR_PROVIDER=mock JOBS_ENABLED=false ./scripts/regression-all.sh && cd ../client && npm run typecheck && npm run build | manual | TODO | TODO | TODO | issues/2026-03-07_21-00-37-p17b-l5-procurement-budget-archive.csv | server/src/routes/purchaseRequests.js | client/src/pages/PurchaseRequestsPage.tsx | ["P17B-5"] | P17B不进入收货入库发票核销ERP过账 |