feat: Überstunden-Kappung + Jahresverfall pro Firma konfigurierbar
Backend: - Company: overtime_cap_hours, overtime_expiry_enabled/month/day, overtime_max_carryover_hours - OvertimeBalance: last_expiry_applied_at - Migration 0031: neue Spalten in companies + overtime_balances - _recalculate_overtime_balance: Kappung direkt nach Berechnung - apply_overtime_expiry_if_needed(): lazy Verfall beim Balance-Abruf - GET /absences/overtime-balance: prüft + wendet Verfall automatisch an - POST /absences/overtime-balance/apply-expiry: manueller Trigger (Admin) Frontend: - CompanySettingsPage: neuer Block 'Überstunden-Konto' - Toggle Kappungsgrenze + Stunden-Input - Toggle Jahresverfall + Stichtag (Tag/Monat) + max. Übertrag - 'Verfall anwenden'-Button für Admins Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1491,3 +1491,70 @@ Keine Commits in dieser Session.
|
||||
- frontend/src/types/hoursPayout.ts | 26 ++
|
||||
|
||||
---
|
||||
## 2026-05-25 22:21 – 22:22 (1m)
|
||||
**Beschreibung:** Claude Code Session
|
||||
**Projekt:** timemaster
|
||||
|
||||
### Commits
|
||||
- 549783a feat: Stunden-Auszahlungen in /mobile Profil-Screen
|
||||
|
||||
### Geänderte Dateien
|
||||
- DEVLOG.md | 21 ++++++
|
||||
- frontend/src/pages/mobile/MobileProfileScreen.tsx | 87 ++++++++++++++++++++++-
|
||||
|
||||
---
|
||||
## 2026-05-25 22:25 – 22:29 (3m)
|
||||
**Beschreibung:** Claude Code Session
|
||||
**Projekt:** timemaster
|
||||
|
||||
### Commits
|
||||
- 23b4588 fix: Überstunden tages-weise berechnen statt Gesamtzeitraum
|
||||
|
||||
### Geänderte Dateien
|
||||
- backend/app/services/report_service.py | 19 ++++++++++++++++---
|
||||
|
||||
---
|
||||
## 2026-05-25 22:32 – 22:33 (0m)
|
||||
**Beschreibung:** Claude Code Session
|
||||
**Projekt:** timemaster
|
||||
|
||||
### Commits
|
||||
Keine Commits in dieser Session.
|
||||
|
||||
### Geänderte Dateien
|
||||
- backend/app/services/report_service.py | 19 ++++++++++++++++---
|
||||
|
||||
---
|
||||
## 2026-05-25 22:37 – 22:39 (2m)
|
||||
**Beschreibung:** Claude Code Session
|
||||
**Projekt:** timemaster
|
||||
|
||||
### Commits
|
||||
Keine Commits in dieser Session.
|
||||
|
||||
### Geänderte Dateien
|
||||
- backend/app/services/report_service.py | 19 ++++++++++++++++---
|
||||
|
||||
---
|
||||
## 2026-05-25 22:39 – 22:40 (0m)
|
||||
**Beschreibung:** Claude Code Session
|
||||
**Projekt:** timemaster
|
||||
|
||||
### Commits
|
||||
Keine Commits in dieser Session.
|
||||
|
||||
### Geänderte Dateien
|
||||
- backend/app/services/report_service.py | 19 ++++++++++++++++---
|
||||
|
||||
---
|
||||
## 2026-05-25 22:44 – 22:47 (2m)
|
||||
**Beschreibung:** Claude Code Session
|
||||
**Projekt:** timemaster
|
||||
|
||||
### Commits
|
||||
Keine Commits in dieser Session.
|
||||
|
||||
### Geänderte Dateien
|
||||
- backend/app/services/report_service.py | 19 ++++++++++++++++---
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user