Files
docs/财务管理/财务一期P0实现证据矩阵.md
T
2026-08-12 09:25:58 +08:00

7.7 KiB

财务一期 P0 实现证据矩阵

日期:2026-08-11
目标契约:openapi/finance-phase1-five-pages-v1.yaml、财务一期P0操作契约与验收用例.md
使用规则:本文件只记录验收证据,不反向修改目标契约;Controller 文件、编译成功或开发中间态均不能单独关闭门禁

1. 状态更新规则

每个分组只使用两种验收结论:

  • FAIL:后端直接行为测试、Admin 真实接口接入或 IAM 权限初始化任一未通过、未提供或不可复核。
  • PASS:组内所有 operation 的后端正向/错误态/权限/客户隔离/幂等行为测试全部通过,Admin 已使用真实接口完成对应页面操作验收,并且所需权限码已进入 IAM 权限目录、初始化 SQL、统一 SQL且 IAM 测试通过。

代码文件出现、Controller 映射存在、能够编译、间接测试通过、模拟接口成功均只能写入“观察记录”,不能把 FAIL 改为 PASS。证据更新时必须记录提交或工作树快照、测试类、通过数量、Admin 用例和日期。

2. G1-G4 稳定验收表

分组 一期 P0 operation 后端行为测试放行条件 Admin 真实接入放行条件 当前可复核证据 结论
G1 客户账户 listDerivedCustomerAccounts、listDerivedCustomerAccountLedger 派生金额、分页筛选、日期边界、停用客户历史、跨客户隔离、固定 DTO/追踪字段测试全部通过 客户账户列表、筛选、详情入口、流水筛选均调用真实接口;无钱包、充值、预收或余额写入口 后端 G1 专项 4/4、Admin G1 专项 15/15、Finance 专项 21/21、Admin typecheck、IAM 166/166、IAM 权限契约 3/3、Finance 权限契约 2/2 通过;统一 SQL 已同步权限目录且未默认授予角色 PASS
G2 费用来源 getFinanceFeeSource、reviewFinanceFeeSource、updateFeeSourceSettlementInclusion 详情、PENDING 审核、非法状态、expectedVersion、占用冻结、完整幂等、跨客户隐藏和 CNY 条件全部通过 客户应收应付页详情、审核、参与/禁止结算使用真实接口;权限和服务端错误态可见,不存在假成功 后端 G2 专项 9/9、Admin G2 专项 21/21、Admin typecheck/build、IAM 166/166、IAM 权限契约 3/3、Finance 权限契约 2/2 通过;统一 SQL 已同步权限目录且未默认授予角色 PASS
G3 客户对账单 createReconciliationStatement、actionReconciliationStatement BY_CUTOFF/SELECTED、同客户来源、重复占用、提交/审核/出账/调整/作废/重开、revision、乐观锁和完整幂等全部通过 客户对账单生成及所有动作使用真实接口;出账冻结、调整历史和错误态在页面可核对 G3 后端专项 16/16、Finance 聚合 82/82、Admin 财务专项 60/60、Admin 全量 654/654、typecheck/build、IAM 168/168 通过;页面使用冻结 G3 详情 DTO,支持多行调整、驳回、作废和重开 PASS
G4 结算与人工收付款 createReceivableSettlement、createPayableSettlement、getSettlement、createSettlementPayment;并回归已实现 createReceiptWithAllocations AR/AP 生成唯一性、方向权限、详情/revision、部分付/付清、File fail-closed、跨客户/供应商、超额、CNY、完整幂等全部通过;收款 300 元分配 3 张 100 元账单通过 应收/应付结算页生成、详情、人工收款/付款、凭证和状态刷新均调用真实接口;客户只读脱敏与状态过滤通过 G4 后端专项 18/18、收款/AR 同步专项 12/12、Finance 聚合 82/82、Admin G3/G4 组件 6/6、Admin 财务专项 60/60、全量 654/654、typecheck/build、IAM 168/168 通过;供应商来自真实往来单位候选 PASS

3. 单项证据登记

P0 operationId 后端测试证据 Admin 验收证据 最终状态
P0-01 listDerivedCustomerAccounts G1 后端 4/4、Finance 专项 21/21 通过 G1 专项 15/15、typecheck、IAM 目录/统一 SQL/权限契约通过 PASS
P0-02 listDerivedCustomerAccountLedger G1 后端 4/4、Finance 专项 21/21 通过 G1 专项 15/15、typecheck、IAM 目录/统一 SQL/权限契约通过 PASS
P0-03 getFinanceFeeSource G2 后端 9/9 通过 Admin G2 专项 21/21、typecheck/build、IAM 权限门禁通过 PASS
P0-04 reviewFinanceFeeSource G2 后端 9/9 通过 Admin G2 专项 21/21、typecheck/build、IAM 权限门禁通过 PASS
P0-05 updateFeeSourceSettlementInclusion G2 后端 9/9 通过 Admin G2 专项 21/21、typecheck/build、IAM 权限门禁通过 PASS
P0-06 createReconciliationStatement G3 专项 16/16、Finance 聚合 82/82 通过 真实生成接口、冻结详情 GET、Admin 财务专项和全量测试通过 PASS
P0-07 actionReconciliationStatement G3 专项覆盖状态机、revision、版本、跨客户和幂等恢复 提交、审核、驳回、出账、多行调整、作废和重开真实接入 PASS
P0-08 createReceivableSettlement G4 专项覆盖正向、唯一性、CNY 和对账单状态 从已出账对账单真实生成;应收人工收款同步结算状态 PASS
P0-09 createPayableSettlement G4 专项覆盖正向、跨客户、混供应商、不合格和重复占用 真实 PAYABLE 来源与平台往来单位供应商候选接入 PASS
P0-10 getSettlement G4 专项覆盖方向权限、404、来源、revision 和收付款历史 应收/应付详情均调用冻结结算详情接口 PASS
P0-11 createSettlementPayment G4 专项覆盖部分付、付清、超额、版本、File fail-closed 和幂等 图片凭证上传后调用真实付款接口并刷新状态 PASS

“待提供”不表示没有代码,只表示尚未形成满足本矩阵规则的可放行证据。目标 OpenAPI 不记录或追踪这些实现状态。

4. IAM 权限门禁

分组 权限码 当前状态 关闭证据
G1 platform:finance:account:view 已进入 IAM 初始化与统一 SQL,未默认授予角色 IAM 166/166、IAM 权限契约 3/3、Finance 权限契约 2/2 通过
G2 platform:finance:fee-source:view 已进入 IAM 初始化与统一 SQL,未默认授予角色;Admin 已真实接入 IAM 166/166、IAM 权限契约 3/3、Finance 权限契约 2/2、Admin G2 专项 21/21 通过
G2 platform:finance:fee-source:review 已进入 IAM 初始化与统一 SQL,未默认授予角色;Admin 已真实接入 同上
G2 platform:finance:fee-source:settlement 已进入 IAM 初始化与统一 SQL,未默认授予角色;Admin 已真实接入 同上
G3 platform:finance:reconciliation:create/review/issue/adjust/void 已进入 IAM 模块迁移与统一 SQL,未默认授予角色 IAM G3/G4 权限契约 2/2、IAM 168/168 通过
G4 platform:finance:settlement-ar:create/view、platform:finance:settlement-ap:create/view、platform:finance:payment:create 已进入 IAM 模块迁移与统一 SQL,未默认授予角色;收款复用既有 platform:finance:receipt:create IAM G3/G4 权限契约 2/2、IAM 168/168、Admin 权限组件用例通过

在 IAM 模块权限目录、IAM 初始化 SQL、统一 SQL和对应 IAM 测试证据全部完成前,不因 Finance/Admin 专项测试通过而更新 G1-G4 结论。主契约保持冻结,不写入本门禁的中间状态。

5. 环境验收边界

G1-G4 的 PASS 表示冻结契约、源码实现、直接行为测试、Admin 真实 API 适配、页面组件测试、IAM 权限目录和统一 SQL 的本地门禁通过。真实 MySQL 执行、测试环境 Finance/Firstleg/File HTTP 冒烟和领导页面验收尚未执行,不属于本次本地 PASS 的部署证据;未经当前对话明确授权,不触发 Jenkins。