{# templates/app/presences/recap_categorie.html.twig #} {% extends 'app/base.html.twig' %} {% block title %}Détail des présences — {{ nomCategorie }} — GestRestoSco{% endblock %} {% block stylesheets %} {% endblock %} {% block body %} {# ── En-tête ──────────────────────────────────────────────────────────── #}

Détail des présences par catégorie

Cumul mensuel — chaque chiffre représente le nombre de jours présents ou absents sur le mois.

Récapitulatif {% if categorieId %} Télécharger PDF {% endif %}
{# ── En-tête impression ───────────────────────────────────────────────── #} {# ── Filtres catégorie + navigation mois ─────────────────────────────── #}
{{ moisLabel }}
{# ── Navigation catégories (onglets rapides) ──────────────────────────── #} {% if categories|length > 1 %}
{% for cat in categories %} {{ cat.nom }} {% endfor %}
{% endif %} {# ── Tableau de détail ────────────────────────────────────────────────── #} {% if not categorieId %}

Sélectionnez une catégorie.

{% elseif detail is empty %}

Aucune donnée pour {{ nomCategorie }} sur ce mois.

{% else %} {# Calcul totaux colonnes #} {% set totaux = {} %} {% for service in services|keys %} {% set totaux = totaux|merge({(service): {presents: 0, absents: 0}}) %} {% endfor %} {% set totTousPresents = 0 %} {% set totTousAbsents = 0 %} {% for pid, p in detail %} {% for service in services|keys %} {% set nb_p = p.services[service].presents ?? 0 %} {% set nb_a = p.services[service].absents ?? 0 %} {% set totaux = totaux|merge({(service): { presents: totaux[service].presents + nb_p, absents: totaux[service].absents + nb_a }}) %} {% set totTousPresents = totTousPresents + nb_p %} {% set totTousAbsents = totTousAbsents + nb_a %} {% endfor %} {% endfor %} {# Résumé #}
{{ totTousPresents }}
Total présences
{{ totTousAbsents }}
Total absences
{{ detail|length }}
Personnes
{% for key, label in services %} {% endfor %} {% for key, label in services %} {% endfor %} {% for pid, p in detail %} {% set totalP = 0 %} {% set totalA = 0 %} {% for service in services|keys %} {% set totalP = totalP + (p.services[service].presents ?? 0) %} {% set totalA = totalA + (p.services[service].absents ?? 0) %} {% endfor %} {% for key in services|keys %} {% endfor %} {% endfor %} {% for service in services|keys %} {% endfor %}
Nom Prénom Statut{{ label }}Total
présents
Total
absents
Présents Absents
{{ p.nom }} {{ p.prenom }} {{ p.actif ? 'Actif' : 'Inactif' }} {{ p.services[key].presents ?? 0 }} {{ p.services[key].absents ?? 0 }}{{ totalP }} {{ totalA }}
Total Total{{ totaux[service].presents }} {{ totaux[service].absents }}{{ totTousPresents }} {{ totTousAbsents }}

Les personnes en italique grisé sont désactivées — leurs données historiques sont conservées.

{% endif %} {% endblock %}