diff --git a/src/modules/time/evaluation.service.ts b/src/modules/time/evaluation.service.ts index d2c500f..314e263 100644 --- a/src/modules/time/evaluation.service.ts +++ b/src/modules/time/evaluation.service.ts @@ -11,6 +11,9 @@ export async function generateTimesEvaluation( const startDate = server.dayjs(startDateInput) const endDate = server.dayjs(endDateInput) + console.log(startDate.format("YYYY-MM-DD HH:mm:ss")); + console.log(endDate.format("YYYY-MM-DD HH:mm:ss")); + // ๐Ÿงพ Profil laden (Arbeitszeiten + Bundesland) const { data: profile, error: profileError } = await server.supabase .from("auth_profiles") @@ -22,17 +25,24 @@ export async function generateTimesEvaluation( if (profileError || !profile) throw new Error("Profil konnte nicht geladen werden.") // ๐Ÿ•’ Arbeitszeiten abrufen - const { data: times, error: timeError } = await server.supabase + const { data: timesRaw, error: timeError } = await server.supabase .from("staff_time_entries") .select("*") .eq("tenant_id", tenant_id) .eq("user_id", user_id) - .gte("started_at", startDate.toISOString()) - .lte("started_at", endDate.toISOString()) .order("started_at", { ascending: true }) if (timeError) throw new Error("Fehler beim Laden der Arbeitszeiten: " + timeError.message) + const isBetween = (spanStartDate,spanEndDate,startDate,endDate) => { + return server.dayjs(startDate).isBetween(spanStartDate, spanEndDate, "day", "[]") && server.dayjs(endDate).isBetween(spanStartDate, spanEndDate, "day", "[]") + } + + + const times = timesRaw.filter(i => isBetween(startDate,endDate,i.started_at,i.stopped_at) ) + + console.log(times) + // ๐Ÿ“… Feiertage aus Tabelle fรผr Bundesland + DE const { data: holidays, error: holidaysError } = await server.supabase .from("holidays") diff --git a/src/plugins/dayjs.ts b/src/plugins/dayjs.ts index 3b721fa..4187d9e 100644 --- a/src/plugins/dayjs.ts +++ b/src/plugins/dayjs.ts @@ -17,6 +17,7 @@ dayjs.extend(utc) dayjs.extend(timezone) dayjs.extend(isSameOrAfter) dayjs.extend(isSameOrBefore) +dayjs.extend(isBetween) dayjs.extend(isoWeek) dayjs.extend(localizedFormat) dayjs.extend(customParseFormat)