b6c0dfb90b
Auto Tag Develop / tag (push) Successful in 7s
Affinements de l'export PDF des heures (vue Jour) : - **Colonne Statut** : affiche le **code** du type d'absence (ex. `AT`) au lieu du libellé, sur sa couleur de fond. Férié sans absence inchangé (nom du férié sur fond bleu clair). - **Colonne Total** en gras. - **Légende** sous le tableau : carré coloré contenant le code + libellé à droite, 6 éléments par ligne, triée et dédupliquée (hors férié). - **Bouton Exporter masqué en vue Semaine** (visible uniquement en vue Jour). Docs mises à jour : `doc/hours-day-export.md`, `frontend/data/documentation-content.ts`, `CLAUDE.md`. Tests backend verts (173/361). Reviewed-on: #25 Co-authored-by: tristan <tristan@yuno.malio.fr> Co-committed-by: tristan <tristan@yuno.malio.fr>
31 lines
1.7 KiB
Markdown
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`.
|