fix : on ne prend plus en compte les jour de congé du samedi et dimanche pour les forfaits dans le calcule des RTT
All checks were successful
Auto Tag Develop / tag (push) Successful in 5s
All checks were successful
Auto Tag Develop / tag (push) Successful in 5s
This commit is contained in:
@@ -632,14 +632,27 @@ final readonly class EmployeeLeaveSummaryProvider implements ProviderInterface
|
||||
}
|
||||
|
||||
for ($cursor = $rangeStart; $cursor <= $rangeEnd; $cursor = $cursor->modify('+1 day')) {
|
||||
$dayOfWeek = (int) $cursor->format('N');
|
||||
|
||||
if ($splitSaturdays) {
|
||||
// Mode CDI/CDD : dimanche ignoré, samedi compté séparément.
|
||||
if (7 === $dayOfWeek) {
|
||||
continue;
|
||||
}
|
||||
} else {
|
||||
// Mode forfait : seuls les jours ouvrés (lun-ven) comptent.
|
||||
if ($dayOfWeek >= 6) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
[$am, $pm] = $this->resolveSegmentsForDate($absence, $cursor->format('Y-m-d'));
|
||||
$dayAmount = ($am ? 0.5 : 0.0) + ($pm ? 0.5 : 0.0);
|
||||
if ($dayAmount <= 0.0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$isSaturday = $splitSaturdays && '6' === $cursor->format('N');
|
||||
if ($isSaturday && $splitSaturdays) {
|
||||
if ($splitSaturdays && 6 === $dayOfWeek) {
|
||||
$takenSaturdays += $dayAmount;
|
||||
} else {
|
||||
$takenDays += $dayAmount;
|
||||
|
||||
Reference in New Issue
Block a user