Der 6-Uhr-Schnitt legt Folgetage mit checkedInAt=06:00 an — das ist kein echter Lock-in, die Anwesenheitsanzeige lief dadurch fälschlich seit 06:00 mit (z. B. "6h 6m" mittags trotz spätem Arbeitsbeginn). Neues Flag day_entry.auto_checked_in (Backfill: bestehende 06:00:00-Check-ins); teamToday, Heute-Balken und "Zeit heute" zeigen Anwesenheit nur noch bei echtem Check-in. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
5 lines
269 B
SQL
5 lines
269 B
SQL
ALTER TABLE "day_entry" ADD COLUMN "auto_checked_in" boolean DEFAULT false NOT NULL;--> statement-breakpoint
|
|
UPDATE "day_entry" SET "auto_checked_in" = true
|
|
WHERE "checked_in_at" IS NOT NULL
|
|
AND ("checked_in_at" AT TIME ZONE 'Europe/Berlin')::time = TIME '06:00:00';
|