Open Changes
This commit is contained in:
@@ -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 =
|
||||
|
||||
Reference in New Issue
Block a user