docs(P19ERP1-0): 建档ERP主数据与凭证桥接执行合同

这个提交包含在:
2026-03-08 15:33:56 +08:00
父节点 cf6754819c
当前提交 b45b8f2945
@@ -0,0 +1,8 @@
ID,Title,Description,Acceptance,Test_Method,Tools,Dev_Status,Review1_Status,Regression_Status,Files,Dependencies,Notes
P19ERP1-0,P19ERP1执行合同建档,创建并校验P19ERP1主数据同步与凭证切片执行合同CSV,CSV通过校验且字段完整,python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-03-08_14-10-53-p19-erp-1-l5-masterdata-journal-bridge.csv,manual,DONE,DONE,DONE,issues/2026-03-08_14-10-53-p19-erp-1-l5-masterdata-journal-bridge.csv,[],P19ERP1先做主数据入站与报销付款凭证切片 不进入采购资产真实过账
P19ERP1-1,ERP适配契约与集成层模型,新增IntegrationBinding与IntegrationSyncState并扩展ERP provider契约,不向核心事务表写ERP私有字段且provider支持master data pull与journal export两类能力,cd server && npm run prisma:validate && npm run test,manual,TODO,TODO,TODO,server/prisma/schema.prisma | server/src/services/integrations/erp.js | server/src/config.js | server/tests,"[""P19ERP1-0""]",仅允许新增集成层私有表 不得把ERP字段塞入LegalEntity CostCenter Supplier PurchaseRequest AssetCard
P19ERP1-2,主数据入站同步服务与接口,实现LegalEntity CostCenter Supplier的ERP拉取同步 手动接口 状态查询与cron作业,三类主数据可按业务键幂等upsert并记录同步状态 停用仅归档不硬删,cd server && npm run test && ./scripts/regression-integrations.sh,manual,TODO,TODO,TODO,server/src/routes/integrations.js | server/src/services/integrations/erpMasterData.js | server/src/jobs | server/tests,"[""P19ERP1-1""]",同步顺序固定为LegalEntity再CostCenter再Supplier 无稳定supplier code则安全skip
P19ERP1-3,报销付款凭证切片出站,将现有erp.reimbursement.paid泛化为erp.journal.export并提供预览与导出接口,paid报销单可预览标准凭证切片并通过Outbox导出ERP且旧接口保持兼容,cd server && npm run test && OCR_PROVIDER=mock JOBS_ENABLED=false ./scripts/regression-all.sh,manual,TODO,TODO,TODO,server/src/routes/reimbursements.js | server/src/routes/integrations.js | server/src/services/integrations/erpJournal.js | server/src/services/integrations/dispatcher.js | server/src/services/integrations/outbox.js | server/tests,"[""P19ERP1-2""]",ERP-1只实装reimbursement paid journal export 采购资产仅保留后续扩展位
P19ERP1-4,ERP管理页与报销详情导出入口,新增ERP集成管理页并在报销详情页增加ERP导出卡片,integrations后台可查看主数据同步状态且paid报销详情可执行ERP导出,cd client && npm run typecheck && npm run build,manual,TODO,TODO,TODO,client/src/pages/ErpIntegrationPage.tsx | client/src/pages/ReimbursementDetailPage.tsx | client/src/api/integrations.ts | client/src/router/index.tsx | client/src/components/navigation/NavLinks.tsx,"[""P19ERP1-3""]",继续使用integration.manage 不新增ERP配置大表单
P19ERP1-5,OpenAPI文档与矩阵同步,同步ERP-1接口说明 集成边界 事件映射与Feature Matrix事实源,Feature Matrix收口到P5-P19+IM-1+ERP-1且事实源纳入新合同,python3 scripts/validate-feature-matrix.py,manual,TODO,TODO,TODO,docs/integration-boundaries.md | docs/domain-events.md | docs/feature-matrix.md | scripts/validate-feature-matrix.py | issues/2026-03-08_14-10-53-p19-erp-1-l5-masterdata-journal-bridge.csv,"[""P19ERP1-4""]",矩阵总数从199更新到206 并追加P19ERP1-0到P19ERP1-6
P19ERP1-6,P19ERP1回归与安全收口,完成主数据同步 凭证切片 后台入口与集成回归验证后再进入下一专项,ERP mock与http模式可回归 关闭ERP开关时核心业务零回归且无越权导出,cd server && npm run test && ./scripts/regression-integrations.sh && 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-08_14-10-53-p19-erp-1-l5-masterdata-journal-bridge.csv | server/scripts/regression-integrations.sh | client/src/pages/ErpIntegrationPage.tsx | client/src/pages/ReimbursementDetailPage.tsx,"[""P19ERP1-5""]",重点核对主数据绑定冲突 凭证死信重入 越权导出与ERP 4xx 5xx timeout处理
1 ID Title Description Acceptance Test_Method Tools Dev_Status Review1_Status Regression_Status Files Dependencies Notes
2 P19ERP1-0 P19ERP1执行合同建档 创建并校验P19ERP1主数据同步与凭证切片执行合同CSV CSV通过校验且字段完整 python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-03-08_14-10-53-p19-erp-1-l5-masterdata-journal-bridge.csv manual DONE DONE DONE issues/2026-03-08_14-10-53-p19-erp-1-l5-masterdata-journal-bridge.csv [] P19ERP1先做主数据入站与报销付款凭证切片 不进入采购资产真实过账
3 P19ERP1-1 ERP适配契约与集成层模型 新增IntegrationBinding与IntegrationSyncState并扩展ERP provider契约 不向核心事务表写ERP私有字段且provider支持master data pull与journal export两类能力 cd server && npm run prisma:validate && npm run test manual TODO TODO TODO server/prisma/schema.prisma | server/src/services/integrations/erp.js | server/src/config.js | server/tests ["P19ERP1-0"] 仅允许新增集成层私有表 不得把ERP字段塞入LegalEntity CostCenter Supplier PurchaseRequest AssetCard
4 P19ERP1-2 主数据入站同步服务与接口 实现LegalEntity CostCenter Supplier的ERP拉取同步 手动接口 状态查询与cron作业 三类主数据可按业务键幂等upsert并记录同步状态 停用仅归档不硬删 cd server && npm run test && ./scripts/regression-integrations.sh manual TODO TODO TODO server/src/routes/integrations.js | server/src/services/integrations/erpMasterData.js | server/src/jobs | server/tests ["P19ERP1-1"] 同步顺序固定为LegalEntity再CostCenter再Supplier 无稳定supplier code则安全skip
5 P19ERP1-3 报销付款凭证切片出站 将现有erp.reimbursement.paid泛化为erp.journal.export并提供预览与导出接口 paid报销单可预览标准凭证切片并通过Outbox导出ERP且旧接口保持兼容 cd server && npm run test && OCR_PROVIDER=mock JOBS_ENABLED=false ./scripts/regression-all.sh manual TODO TODO TODO server/src/routes/reimbursements.js | server/src/routes/integrations.js | server/src/services/integrations/erpJournal.js | server/src/services/integrations/dispatcher.js | server/src/services/integrations/outbox.js | server/tests ["P19ERP1-2"] ERP-1只实装reimbursement paid journal export 采购资产仅保留后续扩展位
6 P19ERP1-4 ERP管理页与报销详情导出入口 新增ERP集成管理页并在报销详情页增加ERP导出卡片 integrations后台可查看主数据同步状态且paid报销详情可执行ERP导出 cd client && npm run typecheck && npm run build manual TODO TODO TODO client/src/pages/ErpIntegrationPage.tsx | client/src/pages/ReimbursementDetailPage.tsx | client/src/api/integrations.ts | client/src/router/index.tsx | client/src/components/navigation/NavLinks.tsx ["P19ERP1-3"] 继续使用integration.manage 不新增ERP配置大表单
7 P19ERP1-5 OpenAPI文档与矩阵同步 同步ERP-1接口说明 集成边界 事件映射与Feature Matrix事实源 Feature Matrix收口到P5-P19+IM-1+ERP-1且事实源纳入新合同 python3 scripts/validate-feature-matrix.py manual TODO TODO TODO docs/integration-boundaries.md | docs/domain-events.md | docs/feature-matrix.md | scripts/validate-feature-matrix.py | issues/2026-03-08_14-10-53-p19-erp-1-l5-masterdata-journal-bridge.csv ["P19ERP1-4"] 矩阵总数从199更新到206 并追加P19ERP1-0到P19ERP1-6
8 P19ERP1-6 P19ERP1回归与安全收口 完成主数据同步 凭证切片 后台入口与集成回归验证后再进入下一专项 ERP mock与http模式可回归 关闭ERP开关时核心业务零回归且无越权导出 cd server && npm run test && ./scripts/regression-integrations.sh && 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-08_14-10-53-p19-erp-1-l5-masterdata-journal-bridge.csv | server/scripts/regression-integrations.sh | client/src/pages/ErpIntegrationPage.tsx | client/src/pages/ReimbursementDetailPage.tsx ["P19ERP1-5"] 重点核对主数据绑定冲突 凭证死信重入 越权导出与ERP 4xx 5xx timeout处理