3.6 KiB
3.6 KiB
| 1 | ID | Title | Description | Acceptance | Test_Method | Tools | Dev_Status | Review1_Status | Regression_Status | Files | Dependencies | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | P17A-0 | P17A执行合同建档 | 创建并校验P17A轻采购核心执行合同CSV | CSV通过校验且字段完整 | python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-03-07_19-33-09-p17a-l5-procurement-core.csv | manual | DONE | DONE | DONE | issues/2026-03-07_19-33-09-p17a-l5-procurement-core.csv | [] | P17A仅交付采购申请主流程不进入预算真实占用与PO归档 |
| 3 | P17A-1 | 采购核心Prisma模型与迁移 | 新增PurchaseRequest PurchaseRequestItem PurchaseAttachment并为工作流实例补齐采购实体引用 | Prisma schema与迁移通过校验且不破坏现有报销请假主流程 | cd server && npm run prisma:validate && npx prisma migrate dev --name p17a_procurement_core && npm run prisma:generate | manual | DONE | DONE | DONE | server/prisma/schema.prisma | server/prisma/migrations | server/src/prismaClient.js | ["P17A-0"] | request_no提交时生成 budget_pool_id草稿可空且本轮不写预算台账reserve |
| 4 | P17A-2 | 采购权限与系统种子补齐 | 新增procurement权限域 角色映射与系统单据分类种子PR_STANDARD | 默认角色权限与seed-config保持一致且不误授予finance审批权限 | cd server && npm run test | manual | DONE | DONE | DONE | server/src/constants/permissions.js | server/src/routes/workflow.js | server/prisma/seed-config.js | server/prisma/seed-dev.js | ["P17A-1"] | 仅支持approve reject return不引入transfer且不复用expense权限 |
| 5 | P17A-3 | 采购申请后端API与工作流接入 | 实现采购申请列表 详情 草稿更新 提交 撤回接口并接入现有workflow实体鉴权链路 | 员工可创建编辑提交撤回草稿 经理可审批 且采购任务能进入待办列表 | cd server && npm run test && ./scripts/regression-workflow-actions.sh | manual | DONE | DONE | DONE | server/src/routes/purchaseRequests.js | server/src/routes/workflow.js | server/src/services/documentSequence.js | server/src/app.js | ["P17A-2"] | 提交时必须校验supplier legalEntity costCenter documentCategory草稿态允许不完整 |
| 6 | P17A-4 | 采购前端入口与申请页 | 新增采购申请页面 API封装 菜单与路由并支持列表 草稿编辑 提交 撤回 | 采购申请页面可用且菜单显隐与procurement权限一致 | cd client && npm run typecheck && npm run build | manual | DONE | DONE | DONE | client/src/pages/PurchaseRequestsPage.tsx | client/src/api/purchaseRequests.ts | client/src/router/index.tsx | client/src/components/navigation/NavLinks.tsx | ["P17A-3"] | 不新增采购管理后台仅交付员工申请页与基础列表筛选 |
| 7 | P17A-5 | OpenAPI与合同文档同步 | 补齐采购接口文档 路由标签 审计动作码并为后续P17B保留预算与归档扩展锚点 | /api/docs/json可见采购接口且合同文件锚点与代码落点一致 | cd server && npm run test && node --check src/routes/purchaseRequests.js | manual | DONE | DONE | DONE | server/src/routes/purchaseRequests.js | server/src/app.js | issues/2026-03-07_19-33-09-p17a-l5-procurement-core.csv | ["P17A-4"] | 只冻结接口与审计边界不提前实现PO archive reserve confirm release |
| 8 | P17A-6 | P17A回归与验收收口 | 执行后端前端回归并确认报销 请假 主数据零回归后再允许进入P17B | 采购草稿提交撤回审批通过且既有报销请假主流程零回归 | cd server && npm run test && OCR_PROVIDER=mock JOBS_ENABLED=false ./scripts/regression-all.sh && cd ../client && npm run typecheck && npm run build | manual | DONE | DONE | DONE | issues/2026-03-07_19-33-09-p17a-l5-procurement-core.csv | server/src/routes/purchaseRequests.js | client/src/pages/PurchaseRequestsPage.tsx | ["P17A-5"] | P17A不做预算真实占用 不做收货入库三单匹配 不做ERP过账 |