Massdownload

This commit is contained in:
Carsten Graf
2026-01-23 17:29:46 +01:00
parent a0acd188a8
commit daf4f9b77c
13 changed files with 2135 additions and 104 deletions

View File

@@ -60,8 +60,7 @@ function registerTimesheetRoutes(app) {
total_hours = 0;
finalStartTime = null;
finalEndTime = null;
finalActivity1Desc = 'Überstunden';
finalActivity1Hours = 0;
// Keine Tätigkeit setzen - Überstunden werden über overtime_taken_hours in der PDF angezeigt
} else if (vacation_type === 'full') {
total_hours = 8; // Ganzer Tag Urlaub = 8 Stunden normale Arbeitszeit
} else if (isSick) {
@@ -77,47 +76,8 @@ function registerTimesheetRoutes(app) {
// Die 4 Stunden Urlaub werden nur in der Überstunden-Berechnung hinzugezählt
}
// Überstunden-Logik: Bei weniger als vollem Tag - füge "Überstunden" als Tätigkeit hinzu
if (overtimeValue > 0 && !isFullDayOvertime && fullDayHours > 0) {
// Prüfe ob "Überstunden" bereits in activities vorhanden
const activities = [
{ desc: finalActivity1Desc, hours: finalActivity1Hours },
{ desc: finalActivity2Desc, hours: activity2_hours },
{ desc: finalActivity3Desc, hours: activity3_hours },
{ desc: finalActivity4Desc, hours: activity4_hours },
{ desc: finalActivity5Desc, hours: activity5_hours }
];
let foundOvertime = false;
for (let i = 0; i < activities.length; i++) {
if (activities[i].desc && activities[i].desc.trim().toLowerCase() === 'überstunden') {
foundOvertime = true;
break;
}
}
// Wenn nicht gefunden, füge zur ersten freien Activity-Spalte hinzu
if (!foundOvertime) {
for (let i = 0; i < activities.length; i++) {
if (!activities[i].desc || activities[i].desc.trim() === '') {
// Setze diese Activity auf "Überstunden"
if (i === 0) {
finalActivity1Desc = 'Überstunden';
// Stunden bleiben unverändert (werden vom User eingegeben)
} else if (i === 1) {
finalActivity2Desc = 'Überstunden';
} else if (i === 2) {
finalActivity3Desc = 'Überstunden';
} else if (i === 3) {
finalActivity4Desc = 'Überstunden';
} else if (i === 4) {
finalActivity5Desc = 'Überstunden';
}
break;
}
}
}
}
// Überstunden werden nicht mehr als Tätigkeit hinzugefügt
// Sie werden über overtime_taken_hours in der PDF angezeigt
// Prüfen ob Eintrag existiert - verwende den neuesten Eintrag falls mehrere existieren
db.get('SELECT id FROM timesheet_entries WHERE user_id = ? AND date = ? ORDER BY updated_at DESC, id DESC LIMIT 1',