Anpassung der User-routes für nicht ausgefüllte wochen
This commit is contained in:
@@ -382,8 +382,6 @@ function registerUserRoutes(app) {
|
||||
// Konvertiere zurück zu Array
|
||||
const entries = Object.values(entriesByDate);
|
||||
|
||||
// Prüfe ob Woche vollständig ausgefüllt ist (alle 5 Werktage)
|
||||
|
||||
// Feiertage für die Woche laden (Feiertag zählt als ausgefüllt)
|
||||
getHolidaysForDateRange(week.week_start, week.week_end)
|
||||
.catch(() => new Set())
|
||||
@@ -427,31 +425,7 @@ function registerUserRoutes(app) {
|
||||
}
|
||||
}
|
||||
|
||||
// Nur berechnen wenn alle Werktage ausgefüllt sind
|
||||
if (filledWorkdays < workdays) {
|
||||
// Woche nicht vollständig - überspringe diese Woche
|
||||
processedWeeks++;
|
||||
if (processedWeeks === weeks.length && !hasError) {
|
||||
const currentOvertime = (totalOvertimeHours - totalOvertimeTaken) + overtimeOffsetHours;
|
||||
const remainingVacation = urlaubstage - totalVacationDays + vacationOffsetDays;
|
||||
|
||||
res.json({
|
||||
currentOvertime: currentOvertime,
|
||||
remainingVacation: remainingVacation,
|
||||
totalOvertimeHours: totalOvertimeHours,
|
||||
totalOvertimeTaken: totalOvertimeTaken,
|
||||
totalVacationDays: totalVacationDays,
|
||||
plannedVacationDays: plannedVacationDays,
|
||||
plannedWeeks: plannedWeeks,
|
||||
urlaubstage: urlaubstage,
|
||||
overtimeOffsetHours: overtimeOffsetHours,
|
||||
vacationOffsetDays: vacationOffsetDays
|
||||
});
|
||||
}
|
||||
return; // Überspringe diese Woche
|
||||
}
|
||||
|
||||
// Berechnungen für diese Woche (nur wenn vollständig ausgefüllt)
|
||||
// Berechnungen für diese Woche
|
||||
let weekTotalHours = 0;
|
||||
let weekOvertimeTaken = 0;
|
||||
let weekVacationDays = 0;
|
||||
@@ -507,8 +481,8 @@ function registerUserRoutes(app) {
|
||||
}
|
||||
}
|
||||
|
||||
// Sollstunden berechnen (Variante B: immer vertraglich, nicht reduziert durch „genommen“)
|
||||
const sollStunden = (wochenstunden / arbeitstage) * workdays;
|
||||
// Sollstunden berechnen (Variante B: immer vertraglich; Wochenstunden kommen aus dem User-Profil)
|
||||
const sollStunden = wochenstunden;
|
||||
|
||||
const weekTotalHoursWithVacation = weekTotalHours + weekVacationHours + holidayHours;
|
||||
// Überstunden/Fehlstunden = Gesamt − Soll (kann negativ sein)
|
||||
@@ -692,19 +666,6 @@ function registerUserRoutes(app) {
|
||||
}
|
||||
}
|
||||
|
||||
// Nur berechnen wenn alle Werktage ausgefüllt sind
|
||||
if (filledWorkdays < workdays) {
|
||||
processedWeeks++;
|
||||
if (processedWeeks === weeks.length && !hasError) {
|
||||
res.json({
|
||||
weeks: weekData,
|
||||
overtime_offset_hours: overtimeOffsetHours,
|
||||
overtime_corrections: overtimeCorrections
|
||||
});
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// Berechnungen für diese Woche
|
||||
let weekTotalHours = 0;
|
||||
let weekOvertimeTaken = 0;
|
||||
@@ -754,8 +715,8 @@ function registerUserRoutes(app) {
|
||||
}
|
||||
}
|
||||
|
||||
// Sollstunden berechnen (Variante B: immer vertraglich)
|
||||
const sollStunden = (wochenstunden / arbeitstage) * workdays;
|
||||
// Sollstunden berechnen (Variante B: immer vertraglich; Wochenstunden kommen aus dem User-Profil)
|
||||
const sollStunden = wochenstunden;
|
||||
const weekTotalHoursWithVacation = weekTotalHours + weekVacationHours + holidayHours;
|
||||
const weekOvertimeHours = weekTotalHoursWithVacation - sollStunden;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user