docs(night-contingent) : documentation export contingent heures de nuit

This commit is contained in:
2026-06-11 12:04:33 +02:00
parent 7744c82a07
commit 1000ae33c9
3 changed files with 19 additions and 0 deletions
+17
View File
@@ -382,6 +382,23 @@ Seuls les employés dont au moins une période de contrat intersecte la période
- Colonnes identiques au PDF (voir §10)
- Détails techniques : voir `doc/leave-recap-screen.md`
## Export Contingent heures de nuit
- Accès : drawer « Export » de la liste employés, type « Contingent H.nuit ».
Endpoint `GET /night-hours-contingent/print?year=YYYY`, `ROLE_USER`.
- Périmètre : `EmployeeRepository::findScoped($user)` (admin → tous, chef de
site → ses sites). Employés ayant ≥ 1 contrat sur l'année civile uniquement.
- PDF A4 **paysage** : lignes = employés (groupés par site, triés displayOrder
puis nom/prénom), colonnes = 12 mois (Janv→Déc), chaque mois avec 2 sous-
colonnes « H.nuit » et « N.jours ».
- Heures de nuit : minutes travaillées dans la fenêtre **21h→6h**
(`NightHoursCalculator`, identique au reste de l'app). Conducteurs inclus :
champ manuel `WorkHour.nightHoursMinutes`.
- « N.jours » : un jour compte 1 dès que ses minutes de nuit ≥ 240 (4h).
- Aucun crédit absence/férié : seules les heures réellement travaillées comptent.
- Services : `App\State\NightHoursContingentPrintProvider` +
`App\Service\WorkHours\NightContingentExportBuilder`.
## 11) Récapitulatif Salaire (PDF mensuel)
- Accessible depuis la page Employés via le bouton "Récap. Salaire" (réservé `ROLE_ADMIN`)