EmployeeContractPhaseResolver now accepts the data-start date and filters out phases whose endDate is strictly before it. No work-hour or absence data exists before the application launch date, so legacy contract periods that ended before that date would surface meaningless RTT/CP figures in the phase picker. For employees who joined long before the software (typical legacy 35h contracts, in production since 2014), only the current phase remains visible — which also collapses the picker (threshold ≥ 2 phases). The Employee entity reads RTT_START_DATE from $_SERVER/$_ENV directly since it has no DI. The resolver service is wired via services.yaml. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2.4 KiB
2.4 KiB