1. AGENTS.md 更新 - water-docs: 新增 specs/ 与 docs/design/ 生命周期规则章节 - water-backend: 更新协作引用(建设期/建成后、evidence 模块化) 2. specs/ 重复合并 - 006-reminder-event-design 合并入 003-rev006-reminder-event-design - 001-rev004-accounting 删除冗余 data-model.md + contracts/ - 002-rev005-invoice-flow 删除冗余 data-model.md + contracts/ 3. evidence 按模块归档 - 35 个 REV-004 文件归入 evidence/rev004-accounting/ - 7 个通用 bugfix 文件归入 evidence/bugfix/ 和 bugfix/frontend/ - 新建 rev005-invoice/、rev006-reminder/、rev007-statistics/ 目录 4. guides/ 清理 - 14 个 REV004_*.md 移入 evidence/rev004-accounting/ 5. 遗留文件处理 - docs/research/ 归档到 Archive/06_Migration_Plans/ - backend-check detached worktrees 清理 6. 交叉引用修复 - 006-reminder-event-design → 003-rev006-reminder-event-design - docs/guides/REV004_ → docs/evidence/rev004-accounting/REV004_ 7. DB 设计文档修正(01_Database_Design.md) - biz_invoice 明确为开票配置表,非发票记录表 - 新增 biz_invoice_record 为发票申请/结果主表 - 新增 biz_charge_invoice_rel 账单-发票关联说明 - REV-005 承接口径表名全部修正 8. 发票审计证据 - 新增 evidence/rev005-invoice/2026-06-16-invoice-document-audit.md
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