Zum Hauptinhalt springen

Mitarbeiter — Zeiterfassungen (Sub-Route)

Zweck

Sub-Route /employees/:id/employee-time-trackings zeigt alle Zeit-Einträge des Mitarbeiters chronologisch — mit Verweis auf Zeitart und ggf. den Workorder, für den die Zeit erfasst wurde. Aggregation und Soll/Ist-Vergleich liegt in Time-Overview.

Voraussetzungen

- Berechtigung `view:Employee` und `view:EmployeeTimeTracking`. - Für Erfassung: `create:EmployeeTimeTracking`.

Berechtigungen (CASL)

ActionSubjectWirkungKeycloak-Rolle
viewFE_Employee, Employee, FE_EmployeeTimeTracking, EmployeeTimeTrackingListe sichtbar
createEmployeeTimeTrackingErfassenAPP_SPEAMCORE_CREATE_EMPLOYEE_TIME_TRACKING

Schritt-für-Schritt-Anleitung

  1. Mitarbeiter (/employees/:id) → Tab Zeiten.
  2. + Zeit → Datum, Beginn, Ende, Zeitart wählen.
  3. Optional Workorder verknuepfen, falls die Zeit auftragsbezogen ist.

Zeiterfassungs-Liste mit Spalten Mitarbeiter, Service, Zeiterfassungstyp, Abrechenbar, Startzeit, Endzeit, Dauer, Kommentar und Auto-Kommentar — mehrere Einträge von Thomas Richter, Lukas Schneider und Anna Berger (Test-Daten).

Die Liste hat **zwei** Kommentar-Spalten: den **manuellen Kommentar** (frei eingebbar) und den **Auto-Kommentar** (schreibgeschützt, von SpeamCore befüllt). Der Auto-Kommentar überschreibt die manuelle Notiz nie — Details siehe [Zeiterfassung → Felder](/employee-time-trackings).

Inline-Row-Editing

Identisch zum Pattern in Auftrag-Arbeitszeit — neue Zeile, Spalten Mitarbeiter (vorbefuellt), Service, Zeiterfassungstyp, Abrechenbar, Start/Ende, Dauer, Kommentar. Tab-Navigation speichert pro Zelle.

Filter-Default: Liste zeigt nur Einträge des aktuellen Monats mit employeeId = :id. Filter erlaubt Wechsel auf andere Monate, Zeiterfassungstyp, abrechenbar/nicht-abrechenbar.

Aggregation am Listenende: Wochen-/Monatssummen pro Zeiterfassungstyp werden im Footer der DataGrid angezeigt — schnelle Plausibilitaetspruefung der Lohnabrechnung.

Wiederverwendbare Konzepte

Verknuepfungen zu anderen Modulen

API/Schnittstellen

MethodeEndpointZweckCASL
GET/api/employee-time-trackings?filter[employeeId]Listeview EmployeeTimeTracking
POST/api/employee-time-trackingsErfassencreate EmployeeTimeTracking

Wie in der globalen Zeiterfassungs-Liste zeigt jede Zeile in der Actions-Spalte ein Sprung-zum-Kontext-Icon (FiExternalLink):

So lässt sich aus der Mitarbeiter-Sub-Liste in einem Klick zum Workorder springen, dem die Zeit zugeordnet wurde.

Versionshinweise

  • 2026-04-30: Initiale Veröffentlichung.
  • 2026-05-20 (Welle 132): Actions-Spalte mit RefLink-Icon zum verknüpften Parent ergänzt — analog zur globalen Zeiterfassungs-Liste. Quelle: FE-Commit 3da01a80.