fujian_water_biz_doc/docs/evidence/rev004-accounting/2026-07-22-late-fee-decimal-config.md

1.5 KiB

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.