Project

General

Profile

Actions

Feature #662

open
NP NP

Canteen: prototype-matching batch -- Reports, Tray rounds, Diet orders, Hygiene, Recipes, Settings, Meal sheet, Diet charges, Production

Feature #662: Canteen: prototype-matching batch -- Reports, Tray rounds, Diet orders, Hygiene, Recipes, Settings, Meal sheet, Diet charges, Production

Added by Navya P. 15 days ago. Updated 15 days ago.

Status:
Resolved
Priority:
Normal
Assignee:
Target version:
-
Start date:
10/29/2026
Due date:
% Done:

0%

Estimated time:
Resolved By:

Description

A batch of prototype-matching fixes and small bug fixes made page by page against the prototype (clinq-fnb-prototype), alongside the two features tracked separately above:

  • Meal sheet: removed the freeze step again -- the 2026-10-19 restoration assumed the prototype needed a cut-off/frozen/addendum shape; it doesn't. Re-applies the "always live" architecture, RefreshFromActiveOrdersAsync is now the sole trigger for trays and the production plan.
  • Diet charges: DietChargeAccrualService's idempotency check treated any existing accrual row as handled regardless of status, so a row stuck Pending (e.g. Billing had no charge master entry) could never be retried by "Post pending". Now only Posted/Cancelled short-circuits; a Pending row with an identified patient retries.
  • Settings: Integrations tab rebuilt to the prototype's Module/Direction/What-flows/Status shape, re-verified against the code (Billing and both IPD write-backs are genuinely Connected now). Module licence tab uses real disabled toggles instead of badges, and fixed Dietary being hardcoded to false. Deliberately did not add the prototype's retired "Outsourced canteen mode" toggle (ADR-0005: operator is a tenant setting, not a licence flag).
  • Reports: rebuilt as compact per-category rows matching the prototype's layout, Run still real (not a toast). Left out the prototype's 4 fake stat cards and reports with nothing real behind them (Forecast accuracy, Payroll deduction, FSSAI/NABH audit pack).
  • Tray rounds overview / Ward meal sheet: removed two Print buttons that only called window.print() on the wrong content, not the real per-tray label print page. Tray round overview: whole row is now the click target, status badges fixed to match the prototype's exact pill colors (Plated/Collected/Dispatched/Delivered were collapsing into the same two colors).
  • Diet orders: same status/diet-color pill-mapping fix as tray rounds, plus two stat-card accent mismatches.
  • Hygiene: added a quick-pass toggle to the Daily checklist for a fast Passed=true log; left out the prototype's fake 4th stat card, the no-op "Today's checklist" button, and 8 checklist rows with no HygieneCheckType behind them.
  • Kitchen store: a GRN-receipt row in an item's stock ledger now opens that GRN's real detail (extracted into a shared GrnDetailSheet).
  • Recipes: detail sheet's stat cards and footer matched to the prototype (Portion/Std cost/Batch yield, Close button); kept the Sheet pattern over the prototype's modal for consistency with every other detail view in the module.
  • Production: header subtitle, banner and card wording matched to the prototype field-for-field, except where the prototype claims the canteen forecast is a working feature -- that stays honestly 0 pending F4-1.

Commits (pushed under the wrong Redmine number, #398, a separate already-resolved issue -- corrected here): 5cf45af, 05aa727, 88e89a4, 3dcd44e, f276c56, d07cd21, b9c2194, 04f27df, 11967be, b52f2f1, 9472821, c06d530, 8fd92e9.

Actions

Also available in: PDF Atom