4.2 KiB
4.2 KiB
REV004 / split-adjust formalization + dedicated interfaces evidence(2026-04-14)
1. 本轮实现范围
- 保持旧接口兼容:
POST /admin-api/business/accounting-adjust/unsold-split-submitGET /admin-api/business/accounting-adjust/getGET /admin-api/business/accounting-adjust/log-detail
- 新增 split 专属接口族:
POST /admin-api/business/split-adjust/submitGET /admin-api/business/split-adjust/pageGET /admin-api/business/split-adjust/detailGET /admin-api/business/split-adjust/result
- split 执行真值升级为:
splitItems[{seqNo, splitWater}]
splitCount作为兼容口径保留,并在旧入口适配阶段转译为splitItems
2. 本轮代码落点
新增
sw-business/sw-business-server/src/main/java/cn/com/emsoft/sw/business/controller/admin/splitadjust/SplitAdjustController.java.../controller/admin/splitadjust/vo/SplitAdjustSubmitReqVO.java.../controller/admin/splitadjust/vo/SplitAdjustSubmitRespVO.java.../controller/admin/splitadjust/vo/SplitAdjustDetailRespVO.java.../controller/admin/splitadjust/vo/SplitAdjustPageReqVO.java.../controller/admin/splitadjust/vo/SplitAdjustPageRespVO.java.../service/splitadjust/SplitAdjustService.java.../service/splitadjust/SplitAdjustServiceImpl.java
继续增强
SplitAdjustFormalizationServiceAccountingAdjustActionServiceImplAccountingAdjustProcessServiceImplAccountingAdjustLogProcessServiceImplAccountingAdjustDetailRespVOAccountingAdjustLogDetailRespVOChargeDOsql/rev004/REV004_accounting_adjustments_ddl.sqlRev004AccountProcessCanaryQueryIntegrationTestAccountingAdjustActionServiceImplTestRev004AccountProcessLiveDbReadinessTestsql/rev004/accountprocess/00_reset.sql
3. 关键实现结论
- 新 split submit 入口已经支持显式
splitItems[{seqNo, splitWater}] splitItems成为 formal 明细真值,审批通过执行会按明细水量比例分配子账单金额/水量- 旧
unsold-split-submit已兼容接入新 split 主链,可直接传splitItems - 新增 split 专属 detail/result/page 接口
- 旧
log-detail对新 split 专属单据也可 fallback 回看 biz_charge已承接最小追溯字段:source_charge_idsplit_adjust_idcharge_origin_typesplit_status
4. 验证命令与结果
4.1 编译
mvn -pl sw-business/sw-business-server -DskipTests compile
结果:PASS
4.2 targeted tests(阶段一)
REV004_IT_DB_URL='jdbc:postgresql://192.168.10.130:5436/sw_system' \
REV004_IT_DB_USERNAME='sw_system' \
REV004_IT_DB_PASSWORD='Em@123456' \
mvn -pl sw-business/sw-business-server \
-Dtest=Rev004AccountProcessCanaryQueryIntegrationTest#splitAdjustSubmit_shouldAcceptSplitItemsAndExposeDedicatedDetailRoute,AccountingAdjustActionServiceImplTest \
test
结果:PASS
- Tests run: 10
- Failures: 0
- Errors: 0
- Skipped: 0
4.3 targeted tests(阶段二)
REV004_IT_DB_URL='jdbc:postgresql://192.168.10.130:5436/sw_system' \
REV004_IT_DB_USERNAME='sw_system' \
REV004_IT_DB_PASSWORD='Em@123456' \
mvn -pl sw-business/sw-business-server \
-Dtest=Rev004AccountProcessCanaryQueryIntegrationTest#splitAdjustSubmit_shouldAcceptSplitItemsAndExposeDedicatedDetailRoute+legacyUnsoldSplitSubmit_shouldCompatToSplitItemsFlow+splitAdjustPage_shouldReturnDedicatedRows+splitAdjustResult_shouldReturnSuccessAfterApprove,AccountingAdjustActionServiceImplTest \
test
结果:PASS
- Tests run: 13
- Failures: 0
- Errors: 0
- Skipped: 0
5. 场景覆盖
已覆盖
- 新 split submit -> dedicated detail
- 新 split submit -> old log-detail fallback
- 旧 split submit -> new split detail
- dedicated page query
- dedicated result query after approve
- split action service unit tests(approve/reject/write-back)
仍待补强
- dedicated page + approval status filter 组合查询
- dedicated process 专属接口(如果最终保留)
- split 执行失败/回滚路径的 real-db targeted integration
6. 风险与后续
- 旧接口兼容已接主链,但还需要继续做更完整的批量兼容覆盖
- 当前仍未进入 BY_COMPONENT /
ItemStr真执行 - 若要最终收口,还应补一轮 architect verification + deslop + regression rerun