Mitarbeiter — Verträge (Sub-Route)
Zweck
Sub-Route /employees/:id/contracts zeigt alle Arbeitsvertraege eines Mitarbeiters in chronologischer Reihenfolge. Detailseite /employees/:employeeId/contracts/:contractId rendert den konkreten Vertrag mit allen Konditionen.
Pflege erfolgt typischerweise hier (Mitarbeiter-Kontext); die globale Sicht /employee-contracts bietet Cross-Mitarbeiter-Auswertung.
Voraussetzungen
Berechtigungen (CASL)
| Action | Subject | Wirkung | Keycloak-Rolle |
|---|---|---|---|
view | FE_Employee, Employee, FE_EmployeeContract, EmployeeContract | Liste/Detail aufrufbar | — |
create/update/delete | EmployeeContract | Pflegen | APP_SPEAMCORE_CREATE/UPDATE/DELETE_EMPLOYEE_CONTRACT |
Schritt-für-Schritt-Anleitung
- Mitarbeiter (
/employees/:id) → Tab Verträge. - + Neu öffnet ein Belegtyp-Dropdown (Code-Lookup
EmployeeContractListPage.tsx):- Vollzeit-Vertrag, Teilzeit-Vertrag, Werkstudent, Mini-Job, ... (
documentType). - Klick auf Belegtyp →
EmployeeContractService.createEmployeeContractmit demdocumentTypeals Parameter wird ausgeführt → der neue Vertrag wird mit Defaults (Stunden, Lohn, Urlaubstage) entsprechend dem Typ angelegt.
- Vollzeit-Vertrag, Teilzeit-Vertrag, Werkstudent, Mini-Job, ... (
- Auf der Detail-Seite Vertrags-Konditionen pflegen:
validFrom,validTo,monthlyHours/weeklyHours,grossSalary/hourlyRate,vacationDaysPerYear,branchId(Niederlassung),employeeOfficeId. - Aktiver Vertrag: derjenige mit
validFrom <= heute <= (validTo OR null). Mehrere Verträge mit ueberlappenden Zeitraeumen sind nicht zulässig (Backend-Validierung). - Klick auf einen Vertrag →
/employees/:id/contracts/:contractIdDetail mit allen Konditionen + Anhängen (Vertrag-PDF).

Wiederverwendbare Konzepte
Verknuepfungen zu anderen Modulen
- Mitarbeiter — Eltern-Modul.
- Arbeitsvertraege — globale Sicht.
- Arbeitszeit-Modelle — Verträge koennen Modelle zugeordnet sein.
API/Schnittstellen
| Methode | Endpoint | Zweck | CASL |
|---|---|---|---|
GET | /api/employee-contracts?filter[employeeId] | Liste | view EmployeeContract |
POST | /api/employee-contracts | Anlegen | create EmployeeContract |
Versionshinweise
- 2026-04-30: Initiale Veroeffentlichung.