4.0 KiB
4.0 KiB
| 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处理 |