{% extends 'app/base.html.twig' %} {% block title %}Plan de nettoyage/désinfection HACCP{% endblock %} {% block body %} {% set isFinalized = document and document.status == 'finalized' %} {% set docId = document ? document.id : null %} {% set formData = document ? document.form_data : {} %} {# Zones par défaut si pas encore de données sauvegardées #} {% set zonesDefaut = { 'generales': { 'titre': 'SURFACES ET ÉQUIPEMENTS GÉNÉRAUX', 'items': [ {zone: 'Sols, grilles, siphons', frequence: 'Quotidien', produit: 'Détergent/désinfectant', realisations: []}, {zone: 'Plans de travail', frequence: 'Quotidien', produit: 'Désinfectant alimentaire', realisations: []}, {zone: 'Lave-mains, poubelles', frequence: 'Quotidien', produit: 'Détergent/désinfectant', realisations: []}, {zone: 'Portes et poignées', frequence: 'Hebdomadaire', produit: 'Détergent/désinfectant', realisations: []}, {zone: 'Placards et armoires', frequence: 'Hebdomadaire', produit: 'Détergent', realisations: []}, {zone: 'Murs et carrelages', frequence: 'Hebdomadaire', produit: 'Détergent/désinfectant', realisations: []}, ] }, 'froid': { 'titre': 'ÉQUIPEMENTS DE FROID', 'items': [ {zone: 'Réfrigérateur / Chambre froide positive', frequence: 'Hebdomadaire', produit: 'Détergent/désinfectant', realisations: []}, {zone: 'Congélateur / Chambre froide négative', frequence: 'Mensuel', produit: 'Détergent/désinfectant', realisations: []}, {zone: 'Cellule de refroidissement', frequence: 'Quotidien', produit: 'Détergent/désinfectant', realisations: []}, ] }, 'cuisson': { 'titre': 'ÉQUIPEMENTS DE CUISSON', 'items': [ {zone: 'Four / Plaques de cuisson', frequence: 'Quotidien', produit: 'Dégraissant', realisations: []}, {zone: 'Hottes et filtres', frequence: 'Hebdomadaire', produit: 'Dégraissant', realisations: []}, {zone: 'Friteuse', frequence: 'Quotidien', produit: 'Dégraissant', realisations: []}, ] }, 'lavage': { 'titre': 'ÉQUIPEMENTS DE LAVAGE', 'items': [ {zone: 'Lave-vaisselle / Lave-batterie', frequence: 'Quotidien', produit: 'Détergent/désinfectant', realisations: []}, {zone: 'Plonge manuelle', frequence: 'Quotidien', produit: 'Détergent/désinfectant', realisations: []}, ] }, 'materiels': { 'titre': 'MATÉRIELS ET USTENSILES', 'items': [ {zone: 'Couteaux et planches à découper', frequence: 'Quotidien', produit: 'Désinfectant alimentaire', realisations: []}, {zone: 'Bacs gastronormes', frequence: 'Quotidien', produit: 'Détergent/désinfectant', realisations: []}, {zone: 'Balance', frequence: 'Quotidien', produit: 'Détergent/désinfectant', realisations: []}, {zone: 'Trancheur', frequence: 'Quotidien', produit: 'Désinfectant alimentaire', realisations: []}, ] } } %} {% set categories = (formData.categories is defined and formData.categories is not empty) ? formData.categories : zonesDefaut %}

Plan de nettoyage/désinfection

{{ restaurantNom }} — {{ ['Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre'][mois-1] }} {{ annee }}

{% if isFinalized %} Verrouillé Télécharger PDF {% elseif docId %} Brouillon {% endif %} Retour
{# ── Navigation mois ─────────────────────────────────────────────────────── #}
{{ ['Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre'][mois-1] }} {{ annee }}
{# ── Tableau par catégorie ─────────────────────────────────────────────── #} {% for catKey, cat in categories %}
{{ cat.titre }} {% if not isFinalized %} {% endif %}
{% if not isFinalized %}{% endif %} {% for i, item in cat.items %} {# Rétrocompatibilité : ancien format sans réalisations #} {% set realisations = item.realisations is defined ? item.realisations : (item.fait is defined ? [{date: item.date_realisation ?? '', responsable: '', observations: item.observation ?? ''}] : []) %} {# Ligne équipement - éditable #} {% if not isFinalized %} {% endif %} {# Lignes réalisations #} {% if realisations is not empty %} {% for j, real in realisations %} {% if not isFinalized %} {% endif %} {% endfor %} {% else %} {% endif %} {% endfor %}
Zone / Équipement Fréquence Produit utilisé Date Responsable Observations×
{% if isFinalized %} {{ item.frequence }} {% else %} {% endif %} {% if not isFinalized %} {% endif %}
└─ Intervention #{{ j + 1 }}
Aucune réalisation enregistrée
{% endfor %} {# ── Signature ─────────────────────────────────────────────────────────── #} {% include 'app/haccp/_signature.html.twig' with {formData: formData, isFinalized: isFinalized} %} {% if not isFinalized %}
{% if docId %} PDF {% endif %}
{% endif %}
{% if not isFinalized %} {% endif %} {% endblock %}