{% set moisNoms = moisNoms ?? ['', 'Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre'] %} {% set periode = mois == 0 ? 'Année ' ~ annee : moisNoms[mois] ~ ' ' ~ annee %} {% set couleurs = ['#4CAF50','#2196F3','#FF9800','#9C27B0','#F44336','#00BCD4','#8BC34A','#607D8B','#E91E63','#795548'] %} {% if personnalisation is defined and personnalisation.logo_rapports == 'true' and (personnalisation.logo_documents ?? '') %} {% endif %}
Répartition des Ventes par Type de Convive
{{ restaurantNom }}  |  {{ periode }}
Logo
{# ── KPI ─────────────────────────────────────────────────────────────────────── #}
Types de convives
{{ stats|length }}
Total repas
{{ totalVentes|number_format(0, ',', ' ') }}
Chiffre d'affaires total
{{ totalMontant|number_format(2, ',', ' ') }} €
Prix moyen / repas
{% set prixMoyenGlobal = totalVentes > 0 ? totalMontant / totalVentes : 0 %}
{{ prixMoyenGlobal|number_format(2, ',', ' ') }} €
{# ── Tableau détaillé ─────────────────────────────────────────────────────────── #}
Détails par Type de Convive
{% for stat in stats %} {% set color = couleurs[loop.index0 % couleurs|length] %} {% set prixMoyen = stat.nb_ventes > 0 ? stat.total_montant / stat.nb_ventes : 0 %} {% endfor %} {% set prixMoyenTotal = totalVentes > 0 ? totalMontant / totalVentes : 0 %}
Type Nb Repas % Repas Montant % CA Prix Moyen Moy./Jour
{{ stat.type|capitalize }} {{ stat.nb_ventes|number_format(0, ',', ' ') }} {{ stat.pourcentage_ventes }}% {{ stat.total_montant|number_format(2, ',', ' ') }} € {{ stat.pourcentage_montant }}% {{ prixMoyen|number_format(2, ',', ' ') }} € {{ stat.moyenne_par_jour|number_format(1, ',', ' ') }}
TOTAL {{ totalVentes|number_format(0, ',', ' ') }} 100% {{ totalMontant|number_format(2, ',', ' ') }} € 100% {{ prixMoyenTotal|number_format(2, ',', ' ') }} €
{# ── Légende visuelle (barres proportionnelles) ───────────────────────────────── #} {% if stats|length > 0 %}
Répartition Visuelle — Chiffre d'Affaires
{% for stat in stats %} {% set color = couleurs[loop.index0 % couleurs|length] %} {% endfor %}
Type Part du CA Montant
{{ stat.type|capitalize }}
{{ stat.total_montant|number_format(2, ',', ' ') }} €
{% endif %}