Feature #354
openCanteen: Patient charges -- real Today/This week/Month date-range filtering
0%
Description
Backend: IDietChargeAccrualService.ListForDateAsync replaced with ListForRangeAsync(from, to) -- single day is from == to. Refuses from greater than to (BusinessRuleViolationException -> 400). ChargesController GET now takes from/to instead of serviceDate. New tests: multi-day range ordered oldest first, invalid range refused, both at service and HTTP level.
Frontend: useCharges(from, to) replacing useCharges(serviceDate). New rangeFor/weekStart/monthStart helpers (charges-view.ts, tested) compute This week (Monday through today) and Month (1st through today) client side. Added the Today/This week/Month Tabs control, replacing the card title the user asked to remove. KPI tiles and Post pending stay tied to today regardless of the selected tab -- only the table range changes, so Accrued today never silently becomes a week total under the same label. A Date column appears on the table only when the period is not Today.