{
    "uuid": "74335f27c38f745ff3faa5cd9bd8a773",
    "schema_kind": "intervention",
    "lang": "fr",
    "title": "Fiche d'intervention - Contrôle distribution d'aliment automatique",
    "description": "Contrôle d'un système de distribution d'aliment automatique (précision du dosage, calibrage des capteurs, propreté, transpondeurs et détections d'anomalies par animal).",
    "export_date": "2026-05-26 10:00:00",
    "dolibarr_version": "18.0.0",
    "extrafields": [
        {
            "name": "dac_exploitation",
            "label": "Exploitation",
            "type": "varchar",
            "size": "200",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Nom de l'exploitation",
            "pos": 100,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "dac_site",
            "label": "Site / commune",
            "type": "varchar",
            "size": "150",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Localisation",
            "pos": 105,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "dac_batiment",
            "label": "Bâtiment / stabulation",
            "type": "varchar",
            "size": "100",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Bâtiment où est installé le système",
            "pos": 110,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "dac_identifiant_equipement",
            "label": "Identifiant équipement (distributeur)",
            "type": "varchar",
            "size": "50",
            "required": 1,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Numéro d'inventaire du distributeur",
            "pos": 115,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "dac_referent_eleveur",
            "label": "Référent éleveur",
            "type": "varchar",
            "size": "100",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Éleveur ou responsable",
            "pos": 120,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "dac_type_systeme",
            "label": "Type de système",
            "type": "select",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": {
                "options": {
                    "dac_concentre": "DAC concentré",
                    "robot_melangeur": "Robot mélangeur TMR",
                    "rail_distributeur": "Rail distributeur",
                    "repousseur": "Repousseur d'aliment",
                    "vis_chaine": "Vis / chaîne d'alimentation"
                }
            },
            "help": "Famille de distributeur",
            "pos": 125,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "dac_nombre_transpondeurs_actifs",
            "label": "Nombre de transpondeurs actifs",
            "type": "int",
            "size": "5",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Animaux identifiés et reconnus par le système",
            "pos": 130,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "dac_nombre_transpondeurs_lus_test",
            "label": "Transpondeurs lus au test",
            "type": "int",
            "size": "5",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Nombre lus correctement lors du contrôle",
            "pos": 135,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "dac_dose_consigne_g",
            "label": "Dose de consigne (g)",
            "type": "int",
            "size": "6",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Dose demandée pour le test",
            "pos": 200,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "dac_dose_mesuree_g",
            "label": "Dose mesurée (g)",
            "type": "int",
            "size": "6",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Pesée réelle distribuée",
            "pos": 205,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "dac_ecart_pourcent",
            "label": "Écart relatif (%)",
            "type": "double",
            "size": "5,2",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Tolérance recommandée +/- 5 %",
            "pos": 210,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "dac_precision_dosage_ok",
            "label": "Précision dosage conforme",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Écart conforme à la tolérance",
            "pos": 215,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "dac_nombre_circuits_testes",
            "label": "Nombre de circuits testés",
            "type": "int",
            "size": "3",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Lots / boxes contrôlés",
            "pos": 220,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "dac_calibrage_pesee_realise",
            "label": "Calibrage pesée réalisé",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Calibrage des capteurs de poids / cellules",
            "pos": 225,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "dac_capteurs_etalonnes",
            "label": "Capteurs étalonnés",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Vérification métrologique",
            "pos": 230,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "dac_lecture_rfid_ok",
            "label": "Lecture RFID fiable",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Antenne et identification animaux",
            "pos": 235,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "dac_tremie_propre",
            "label": "Trémie / réserve propre",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Absence de moisissures, poussières excessives",
            "pos": 300,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "dac_vis_distribution_propre",
            "label": "Vis de distribution propre",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Pas de bourrage / résidus",
            "pos": 305,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "dac_auges_propres",
            "label": "Auges / mangeoires propres",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Hygiène des points de distribution",
            "pos": 310,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "dac_alarmes_animal_actives",
            "label": "Alarmes animal non venu actives",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Détection d'un animal qui ne se présente plus à la station",
            "pos": 315,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "dac_alertes_consommation_anormale",
            "label": "Alertes consommation anormale actives",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Détection des écarts par rapport à la courbe d'ingestion",
            "pos": 320,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "dac_logiciel_version",
            "label": "Version logiciel / firmware",
            "type": "varchar",
            "size": "50",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Version active sur le contrôleur",
            "pos": 325,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "dac_sauvegarde_parametres_realisee",
            "label": "Sauvegarde paramètres réalisée",
            "type": "boolean",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Export / sauvegarde de la configuration",
            "pos": 330,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "1",
            "alwayseditable": 0
        },
        {
            "name": "dac_anomalies_constatees",
            "label": "Anomalies constatées",
            "type": "text",
            "size": "",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Description des défauts",
            "pos": 500,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "dac_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": "dac_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": "Résultat global du contrôle",
            "pos": 600,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "apte",
            "alwayseditable": 0
        },
        {
            "name": "dac_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 recommandée",
            "pos": 610,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "dac_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",
            "pos": 700,
            "enabled": 1,
            "perms": "",
            "langfile": "",
            "computed": "",
            "default": "",
            "alwayseditable": 0
        },
        {
            "name": "dac_technicien_qualification",
            "label": "Qualification du technicien",
            "type": "varchar",
            "size": "150",
            "required": 0,
            "unique": 0,
            "visible": 1,
            "totalizable": 0,
            "printable": 1,
            "param": [],
            "help": "Technicien agréé constructeur ou conseil élevage",
            "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 distribution d'aliment automatique",
            "subtitle": "Précision dosage, calibrage et identification",
            "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"
        },
        "sections": [
            {
                "id": "identification",
                "title": "Identification",
                "layout": "two_columns",
                "fields": [
                    "dac_exploitation",
                    "dac_site",
                    "dac_batiment",
                    "dac_identifiant_equipement",
                    "dac_referent_eleveur",
                    "dac_type_systeme",
                    "dac_nombre_transpondeurs_actifs",
                    "dac_nombre_transpondeurs_lus_test"
                ]
            },
            {
                "id": "dosage",
                "title": "Précision du dosage",
                "layout": "two_columns",
                "fields": [
                    "dac_dose_consigne_g",
                    "dac_dose_mesuree_g",
                    "dac_ecart_pourcent",
                    "dac_precision_dosage_ok",
                    "dac_nombre_circuits_testes"
                ]
            },
            {
                "id": "calibrage",
                "title": "Calibrage et identification",
                "layout": "checklist",
                "fields": [
                    "dac_calibrage_pesee_realise",
                    "dac_capteurs_etalonnes",
                    "dac_lecture_rfid_ok"
                ]
            },
            {
                "id": "proprete",
                "title": "Propreté et alarmes",
                "layout": "checklist",
                "fields": [
                    "dac_tremie_propre",
                    "dac_vis_distribution_propre",
                    "dac_auges_propres",
                    "dac_alarmes_animal_actives",
                    "dac_alertes_consommation_anormale",
                    "dac_logiciel_version",
                    "dac_sauvegarde_parametres_realisee"
                ]
            },
            {
                "id": "observations",
                "title": "Anomalies et mesures correctives",
                "layout": "full_width",
                "fields": [
                    "dac_anomalies_constatees",
                    "dac_mesures_correctives"
                ]
            },
            {
                "id": "conclusion",
                "title": "Conclusion du contrôle",
                "layout": "highlight_box",
                "fields": [
                    "dac_conclusion",
                    "dac_date_prochaine_verif"
                ]
            },
            {
                "id": "signatures",
                "title": "Technicien",
                "layout": "signature_block",
                "fields": [
                    "dac_technicien_nom",
                    "dac_technicien_qualification"
                ],
                "signature_boxes": [
                    { "label": "Signature technicien", "for_field": "dac_technicien_nom" },
                    { "label": "Signature éleveur", "for_field": null }
                ]
            }
        ],
        "field_render": {
            "dac_exploitation": { "style": "bold" },
            "dac_identifiant_equipement": { "style": "bold", "frame": true },
            "dac_conclusion": {
                "style": "highlight",
                "color_by_value": {
                    "apte": "#1f8a1f",
                    "apte_reserve": "#e69500",
                    "inapte": "#c00000"
                }
            },
            "dac_anomalies_constatees": { "min_height": 30, "show_if_empty": false },
            "dac_mesures_correctives": { "min_height": 30, "show_if_empty": false },
            "dac_dose_consigne_g": { "suffix": " g" },
            "dac_dose_mesuree_g": { "suffix": " g" },
            "dac_ecart_pourcent": { "suffix": " %" }
        }
    }
}
