From 55b9e144efd1151b33cb254623ab17bd08a9160f Mon Sep 17 00:00:00 2001 From: tangweijie <877588133@qq.com> Date: Wed, 22 Jul 2026 11:33:42 +0800 Subject: [PATCH] docs: record late fee decimal verification --- .../2026-07-22-late-fee-decimal-config.md | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 docs/evidence/rev004-accounting/2026-07-22-late-fee-decimal-config.md diff --git a/docs/evidence/rev004-accounting/2026-07-22-late-fee-decimal-config.md b/docs/evidence/rev004-accounting/2026-07-22-late-fee-decimal-config.md new file mode 100644 index 0000000..f58dd7e --- /dev/null +++ b/docs/evidence/rev004-accounting/2026-07-22-late-fee-decimal-config.md @@ -0,0 +1,21 @@ +# LATE_FEE_DECIMAL config verification and fix + +Date: 2026-07-22 + +## Scope + +- Daily late-fee recalculation now rounds each charge detail late-fee item by `LATE_FEE_DECIMAL` before summing. +- Accounting split adjustment write-back now allocates child `lateFee` by `LATE_FEE_DECIMAL` for both water-ratio split and fee-component split. +- Unsold adjustment and split adjustment frontend forms no longer expose the inactive "calculate late fee" switch. Split water preview also no longer shows an always-empty child late-fee column. + +## Non-scope + +- Payment, bank reconciliation, and list/detail display flows continue to use the stored `lateFee` amount and existing money display rules. +- Unsold/open-bill/manual billing style flows that only set `lateFeeBeginDate` remain unchanged; they do not calculate late-fee amount in that path. + +## Verification + +- `mvn -q -pl sw-business/sw-business-server -am -Dtest=LateFeeConfigResolverTest,LateFeeDailyCalculatorTest,LateFeeRecalculationServiceTest,LateFeeDateModeCalculatorTest,AccountingAdjustActionServiceImplTest test` passed. +- `node --test src/views/accountProcess/unsoldAdjustment/components/UnsoldAdjustmentForm.contract.test.mjs src/views/accountProcess/unsoldAdjustment/components/SplitAdjustmentForm.contract.test.mjs` passed: 11/11. +- `git diff --check` passed in `water-backend` and `water-frontend`. +- `NODE_OPTIONS=--max-old-space-size=8192 pnpm ts:check --pretty false` still fails on existing project-wide TypeScript errors; the captured log had no errors for `UnsoldAdjustmentForm.vue` or `SplitAdjustmentForm.vue`.