fix(rtt) : jour de solidarité sans déficit si le salarié ne travaille pas le lundi
Auto Tag Develop / tag (push) Successful in 11s

Un contrat CUSTOM < 35h qui ne travaille pas le lundi (jour de solidarité,
workDaysHours[lundi] absent → attendu = 0) ne portait à tort un déficit
forfaitaire ((0 − 0) − prorata = −prorata). Garde ajoutée : aucun déficit
quand expectedMinutes === 0. Ewa (Lun+Jeu) reste à −0h48 ; Nadia (Mar+Ven)
passe de −0h48 à 0.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-12 11:01:24 +02:00
parent 036399846b
commit acbf1ccecb
7 changed files with 33 additions and 4 deletions
@@ -498,6 +498,14 @@ final readonly class RttRecoveryComputationService
return 0;
}
// Le salarié ne travaille pas le jour de solidarité (lundi non planifié au contrat,
// workDaysHours[lundi] absent → attendu = 0) : le jour ne le concerne pas, aucun
// déficit n'est imputé. Sans cette garde, (0 0) prorata facturerait à tort le prorata
// à un temps partiel qui ne travaille jamais le lundi (ex. Nadia, Mar+Ven).
if (0 === $expectedMinutes) {
return 0;
}
$prorata = (int) round($weeklyHours * 12);
return ($expectedMinutes - $workedMinutes) - $prorata;