Open Changes

This commit is contained in:
2025-12-05 11:49:33 +01:00
parent d6badafeb9
commit 407592680a
10 changed files with 1493 additions and 28 deletions

View File

@@ -72,8 +72,8 @@ export async function generateTimesEvaluation(
for (const t of times) {
const minutes = calcMinutes(t.started_at, t.stopped_at)
if(["submitted","approved"].includes(t.state))sumWorkingMinutesEingereicht += minutes
if (t.state === "approved") sumWorkingMinutesApproved += minutes
if(["submitted","approved"].includes(t.state) && t.type === "work")sumWorkingMinutesEingereicht += minutes
if (t.state === "approved" && t.type === "work") sumWorkingMinutesApproved += minutes
}
// 🎉 Feiertagsausgleich
@@ -90,16 +90,37 @@ export async function generateTimesEvaluation(
}
// 🏖️ Urlaub & Krankheit (über Typ)
const sumWorkingMinutesVacationDays = times
.filter((t) => t.type === "vacation")
.reduce((sum, t) => sum + calcMinutes(t.started_at, t.stopped_at), 0)
let sumWorkingMinutesVacationDays = 0
let sumVacationDays = 0
times
.filter((t) => t.type === "vacation" && t.state === "approved")
.forEach((time) => {
const days = server.dayjs(time.stopped_at).diff(server.dayjs(time.startet_at), "day") + 1;
const sumWorkingMinutesSickDays = times
.filter((t) => t.type === "sick")
.reduce((sum, t) => sum + calcMinutes(t.started_at, t.stopped_at), 0)
for(let i = 0; i < days; i++) {
const weekday = server.dayjs(time.started_at).add(i,"day").day()
const hours = profile.weekly_regular_working_hours?.[weekday] || 0
sumWorkingMinutesVacationDays += hours * 60
}
sumVacationDays += days
})
const sumVacationDays = times.filter((t) => t.type === "vacation").length
const sumSickDays = times.filter((t) => t.type === "sick").length
let sumWorkingMinutesSickDays = 0
let sumSickDays = 0
times
.filter((t) => t.type === "sick" && t.state === "approved")
.forEach((time) => {
const days = server.dayjs(time.stopped_at).diff(server.dayjs(time.startet_at), "day") + 1;
for(let i = 0; i < days; i++) {
const weekday = server.dayjs(time.started_at).add(i,"day").day()
const hours = profile.weekly_regular_working_hours?.[weekday] || 0
sumWorkingMinutesSickDays += hours * 60
}
sumSickDays += days
})
// 💰 Salden
const saldo =