From d2a9bd519176a8fede9c4fc365e81cff5e1ca152 Mon Sep 17 00:00:00 2001 From: tristan Date: Wed, 20 May 2026 16:27:44 +0200 Subject: [PATCH] docs(leave) : clarify carried CP docblock (net weekdays + gross saturdays) Co-Authored-By: Claude Opus 4.7 (1M context) --- src/State/EmployeeLeaveSummaryProvider.php | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/State/EmployeeLeaveSummaryProvider.php b/src/State/EmployeeLeaveSummaryProvider.php index fedeb41..4e8fa85 100644 --- a/src/State/EmployeeLeaveSummaryProvider.php +++ b/src/State/EmployeeLeaveSummaryProvider.php @@ -565,16 +565,21 @@ final readonly class EmployeeLeaveSummaryProvider implements ProviderInterface } /** - * CP nets encore disponibles (jours + samedis) hérités de la phase non-forfait - * 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). + * 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). + * + * Composition du retour : + * 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) + * remainingSaturdays : samedis acquis (report N-1) restants + * + takenSaturdays : ré-ajout des samedis posés (règle métier ci-dessous) * * 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. Le NET disponible calculé - * par computeYearSummary (remainingDays + accruingDays + remainingSaturdays) déduit - * 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é). + * le report ; les SAMEDIS déjà posés ne le réduisent pas. computeYearSummary déduit + * tous les congés posés (samedis inclus), d'où le ré-ajout de takenSaturdays. + * Ex. Grégory : 12 acquis − 5 jours ouvrés posés = 7 (le samedi posé reste crédité). * * 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é