4.5 KiB
4.5 KiB
| 1 | ID | Title | Description | Acceptance | Test_Method | Tools | Dev_Status | Review1_Status | Regression_Status | Files | Dependencies | Notes |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2 | P25-0 | P25执行合同刷新建档与范围收缩 | 创建并校验费控闭环 refresh 合同 CSV 并冻结本轮只做预算规则 precheck 付款批次和最小 AP 运营的边界 | refresh CSV 通过校验且明确本期优先解决财务真实痛点 不做重型 AP 平台化或银企直连 | python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-03-21_10-30-00-p25-fee-control-ap-refresh.csv | manual | TODO | TODO | TODO | issues/2026-03-21_10-30-00-p25-fee-control-ap-refresh.csv|issues/2026-03-21_09-10-00-p25-fee-control-ap.csv|server/src/services/budgetPool.js|server/src/routes/reimbursements.js | [] | supersede 2026-03-21_09-10-00-p25-fee-control-ap.csv 并合并重型 AP 运营设计为最小可运营版本 |
| 3 | P25-1 | 预算控制规则中心轻量落地 | 新增按法体 部门 成本中心 费用类型配置 warn block manual_review 的预算规则中心与 seed 基线 | 预算规则可查询 新增 更新 停用并在报销 采购 差旅三域按统一优先级生效 | cd server && npm run prisma:validate && npm test -- tests/unit/budgetPool.service.test.js tests/unit/services/featureFlags.test.js | manual | TODO | TODO | TODO | server/prisma/schema.prisma|server/prisma/migrations|server/src/routes/budgetControlRules.js|server/src/services/budgetPool.js|server/src/scripts/seed-config.js|server/tests/unit/budgetPool.service.test.js | ["P25-0"] | 优先扩展现有 budgetPool 能力 不新引入独立预算服务 |
| 4 | P25-2 | 统一 precheck API 前置提交风险 | 为报销 采购 差旅补齐统一 precheck API 在提交前返回预算 判重 绑定和必填风险摘要 | precheck 仅返回风险和建议动作 不写业务终态 三个业务域接口返回结构一致 | cd server && npm test -- tests/unit/routes/travelRequests.test.js tests/unit/routes/purchase.archive-erp.test.js tests/unit/routes/invoicePool.travel-bind.test.js | manual | TODO | TODO | TODO | server/src/routes/reimbursements.js|server/src/routes/purchaseRequests.js|server/src/routes/travelRequests.js|server/src/services/budgetPool.js|server/tests/unit/routes | ["P25-1"] | 返回结构固定包含 result riskHints blockingReasons nextActions budgetSnapshot |
| 5 | P25-3 | 付款批次与 maker-checker | 将付款从单笔动作提升为批次创建 复核 执行 导出模型并对高风险支付启用 maker-checker | 付款批次支持 create review execute export requeue 且复核人与发起人不可为同一人 执行保持幂等 | cd server && npm run prisma:validate && npm test -- tests/unit/routes/travelRequests.payment-track.test.js tests/unit/routes/travelAuthorizations.test.js && cd ../client && npm run typecheck && npm run build | manual | TODO | TODO | TODO | server/prisma/schema.prisma|server/prisma/migrations|server/src/routes/paymentBatches.js|server/src/routes/reimbursements.js|server/src/routes/travelRequests.js|client/src/api/travelPayments.ts|client/src/pages/TravelRequestsPage.tsx | ["P25-2"] | 先实现最小批次付款运营 不做自动代付或自动冲销 |
| 6 | P25-4 | 最小 AP 运营视图与风险预警 | 提供未付 部分匹配 异常交易 待导出 失败重试的最小运营视图并接入 Dashboard 预警 | 财务可查看最小 AP 摘要 异常列表和重试入口 预算超用与长时间未付款可进入看板或通知 | cd server && npm test -- tests/unit/routes/travelReconciliation.test.js tests/unit/services/travelReconciliation.test.js tests/unit/routes/notifications.test.js && ./scripts/regression-dashboard.sh && cd ../client && npm run typecheck && npm run build | manual | TODO | TODO | TODO | server/src/routes/paymentBatches.js|server/src/routes/travelReconciliation.js|server/src/routes/dashboard.js|server/src/routes/notifications.js|client/src/pages/DashboardPage.tsx|client/src/pages/ApOperationsPage.tsx | ["P25-3"] | 只做最小可运营视图和告警 不做重型 AP 工作台平台化 |
| 7 | P25-5 | P25回归与验收收口 | 完成预算规则 precheck 付款批次和最小 AP 运营后的整体验收收口 | 预算三模式 precheck 前置 批次付款与最小 AP 运营通过验收且报销 采购 差旅零回归 | 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_10-30-00-p25-fee-control-ap-refresh.csv|server/scripts/regression-budget.sh|server/scripts/regression-all.sh|server/tests|client/src/pages/DashboardPage.tsx | ["P25-4"] | P25-lite 为当前内部 OA 主线第一优先级 |