From f3d94a8590a185d8bcf808b01f3315ac830421ad Mon Sep 17 00:00:00 2001 From: tristan Date: Wed, 20 May 2026 16:36:53 +0200 Subject: [PATCH] docs(leave) : sharpen carried CP docblock (net accruing, prior-forfait case) Co-Authored-By: Claude Opus 4.7 (1M context) --- src/State/EmployeeLeaveSummaryProvider.php | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/State/EmployeeLeaveSummaryProvider.php b/src/State/EmployeeLeaveSummaryProvider.php index 4e8fa85..74c17a3 100644 --- a/src/State/EmployeeLeaveSummaryProvider.php +++ b/src/State/EmployeeLeaveSummaryProvider.php @@ -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