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
|
// Konvertiere zurück zu Array
|
||||||
const entries = Object.values(entriesByDate);
|
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)
|
// Feiertage für die Woche laden (Feiertag zählt als ausgefüllt)
|
||||||
getHolidaysForDateRange(week.week_start, week.week_end)
|
getHolidaysForDateRange(week.week_start, week.week_end)
|
||||||
.catch(() => new Set())
|
.catch(() => new Set())
|
||||||
@@ -427,31 +425,7 @@ function registerUserRoutes(app) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Nur berechnen wenn alle Werktage ausgefüllt sind
|
// Berechnungen für diese Woche
|
||||||
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)
|
|
||||||
let weekTotalHours = 0;
|
let weekTotalHours = 0;
|
||||||
let weekOvertimeTaken = 0;
|
let weekOvertimeTaken = 0;
|
||||||
let weekVacationDays = 0;
|
let weekVacationDays = 0;
|
||||||
@@ -507,8 +481,8 @@ function registerUserRoutes(app) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sollstunden berechnen (Variante B: immer vertraglich, nicht reduziert durch „genommen“)
|
// Sollstunden berechnen (Variante B: immer vertraglich; Wochenstunden kommen aus dem User-Profil)
|
||||||
const sollStunden = (wochenstunden / arbeitstage) * workdays;
|
const sollStunden = wochenstunden;
|
||||||
|
|
||||||
const weekTotalHoursWithVacation = weekTotalHours + weekVacationHours + holidayHours;
|
const weekTotalHoursWithVacation = weekTotalHours + weekVacationHours + holidayHours;
|
||||||
// Überstunden/Fehlstunden = Gesamt − Soll (kann negativ sein)
|
// Ü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
|
// Berechnungen für diese Woche
|
||||||
let weekTotalHours = 0;
|
let weekTotalHours = 0;
|
||||||
let weekOvertimeTaken = 0;
|
let weekOvertimeTaken = 0;
|
||||||
@@ -754,8 +715,8 @@ function registerUserRoutes(app) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sollstunden berechnen (Variante B: immer vertraglich)
|
// Sollstunden berechnen (Variante B: immer vertraglich; Wochenstunden kommen aus dem User-Profil)
|
||||||
const sollStunden = (wochenstunden / arbeitstage) * workdays;
|
const sollStunden = wochenstunden;
|
||||||
const weekTotalHoursWithVacation = weekTotalHours + weekVacationHours + holidayHours;
|
const weekTotalHoursWithVacation = weekTotalHours + weekVacationHours + holidayHours;
|
||||||
const weekOvertimeHours = weekTotalHoursWithVacation - sollStunden;
|
const weekOvertimeHours = weekTotalHoursWithVacation - sollStunden;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user