Files
SIRH/doc/hours-day-export.md
T
tristan 73b34c2ea4 feat(heures) : codes d'absence, total en gras et légende sur l'export PDF jour
- Colonne Statut affiche le code du type d'absence (ex. AT) au lieu du libellé
- Colonne Total en gras
- Légende sous le tableau (carré coloré + code + libellé), 6 par ligne
- Bouton Exporter masqué en vue Semaine

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 16:03:18 +02:00

31 lines
1.7 KiB
Markdown

# Export PDF des heures — vue Jour
Bouton **Exporter** à droite du titre « Heures », visible **uniquement pour les
administrateurs** (`ROLE_ADMIN`) et **uniquement en vue Jour** (masqué en vue Semaine).
## Comportement
- Ouvre un drawer : un champ **date** (préremplit la date affichée) et des **cases à
cocher des sites** (présélectionnées sur le filtre courant).
- Génère un **PDF A4 portrait** d'une seule journée, **regroupé par site**.
## Données
- Mêmes employés que la vue Jour : **non-conducteurs**, **sous contrat** à la date
choisie, des sites cochés. Les employés sous contrat sans saisie apparaissent (lignes
vides).
- Colonnes : Nom · Statut · Début matin · Fin matin · Début après-midi · Fin après-midi ·
Début soir · Fin soir · Jour · Nuit · **Total** (en gras). **Pas de colonne « Valider ».**
- Colonne **Statut** : affiche le **code** du type d'absence (ex. `AT`), pas le libellé,
sur la couleur de fond du type. Un jour férié sans absence affiche le **nom du férié**
sur fond bleu clair (`#b3e5fc`).
- Jour / Nuit / Total : identiques à l'écran (crédit d'absence `countAsWorkedHours` et
crédit virtuel férié inclus).
- **Légende** sous le tableau : pour chaque code d'absence présent (hors férié), un carré
de couleur contenant le code et le libellé du type à droite. Triée par code, dédupliquée.
## Technique
- Endpoint : `GET /work-hours/day-export?workDate=YYYY-MM-DD&siteIds=1,2,3` (`ROLE_ADMIN`).
- Provider : `App\State\WorkHourDayExportProvider`.
- Calcul des cellules : `YearlyHoursExportBuilder::buildDayRowsForEmployees` (source
unique de vérité, partagée avec les exports annuels).
- Gabarit : `templates/work-hour-day-export/print.html.twig`.