fujian_water_biz_doc/docs/evidence/rev004-accounting/rev004-latefee-daily-rule-confirmation-2026-04-15.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

85 lines
2.4 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 违约金规则确认2026-04-15
## 结论
当前后续实现应以以下业务规则作为真值:
> **违约金 = 欠缴水费金额 × 0.1‰ × 逾期天数**
该规则意味着:
- **按日计收**,不是按月滚动
- 计算基数是**欠缴水费金额**
- **不含违约金本身**
- **不得利滚利**
## 业务前提
违约金产生需满足:
1. 逾期未缴
2. 经供水单位通知后仍未缴
## 对 REV004 的实现影响
### 1. 计算模型
后续 `late-fee reduce` 的设计与实现,应以“按日计收”模型展开,而不是“按月滚动”模型。
### 2. date-mode 减免理解
`lateFeeType=2`(按日期)应理解为:
- 对指定日期区间内对应的逾期天数区间做减免
- 先计算该区间理论应收违约金
- 再形成:
- `lateFeeBefore`
- `reduceAmount`
- `lateFeeAfter`
### 3. 需要补齐/确认的系统要素
除现有:
- `lateFeeBeginDate`
- `lateFee`
- `penaltyCoefficient`
还应确认或补齐:
- 欠缴本金
- 通知状态 / 通知时间
- 逾期起算日
- 逾期天数
- 上限规则(如部分地区 30%
- 60 日后续处置边界
## 与当前仓库现状的关系
### 当前已确认存在的模型字段
- `ChargeDO.lateFeeBeginDate`
- `ChargeDO.lateFee`
- `CostComponentDO.penaltyCoefficient`
### 当前未确认存在的现成实现
仓库中尚未确认存在:
- 明确的“按日计收违约金”统一计算器
- 明确的“按日期区间重算违约金”统一服务
因此,当前应将该规则视为:
- **业务规则真值输入**
- 后续需要据此补正式实现
## 使用建议
后续 PRD / 设计稿 / 代码实现,不建议再使用“按月滚动”表述;应统一表述为:
> **按日计收、按区间减免、按期累计结果**
## 追加确认2026-04-15
### 系数来源模型
已进一步确认:
- 逐项重算违约金时,系数来源为 `CostComponentDO.penaltyCoefficient`
- 取数链路为:`ChargeDetailDO.costComponentCode -> CostComponentDO.code -> penaltyCoefficient`
### 参与计算范围
- 所有未缴费用项都参与。
- 不收违约金的费用项,不做额外白名单过滤,而是通过 `penaltyCoefficient = 0` 自然贡献 0。
### 汇总口径
- 每个费用项先单独计算违约金;
- 每项先四舍五入到分;
- 最后再求和。
### 当前仓库状态
- 已确认存在上述模型链路;
- 但尚未发现现成“逐项按日期重算违约金”的统一实现。