fujian_water_biz_doc/docs/evidence/rev004-accounting/rev004-accountprocess-gap-remediation-2026-04-13.md
tangweijie 3eccab2cf9 docs: 文档治理统一 — AGENTS.md 生命周期规则 + 模块归档 + DDL 修正
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
2026-06-16 11:47:16 +08:00

125 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# REV004 accountProcess gap remediation — 2026-04-13 验证记录
## 本轮改动
- accountProcess 查询 ReqVO 补前端原型 range 参数兼容:
- `sold`: `accountMonth` / `collectionTime`
- `log`: `accountMonth` / `createTime` / `handleTime` / `paymentDate`
- `unsold`: `accountMonth`
- `prestorage`: `acceptTime`
- 查询 Controller 增加 query-normalize兼容多值 query param 传入
- `accountLog` 状态筛选补兼容值:`1=正常``2=已撤销`
## 验证结果
### 1. 主代码编译
命令:
```bash
cd sw-business/sw-business-server && mvn -q -DskipTests compile
```
结果:通过。
### 2. 变更相关测试(手动定向执行)
由于模块内存在与本次改动无关的存量 testCompile 问题(`ChargeService` / `ChargeDO` 相关旧测试编译失败),本轮对变更相关测试采用定向手动编译 + JUnit Console 执行。
执行类:
- `AccountingAdjustActionControllerTest`
- `AccountingAdjustRouteSmokeTest`
- `AccountingAdjustLogProcessServiceImplTest`
- `AccountingAdjustPrestorageProcessServiceImplTest`
- `AccountingAdjustSoldQueryProcessServiceImplTest`
- `AccountingAdjustUnsoldProcessServiceImplTest`
结果:
- 34 tests found
- 34 tests started
- 34 tests successful
- 0 tests failed
关键覆盖点:
- accountProcess 路由 smoke 正常
- query range 参数兼容归一化正常
- `accountLog``status=2` 已撤销兼容筛选正常
- `prestorage adjustmentNo` 闭环仍保持通过
- `sold` 查询过滤与 `unsold` / `prestorage` 主流程回归通过
### 3. 说明
直接执行:
```bash
cd sw-business/sw-business-server && mvn -Dtest='...' test
```
仍会被仓库内历史遗留的 testCompile 问题阻断;该问题与本轮 accountProcess 修复无直接关系。
## 4. `sold.isHistory` 语义收口(追加)
### 语义定义
- `isHistory=false`:查询当前已收记录(`payState=PAID`),保留调整/批量撤销能力
- `isHistory=true`:查询历史已结记录(`payState=SETTLED`),按只读口径返回,不开放调整/批量撤销
### 追加验证
命令:
- `cd sw-business/sw-business-server && mvn -q -DskipTests compile`
- 手动定向执行:`AccountingAdjustRouteSmokeTest` + `AccountingAdjustSoldQueryProcessServiceImplTest`
结果:
- 6 tests found
- 6 tests started
- 6 tests successful
- 0 tests failed
## 5. 完整相关回归(追加)
`sold.isHistory` 收口后,再次对本轮相关 6 个 accountProcess 测试类做完整定向回归。
执行类:
- `AccountingAdjustActionControllerTest`
- `AccountingAdjustRouteSmokeTest`
- `AccountingAdjustLogProcessServiceImplTest`
- `AccountingAdjustPrestorageProcessServiceImplTest`
- `AccountingAdjustSoldQueryProcessServiceImplTest`
- `AccountingAdjustUnsoldProcessServiceImplTest`
结果:
- 35 tests found
- 35 tests started
- 35 tests successful
- 0 tests failed
## 6. sold / accountLog 展示字段复核(追加)
### 复核结论
- `sold`:当前前端列表/弹窗所需展示字段已基本满足,暂不需要额外补展示字段
- `accountLog`:补 `custId`,用于前端客户编号点击后稳定跳转客户详情
### 追加验证
- `mvn -q -DskipTests compile` 通过
- 手动定向执行:`AccountingAdjustRouteSmokeTest` + `AccountingAdjustLogProcessServiceImplTest`
- 结果5 tests found / 5 tests successful / 0 failed
## 7. accountLog `custId` 补齐后的回归(追加)
### 变更目的
-`accountLog` 列表/详情响应中的 `custId`
- 支撑前端客户编号点击后稳定跳客户详情
### 追加验证
- 手动定向编译:`AccountingAdjustRouteSmokeTest``AccountingAdjustLogProcessServiceImplTest``AccountingAdjustSoldQueryProcessServiceImplTest`
- JUnit Console 执行结果9 tests found / 9 tests successful / 0 failed
## 8. work_status 字典与正式文档同步(追加)
### 本轮结果
- 已在 `../water-docs/sql/rev004_account_adjust_dict_seed.sql` 中补充 `work_status` 字典 type/data幂等
- 已将 `../water-docs/docs/design/03_Technical_Design/01_Database_Design.md` 中的 `work_status` 口径同步为代码四态:`0-未处理 / 1-已审核 / 2-已完成 / 3-已撤销`
- 本轮仍无业务表 schema 变更,仅涉及字典 seed 与正式文档同步
### 业务解释补充
- `0 未处理`:工单创建,待审核/待处理
- `1 已审核`:审核通过(或无需审批),待完成
- `2 已完成`:处理成功且已回写完成
- `3 已撤销`:工单已撤销
- 说明:`钱到账``带红冲操作` 更偏业务侧解释;当前代码稳定判定仍以 `approvalStatus / resultStatus / writeBackStatus / revokeOfAdjustmentNo` 为准。
### 剩余风险
- 当前 seed SQL 采用幂等补缺策略,不会纠正**环境中已存在但口径错误**的 `work_status` 数据;若某环境已落旧三态字典,仍需后续补一条存量纠偏 SQL 或人工核查。
- Archive/历史快照与 processed/output 产物可能仍保留旧三态,它们属于历史资料/派生产物,不作为当前正式口径。