docs(P17A-0): 建档轻采购核心执行合同

这个提交包含在:
2026-03-07 20:12:39 +08:00
父节点 411a0395ab
当前提交 9de1169d78
@@ -0,0 +1,8 @@
ID,Title,Description,Acceptance,Test_Method,Tools,Dev_Status,Review1_Status,Regression_Status,Files,Dependencies,Notes
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,TODO,TODO,TODO,issues/2026-03-07_19-33-09-p17a-l5-procurement-core.csv,[],P17A仅交付采购申请主流程不进入预算真实占用与PO归档
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,TODO,TODO,TODO,server/prisma/schema.prisma | server/prisma/migrations | server/src/prismaClient.js,"[""P17A-0""]",request_no提交时生成 budget_pool_id草稿可空且本轮不写预算台账reserve
P17A-2,采购权限与系统种子补齐,新增procurement权限域 角色映射与系统单据分类种子PR_STANDARD,默认角色权限与seed-config保持一致且不误授予finance审批权限,cd server && npm run test,manual,TODO,TODO,TODO,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权限
P17A-3,采购申请后端API与工作流接入,实现采购申请列表 详情 草稿更新 提交 撤回接口并接入现有workflow实体鉴权链路,员工可创建编辑提交撤回草稿 经理可审批 且采购任务能进入待办列表,cd server && npm run test && ./scripts/regression-workflow-actions.sh,manual,TODO,TODO,TODO,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草稿态允许不完整
P17A-4,采购前端入口与申请页,新增采购申请页面 API封装 菜单与路由并支持列表 草稿编辑 提交 撤回,采购申请页面可用且菜单显隐与procurement权限一致,cd client && npm run typecheck && npm run build,manual,TODO,TODO,TODO,client/src/pages/PurchaseRequestsPage.tsx | client/src/api/purchaseRequests.ts | client/src/router/index.tsx | client/src/components/navigation/NavLinks.tsx,"[""P17A-3""]",不新增采购管理后台仅交付员工申请页与基础列表筛选
P17A-5,OpenAPI与合同文档同步,补齐采购接口文档 路由标签 审计动作码并为后续P17B保留预算与归档扩展锚点,/api/docs/json可见采购接口且合同文件锚点与代码落点一致,cd server && npm run test && node --check src/routes/purchaseRequests.js,manual,TODO,TODO,TODO,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
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,TODO,TODO,TODO,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过账
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 TODO TODO TODO 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 TODO TODO TODO 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 TODO TODO TODO 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 TODO TODO TODO 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 TODO TODO TODO 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 TODO TODO TODO 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 TODO TODO TODO 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过账