Mitarbeiter — Fahrzeuge (Sub-Route)
Zweck
Sub-Route /employees/:id/vehicles listet alle Fahrzeug-Zuweisungen des Mitarbeiters — typisch Firmenwagen mit Zeitraum (startDate/endDate) und Status. Bezieht sich auf den globalen Fahrzeug-Stamm.
Voraussetzungen
Berechtigungen (CASL)
| Action | Subject | Wirkung | Keycloak-Rolle |
|---|---|---|---|
view | FE_Employee, Employee | Detail aufrufbar | — |
view/create/delete | EmployeeVehicleAssignment | Zuweisung pflegen | APP_SPEAMCORE_VIEW/CREATE/DELETE_EMPLOYEE_VEHICLE_ASSIGNMENT |
view | Vehicle | Fahrzeug-Auswahl | APP_SPEAMCORE_VIEW_VEHICLE |
Schritt-für-Schritt-Anleitung
- Mitarbeiter (
/employees/:id) → Tab Fahrzeuge. - + Zuweisung wählt ein Fahrzeug, setzt
startDate(und ggf.endDate). - Bei Beendigung der Zuweisung
endDatesetzen — Fahrzeug ist danach wieder verfuegbar.

<KIHinweis titel="Die Angabe „45.230 / 120.000 km (37,7 %)" = Leasing-Laufleistung">
Bei Leasing-Fahrzeugen zeigt die KM-Stand-Spalte zusätzlich den Verbrauch der vertraglich vereinbarten Kilometer: aktueller Kilometerstand ÷ contractMileageAllowance (vertragliche Gesamt-Laufleistung). Das ist kein Wartungsintervall, sondern die Leasing-Auslastung — wichtig, um Mehr-/Minderkilometer (contractOvermileagePrice) frühzeitig zu erkennen. Bei Eigentumsfahrzeugen entfällt der Prozentwert.
Anlege-Pattern (Code-Lookup-basiert)
Beim Klick auf den + Hinzufügen-Button erscheint kein Modal mit Eingabemaske, sondern ein Auswahl-Workflow (customAddButton-Pattern):
- Modal mit Suche im Stamm der zu verknüpfenden Entität (z. B. Rolle, Fahrzeug, Kurs).
- Anwender wählt einen oder mehrere Einträge.
- Pro Auswahl wird ein Assignment-Datensatz erzeugt, der die N:M-Verknüpfung Mitarbeiter ↔ Stamm hält — nicht der Stamm selbst.
- Klick auf eine Zeile führt zum Detail des Assignment (Pflege z. B. von Gültigkeitszeitraum, prozentuale Aufteilung).
Wiederverwendbare Konzepte
Verknuepfungen zu anderen Modulen
- Mitarbeiter — Eltern-Modul.
- Fahrzeuge — Stamm.
API/Schnittstellen
| Methode | Endpoint | Zweck | CASL |
|---|---|---|---|
GET | /api/employee-vehicle-assignments?filter[employeeId] | Liste | view EmployeeVehicleAssignment |
POST | /api/employee-vehicle-assignments | Zuweisen | create EmployeeVehicleAssignment |
DELETE | /api/employee-vehicle-assignments/:id | Aufheben | delete EmployeeVehicleAssignment |
Versionshinweise
- 2026-04-30: Initiale Veroeffentlichung.