Files
SIRH/doc
tristan 2418836cd1 fix : ancrer la clôture dynamique des congés sur le solde bootstrap
computeDynamicClosingForYear (qui produit le report d'ouverture de
l'exercice suivant) ignorait la table employee_leave_balances et
recalculait depuis l'embauche, sans absences historiques. Pour un
exercice consulté en avance, il cumulait donc une année pleine
d'acquisition par exercice antérieur à la mise en service.

Cas Aurore (CDI depuis 2022, bootstrap 2026 = report 32 / pris 24) :
report d'ouverture 2027 affiché à 88,39 j au lieu de 31. La vue courante
était juste car le provider, lui, lit déjà le bootstrap.

La clôture dynamique applique désormais la même règle que
EmployeeLeaveSummaryProvider::computeYearSummary : si une ligne bootstrap
existe pour l'exercice, on part de opening_days/opening_saturdays et on
ajoute l'offset taken_days/taken_saturdays, au lieu du report dynamique
accumulé. Vérifié sur données réelles : 88,39 -> 31,00 j.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 11:06:18 +02:00
..