Rework workforce sync to per-date storage with rolling window

Replaces the single workforce_rota config snapshot (which was overwritten
on each sync, losing data when switching weeks) with a workforce_daily_shifts
table keyed by date. Sync now covers a rolling today-7 to today+28 window
unconditionally — no date params needed. Each date's record carries a
synced_at timestamp so the UI shows the age of the oldest date in view.
Mid-week viewing works naturally since data is stored per date not per week.
source column reserved for future timesheet replacement of past dates.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
jtricerolph 2026-07-22 14:06:56 +00:00
parent 1a8d8d9a2b
commit c7066521ff
10 changed files with 278 additions and 178 deletions

127
frontend/dist/assets/index-BM62SqjA.js vendored Normal file

File diff suppressed because one or more lines are too long