- Implemented a check to validate the employee's LocationSiteId against the current site.
- If the employee is from a different site, the scan is blocked and an error message is shown.
- Site mismatch message displays the correct site IDs and prevents scanning for employees registered on a different site.
- Ensured the scan only proceeds for employees registered on the current site.
Store meal/session label, menu items, total price, department, and department type on each ScanRecord in SQLite so every scan keeps its own metadata.
Add lightweight schema upgrades for lunch_order_transactions to include MealLabel, MealItems, TotalPrice, Department, and DepartmentType.
Update RfidService to populate these new fields and expose UpdateLastScanMealInfo for post-scan enrichment.
Fix dashboard startup logic to restore last scanned employee (ID, name, department, department type, meal) from the last ScanRecord.
Refactor order history and “View All” modal to read Meal/Items and Price from each row’s stored values instead of a global in-memory label.
Include Meal and Price columns in the CSV export, using per-record data.
Remove unused local MealSchedules/OrderItems SQLite tables and ensure they are dropped as legacy schema.
Add LocationSiteId to HrmsEmployeeInfo populated from employee_rfid_tag.location_site_id.
Update EmployeeLookupService query to select and map the site id.
Change ScannerDashboardViewModel to load lunch_menu_week using the site id from the scanned employee’s RFID tag instead of only config.