文件
hyb-oa/issues/2026-03-10_21-05-59-p20-travel-2-l5-corporate-payments-refresh.csv

4.4 KiB

1IDTitleDescriptionAcceptanceTest_MethodToolsDev_StatusReview1_StatusRegression_StatusFilesDependenciesNotes
2P20TRAVEL2-0P20TRAVEL2执行合同刷新建档创建并校验TRAVEL-2 superseding CSV并冻结混合双轨 对公支付闭环 发票绑定与ERP payment journal边界新CSV通过校验且明确supersede旧roadmap CSV并写清CardAuthorization CardTransaction与mark-paid双主轴python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-03-10_21-05-59-p20-travel-2-l5-corporate-payments-refresh.csvmanualDONEDONEDONEissues/2026-03-10_21-05-59-p20-travel-2-l5-corporate-payments-refresh.csv[]保留旧roadmap CSV作为首次规划锚点 不再直接改写
3P20TRAVEL2-1统付模型支付权限与双账轨基线新增CardAuthorization CardTransaction TravelOrder支付字段 InvoicePool.travel_order_id与travel.payment.manage并冻结authorize settle reverse支付预算语义Prisma模型 权限映射 发票绑定字段与预算轨道基线全部落地且不改写TRAVEL-1既有reserve confirm release语义cd server && npm run prisma:validate && npm run testmanualDONEDONEDONEserver/prisma/schema.prisma | server/prisma/migrations/*_p20_travel_2_corporate_payments/migration.sql | server/src/constants/permissions.js | client/src/auth/permissions.ts | server/src/services/travelPayments.js | server/tests["P20TRAVEL2-0"]支付预算账轨与申请预算账轨并存 不回改travel_request审批确认点
4P20TRAVEL2-2授权交易导入与订单确认语义实现travelAuthorizations与travelTransactions导入列表 freeze suggestion并在精确匹配时把TravelOrder推进到confirmed授权交易导入具备幂等 跳过原因清晰 异常交易仅影响支付轨道不阻断差旅申请主流程cd server && npm run testmanualDONEDONEDONEserver/src/routes/travelAuthorizations.js | server/src/routes/travelTransactions.js | server/src/routes/travelOrders.js | server/src/routes/travelRequests.js | server/src/app.js | server/tests["P20TRAVEL2-1"]导入接口继续由integration.manage保护
5P20TRAVEL2-3发票绑定标记已支付与ERP journal出站扩展invoice-pool绑定travelOrderId并实现POST /api/travel-orders/:id/mark-paid与travel_order.paid到erp.journal.export出站链路订单支付幂等成功 发票排他绑定成立 ERP payment journal可按erp_sync门禁入Outboxcd server && npm run testmanualDONEDONEDONEserver/src/routes/invoicePool.js | server/src/routes/travelOrders.js | server/src/services/integrations/erpJournal.js | server/src/services/integrations/dispatcher.js | server/tests["P20TRAVEL2-2"]mark-paid不自动归档发票 travel_order.paid为本期唯一新增稳定公共事件
6P20TRAVEL2-4差旅前端支付轨道与发票绑定交互在差旅详情页新增对公支付轨道卡片并支持mark-paid bind invoice freeze suggestion与ERP stage展示前端能按travel.payment.manage控制操作按钮 普通查看者只读查看且接口失败不阻断主页面cd client && npm run typecheck && npm run buildmanualDONEDONEDONEclient/src/api/travelPayments.ts | client/src/api/travelRequests.ts | client/src/api/invoicePool.ts | client/src/components/travel/TravelPaymentTrackCard.tsx | client/src/components/travel/TravelOrderMarkPaidDialog.tsx | client/src/pages/TravelRequestsPage.tsx | client/src/pages/InvoicePoolPage.tsx | client/src/pages/invoice-pool/InvoiceBindCard.tsx["P20TRAVEL2-3"]优先复用现有发票池选择器 不新增travel专用票据页面
7P20TRAVEL2-5P20TRAVEL2文档矩阵同步与回归收口同步ADR 边界文档 领域事件 Feature Matrix与事实源校验器并完成全量回归文档明确TRAVEL-2为混合双轨+订单支付闭环 矩阵更新到248且全部验证命令通过cd server && npm run prisma:validate && npm run test && cd ../client && npm run typecheck && npm run build && python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-03-10_21-05-59-p20-travel-2-l5-corporate-payments-refresh.csv && python3 scripts/validate-feature-matrix.py && git diff --checkmanualDONEDONEDONEdocs/adr/adr-enterprise-card-control.md | docs/integration-boundaries.md | docs/domain-events.md | docs/feature-matrix.md | scripts/validate-feature-matrix.py | issues/2026-03-10_21-05-59-p20-travel-2-l5-corporate-payments-refresh.csv["P20TRAVEL2-4"]完成后矩阵标题更新为P5-P19+IM-1+ERP-3+R10+MCP-1+AI-1+TRAVEL-1+TRAVEL-2 总数248