{
    "uuid": "357b4e23cabf1c7dba3517ca56c8b564",
    "schema_kind": "intervention",
    "lang": "fr",
    "title": "Fiche d'intervention - Contrôle tank à lait (laiterie collectrice)",
    "description": "Contrôle annuel d'un tank à lait par la laiterie collectrice (température, propreté, alarmes, agitation, comptages bactériologiques).",
    "export_date": "2026-05-26 10:00:00",
    "dolibarr_version": "18.0.0",
    "extrafields": [
        {
            "name": "tankcol_exploitation",
            "label": "Exploitation",
            "type": "varchar",
            "size": "200",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Nom de l'exploitation laitière",
            "pos": 100,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "tankcol_site",
            "label": "Site / commune",
            "type": "varchar",
            "size": "150",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Adresse / commune",
            "pos": 105,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "tankcol_batiment",
            "label": "Bâtiment / local laiterie",
            "type": "varchar",
            "size": "100",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Local du tank",
            "pos": 110,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "tankcol_identifiant_equipement",
            "label": "Identifiant équipement (tank)",
            "type": "varchar",
            "size": "50",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Numéro d'inventaire du tank contrôlé",
            "pos": 115,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "tankcol_referent_eleveur",
            "label": "Référent éleveur",
            "type": "varchar",
            "size": "100",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Nom de l'éleveur",
            "pos": 120,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "tankcol_laiterie_collectrice",
            "label": "Laiterie collectrice",
            "type": "varchar",
            "size": "150",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Coopérative / laiterie",
            "pos": 125,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "tankcol_capacite_litres",
            "label": "Capacité tank (L)",
            "type": "int",
            "size": "6",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Volume utile",
            "pos": 130,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "tankcol_temperature_mesuree",
            "label": "Température mesurée (degC)",
            "type": "double",
            "size": "4,1",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Cible 3 à 4 degC",
            "pos": 200,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "tankcol_temperature_conforme",
            "label": "Température conforme",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Conforme à la consigne laiterie",
            "pos": 205,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "tankcol_alarme_haute_temp_ok",
            "label": "Alarme haute température fonctionnelle",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Test du seuil d'alarme",
            "pos": 210,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "tankcol_seuil_alarme",
            "label": "Seuil d'alarme (degC)",
            "type": "double",
            "size": "4,1",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Valeur de déclenchement",
            "pos": 215,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "6",
            "alwayseditable": 0
        },
        {
            "name": "tankcol_agitation_ok",
            "label": "Agitation correcte (vitesse, cycles)",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Démarrage automatique et continu",
            "pos": 220,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "tankcol_proprete_interieure",
            "label": "Propreté intérieure",
            "type": "select",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "tres_propre": "Très propre",
                    "propre": "Propre",
                    "depot_leger": "Dépôt léger",
                    "depot_important": "Dépôt important"
                }
            },
            "help": "Inspection visuelle après vidange",
            "pos": 225,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "propre",
            "alwayseditable": 0
        },
        {
            "name": "tankcol_joints_etat",
            "label": "État des joints / vanne",
            "type": "select",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "bon": "Bon état",
                    "use": "Usure constatée",
                    "a_remplacer": "A remplacer"
                }
            },
            "help": "Joints couvercle, joints de vidange",
            "pos": 230,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "bon",
            "alwayseditable": 0
        },
        {
            "name": "tankcol_cycle_nettoyage_ok",
            "label": "Cycle de nettoyage CIP OK",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Pré-rinçage, lavage chaud, rinçage acide",
            "pos": 300,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "tankcol_temperature_lavage",
            "label": "Température lavage (degC)",
            "type": "double",
            "size": "4,1",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Température de la solution lavante",
            "pos": 305,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "tankcol_germes_totaux",
            "label": "Germes totaux (UFC/mL)",
            "type": "int",
            "size": "8",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Analyse laiterie - germes totaux",
            "pos": 310,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "tankcol_cellules_somatiques",
            "label": "Cellules somatiques (cell/mL)",
            "type": "int",
            "size": "8",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Comptage cellulaire moyen sur la période",
            "pos": 315,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "tankcol_butyriques",
            "label": "Spores butyriques (spores/L)",
            "type": "int",
            "size": "7",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Selon politique laiterie",
            "pos": 320,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "tankcol_sonde_etalonnee",
            "label": "Sonde de température étalonnée",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Vérification métrologique de la sonde",
            "pos": 325,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "tankcol_anomalies_constatees",
            "label": "Anomalies constatées",
            "type": "text",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Défauts relevés",
            "pos": 500,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "tankcol_mesures_correctives",
            "label": "Mesures correctives",
            "type": "text",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Actions réalisées ou à programmer",
            "pos": 510,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "tankcol_conclusion",
            "label": "Conclusion",
            "type": "select",
            "size": "",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "apte": "APTE - Conforme",
                    "apte_reserve": "APTE avec réserves",
                    "inapte": "INAPTE - Anomalie majeure"
                }
            },
            "help": "Avis de la laiterie collectrice",
            "pos": 600,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "apte",
            "alwayseditable": 0
        },
        {
            "name": "tankcol_date_prochaine_verif",
            "label": "Date prochain contrôle",
            "type": "date",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Périodicité annuelle ou semestrielle selon laiterie",
            "pos": 610,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "tankcol_technicien_nom",
            "personal_data": 1,
            "label": "Nom du technicien",
            "type": "varchar",
            "size": "100",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Intervenant laiterie ou prestataire",
            "pos": 700,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "tankcol_technicien_qualification",
            "label": "Qualification du technicien",
            "type": "varchar",
            "size": "150",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Service qualité lait / technicien agréé",
            "pos": 710,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        }
    ],
    "pdf_layout": {
        "version": "1.0",
        "page": {
            "format": "A4",
            "orientation": "portrait",
            "margins": { "top": 20, "right": 15, "bottom": 20, "left": 15 },
            "font_family": "helvetica",
            "font_size": 10
        },
        "header": {
            "title": "Contrôle tank à lait - Laiterie collectrice",
            "subtitle": "Température, propreté, qualité du lait",
            "logo_placeholder": "top-right",
            "show_page_number": true,
            "show_generated_date": true
        },
        "footer": {
            "text": "Document généré via schemas.cap-rel.fr",
            "legal_mentions": "Document à conserver par l'éleveur et la laiterie"
        },
        "sections": [
            {
                "id": "identification",
                "title": "Identification",
                "layout": "two_columns",
                "fields": [
                    "tankcol_exploitation",
                    "tankcol_site",
                    "tankcol_batiment",
                    "tankcol_identifiant_equipement",
                    "tankcol_referent_eleveur",
                    "tankcol_laiterie_collectrice",
                    "tankcol_capacite_litres"
                ]
            },
            {
                "id": "temperature",
                "title": "Température et alarmes",
                "layout": "checklist",
                "fields": [
                    "tankcol_temperature_mesuree",
                    "tankcol_temperature_conforme",
                    "tankcol_alarme_haute_temp_ok",
                    "tankcol_seuil_alarme",
                    "tankcol_agitation_ok"
                ]
            },
            {
                "id": "proprete_lavage",
                "title": "Propreté et nettoyage",
                "layout": "checklist",
                "fields": [
                    "tankcol_proprete_interieure",
                    "tankcol_joints_etat",
                    "tankcol_cycle_nettoyage_ok",
                    "tankcol_temperature_lavage"
                ]
            },
            {
                "id": "qualite_lait",
                "title": "Qualité bactériologique du lait",
                "layout": "two_columns",
                "fields": [
                    "tankcol_germes_totaux",
                    "tankcol_cellules_somatiques",
                    "tankcol_butyriques",
                    "tankcol_sonde_etalonnee"
                ]
            },
            {
                "id": "observations",
                "title": "Anomalies et mesures correctives",
                "layout": "full_width",
                "fields": [
                    "tankcol_anomalies_constatees",
                    "tankcol_mesures_correctives"
                ]
            },
            {
                "id": "conclusion",
                "title": "Conclusion du contrôle",
                "layout": "highlight_box",
                "fields": [
                    "tankcol_conclusion",
                    "tankcol_date_prochaine_verif"
                ]
            },
            {
                "id": "signatures",
                "title": "Technicien",
                "layout": "signature_block",
                "fields": [
                    "tankcol_technicien_nom",
                    "tankcol_technicien_qualification"
                ],
                "signature_boxes": [
                    { "label": "Signature technicien", "for_field": "tankcol_technicien_nom" },
                    { "label": "Signature éleveur", "for_field": null }
                ]
            }
        ],
        "field_render": {
            "tankcol_exploitation": { "style": "bold" },
            "tankcol_identifiant_equipement": { "style": "bold", "frame": true },
            "tankcol_conclusion": {
                "style": "highlight",
                "color_by_value": {
                    "apte": "#1f8a1f",
                    "apte_reserve": "#e69500",
                    "inapte": "#c00000"
                }
            },
            "tankcol_anomalies_constatees": { "min_height": 30, "show_if_empty": false },
            "tankcol_mesures_correctives": { "min_height": 30, "show_if_empty": false },
            "tankcol_temperature_mesuree": { "suffix": " degC" },
            "tankcol_seuil_alarme": { "suffix": " degC" },
            "tankcol_temperature_lavage": { "suffix": " degC" },
            "tankcol_capacite_litres": { "suffix": " L" },
            "tankcol_germes_totaux": { "suffix": " UFC/mL" },
            "tankcol_cellules_somatiques": { "suffix": " cell/mL" },
            "tankcol_butyriques": { "suffix": " spores/L" }
        }
    }
}
