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 f3d94a8590 - Show all commits

View File

@@ -567,14 +567,18 @@ final readonly class EmployeeLeaveSummaryProvider implements ProviderInterface
/**
* CP à reporter d'une phase non-forfait vers une entrée en FORFAIT : jours ouvrés
* NETS (acquis + en cours d'acquisition jours ouvrés posés) + samedis BRUTS (acquis,
* sans déduction des samedis posés). 0 si aucune phase précédente ou si la précédente
* est elle-même un FORFAIT (nouvel embauché → cas 2).
* sans déduction des samedis posés). Retourne 0 si aucune phase précédente (nouvel
* embauché → cas 2) ou si la précédente est elle-même un FORFAIT (ré-embauche / double
* transition forfait — pas de report CP non-forfait à reprendre).
*
* Composition du retour :
* Composition du retour (clés de computeYearSummary, branche CDI_CDD_NON_FORFAIT) :
* remainingDays : acquis (report N-1) restant après jours ouvrés posés
* accruingDays : généré de l'exercice restant (jours + samedis générés)
* accruingDays : généré de l'exercice restant, NET des jours posés en débordement
* (= remainingGenerated + remainingGeneratedSaturdays)
* remainingSaturdays : samedis acquis (report N-1) restants
* + takenSaturdays : ré-ajout des samedis posés (règle métier ci-dessous)
* + takenSaturdays : ré-ajout des samedis posés (règle métier ci-dessous). Invariant :
* comme accruingDays a déjà déduit les samedis posés en débordement,
* ce ré-ajout laisse le solde samedi BRUT (généré + acquis), pas net.
*
* Règle (validée comptable) : seuls les congés en JOURS OUVRÉS déjà posés réduisent
* le report ; les SAMEDIS déjà posés ne le réduisent pas. computeYearSummary déduit