Features: - Backend: Node.js/Express mit MySQL/MariaDB - Frontend: Vue.js 3 mit Composition API - UTC-Zeithandling für korrekte Zeiterfassung - Timewish-basierte Überstundenberechnung - Wochenübersicht mit Urlaubs-/Krankheits-/Feiertagshandling - Bereinigtes Arbeitsende (Generell/Woche) - Überstunden-Offset für historische Daten - Fixed Layout mit scrollbarem Content - Kompakte UI mit grünem Theme
36 lines
884 B
JavaScript
36 lines
884 B
JavaScript
const timeEntryService = require('../services/TimeEntryService');
|
|
|
|
/**
|
|
* WeekOverview Controller
|
|
* Verwaltet Wochenübersicht-Daten
|
|
*/
|
|
class WeekOverviewController {
|
|
|
|
/**
|
|
* Wochenübersicht für einen Benutzer abrufen
|
|
* GET /api/week-overview
|
|
*/
|
|
async getWeekOverview(req, res) {
|
|
try {
|
|
const userId = req.user.userId;
|
|
const { weekOffset = 0 } = req.query; // 0 = aktuelle Woche, -1 = letzte Woche, etc.
|
|
|
|
const weekData = await timeEntryService.getWeekOverview(userId, parseInt(weekOffset));
|
|
|
|
res.json({
|
|
success: true,
|
|
data: weekData
|
|
});
|
|
} catch (error) {
|
|
console.error('Fehler beim Abrufen der Wochenübersicht:', error);
|
|
|
|
res.status(500).json({
|
|
success: false,
|
|
error: 'Fehler beim Laden der Wochenübersicht'
|
|
});
|
|
}
|
|
}
|
|
}
|
|
|
|
module.exports = new WeekOverviewController();
|