Gestion du changement de type de contrat + correction du calcule des RTT sur un contrat qui commence en milieu de semaine #19

Merged
tristan merged 55 commits from feat/contract-phase-view-selector into develop 2026-05-22 06:42:33 +00:00
Showing only changes of commit 52d11119a1 - Show all commits
+10 -5
View File
@@ -569,10 +569,12 @@ final readonly class EmployeeLeaveSummaryProvider implements ProviderInterface
* précédant immédiatement une entrée en FORFAIT. 0 si aucune phase précédente * précédant immédiatement une entrée en FORFAIT. 0 si aucune phase précédente
* ou si la précédente est elle-même un FORFAIT (nouvel embauché → cas 2). * ou si la précédente est elle-même un FORFAIT (nouvel embauché → cas 2).
* *
* Le total disponible = remainingDays (acquis restant) + accruingDays (généré * Règle (validée comptable) : seuls les congés en JOURS OUVRÉS déjà posés réduisent
* restant, samedis générés inclus) + remainingSaturdays (samedis acquis restant). * le report ; les SAMEDIS déjà posés ne le réduisent pas. Le NET disponible calculé
* Les congés déjà posés sous la phase précédente sont déjà déduits par * par computeYearSummary (remainingDays + accruingDays + remainingSaturdays) déduit
* computeYearSummary, donc on récupère bien le NET (ex. Grégory : 12 acquis 5 pris ≈ 7). * tous les congés posés, samedis inclus ; on ré-ajoute donc takenSaturdays pour ne
* garder déduits que les jours ouvrés (ex. Grégory : 12 acquis 5 jours ouvrés pris
* = 7, dont le samedi posé reste crédité).
* *
* Les jours fractionnés (fractionedDays, ajustement manuel ajouté par provide() à * Les jours fractionnés (fractionedDays, ajustement manuel ajouté par provide() à
* l'affichage) sont volontairement EXCLUS : on ne reporte que le solde CP acquis/généré * l'affichage) sont volontairement EXCLUS : on ne reporte que le solde CP acquis/généré
@@ -593,7 +595,10 @@ final readonly class EmployeeLeaveSummaryProvider implements ProviderInterface
return 0.0; return 0.0;
} }
return $summary['remainingDays'] + $summary['accruingDays'] + $summary['remainingSaturdays']; return $summary['remainingDays']
+ $summary['accruingDays']
+ $summary['remainingSaturdays']
+ $summary['takenSaturdays'];
} }
/** /**