WITH 
ledossier AS (
    SELECT
        *
    FROM
        &DB_PREFIXEdossier
    WHERE
        dossier.dossier =(
        SELECT
            dossier
        FROM
            &DB_PREFIXEinstruction
        WHERE
            instruction = &idx))
,
ledossierautorisation AS (
    SELECT
        *
    FROM
        &DB_PREFIXEdossier_autorisation
    WHERE
        dossier_autorisation = (
        SELECT
            dossier_autorisation
        FROM
            ledossier))
,
lesdemandeurs AS (
    SELECT
        demandeur.demandeur,
        dossier,
        type_demandeur,
        petitionnaire_principal,
        qualite,
        particulier_nom,
        particulier_prenom,
        particulier_date_naissance,
        particulier_commune_naissance, 
           particulier_departement_naissance,
        personne_morale_denomination,
        personne_morale_raison_sociale,
        personne_morale_siret,
        personne_morale_categorie_juridique,
        personne_morale_nom,
        personne_morale_prenom,
        numero,
        voie,
        complement,
        lieu_dit,
        localite,
        code_postal,
        bp,
        cedex,
        pays,
        division_territoriale,
        telephone_fixe,
        telephone_mobile,
        indicatif,
        courriel,
        notification,
        frequent,
        particulier_civilite,
        personne_morale_civilite,
        fax,
        demandeur.om_collectivite,
        particulier_pays_naissance,
        num_inscription,
        nom_cabinet,
        conseil_regional,
        titre_obt_diplo_spec,
        date_obt_diplo_spec,
        lieu_obt_diplo_spec,
        civilite.libelle AS civilite_libelle
    FROM
        &DB_PREFIXEdemandeur
    INNER JOIN &DB_PREFIXElien_dossier_demandeur ON
        demandeur.demandeur = lien_dossier_demandeur.demandeur
    LEFT JOIN &DB_PREFIXEcivilite ON civilite.civilite=demandeur.particulier_civilite OR civilite.civilite=demandeur.personne_morale_civilite
    WHERE
        lien_dossier_demandeur.dossier =(
        SELECT
            dossier
        FROM
            ledossier)
    )
,
lesdonneestechniques AS (
    SELECT
        *
    FROM
        &DB_PREFIXEdonnees_techniques
    WHERE
        dossier_instruction =(
        SELECT
            dossier
        FROM
            ledossier))
,
lacommune AS (
    SELECT
        *
    FROM
        &DB_PREFIXEcommune
    WHERE
        commune = (
        SELECT
            commune
        FROM
            ledossier))
,
ledepartement AS (
    SELECT
        *
    FROM
        &DB_PREFIXEdepartement
    WHERE
        departement.dep = (
        SELECT
            dep
        FROM
            lacommune))
,
laregion AS (
    SELECT
        *
    FROM
        &DB_PREFIXEregion
    WHERE
        region.reg = (
        SELECT
            reg
        FROM
            ledepartement))
,
linstructeur AS (
    SELECT
        *
    FROM
        &DB_PREFIXEinstructeur
    WHERE
        instructeur =(
        SELECT
            instructeur
        FROM
            ledossier))
,
ladivision AS (
    SELECT
        *
    FROM
        &DB_PREFIXEdivision
    WHERE
        division =(
        SELECT
            division
        FROM
            linstructeur))
,
ladirection AS (
    SELECT
        *
    FROM
        &DB_PREFIXEdirection
    WHERE
        direction =(
        SELECT
            direction
        FROM
            ladivision))
,
linstructeur_2 AS (
    SELECT
        *
    FROM
        &DB_PREFIXEinstructeur
    WHERE
        instructeur =(
        SELECT
            instructeur_2
        FROM
            ledossier))
,
ladivision_2 AS (
    SELECT
        *
    FROM
        &DB_PREFIXEdivision
    WHERE
        division =(
        SELECT
            division
        FROM
            linstructeur_2))
,
lutilisateur AS (
    SELECT
        *
    FROM
        &DB_PREFIXEom_utilisateur
    WHERE
        om_utilisateur = (
        SELECT
            om_utilisateur
        FROM
            linstructeur))
,
lutilisateur_2 AS (
    SELECT
        *
    FROM
        &DB_PREFIXEom_utilisateur
    WHERE
        om_utilisateur = (
        SELECT
            om_utilisateur
        FROM
            linstructeur_2))
,
lesnaturestravaux AS (
    SELECT
        nature_travaux.libelle,
        nature_travaux.famille_travaux
    FROM
        &DB_PREFIXElien_dossier_nature_travaux
    INNER JOIN &DB_PREFIXEnature_travaux ON
        lien_dossier_nature_travaux.nature_travaux = nature_travaux.nature_travaux
    WHERE
        lien_dossier_nature_travaux.dossier = (
        SELECT
            dossier
        FROM
            ledossier))
,
lesfamillestravaux AS (
    SELECT
        distinct famille_travaux.libelle
    FROM
        &DB_PREFIXEfamille_travaux
    INNER JOIN lesnaturestravaux ON
        famille_travaux.famille_travaux = lesnaturestravaux.famille_travaux)
,
levenement AS (
    SELECT
        *
    FROM
        &DB_PREFIXEevenement
    WHERE
        evenement.evenement = (
        SELECT
            evenement
        FROM
            &DB_PREFIXEinstruction
        WHERE
            instruction = &idx))

SELECT
    
        --Données générales de l'événement d'instruction
        signataire_arrete.agrement AS agrement_signataire,
        signataire_arrete.visa AS visa_signataire,
        signataire_arrete.visa_2 AS visa_signataire_2,
        signataire_arrete.visa_3 AS visa_signataire_3,
        signataire_arrete.visa_4 AS visa_signataire_4,
        consultation_entrante.service_consultant_libelle,
        
        instruction.complement_om_html AS complement_instruction,
        instruction.complement_om_html AS complement1_instruction,
        instruction.complement2_om_html AS complement2_instruction,
        instruction.complement3_om_html AS complement3_instruction,
        instruction.complement4_om_html AS complement4_instruction,
        instruction.code_barres AS code_barres_instruction,
        TO_CHAR(instruction.date_evenement,'DD/MM/YYYY') AS date_evenement_instruction, 
        om_lettretype.libelle AS libelle_om_lettretype,
        instruction.archive_delai AS archive_delai_instruction,
    
        --Données générales du dossier d'instruction
    
        dossier.dossier_libelle AS libelle_dossier,
        dossier.dossier AS code_barres_dossier,
        dossier_autorisation.dossier_autorisation_libelle AS libelle_da,
    
        dossier_autorisation_type_detaille.code AS code_datd,
        dossier_autorisation_type_detaille.libelle AS libelle_datd,
        dossier_autorisation_type.code AS code_dat,
        dossier_autorisation_type.libelle AS libelle_dat,
        dossier_instruction_type.code AS code_dit,
        dossier_instruction_type.libelle AS libelle_dit,
        (SELECT STRING_AGG(libelle::text, ', ' ORDER BY libelle) FROM lesfamillestravaux) AS famille_travaux,
        (SELECT STRING_AGG(libelle::text, ', ' ORDER BY libelle) FROM lesnaturestravaux ) AS nature_travaux,
        dossier.delai AS delai_dossier,
        TO_CHAR(dossier_autorisation.date_decision, 'DD/MM/YYYY') AS date_decision_da,
        ( SELECT STRING_AGG(parcelles::text, ', ') FROM ( SELECT dossier_parcelle.libelle AS parcelles FROM &DB_PREFIXEdossier_parcelle WHERE dossier_parcelle.dossier = dossier.dossier  ORDER BY dossier_parcelle.libelle ) AS req_parcelles) AS terrain_references_cadastrales_dossier,
        dossier.terrain_superficie AS terrain_superficie_dossier,
        quartier.libelle AS libelle_quartier,
    
        avis_decision.libelle AS libelle_avis_decision,
    
        dossier_autorisation.cle_acces_citoyen,
    
        CASE WHEN dossier.depot_electronique IS TRUE
            THEN '&mention_depot_electronique_recepisse'
            ELSE ''
        END AS mention_depot_electronique_recepisse,
    
    CASE WHEN (dossier.date_limite_incompletude::text <> '') IS TRUE AND (dossier.delai_incompletude::text <> '') IS TRUE
        THEN TO_CHAR(&DB_PREFIXEcalculate_date_with_duration(dossier.date_limite_incompletude::date, REPLACE(REPLACE(REPLACE(dossier.delai_incompletude, 'jours', 'days'), 'mois', 'months'), 'jour', 'days'), '-'), 'DD/MM/YYYY')
        ELSE ''
    END AS date_notification_incompletude,
    
        CASE WHEN dossier.date_dernier_depot IS NOT NULL AND TO_CHAR(dossier.date_dernier_depot, 'DD/MM/YYYY') != TO_CHAR(dossier.date_depot, 'DD/MM/YYYY')
            THEN '&complete_le'
            ELSE ''
        END AS complete_le,
    
        
        -- Localisation du dossier
    
        (SELECT com FROM lacommune) AS commune_code,
        (SELECT libelle FROM lacommune) AS commune_libelle,
        (SELECT dep FROM ledepartement) AS departement_code,
        (SELECT libelle FROM ledepartement) AS departement_libelle,
        (SELECT reg FROM laregion) AS region_code,
        (SELECT libelle FROM laregion) AS region_libelle,
    
        -- Données contentieux du dossier d'instruction
        dossier.autorisation_contestee AS autorisation_contestee,
        TO_CHAR(dossier.date_cloture_instruction, 'DD/MM/YYYY') AS date_cloture_instruction_dossier,
        TO_CHAR(dossier.date_premiere_visite, 'DD/MM/YYYY') AS date_premiere_visite_dossier,
        TO_CHAR(dossier.date_derniere_visite, 'DD/MM/YYYY') AS date_derniere_visite_dossier,
        TO_CHAR(dossier.date_contradictoire, 'DD/MM/YYYY') AS date_contradictoire_dossier,
        TO_CHAR(dossier.date_retour_contradictoire, 'DD/MM/YYYY') AS date_retour_contradictoire_dossier,
        TO_CHAR(dossier.date_ait, 'DD/MM/YYYY') AS date_ait_dossier,
        TO_CHAR(dossier.date_transmission_parquet, 'DD/MM/YYYY') AS date_transmission_parquet_dossier,
    
        --Données générales du paramétrage de l'événement
    
        evenement.libelle AS libelle_evenement,
        evenement.etat AS etat_evenement,
        evenement.delai AS delai_evenement,
        evenement.accord_tacite AS accord_tacite_evenement,
        evenement.delai_notification AS delai_notification_evenement,
        evenement.avis_decision AS avis_decision_evenement,
        evenement.autorite_competente AS autorite_competente_evenement,
    
        --Coordonnées de l'instructeur
    
        instructeur.nom AS nom_instructeur,
        instructeur.telephone AS telephone_instructeur,
        division.code AS division_instructeur,
        om_utilisateur.email AS email_instructeur,
    
        -- Coordonnées de l'instructeur 2
        instructeur_2.nom AS nom_instructeur_2,
        instructeur_2.telephone AS telephone_instructeur_2,
        division_2.code AS division_instructeur_2,
        om_utilisateur_2.email AS email_instructeur_2,
    
        --Adresse du terrain du dossier d'instruction
    
        dossier.terrain_adresse_voie_numero AS terrain_adresse_voie_numero_dossier,
    &DB_PREFIXEadresse(dossier.terrain_adresse_voie_numero::text, dossier.terrain_adresse_voie::text, ''::text, dossier.terrain_adresse_lieu_dit::text, dossier.terrain_adresse_bp::text, dossier.terrain_adresse_code_postal::text, dossier.terrain_adresse_localite::text, dossier.terrain_adresse_cedex::text) AS adresse_terrain_sdl,
    &DB_PREFIXEadresse(dossier.terrain_adresse_voie_numero::text, dossier.terrain_adresse_voie::text, ''::text, dossier.terrain_adresse_lieu_dit::text, dossier.terrain_adresse_bp::text, dossier.terrain_adresse_code_postal::text, dossier.terrain_adresse_localite::text, dossier.terrain_adresse_cedex::text, ''::text, ' '::text) AS adresse_terrain,
        dossier.terrain_adresse_voie AS terrain_adresse_voie_dossier,
        dossier.terrain_adresse_lieu_dit AS terrain_adresse_lieu_dit_dossier,
        CASE 
            WHEN dossier.terrain_adresse_bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', dossier.terrain_adresse_bp)
        END AS terrain_adresse_bp_dossier,
        dossier.terrain_adresse_code_postal AS terrain_adresse_code_postal_dossier,
        dossier.terrain_adresse_localite AS terrain_adresse_localite_dossier,
        CASE 
            WHEN dossier.terrain_adresse_cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', dossier.terrain_adresse_cedex)
        END AS terrain_adresse_cedex_dossier,
    
        arrondissement.libelle AS libelle_arrondissement,
    
        --Taxe d'aménagement du dossier d'instruction
        CASE
            WHEN tax_secteur = 1 THEN taxe_amenagement.tx_comm_secteur_1
            WHEN tax_secteur = 2 THEN taxe_amenagement.tx_comm_secteur_2
            WHEN tax_secteur = 3 THEN taxe_amenagement.tx_comm_secteur_3
            WHEN tax_secteur = 4 THEN taxe_amenagement.tx_comm_secteur_4
            WHEN tax_secteur = 5 THEN taxe_amenagement.tx_comm_secteur_5
            WHEN tax_secteur = 6 THEN taxe_amenagement.tx_comm_secteur_6
            WHEN tax_secteur = 7 THEN taxe_amenagement.tx_comm_secteur_7
            WHEN tax_secteur = 8 THEN taxe_amenagement.tx_comm_secteur_8
            WHEN tax_secteur = 9 THEN taxe_amenagement.tx_comm_secteur_9
            WHEN tax_secteur = 10 THEN taxe_amenagement.tx_comm_secteur_10
            WHEN tax_secteur = 11 THEN taxe_amenagement.tx_comm_secteur_11
            WHEN tax_secteur = 12 THEN taxe_amenagement.tx_comm_secteur_12
            WHEN tax_secteur = 13 THEN taxe_amenagement.tx_comm_secteur_13
            WHEN tax_secteur = 14 THEN taxe_amenagement.tx_comm_secteur_14
            WHEN tax_secteur = 15 THEN taxe_amenagement.tx_comm_secteur_15
            WHEN tax_secteur = 16 THEN taxe_amenagement.tx_comm_secteur_16
            WHEN tax_secteur = 17 THEN taxe_amenagement.tx_comm_secteur_17
            WHEN tax_secteur = 18 THEN taxe_amenagement.tx_comm_secteur_18
            WHEN tax_secteur = 19 THEN taxe_amenagement.tx_comm_secteur_19
            WHEN tax_secteur = 20 THEN taxe_amenagement.tx_comm_secteur_20
        END AS tax_taux_secteur,
    
        taxe_amenagement.tx_comm_secteur_1 AS tax_taux_secteur_1,
        taxe_amenagement.tx_comm_secteur_2 AS tax_taux_secteur_2,
        taxe_amenagement.tx_comm_secteur_3 AS tax_taux_secteur_3,
        taxe_amenagement.tx_comm_secteur_4 AS tax_taux_secteur_4,
        taxe_amenagement.tx_comm_secteur_5 AS tax_taux_secteur_5,
        taxe_amenagement.tx_comm_secteur_6 AS tax_taux_secteur_6,
        taxe_amenagement.tx_comm_secteur_7 AS tax_taux_secteur_7,
        taxe_amenagement.tx_comm_secteur_8 AS tax_taux_secteur_8,
        taxe_amenagement.tx_comm_secteur_9 AS tax_taux_secteur_9,
        taxe_amenagement.tx_comm_secteur_10 AS tax_taux_secteur_10,
        taxe_amenagement.tx_comm_secteur_11 AS tax_taux_secteur_11,
        taxe_amenagement.tx_comm_secteur_12 AS tax_taux_secteur_12,
        taxe_amenagement.tx_comm_secteur_13 AS tax_taux_secteur_13,
        taxe_amenagement.tx_comm_secteur_14 AS tax_taux_secteur_14,
        taxe_amenagement.tx_comm_secteur_15 AS tax_taux_secteur_15,
        taxe_amenagement.tx_comm_secteur_16 AS tax_taux_secteur_16,
        taxe_amenagement.tx_comm_secteur_17 AS tax_taux_secteur_17,
        taxe_amenagement.tx_comm_secteur_18 AS tax_taux_secteur_18,
        taxe_amenagement.tx_comm_secteur_19 AS tax_taux_secteur_19,
        taxe_amenagement.tx_comm_secteur_20 AS tax_taux_secteur_20,
    
        CASE WHEN taxe_amenagement.en_ile_de_france IS NULL
            OR taxe_amenagement.en_ile_de_france IS FALSE
            THEN 'Non'
            ELSE 'Oui'
        END AS tax_en_ile_de_france,
        taxe_amenagement.val_forf_surf_cstr AS tax_val_forf_surf_cstr,
        taxe_amenagement.val_forf_empl_tente_carav_rml AS tax_val_forf_empl_tente_carav_rml,
        taxe_amenagement.val_forf_empl_hll AS tax_val_forf_empl_hll,
        taxe_amenagement.val_forf_surf_piscine AS tax_val_forf_surf_piscine,
        taxe_amenagement.val_forf_nb_eolienne AS tax_val_forf_nb_eolienne,
        taxe_amenagement.val_forf_surf_pann_photo AS tax_val_forf_surf_pann_photo,
        taxe_amenagement.val_forf_nb_parking_ext AS tax_val_forf_nb_parking_ext,
        taxe_amenagement.tx_depart  AS tax_tx_depart,
        taxe_amenagement.tx_reg AS tax_tx_reg,
        taxe_amenagement.tx_exo_facul_1_reg AS tax_tx_exo_facul_1_reg,
        taxe_amenagement.tx_exo_facul_2_reg AS tax_tx_exo_facul_2_reg,
        taxe_amenagement.tx_exo_facul_3_reg AS tax_tx_exo_facul_3_reg,
        taxe_amenagement.tx_exo_facul_4_reg AS tax_tx_exo_facul_4_reg,
        taxe_amenagement.tx_exo_facul_5_reg AS tax_tx_exo_facul_5_reg,
        taxe_amenagement.tx_exo_facul_6_reg AS tax_tx_exo_facul_6_reg,
        taxe_amenagement.tx_exo_facul_7_reg AS tax_tx_exo_facul_7_reg,
        taxe_amenagement.tx_exo_facul_8_reg AS tax_tx_exo_facul_8_reg,
        taxe_amenagement.tx_exo_facul_9_reg AS tax_tx_exo_facul_9_reg,
        taxe_amenagement.tx_exo_facul_1_depart  AS tax_tx_exo_facul_1_depart,
        taxe_amenagement.tx_exo_facul_2_depart  AS tax_tx_exo_facul_2_depart,
        taxe_amenagement.tx_exo_facul_3_depart  AS tax_tx_exo_facul_3_depart,
        taxe_amenagement.tx_exo_facul_4_depart  AS tax_tx_exo_facul_4_depart,
        taxe_amenagement.tx_exo_facul_5_depart  AS tax_tx_exo_facul_5_depart,
        taxe_amenagement.tx_exo_facul_6_depart  AS tax_tx_exo_facul_6_depart,
        taxe_amenagement.tx_exo_facul_7_depart  AS tax_tx_exo_facul_7_depart,
        taxe_amenagement.tx_exo_facul_8_depart  AS tax_tx_exo_facul_8_depart,
        taxe_amenagement.tx_exo_facul_9_depart  AS tax_tx_exo_facul_9_depart,
        taxe_amenagement.tx_exo_facul_1_comm AS tax_tx_exo_facul_1_comm,
        taxe_amenagement.tx_exo_facul_2_comm AS tax_tx_exo_facul_2_comm,
        taxe_amenagement.tx_exo_facul_3_comm AS tax_tx_exo_facul_3_comm,
        taxe_amenagement.tx_exo_facul_4_comm AS tax_tx_exo_facul_4_comm,
        taxe_amenagement.tx_exo_facul_5_comm AS tax_tx_exo_facul_5_comm,
        taxe_amenagement.tx_exo_facul_6_comm AS tax_tx_exo_facul_6_comm,
        taxe_amenagement.tx_exo_facul_7_comm AS tax_tx_exo_facul_7_comm,
        taxe_amenagement.tx_exo_facul_8_comm AS tax_tx_exo_facul_8_comm,
        taxe_amenagement.tx_exo_facul_9_comm AS tax_tx_exo_facul_9_comm,
        taxe_amenagement.tx_rap AS tax_tx_rap,
    
        dossier.tax_mtn_rap AS tax_montant_rap,
        CONCAT_WS(' ', 'Secteur', dossier.tax_secteur) AS tax_secteur,
        dossier.tax_secteur AS tax_numero_secteur,
        dossier.tax_mtn_part_commu AS tax_montant_part_communale,
        dossier.tax_mtn_part_depart AS tax_montant_part_departementale,
        dossier.tax_mtn_part_reg AS tax_montant_part_regionale,
        dossier.tax_mtn_total AS tax_montant_total,
    
        --Coordonnées du pétitionnaire principal
        CASE WHEN petitionnaire_principal.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', petitionnaire_principal.civilite_libelle, petitionnaire_principal.particulier_nom, petitionnaire_principal.particulier_prenom))
            ELSE
                CASE WHEN petitionnaire_principal.personne_morale_nom IS NOT NULL OR petitionnaire_principal.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', petitionnaire_principal.personne_morale_raison_sociale, petitionnaire_principal.personne_morale_denomination, 'représenté(e) par', petitionnaire_principal.civilite_libelle, petitionnaire_principal.personne_morale_nom, petitionnaire_principal.personne_morale_prenom))
                    ELSE TRIM(CONCAT(petitionnaire_principal.personne_morale_raison_sociale, ' ', petitionnaire_principal.personne_morale_denomination))
                END
        END AS nom_complet_qualite_part_ou_pm_petitionnaire_principal,
        CASE WHEN petitionnaire_principal.qualite='particulier' OR petitionnaire_principal.personne_morale_nom IS NOT NULL OR petitionnaire_principal.personne_morale_prenom IS NOT NULL
            THEN petitionnaire_principal.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_ou_pm_petitionnaire_principal,
        CASE WHEN petitionnaire_principal.qualite='particulier'
            THEN petitionnaire_principal.particulier_nom
            ELSE
                CASE WHEN petitionnaire_principal.personne_morale_nom IS NOT NULL
                    THEN petitionnaire_principal.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_part_ou_pm_petitionnaire_principal,
        CASE WHEN petitionnaire_principal.qualite='particulier'
            THEN petitionnaire_principal.particulier_prenom
            ELSE
                CASE WHEN petitionnaire_principal.personne_morale_prenom IS NOT NULL
                    THEN petitionnaire_principal.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_part_ou_pm_petitionnaire_principal,
        CASE WHEN petitionnaire_principal.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', petitionnaire_principal.civilite_libelle, petitionnaire_principal.particulier_nom, petitionnaire_principal.particulier_prenom))
            ELSE ''
        END AS nom_complet_qualite_part_petitionnaire_principal,
        CASE WHEN petitionnaire_principal.qualite='particulier'
            THEN petitionnaire_principal.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_petitionnaire_principal,
        CASE WHEN petitionnaire_principal.qualite='particulier'
            THEN petitionnaire_principal.particulier_nom
            ELSE ''
        END AS nom_qualite_part_petitionnaire_principal,
        CASE WHEN petitionnaire_principal.qualite='particulier'
            THEN petitionnaire_principal.particulier_prenom
            ELSE ''
        END AS prenom_qualite_part_petitionnaire_principal,
        CASE WHEN petitionnaire_principal.personne_morale_nom IS NOT NULL OR petitionnaire_principal.personne_morale_prenom IS NOT NULL
            THEN TRIM(CONCAT_WS(' ', petitionnaire_principal.personne_morale_raison_sociale, petitionnaire_principal.personne_morale_denomination, 'représenté(e) par', petitionnaire_principal.civilite_libelle, petitionnaire_principal.personne_morale_nom, petitionnaire_principal.personne_morale_prenom))
            ELSE TRIM(CONCAT(petitionnaire_principal.personne_morale_raison_sociale, ' ', petitionnaire_principal.personne_morale_denomination))
        END AS nom_complet_qualite_pm_petitionnaire_principal,
        CASE WHEN petitionnaire_principal.personne_morale_nom IS NOT NULL OR petitionnaire_principal.personne_morale_prenom IS NOT NULL
            THEN petitionnaire_principal.civilite_libelle
            ELSE ''
        END AS civilite_qualite_pm_petitionnaire_principal,
        CASE WHEN petitionnaire_principal.personne_morale_nom IS NOT NULL
            THEN petitionnaire_principal.personne_morale_nom
            ELSE ''
        END AS nom_qualite_pm_petitionnaire_principal,
        CASE WHEN petitionnaire_principal.personne_morale_prenom IS NOT NULL
            THEN petitionnaire_principal.personne_morale_prenom
            ELSE ''
        END AS prenom_qualite_pm_petitionnaire_principal,
        CASE WHEN petitionnaire_principal.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', petitionnaire_principal.civilite_libelle, petitionnaire_principal.particulier_nom, petitionnaire_principal.particulier_prenom))
            ELSE
                CASE WHEN petitionnaire_principal.personne_morale_nom IS NOT NULL OR petitionnaire_principal.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', petitionnaire_principal.personne_morale_raison_sociale, petitionnaire_principal.personne_morale_denomination, 'représenté(e) par', petitionnaire_principal.civilite_libelle, petitionnaire_principal.personne_morale_nom, petitionnaire_principal.personne_morale_prenom))
                    ELSE TRIM(CONCAT(petitionnaire_principal.personne_morale_raison_sociale, ' ', petitionnaire_principal.personne_morale_denomination))
                END
        END AS nom_petitionnaire_principal,
        CASE WHEN petitionnaire_principal.qualite='particulier' OR petitionnaire_principal.personne_morale_nom IS NOT NULL OR petitionnaire_principal.personne_morale_prenom IS NOT NULL
            THEN petitionnaire_principal.civilite_libelle
            ELSE ''
        END AS civilite_petitionnaire_principal,
        CASE WHEN petitionnaire_principal.qualite='particulier'
            THEN petitionnaire_principal.particulier_nom
            ELSE
                CASE WHEN petitionnaire_principal.personne_morale_nom IS NOT NULL
                    THEN petitionnaire_principal.personne_morale_nom
                    ELSE ''
                END
        END AS nom_particulier_petitionnaire_principal,
        CASE WHEN petitionnaire_principal.qualite='particulier'
            THEN petitionnaire_principal.particulier_prenom
            ELSE
                CASE WHEN petitionnaire_principal.personne_morale_prenom IS NOT NULL
                    THEN petitionnaire_principal.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_particulier_petitionnaire_principal,
        CASE WHEN petitionnaire_principal.qualite='particulier'
            THEN ''
            ELSE petitionnaire_principal.personne_morale_raison_sociale
        END AS raison_sociale_petitionnaire_principal,
        CASE WHEN petitionnaire_principal.qualite='particulier'
            THEN ''
            ELSE petitionnaire_principal.personne_morale_denomination
        END AS denomination_petitionnaire_principal,
        CASE WHEN petitionnaire_principal.qualite='particulier'
            THEN ''
            ELSE petitionnaire_principal.personne_morale_siret
        END AS siret_petitionnaire_principal,
        CASE WHEN petitionnaire_principal.qualite='particulier'
            THEN ''
            ELSE petitionnaire_principal.personne_morale_categorie_juridique
        END AS categorie_juridique_petitionnaire_principal,
        petitionnaire_principal.numero AS numero_petitionnaire_principal,
    &DB_PREFIXEadresse(petitionnaire_principal.numero::text, petitionnaire_principal.voie::text, petitionnaire_principal.complement::text, petitionnaire_principal.lieu_dit::text, petitionnaire_principal.bp::text, petitionnaire_principal.code_postal::text, petitionnaire_principal.localite::text, petitionnaire_principal.cedex::text, petitionnaire_principal.pays::text) AS adresse_petitionnaire_principal_sdl,
    &DB_PREFIXEadresse(petitionnaire_principal.numero::text, petitionnaire_principal.voie::text, petitionnaire_principal.complement::text, petitionnaire_principal.lieu_dit::text, petitionnaire_principal.bp::text, petitionnaire_principal.code_postal::text, petitionnaire_principal.localite::text, petitionnaire_principal.cedex::text, petitionnaire_principal.pays::text, ' '::text) AS adresse_petitionnaire_principal,
        petitionnaire_principal.voie AS voie_petitionnaire_principal,
        petitionnaire_principal.complement AS complement_petitionnaire_principal,
        petitionnaire_principal.lieu_dit AS lieu_dit_petitionnaire_principal,
        CASE 
            WHEN petitionnaire_principal.bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', petitionnaire_principal.bp)
        END AS bp_petitionnaire_principal,
        petitionnaire_principal.code_postal AS code_postal_petitionnaire_principal,
        petitionnaire_principal.localite AS localite_petitionnaire_principal,
        CASE 
            WHEN petitionnaire_principal.cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', petitionnaire_principal.cedex)
        END AS cedex_petitionnaire_principal,
        petitionnaire_principal.pays AS pays_petitionnaire_principal,
        petitionnaire_principal.division_territoriale AS division_territoriale_petitionnaire_principal,
        CASE WHEN petitionnaire_principal.qualite = 'particulier'
            THEN TO_CHAR(petitionnaire_principal.particulier_date_naissance, 'DD/MM/YYYY')
            ELSE ''
        END AS date_naissance_petitionnaire_principal,
        CASE WHEN petitionnaire_principal.qualite = 'particulier'
            THEN CONCAT_WS(' ', petitionnaire_principal.particulier_commune_naissance, petitionnaire_principal.particulier_departement_naissance, petitionnaire_principal.particulier_pays_naissance)
            ELSE ''
        END AS lieu_naissance_petitionnaire_principal,
        petitionnaire_principal.courriel AS email_petitionnaire_principal,
        CONCAT_WS(' ', petitionnaire_principal.indicatif, CONCAT_WS(' / ', petitionnaire_principal.telephone_fixe, petitionnaire_principal.telephone_mobile)) AS coordonnees_telephonique_petitionnaire_principal,
        CASE WHEN petitionnaire_principal.notification IS TRUE
            THEN '[X]'
            ELSE '[ ]'
        END AS notification_petitionnaire_principal,
    
        --Coordonnées du pétitionnaire principal initial
        CASE WHEN petitionnaire_principal_initial.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', petitionnaire_principal_initial.civilite_libelle, petitionnaire_principal_initial.particulier_nom, petitionnaire_principal_initial.particulier_prenom))
            ELSE
                CASE WHEN petitionnaire_principal_initial.personne_morale_nom IS NOT NULL OR petitionnaire_principal_initial.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', petitionnaire_principal_initial.personne_morale_raison_sociale, petitionnaire_principal_initial.personne_morale_denomination, 'représenté(e) par', petitionnaire_principal_initial.civilite_libelle, petitionnaire_principal_initial.personne_morale_nom, petitionnaire_principal_initial.personne_morale_prenom))
                    ELSE TRIM(CONCAT(petitionnaire_principal_initial.personne_morale_raison_sociale, ' ', petitionnaire_principal_initial.personne_morale_denomination))
                END
        END AS nom_complet_qualite_part_ou_pm_petitionnaire_principal_initial,
        CASE WHEN petitionnaire_principal_initial.qualite='particulier' OR petitionnaire_principal_initial.personne_morale_nom IS NOT NULL OR petitionnaire_principal_initial.personne_morale_prenom IS NOT NULL
            THEN petitionnaire_principal_initial.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_ou_pm_petitionnaire_principal_initial,
        CASE WHEN petitionnaire_principal_initial.qualite='particulier'
            THEN petitionnaire_principal_initial.particulier_nom
            ELSE
                CASE WHEN petitionnaire_principal_initial.personne_morale_nom IS NOT NULL
                    THEN petitionnaire_principal_initial.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_part_ou_pm_petitionnaire_principal_initial,
        CASE WHEN petitionnaire_principal_initial.qualite='particulier'
            THEN petitionnaire_principal_initial.particulier_prenom
            ELSE
                CASE WHEN petitionnaire_principal_initial.personne_morale_prenom IS NOT NULL
                    THEN petitionnaire_principal_initial.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_part_ou_pm_petitionnaire_principal_initial,
        CASE WHEN petitionnaire_principal_initial.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', petitionnaire_principal_initial.civilite_libelle, petitionnaire_principal_initial.particulier_nom, petitionnaire_principal_initial.particulier_prenom))
            ELSE ''
        END AS nom_complet_qualite_part_petitionnaire_principal_initial,
        CASE WHEN petitionnaire_principal_initial.qualite='particulier'
            THEN petitionnaire_principal_initial.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_petitionnaire_principal_initial,
        CASE WHEN petitionnaire_principal_initial.qualite='particulier'
            THEN petitionnaire_principal_initial.particulier_nom
            ELSE ''
        END AS nom_qualite_part_petitionnaire_principal_initial,
        CASE WHEN petitionnaire_principal_initial.qualite='particulier'
            THEN petitionnaire_principal_initial.particulier_prenom
            ELSE ''
        END AS prenom_qualite_part_petitionnaire_principal_initial,
        CASE WHEN petitionnaire_principal_initial.personne_morale_nom IS NOT NULL OR petitionnaire_principal_initial.personne_morale_prenom IS NOT NULL
            THEN TRIM(CONCAT_WS(' ', petitionnaire_principal_initial.personne_morale_raison_sociale, petitionnaire_principal_initial.personne_morale_denomination, 'représenté(e) par', petitionnaire_principal_initial.civilite_libelle, petitionnaire_principal_initial.personne_morale_nom, petitionnaire_principal_initial.personne_morale_prenom))
            ELSE TRIM(CONCAT(petitionnaire_principal_initial.personne_morale_raison_sociale, ' ', petitionnaire_principal_initial.personne_morale_denomination))
        END AS nom_complet_qualite_pm_petitionnaire_principal_initial,
        CASE WHEN petitionnaire_principal_initial.personne_morale_nom IS NOT NULL OR petitionnaire_principal_initial.personne_morale_prenom IS NOT NULL
            THEN petitionnaire_principal_initial.civilite_libelle
            ELSE ''
        END AS civilite_qualite_pm_petitionnaire_principal_initial,
        CASE WHEN petitionnaire_principal_initial.personne_morale_nom IS NOT NULL
            THEN petitionnaire_principal_initial.personne_morale_nom
            ELSE ''
        END AS nom_qualite_pm_petitionnaire_principal_initial,
        CASE WHEN petitionnaire_principal_initial.personne_morale_prenom IS NOT NULL
            THEN petitionnaire_principal_initial.personne_morale_prenom
            ELSE ''
        END AS prenom_qualite_pm_petitionnaire_principal_initial,
        CASE WHEN petitionnaire_principal_initial.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', petitionnaire_principal_initial.civilite_libelle, petitionnaire_principal_initial.particulier_nom, petitionnaire_principal_initial.particulier_prenom))
            ELSE
                CASE WHEN petitionnaire_principal_initial.personne_morale_nom IS NOT NULL OR petitionnaire_principal_initial.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', petitionnaire_principal_initial.personne_morale_raison_sociale, petitionnaire_principal_initial.personne_morale_denomination, 'représenté(e) par', petitionnaire_principal_initial.civilite_libelle, petitionnaire_principal_initial.personne_morale_nom, petitionnaire_principal_initial.personne_morale_prenom))
                    ELSE TRIM(CONCAT(petitionnaire_principal_initial.personne_morale_raison_sociale, ' ', petitionnaire_principal_initial.personne_morale_denomination))
                END
        END AS nom_petitionnaire_principal_initial,
    
        CASE WHEN petitionnaire_principal_initial.qualite='particulier'
            THEN ''
            ELSE petitionnaire_principal_initial.personne_morale_raison_sociale
        END AS raison_sociale_petitionnaire_principal_initial,
        CASE WHEN petitionnaire_principal_initial.qualite='particulier'
            THEN ''
            ELSE petitionnaire_principal_initial.personne_morale_denomination
        END AS denomination_petitionnaire_principal_initial,
        CASE WHEN petitionnaire_principal_initial.qualite='particulier'
            THEN ''
            ELSE petitionnaire_principal_initial.personne_morale_siret
        END AS siret_petitionnaire_principal_initial,
        CASE WHEN petitionnaire_principal_initial.qualite='particulier'
            THEN ''
            ELSE petitionnaire_principal_initial.personne_morale_categorie_juridique
        END AS categorie_juridique_petitionnaire_principal_initial,
    
        petitionnaire_principal_initial.numero AS numero_petitionnaire_principal_initial,
    &DB_PREFIXEadresse(petitionnaire_principal_initial.numero::text, petitionnaire_principal_initial.voie::text, petitionnaire_principal_initial.complement::text, petitionnaire_principal_initial.lieu_dit::text, petitionnaire_principal_initial.bp::text, petitionnaire_principal_initial.code_postal::text, petitionnaire_principal_initial.localite::text, petitionnaire_principal_initial.cedex::text, petitionnaire_principal_initial.pays::text) AS adresse_petitionnaire_principal_initial_sdl,
    &DB_PREFIXEadresse(petitionnaire_principal_initial.numero::text, petitionnaire_principal_initial.voie::text, petitionnaire_principal_initial.complement::text, petitionnaire_principal_initial.lieu_dit::text, petitionnaire_principal_initial.bp::text, petitionnaire_principal_initial.code_postal::text, petitionnaire_principal_initial.localite::text, petitionnaire_principal_initial.cedex::text, petitionnaire_principal_initial.pays::text, ' '::text) AS adresse_petitionnaire_principal_initial,
        petitionnaire_principal_initial.voie AS voie_petitionnaire_principal_initial,
        petitionnaire_principal_initial.complement AS complement_petitionnaire_principal_initial,
        petitionnaire_principal_initial.lieu_dit AS lieu_dit_petitionnaire_principal_initial,
        CASE 
            WHEN petitionnaire_principal_initial.bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', petitionnaire_principal_initial.bp)
        END AS bp_petitionnaire_principal_initial,
        petitionnaire_principal_initial.code_postal AS code_postal_petitionnaire_principal_initial,
        petitionnaire_principal_initial.localite AS localite_petitionnaire_principal_initial,
        CASE 
            WHEN petitionnaire_principal_initial.cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', petitionnaire_principal_initial.cedex)
        END AS cedex_petitionnaire_principal_initial,
        petitionnaire_principal_initial.pays AS pays_petitionnaire_principal,
        petitionnaire_principal_initial.division_territoriale AS division_territoriale_petitionnaire_principal,
        CASE WHEN petitionnaire_principal_initial.qualite = 'particulier'
            THEN TO_CHAR(petitionnaire_principal_initial.particulier_date_naissance, 'DD/MM/YYYY')
            ELSE ''
        END AS date_naissance_petitionnaire_principal_initial,
        CASE WHEN petitionnaire_principal_initial.qualite = 'particulier'
            THEN CONCAT_WS(' ', petitionnaire_principal_initial.particulier_commune_naissance, petitionnaire_principal_initial.particulier_departement_naissance, petitionnaire_principal_initial.particulier_pays_naissance)
            ELSE ''
        END AS lieu_naissance_petitionnaire_principal_initial,
        petitionnaire_principal_initial.courriel AS email_petitionnaire_principal_initial,
        CONCAT_WS(' ', petitionnaire_principal_initial.indicatif, CONCAT_WS(' / ', petitionnaire_principal_initial.telephone_fixe, petitionnaire_principal_initial.telephone_mobile)) AS coordonnees_telephonique_petitionnaire_principal_initial,
        CASE WHEN petitionnaire_principal_initial.notification IS TRUE
            THEN '[X]'
            ELSE '[ ]'
        END AS notification_petitionnaire_principal_initial,
    
        --Coordonnées du pétitionnaire 1
    
        CASE WHEN petitionnaire_1.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', petitionnaire_1.civilite_libelle, petitionnaire_1.particulier_nom, petitionnaire_1.particulier_prenom))
            ELSE
                CASE WHEN petitionnaire_1.personne_morale_nom IS NOT NULL OR petitionnaire_1.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', petitionnaire_1.personne_morale_raison_sociale, petitionnaire_1.personne_morale_denomination, 'représenté(e) par', petitionnaire_1.civilite_libelle, petitionnaire_1.personne_morale_nom, petitionnaire_1.personne_morale_prenom))
                    ELSE TRIM(CONCAT(petitionnaire_1.personne_morale_raison_sociale, ' ', petitionnaire_1.personne_morale_denomination))
                END
        END AS nom_complet_qualite_part_ou_pm_petitionnaire_1,
        CASE WHEN petitionnaire_1.qualite='particulier' OR petitionnaire_1.personne_morale_nom IS NOT NULL OR petitionnaire_1.personne_morale_prenom IS NOT NULL
            THEN petitionnaire_1.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_ou_pm_petitionnaire_1,
        CASE WHEN petitionnaire_1.qualite='particulier'
            THEN petitionnaire_1.particulier_nom
            ELSE
                CASE WHEN petitionnaire_1.personne_morale_nom IS NOT NULL
                    THEN petitionnaire_1.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_part_ou_pm_petitionnaire_1,
        CASE WHEN petitionnaire_1.qualite='particulier'
            THEN petitionnaire_1.particulier_prenom
            ELSE
                CASE WHEN petitionnaire_1.personne_morale_prenom IS NOT NULL
                    THEN petitionnaire_1.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_part_ou_pm_petitionnaire_1,
        CASE WHEN petitionnaire_1.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', petitionnaire_1.civilite_libelle, petitionnaire_1.particulier_nom, petitionnaire_1.particulier_prenom))
            ELSE ''
        END AS nom_complet_qualite_part_petitionnaire_1,
        CASE WHEN petitionnaire_1.qualite='particulier'
            THEN petitionnaire_1.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_petitionnaire_1,
        CASE WHEN petitionnaire_1.qualite='particulier'
            THEN petitionnaire_1.particulier_nom
            ELSE ''
        END AS nom_qualite_part_petitionnaire_1,
        CASE WHEN petitionnaire_1.qualite='particulier'
            THEN petitionnaire_1.particulier_prenom
            ELSE ''
        END AS prenom_qualite_part_petitionnaire_1,
        CASE WHEN petitionnaire_1.personne_morale_nom IS NOT NULL OR petitionnaire_1.personne_morale_prenom IS NOT NULL
            THEN TRIM(CONCAT_WS(' ', petitionnaire_1.personne_morale_raison_sociale, petitionnaire_1.personne_morale_denomination, 'représenté(e) par', petitionnaire_1.civilite_libelle, petitionnaire_1.personne_morale_nom, petitionnaire_1.personne_morale_prenom))
            ELSE TRIM(CONCAT(petitionnaire_1.personne_morale_raison_sociale, ' ', petitionnaire_1.personne_morale_denomination))
        END AS nom_complet_qualite_pm_petitionnaire_1,
        CASE WHEN petitionnaire_1.personne_morale_nom IS NOT NULL OR petitionnaire_1.personne_morale_prenom IS NOT NULL
            THEN petitionnaire_1.civilite_libelle
            ELSE ''
        END AS civilite_qualite_pm_petitionnaire_1,
        CASE WHEN petitionnaire_1.personne_morale_nom IS NOT NULL
            THEN petitionnaire_1.personne_morale_nom
            ELSE ''
        END AS nom_qualite_pm_petitionnaire_1,
        CASE WHEN petitionnaire_1.personne_morale_prenom IS NOT NULL
            THEN petitionnaire_1.personne_morale_prenom
            ELSE ''
        END AS prenom_qualite_pm_petitionnaire_1,
        CASE WHEN petitionnaire_1.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', petitionnaire_1.civilite_libelle, petitionnaire_1.particulier_nom, petitionnaire_1.particulier_prenom))
            ELSE
                CASE WHEN petitionnaire_1.personne_morale_nom IS NOT NULL OR petitionnaire_1.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', petitionnaire_1.personne_morale_raison_sociale, petitionnaire_1.personne_morale_denomination, 'représenté(e) par', petitionnaire_1.civilite_libelle, petitionnaire_1.personne_morale_nom, petitionnaire_1.personne_morale_prenom))
                    ELSE TRIM(CONCAT(petitionnaire_1.personne_morale_raison_sociale, ' ', petitionnaire_1.personne_morale_denomination))
                END
        END AS nom_petitionnaire_1,
        CASE WHEN petitionnaire_1.qualite='particulier'
            THEN ''
            ELSE petitionnaire_1.personne_morale_raison_sociale
        END AS raison_sociale_petitionnaire_1,
        CASE WHEN petitionnaire_1.qualite='particulier'
            THEN ''
            ELSE petitionnaire_1.personne_morale_denomination
        END AS denomination_petitionnaire_1,
        CASE WHEN petitionnaire_1.qualite='particulier'
            THEN ''
            ELSE petitionnaire_1.personne_morale_siret
        END AS siret_petitionnaire_1,
        CASE WHEN petitionnaire_1.qualite='particulier'
            THEN ''
            ELSE petitionnaire_1.personne_morale_categorie_juridique
        END AS categorie_juridique_petitionnaire_1,
        petitionnaire_1.numero AS numero_petitionnaire_1,
    &DB_PREFIXEadresse(petitionnaire_1.numero::text, petitionnaire_1.voie::text, petitionnaire_1.complement::text, petitionnaire_1.lieu_dit::text, petitionnaire_1.bp::text, petitionnaire_1.code_postal::text, petitionnaire_1.localite::text, petitionnaire_1.cedex::text, petitionnaire_1.pays::text) AS adresse_petitionnaire_1_sdl,
    &DB_PREFIXEadresse(petitionnaire_1.numero::text, petitionnaire_1.voie::text, petitionnaire_1.complement::text, petitionnaire_1.lieu_dit::text, petitionnaire_1.bp::text, petitionnaire_1.code_postal::text, petitionnaire_1.localite::text, petitionnaire_1.cedex::text, petitionnaire_1.pays::text, ' '::text) AS adresse_petitionnaire_1,
        petitionnaire_1.voie AS voie_petitionnaire_1,
        petitionnaire_1.complement AS complement_petitionnaire_1,
        petitionnaire_1.lieu_dit AS lieu_dit_petitionnaire_1,
        CASE 
            WHEN petitionnaire_1.bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', petitionnaire_1.bp)
        END AS bp_petitionnaire_1,
        petitionnaire_1.code_postal AS code_postal_petitionnaire_1,
        petitionnaire_1.localite AS localite_petitionnaire_1,
        CASE 
            WHEN petitionnaire_1.cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', petitionnaire_1.cedex)
        END AS cedex_petitionnaire_1,
        petitionnaire_1.pays AS pays_petitionnaire_1,
        petitionnaire_1.division_territoriale AS division_territoriale_petitionnaire_1,
        CASE WHEN petitionnaire_1.qualite = 'particulier'
            THEN TO_CHAR(petitionnaire_1.particulier_date_naissance, 'DD/MM/YYYY')
            ELSE ''
        END AS date_naissance_petitionnaire_1,
        CASE WHEN petitionnaire_1.qualite = 'particulier'
            THEN CONCAT_WS(' ', petitionnaire_1.particulier_commune_naissance, petitionnaire_1.particulier_departement_naissance, petitionnaire_1.particulier_pays_naissance)
            ELSE ''
        END AS lieu_naissance_petitionnaire_1,
        petitionnaire_1.courriel AS email_petitionnaire_1,
        CONCAT_WS(' ', petitionnaire_1.indicatif, CONCAT_WS(' / ', petitionnaire_1.telephone_fixe, petitionnaire_1.telephone_mobile)) AS coordonnees_telephonique_petitionnaire_1,
    
        --Coordonnées du pétitionnaire 2
    
        CASE WHEN petitionnaire_2.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', petitionnaire_2.civilite_libelle, petitionnaire_2.particulier_nom, petitionnaire_2.particulier_prenom))
            ELSE
                CASE WHEN petitionnaire_2.personne_morale_nom IS NOT NULL OR petitionnaire_2.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', petitionnaire_2.personne_morale_raison_sociale, petitionnaire_2.personne_morale_denomination, 'représenté(e) par', petitionnaire_2.civilite_libelle, petitionnaire_2.personne_morale_nom, petitionnaire_2.personne_morale_prenom))
                    ELSE TRIM(CONCAT(petitionnaire_2.personne_morale_raison_sociale, ' ', petitionnaire_2.personne_morale_denomination))
                END
        END AS nom_complet_qualite_part_ou_pm_petitionnaire_2,
        CASE WHEN petitionnaire_2.qualite='particulier' OR petitionnaire_2.personne_morale_nom IS NOT NULL OR petitionnaire_2.personne_morale_prenom IS NOT NULL
            THEN petitionnaire_2.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_ou_pm_petitionnaire_2,
        CASE WHEN petitionnaire_2.qualite='particulier'
            THEN petitionnaire_2.particulier_nom
            ELSE
                CASE WHEN petitionnaire_2.personne_morale_nom IS NOT NULL
                    THEN petitionnaire_2.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_part_ou_pm_petitionnaire_2,
        CASE WHEN petitionnaire_2.qualite='particulier'
            THEN petitionnaire_2.particulier_prenom
            ELSE
                CASE WHEN petitionnaire_2.personne_morale_prenom IS NOT NULL
                    THEN petitionnaire_2.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_part_ou_pm_petitionnaire_2,
        CASE WHEN petitionnaire_2.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', petitionnaire_2.civilite_libelle, petitionnaire_2.particulier_nom, petitionnaire_2.particulier_prenom))
            ELSE ''
        END AS nom_complet_qualite_part_petitionnaire_2,
        CASE WHEN petitionnaire_2.qualite='particulier'
            THEN petitionnaire_2.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_petitionnaire_2,
        CASE WHEN petitionnaire_2.qualite='particulier'
            THEN petitionnaire_2.particulier_nom
            ELSE ''
        END AS nom_qualite_part_petitionnaire_2,
        CASE WHEN petitionnaire_2.qualite='particulier'
            THEN petitionnaire_2.particulier_prenom
            ELSE ''
        END AS prenom_qualite_part_petitionnaire_2,
        CASE WHEN petitionnaire_2.personne_morale_nom IS NOT NULL OR petitionnaire_2.personne_morale_prenom IS NOT NULL
            THEN TRIM(CONCAT_WS(' ', petitionnaire_2.personne_morale_raison_sociale, petitionnaire_2.personne_morale_denomination, 'représenté(e) par', petitionnaire_2.civilite_libelle, petitionnaire_2.personne_morale_nom, petitionnaire_2.personne_morale_prenom))
            ELSE TRIM(CONCAT(petitionnaire_2.personne_morale_raison_sociale, ' ', petitionnaire_2.personne_morale_denomination))
        END AS nom_complet_qualite_pm_petitionnaire_2,
        CASE WHEN petitionnaire_2.personne_morale_nom IS NOT NULL OR petitionnaire_2.personne_morale_prenom IS NOT NULL
            THEN petitionnaire_2.civilite_libelle
            ELSE ''
        END AS civilite_qualite_pm_petitionnaire_2,
        CASE WHEN petitionnaire_2.personne_morale_nom IS NOT NULL
            THEN petitionnaire_2.personne_morale_nom
            ELSE ''
        END AS nom_qualite_pm_petitionnaire_2,
        CASE WHEN petitionnaire_2.personne_morale_prenom IS NOT NULL
            THEN petitionnaire_2.personne_morale_prenom
            ELSE ''
        END AS prenom_qualite_pm_petitionnaire_2,
        CASE WHEN petitionnaire_2.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', petitionnaire_2.civilite_libelle, petitionnaire_2.particulier_nom, petitionnaire_2.particulier_prenom))
            ELSE
                CASE WHEN petitionnaire_2.personne_morale_nom IS NOT NULL OR petitionnaire_2.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', petitionnaire_2.personne_morale_raison_sociale, petitionnaire_2.personne_morale_denomination, 'représenté(e) par', petitionnaire_2.civilite_libelle, petitionnaire_2.personne_morale_nom, petitionnaire_2.personne_morale_prenom))
                    ELSE TRIM(CONCAT(petitionnaire_2.personne_morale_raison_sociale, ' ', petitionnaire_2.personne_morale_denomination))
                END
        END AS nom_petitionnaire_2,
        CASE WHEN petitionnaire_2.qualite='particulier'
            THEN ''
            ELSE petitionnaire_2.personne_morale_raison_sociale
        END AS raison_sociale_petitionnaire_2,
        CASE WHEN petitionnaire_2.qualite='particulier'
            THEN ''
            ELSE petitionnaire_2.personne_morale_denomination
        END AS denomination_petitionnaire_2,
        CASE WHEN petitionnaire_2.qualite='particulier'
            THEN ''
            ELSE petitionnaire_2.personne_morale_categorie_juridique
        END AS categorie_juridique_petitionnaire_2,
        CASE WHEN petitionnaire_2.qualite='particulier'
            THEN ''
            ELSE petitionnaire_2.personne_morale_siret
        END AS siret_petitionnaire_2,
        petitionnaire_2.numero AS numero_petitionnaire_2,
    &DB_PREFIXEadresse(petitionnaire_2.numero::text, petitionnaire_2.voie::text, petitionnaire_2.complement::text, petitionnaire_2.lieu_dit::text, petitionnaire_2.bp::text, petitionnaire_2.code_postal::text, petitionnaire_2.localite::text, petitionnaire_2.cedex::text, petitionnaire_2.pays::text) AS adresse_petitionnaire_2_sdl,
    &DB_PREFIXEadresse(petitionnaire_2.numero::text, petitionnaire_2.voie::text, petitionnaire_2.complement::text, petitionnaire_2.lieu_dit::text, petitionnaire_2.bp::text, petitionnaire_2.code_postal::text, petitionnaire_2.localite::text, petitionnaire_2.cedex::text, petitionnaire_2.pays::text, ' '::text) AS adresse_petitionnaire_2,
        petitionnaire_2.voie AS voie_petitionnaire_2,
        petitionnaire_2.complement AS complement_petitionnaire_2,
        petitionnaire_2.lieu_dit AS lieu_dit_petitionnaire_2,
        CASE 
            WHEN petitionnaire_2.bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', petitionnaire_2.bp)
        END AS bp_petitionnaire_2,
        petitionnaire_2.code_postal AS code_postal_petitionnaire_2,
        petitionnaire_2.localite AS localite_petitionnaire_2,
        CASE 
            WHEN petitionnaire_2.cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', petitionnaire_2.cedex)
        END AS cedex_petitionnaire_2,
        petitionnaire_2.pays AS pays_petitionnaire_2,
        petitionnaire_2.division_territoriale AS division_territoriale_petitionnaire_2,
        CASE WHEN petitionnaire_2.qualite = 'particulier'
            THEN TO_CHAR(petitionnaire_2.particulier_date_naissance, 'DD/MM/YYYY')
            ELSE ''
        END AS date_naissance_petitionnaire_2,
        CASE WHEN petitionnaire_2.qualite = 'particulier'
            THEN CONCAT_WS(' ', petitionnaire_2.particulier_commune_naissance, petitionnaire_2.particulier_departement_naissance, petitionnaire_2.particulier_pays_naissance)
            ELSE ''
        END AS lieu_naissance_petitionnaire_2,
        petitionnaire_2.courriel AS email_petitionnaire_2,
        CONCAT_WS(' ', petitionnaire_2.indicatif, CONCAT_WS(' / ', petitionnaire_2.telephone_fixe, petitionnaire_2.telephone_mobile)) AS coordonnees_telephonique_petitionnaire_2,
    
        --Coordonnées du pétitionnaire 3
    
        CASE WHEN petitionnaire_3.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', petitionnaire_3.civilite_libelle, petitionnaire_3.particulier_nom, petitionnaire_3.particulier_prenom))
            ELSE
                CASE WHEN petitionnaire_3.personne_morale_nom IS NOT NULL OR petitionnaire_3.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', petitionnaire_3.personne_morale_raison_sociale, petitionnaire_3.personne_morale_denomination, 'représenté(e) par', petitionnaire_3.civilite_libelle, petitionnaire_3.personne_morale_nom, petitionnaire_3.personne_morale_prenom))
                    ELSE TRIM(CONCAT(petitionnaire_3.personne_morale_raison_sociale, ' ', petitionnaire_3.personne_morale_denomination))
                END
        END AS nom_complet_qualite_part_ou_pm_petitionnaire_3,
        CASE WHEN petitionnaire_3.qualite='particulier' OR petitionnaire_3.personne_morale_nom IS NOT NULL OR petitionnaire_3.personne_morale_prenom IS NOT NULL
            THEN petitionnaire_3.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_ou_pm_petitionnaire_3,
        CASE WHEN petitionnaire_3.qualite='particulier'
            THEN petitionnaire_3.particulier_nom
            ELSE
                CASE WHEN petitionnaire_3.personne_morale_nom IS NOT NULL
                    THEN petitionnaire_3.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_part_ou_pm_petitionnaire_3,
        CASE WHEN petitionnaire_3.qualite='particulier'
            THEN petitionnaire_3.particulier_prenom
            ELSE
                CASE WHEN petitionnaire_3.personne_morale_prenom IS NOT NULL
                    THEN petitionnaire_3.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_part_ou_pm_petitionnaire_3,
        CASE WHEN petitionnaire_3.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', petitionnaire_3.civilite_libelle, petitionnaire_3.particulier_nom, petitionnaire_3.particulier_prenom))
            ELSE ''
        END AS nom_complet_qualite_part_petitionnaire_3,
        CASE WHEN petitionnaire_3.qualite='particulier'
            THEN petitionnaire_3.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_petitionnaire_3,
        CASE WHEN petitionnaire_3.qualite='particulier'
            THEN petitionnaire_3.particulier_nom
            ELSE ''
        END AS nom_qualite_part_petitionnaire_3,
        CASE WHEN petitionnaire_3.qualite='particulier'
            THEN petitionnaire_3.particulier_prenom
            ELSE ''
        END AS prenom_qualite_part_petitionnaire_3,
        CASE WHEN petitionnaire_3.personne_morale_nom IS NOT NULL OR petitionnaire_3.personne_morale_prenom IS NOT NULL
            THEN TRIM(CONCAT_WS(' ', petitionnaire_3.personne_morale_raison_sociale, petitionnaire_3.personne_morale_denomination, 'représenté(e) par', petitionnaire_3.civilite_libelle, petitionnaire_3.personne_morale_nom, petitionnaire_3.personne_morale_prenom))
            ELSE TRIM(CONCAT(petitionnaire_3.personne_morale_raison_sociale, ' ', petitionnaire_3.personne_morale_denomination))
        END AS nom_complet_qualite_pm_petitionnaire_3,
        CASE WHEN petitionnaire_3.personne_morale_nom IS NOT NULL OR petitionnaire_3.personne_morale_prenom IS NOT NULL
            THEN petitionnaire_3.civilite_libelle
            ELSE ''
        END AS civilite_qualite_pm_petitionnaire_3,
        CASE WHEN petitionnaire_3.personne_morale_nom IS NOT NULL
            THEN petitionnaire_3.personne_morale_nom
            ELSE ''
        END AS nom_qualite_pm_petitionnaire_3,
        CASE WHEN petitionnaire_3.personne_morale_prenom IS NOT NULL
            THEN petitionnaire_3.personne_morale_prenom
            ELSE ''
        END AS prenom_qualite_pm_petitionnaire_3,
        CASE WHEN petitionnaire_3.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', petitionnaire_3.civilite_libelle, petitionnaire_3.particulier_nom, petitionnaire_3.particulier_prenom))
            ELSE
                CASE WHEN petitionnaire_3.personne_morale_nom IS NOT NULL OR petitionnaire_3.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', petitionnaire_3.personne_morale_raison_sociale, petitionnaire_3.personne_morale_denomination, 'représenté(e) par', petitionnaire_3.civilite_libelle, petitionnaire_3.personne_morale_nom, petitionnaire_3.personne_morale_prenom))
                    ELSE TRIM(CONCAT(petitionnaire_3.personne_morale_raison_sociale, ' ', petitionnaire_3.personne_morale_denomination))
                END
        END AS nom_petitionnaire_3,
        CASE WHEN petitionnaire_3.qualite='particulier'
            THEN ''
            ELSE petitionnaire_3.personne_morale_raison_sociale
        END AS raison_sociale_petitionnaire_3,
        CASE WHEN petitionnaire_3.qualite='particulier'
            THEN ''
            ELSE petitionnaire_3.personne_morale_denomination
        END AS denomination_petitionnaire_3,
        CASE WHEN petitionnaire_3.qualite='particulier'
            THEN ''
            ELSE petitionnaire_3.personne_morale_siret
        END AS siret_petitionnaire_3,
        CASE WHEN petitionnaire_3.qualite='particulier'
            THEN ''
            ELSE petitionnaire_3.personne_morale_categorie_juridique
        END AS categorie_juridique_petitionnaire_3,
        petitionnaire_3.numero AS numero_petitionnaire_3,
    &DB_PREFIXEadresse(petitionnaire_3.numero::text, petitionnaire_3.voie::text, petitionnaire_3.complement::text, petitionnaire_3.lieu_dit::text, petitionnaire_3.bp::text, petitionnaire_3.code_postal::text, petitionnaire_3.localite::text, petitionnaire_3.cedex::text, petitionnaire_3.pays::text) AS adresse_petitionnaire_3_sdl,
    &DB_PREFIXEadresse(petitionnaire_3.numero::text, petitionnaire_3.voie::text, petitionnaire_3.complement::text, petitionnaire_3.lieu_dit::text, petitionnaire_3.bp::text, petitionnaire_3.code_postal::text, petitionnaire_3.localite::text, petitionnaire_3.cedex::text, petitionnaire_3.pays::text, ' '::text) AS adresse_petitionnaire_3,
        petitionnaire_3.voie AS voie_petitionnaire_3,
        petitionnaire_3.complement AS complement_petitionnaire_3,
        petitionnaire_3.lieu_dit AS lieu_dit_petitionnaire_3,
        CASE 
            WHEN petitionnaire_3.bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', petitionnaire_3.bp)
        END AS bp_petitionnaire_3,
        petitionnaire_3.code_postal AS code_postal_petitionnaire_3,
        petitionnaire_3.localite AS localite_petitionnaire_3,
        CASE 
            WHEN petitionnaire_3.cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', petitionnaire_3.cedex)
        END AS cedex_petitionnaire_3,
        petitionnaire_3.pays AS pays_petitionnaire_3,
        petitionnaire_3.division_territoriale AS division_territoriale_petitionnaire_3,
        CASE WHEN petitionnaire_3.qualite = 'particulier'
            THEN TO_CHAR(petitionnaire_3.particulier_date_naissance, 'DD/MM/YYYY')
            ELSE ''
        END AS date_naissance_petitionnaire_3,
        CASE WHEN petitionnaire_3.qualite = 'particulier'
            THEN CONCAT_WS(' ', petitionnaire_3.particulier_commune_naissance, petitionnaire_3.particulier_departement_naissance, petitionnaire_3.particulier_pays_naissance)
            ELSE ''
        END AS lieu_naissance_petitionnaire_3,
        petitionnaire_3.courriel AS email_petitionnaire_3,
        CONCAT_WS(' ', petitionnaire_3.indicatif, CONCAT_WS(' / ', petitionnaire_3.telephone_fixe, petitionnaire_3.telephone_mobile)) AS coordonnees_telephonique_petitionnaire_3,
    
        --Coordonnées du pétitionnaire 4
    
        CASE WHEN petitionnaire_4.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', petitionnaire_4.civilite_libelle, petitionnaire_4.particulier_nom, petitionnaire_4.particulier_prenom))
            ELSE
                CASE WHEN petitionnaire_4.personne_morale_nom IS NOT NULL OR petitionnaire_4.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', petitionnaire_4.personne_morale_raison_sociale, petitionnaire_4.personne_morale_denomination, 'représenté(e) par', petitionnaire_4.civilite_libelle, petitionnaire_4.personne_morale_nom, petitionnaire_4.personne_morale_prenom))
                    ELSE TRIM(CONCAT(petitionnaire_4.personne_morale_raison_sociale, ' ', petitionnaire_4.personne_morale_denomination))
                END
        END AS nom_complet_qualite_part_ou_pm_petitionnaire_4,
        CASE WHEN petitionnaire_4.qualite='particulier' OR petitionnaire_4.personne_morale_nom IS NOT NULL OR petitionnaire_4.personne_morale_prenom IS NOT NULL
            THEN petitionnaire_4.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_ou_pm_petitionnaire_4,
        CASE WHEN petitionnaire_4.qualite='particulier'
            THEN petitionnaire_4.particulier_nom
            ELSE
                CASE WHEN petitionnaire_4.personne_morale_nom IS NOT NULL
                    THEN petitionnaire_4.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_part_ou_pm_petitionnaire_4,
        CASE WHEN petitionnaire_4.qualite='particulier'
            THEN petitionnaire_4.particulier_prenom
            ELSE
                CASE WHEN petitionnaire_4.personne_morale_prenom IS NOT NULL
                    THEN petitionnaire_4.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_part_ou_pm_petitionnaire_4,
        CASE WHEN petitionnaire_4.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', petitionnaire_4.civilite_libelle, petitionnaire_4.particulier_nom, petitionnaire_4.particulier_prenom))
            ELSE ''
        END AS nom_complet_qualite_part_petitionnaire_4,
        CASE WHEN petitionnaire_4.qualite='particulier'
            THEN petitionnaire_4.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_petitionnaire_4,
        CASE WHEN petitionnaire_4.qualite='particulier'
            THEN petitionnaire_4.particulier_nom
            ELSE ''
        END AS nom_qualite_part_petitionnaire_4,
        CASE WHEN petitionnaire_4.qualite='particulier'
            THEN petitionnaire_4.particulier_prenom
            ELSE ''
        END AS prenom_qualite_part_petitionnaire_4,
        CASE WHEN petitionnaire_4.personne_morale_nom IS NOT NULL OR petitionnaire_4.personne_morale_prenom IS NOT NULL
            THEN TRIM(CONCAT_WS(' ', petitionnaire_4.personne_morale_raison_sociale, petitionnaire_4.personne_morale_denomination, 'représenté(e) par', petitionnaire_4.civilite_libelle, petitionnaire_4.personne_morale_nom, petitionnaire_4.personne_morale_prenom))
            ELSE TRIM(CONCAT(petitionnaire_4.personne_morale_raison_sociale, ' ', petitionnaire_4.personne_morale_denomination))
        END AS nom_complet_qualite_pm_petitionnaire_4,
        CASE WHEN petitionnaire_4.personne_morale_nom IS NOT NULL OR petitionnaire_4.personne_morale_prenom IS NOT NULL
            THEN petitionnaire_4.civilite_libelle
            ELSE ''
        END AS civilite_qualite_pm_petitionnaire_4,
        CASE WHEN petitionnaire_4.personne_morale_nom IS NOT NULL
            THEN petitionnaire_4.personne_morale_nom
            ELSE ''
        END AS nom_qualite_pm_petitionnaire_4,
        CASE WHEN petitionnaire_4.personne_morale_prenom IS NOT NULL
            THEN petitionnaire_4.personne_morale_prenom
            ELSE ''
        END AS prenom_qualite_pm_petitionnaire_4,
        CASE WHEN petitionnaire_4.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', petitionnaire_4.civilite_libelle, petitionnaire_4.particulier_nom, petitionnaire_4.particulier_prenom))
            ELSE
                CASE WHEN petitionnaire_4.personne_morale_nom IS NOT NULL OR petitionnaire_4.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', petitionnaire_4.personne_morale_raison_sociale, petitionnaire_4.personne_morale_denomination, 'représenté(e) par', petitionnaire_4.civilite_libelle, petitionnaire_4.personne_morale_nom, petitionnaire_4.personne_morale_prenom))
                    ELSE TRIM(CONCAT(petitionnaire_4.personne_morale_raison_sociale, ' ', petitionnaire_4.personne_morale_denomination))
                END
        END AS nom_petitionnaire_4,
        CASE WHEN petitionnaire_4.qualite='particulier'
            THEN ''
            ELSE petitionnaire_4.personne_morale_raison_sociale
        END AS raison_sociale_petitionnaire_4,
        CASE WHEN petitionnaire_4.qualite='particulier'
            THEN ''
            ELSE petitionnaire_4.personne_morale_denomination
        END AS denomination_petitionnaire_4,
        CASE WHEN petitionnaire_4.qualite='particulier'
            THEN ''
            ELSE petitionnaire_4.personne_morale_categorie_juridique
        END AS categorie_juridique_petitionnaire_4,
        CASE WHEN petitionnaire_4.qualite='particulier'
            THEN ''
            ELSE petitionnaire_4.personne_morale_siret
        END AS siret_petitionnaire_4,
        petitionnaire_4.numero AS numero_petitionnaire_4,
    &DB_PREFIXEadresse(petitionnaire_4.numero::text, petitionnaire_4.voie::text, petitionnaire_4.complement::text, petitionnaire_4.lieu_dit::text, petitionnaire_4.bp::text, petitionnaire_4.code_postal::text, petitionnaire_4.localite::text, petitionnaire_4.cedex::text, petitionnaire_4.pays::text) AS adresse_petitionnaire_4_sdl,
    &DB_PREFIXEadresse(petitionnaire_4.numero::text, petitionnaire_4.voie::text, petitionnaire_4.complement::text, petitionnaire_4.lieu_dit::text, petitionnaire_4.bp::text, petitionnaire_4.code_postal::text, petitionnaire_4.localite::text, petitionnaire_4.cedex::text, petitionnaire_4.pays::text, ' '::text) AS adresse_petitionnaire_4,
        petitionnaire_4.voie AS voie_petitionnaire_4,
        petitionnaire_4.complement AS complement_petitionnaire_4,
        petitionnaire_4.lieu_dit AS lieu_dit_petitionnaire_4,
        CASE 
            WHEN petitionnaire_4.bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', petitionnaire_4.bp)
        END AS bp_petitionnaire_4,
        petitionnaire_4.code_postal AS code_postal_petitionnaire_4,
        petitionnaire_4.localite AS localite_petitionnaire_4,
        CASE 
            WHEN petitionnaire_4.cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', petitionnaire_4.cedex)
        END AS cedex_petitionnaire_4,
        petitionnaire_4.pays AS pays_petitionnaire_4,
        petitionnaire_4.division_territoriale AS division_territoriale_petitionnaire_4,
        CASE WHEN petitionnaire_4.qualite = 'particulier'
            THEN TO_CHAR(petitionnaire_4.particulier_date_naissance, 'DD/MM/YYYY')
            ELSE ''
        END AS date_naissance_petitionnaire_4,
        CASE WHEN petitionnaire_4.qualite = 'particulier'
            THEN CONCAT_WS(' ', petitionnaire_4.particulier_commune_naissance, petitionnaire_4.particulier_departement_naissance, petitionnaire_4.particulier_pays_naissance)
            ELSE ''
        END AS lieu_naissance_petitionnaire_4,
        petitionnaire_4.courriel AS email_petitionnaire_4,
        CONCAT_WS(' ', petitionnaire_4.indicatif, CONCAT_WS(' / ', petitionnaire_4.telephone_fixe, petitionnaire_4.telephone_mobile)) AS coordonnees_telephonique_petitionnaire_4,
    
        --Coordonnées du pétitionnaire 5
    
        CASE WHEN petitionnaire_5.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', petitionnaire_5.civilite_libelle, petitionnaire_5.particulier_nom, petitionnaire_5.particulier_prenom))
            ELSE
                CASE WHEN petitionnaire_5.personne_morale_nom IS NOT NULL OR petitionnaire_5.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', petitionnaire_5.personne_morale_raison_sociale, petitionnaire_5.personne_morale_denomination, 'représenté(e) par', petitionnaire_5.civilite_libelle, petitionnaire_5.personne_morale_nom, petitionnaire_5.personne_morale_prenom))
                    ELSE TRIM(CONCAT(petitionnaire_5.personne_morale_raison_sociale, ' ', petitionnaire_5.personne_morale_denomination))
                END
        END AS nom_complet_qualite_part_ou_pm_petitionnaire_5,
        CASE WHEN petitionnaire_5.qualite='particulier' OR petitionnaire_5.personne_morale_nom IS NOT NULL OR petitionnaire_5.personne_morale_prenom IS NOT NULL
            THEN petitionnaire_5.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_ou_pm_petitionnaire_5,
        CASE WHEN petitionnaire_5.qualite='particulier'
            THEN petitionnaire_5.particulier_nom
            ELSE
                CASE WHEN petitionnaire_5.personne_morale_nom IS NOT NULL
                    THEN petitionnaire_5.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_part_ou_pm_petitionnaire_5,
        CASE WHEN petitionnaire_5.qualite='particulier'
            THEN petitionnaire_5.particulier_prenom
            ELSE
                CASE WHEN petitionnaire_5.personne_morale_prenom IS NOT NULL
                    THEN petitionnaire_5.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_part_ou_pm_petitionnaire_5,
        CASE WHEN petitionnaire_5.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', petitionnaire_5.civilite_libelle, petitionnaire_5.particulier_nom, petitionnaire_5.particulier_prenom))
            ELSE ''
        END AS nom_complet_qualite_part_petitionnaire_5,
        CASE WHEN petitionnaire_5.qualite='particulier'
            THEN petitionnaire_5.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_petitionnaire_5,
        CASE WHEN petitionnaire_5.qualite='particulier'
            THEN petitionnaire_5.particulier_nom
            ELSE ''
        END AS nom_qualite_part_petitionnaire_5,
        CASE WHEN petitionnaire_5.qualite='particulier'
            THEN petitionnaire_5.particulier_prenom
            ELSE ''
        END AS prenom_qualite_part_petitionnaire_5,
        CASE WHEN petitionnaire_5.personne_morale_nom IS NOT NULL OR petitionnaire_5.personne_morale_prenom IS NOT NULL
            THEN TRIM(CONCAT_WS(' ', petitionnaire_5.personne_morale_raison_sociale, petitionnaire_5.personne_morale_denomination, 'représenté(e) par', petitionnaire_5.civilite_libelle, petitionnaire_5.personne_morale_nom, petitionnaire_5.personne_morale_prenom))
            ELSE TRIM(CONCAT(petitionnaire_5.personne_morale_raison_sociale, ' ', petitionnaire_5.personne_morale_denomination))
        END AS nom_complet_qualite_pm_petitionnaire_5,
        CASE WHEN petitionnaire_5.personne_morale_nom IS NOT NULL OR petitionnaire_5.personne_morale_prenom IS NOT NULL
            THEN petitionnaire_5.civilite_libelle
            ELSE ''
        END AS civilite_qualite_pm_petitionnaire_5,
        CASE WHEN petitionnaire_5.personne_morale_nom IS NOT NULL
            THEN petitionnaire_5.personne_morale_nom
            ELSE ''
        END AS nom_qualite_pm_petitionnaire_5,
        CASE WHEN petitionnaire_5.personne_morale_prenom IS NOT NULL
            THEN petitionnaire_5.personne_morale_prenom
            ELSE ''
        END AS prenom_qualite_pm_petitionnaire_5,
        CASE WHEN petitionnaire_5.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', petitionnaire_5.civilite_libelle, petitionnaire_5.particulier_nom, petitionnaire_5.particulier_prenom))
            ELSE
                CASE WHEN petitionnaire_5.personne_morale_nom IS NOT NULL OR petitionnaire_5.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', petitionnaire_5.personne_morale_raison_sociale, petitionnaire_5.personne_morale_denomination, 'représenté(e) par', petitionnaire_5.civilite_libelle, petitionnaire_5.personne_morale_nom, petitionnaire_5.personne_morale_prenom))
                    ELSE TRIM(CONCAT(petitionnaire_5.personne_morale_raison_sociale, ' ', petitionnaire_5.personne_morale_denomination))
                END
        END AS nom_petitionnaire_5,
        CASE WHEN petitionnaire_5.qualite='particulier'
            THEN ''
            ELSE petitionnaire_5.personne_morale_raison_sociale
        END AS raison_sociale_petitionnaire_5,
        CASE WHEN petitionnaire_5.qualite='particulier'
            THEN ''
            ELSE petitionnaire_5.personne_morale_denomination
        END AS denomination_petitionnaire_5,
        CASE WHEN petitionnaire_5.qualite='particulier'
            THEN ''
            ELSE petitionnaire_5.personne_morale_categorie_juridique
        END AS categorie_juridique_petitionnaire_5,
        CASE WHEN petitionnaire_5.qualite='particulier'
            THEN ''
            ELSE petitionnaire_5.personne_morale_siret
        END AS siret_petitionnaire_5,
        petitionnaire_5.numero AS numero_petitionnaire_5,
    &DB_PREFIXEadresse(petitionnaire_5.numero::text, petitionnaire_5.voie::text, petitionnaire_5.complement::text, petitionnaire_5.lieu_dit::text, petitionnaire_5.bp::text, petitionnaire_5.code_postal::text, petitionnaire_5.localite::text, petitionnaire_5.cedex::text, petitionnaire_5.pays::text) AS adresse_petitionnaire_5_sdl,
    &DB_PREFIXEadresse(petitionnaire_5.numero::text, petitionnaire_5.voie::text, petitionnaire_5.complement::text, petitionnaire_5.lieu_dit::text, petitionnaire_5.bp::text, petitionnaire_5.code_postal::text, petitionnaire_5.localite::text, petitionnaire_5.cedex::text, petitionnaire_5.pays::text, ' '::text) AS adresse_petitionnaire_5,
        petitionnaire_5.voie AS voie_petitionnaire_5,
        petitionnaire_5.complement AS complement_petitionnaire_5,
        petitionnaire_5.lieu_dit AS lieu_dit_petitionnaire_5,
        CASE 
            WHEN petitionnaire_5.bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', petitionnaire_5.bp)
        END AS bp_petitionnaire_5,
        petitionnaire_5.code_postal AS code_postal_petitionnaire_5,
        petitionnaire_5.localite AS localite_petitionnaire_5,
        CASE 
            WHEN petitionnaire_5.cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', petitionnaire_5.cedex)
        END AS cedex_petitionnaire_5,
        petitionnaire_5.pays AS pays_petitionnaire_5,
        petitionnaire_5.division_territoriale AS division_territoriale_petitionnaire_5,
        CASE WHEN petitionnaire_5.qualite = 'particulier'
            THEN TO_CHAR(petitionnaire_5.particulier_date_naissance, 'DD/MM/YYYY')
            ELSE ''
        END AS date_naissance_petitionnaire_5,
        CASE WHEN petitionnaire_5.qualite = 'particulier'
            THEN CONCAT_WS(' ', petitionnaire_5.particulier_commune_naissance, petitionnaire_5.particulier_departement_naissance, petitionnaire_5.particulier_pays_naissance)
            ELSE ''
        END AS lieu_naissance_petitionnaire_5,
        petitionnaire_5.courriel AS email_petitionnaire_5,
        CONCAT_WS(' ', petitionnaire_5.indicatif, CONCAT_WS(' / ', petitionnaire_5.telephone_fixe, petitionnaire_5.telephone_mobile)) AS coordonnees_telephonique_petitionnaire_5,
    
        --Coordonnées du contrevenant principal
    
        CASE WHEN contrevenant_principal.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', contrevenant_principal.civilite_libelle, contrevenant_principal.particulier_nom, contrevenant_principal.particulier_prenom))
            ELSE
                CASE WHEN contrevenant_principal.personne_morale_nom IS NOT NULL OR contrevenant_principal.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', contrevenant_principal.personne_morale_raison_sociale, contrevenant_principal.personne_morale_denomination, 'représenté(e) par', contrevenant_principal.civilite_libelle, contrevenant_principal.personne_morale_nom, contrevenant_principal.personne_morale_prenom))
                    ELSE TRIM(CONCAT(contrevenant_principal.personne_morale_raison_sociale, ' ', contrevenant_principal.personne_morale_denomination))
                END
        END AS nom_complet_qualite_part_ou_pm_contrevenant_principal,
        CASE WHEN contrevenant_principal.qualite='particulier' OR contrevenant_principal.personne_morale_nom IS NOT NULL OR contrevenant_principal.personne_morale_prenom IS NOT NULL
            THEN contrevenant_principal.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_ou_pm_contrevenant_principal,
        CASE WHEN contrevenant_principal.qualite='particulier'
            THEN contrevenant_principal.particulier_nom
            ELSE
                CASE WHEN contrevenant_principal.personne_morale_nom IS NOT NULL
                    THEN contrevenant_principal.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_part_ou_pm_contrevenant_principal,
        CASE WHEN contrevenant_principal.qualite='particulier'
            THEN contrevenant_principal.particulier_prenom
            ELSE
                CASE WHEN contrevenant_principal.personne_morale_prenom IS NOT NULL
                    THEN contrevenant_principal.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_part_ou_pm_contrevenant_principal,
        CASE WHEN contrevenant_principal.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', contrevenant_principal.civilite_libelle, contrevenant_principal.particulier_nom, contrevenant_principal.particulier_prenom))
            ELSE ''
        END AS nom_complet_qualite_part_contrevenant_principal,
        CASE WHEN contrevenant_principal.qualite='particulier'
            THEN contrevenant_principal.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_contrevenant_principal,
        CASE WHEN contrevenant_principal.qualite='particulier'
            THEN contrevenant_principal.particulier_nom
            ELSE ''
        END AS nom_qualite_part_contrevenant_principal,
        CASE WHEN contrevenant_principal.qualite='particulier'
            THEN contrevenant_principal.particulier_prenom
            ELSE ''
        END AS prenom_qualite_part_contrevenant_principal,
        CASE WHEN contrevenant_principal.personne_morale_nom IS NOT NULL OR contrevenant_principal.personne_morale_prenom IS NOT NULL
            THEN TRIM(CONCAT_WS(' ', contrevenant_principal.personne_morale_raison_sociale, contrevenant_principal.personne_morale_denomination, 'représenté(e) par', contrevenant_principal.civilite_libelle, contrevenant_principal.personne_morale_nom, contrevenant_principal.personne_morale_prenom))
            ELSE TRIM(CONCAT(contrevenant_principal.personne_morale_raison_sociale, ' ', contrevenant_principal.personne_morale_denomination))
        END AS nom_complet_qualite_pm_contrevenant_principal,
        CASE WHEN contrevenant_principal.personne_morale_nom IS NOT NULL OR contrevenant_principal.personne_morale_prenom IS NOT NULL
            THEN contrevenant_principal.civilite_libelle
            ELSE ''
        END AS civilite_qualite_pm_contrevenant_principal,
        CASE WHEN contrevenant_principal.personne_morale_nom IS NOT NULL
            THEN contrevenant_principal.personne_morale_nom
            ELSE ''
        END AS nom_qualite_pm_contrevenant_principal,
        CASE WHEN contrevenant_principal.personne_morale_prenom IS NOT NULL
            THEN contrevenant_principal.personne_morale_prenom
            ELSE ''
        END AS prenom_qualite_pm_contrevenant_principal,
        CASE WHEN contrevenant_principal.qualite='particulier'
            THEN ''
            ELSE contrevenant_principal.personne_morale_raison_sociale
        END AS raison_sociale_contrevenant_principal,
        CASE WHEN contrevenant_principal.qualite='particulier'
            THEN ''
            ELSE contrevenant_principal.personne_morale_denomination
        END AS denomination_contrevenant_principal,
        CASE WHEN contrevenant_principal.qualite='particulier'
            THEN ''
            ELSE contrevenant_principal.personne_morale_siret
        END AS siret_contrevenant_principal,
        CASE WHEN contrevenant_principal.qualite='particulier'
            THEN ''
            ELSE contrevenant_principal.personne_morale_categorie_juridique
        END AS categorie_juridique_contrevenant_principal,
        contrevenant_principal.numero AS numero_contrevenant_principal,
    &DB_PREFIXEadresse(contrevenant_principal.numero::text, contrevenant_principal.voie::text, contrevenant_principal.complement::text, contrevenant_principal.lieu_dit::text, contrevenant_principal.bp::text, contrevenant_principal.code_postal::text, contrevenant_principal.localite::text, contrevenant_principal.cedex::text, contrevenant_principal.pays::text) AS adresse_contrevenant_principal_sdl,
    &DB_PREFIXEadresse(contrevenant_principal.numero::text, contrevenant_principal.voie::text, contrevenant_principal.complement::text, contrevenant_principal.lieu_dit::text, contrevenant_principal.bp::text, contrevenant_principal.code_postal::text, contrevenant_principal.localite::text, contrevenant_principal.cedex::text, contrevenant_principal.pays::text, ' '::text) AS adresse_contrevenant_principal,
        contrevenant_principal.voie AS voie_contrevenant_principal,
        contrevenant_principal.complement AS complement_contrevenant_principal,
        contrevenant_principal.lieu_dit AS lieu_dit_contrevenant_principal,
        CASE 
            WHEN contrevenant_principal.bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', contrevenant_principal.bp)
        END AS bp_contrevenant_principal,
        contrevenant_principal.code_postal AS code_postal_contrevenant_principal,
        contrevenant_principal.localite AS localite_contrevenant_principal,
        CASE 
            WHEN contrevenant_principal.cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', contrevenant_principal.cedex)
        END AS cedex_contrevenant_principal,
        contrevenant_principal.pays AS pays_contrevenant_principal,
        contrevenant_principal.division_territoriale AS division_territoriale_contrevenant_principal,
        CASE WHEN contrevenant_principal.qualite = 'particulier'
            THEN TO_CHAR(contrevenant_principal.particulier_date_naissance, 'DD/MM/YYYY')
            ELSE ''
        END AS date_naissance_contrevenant_principal,
        CASE WHEN contrevenant_principal.qualite = 'particulier'
            THEN CONCAT_WS(' ', contrevenant_principal.particulier_commune_naissance, contrevenant_principal.particulier_departement_naissance, contrevenant_principal.particulier_pays_naissance)
            ELSE ''
        END AS lieu_naissance_contrevenant_principal,
        contrevenant_principal.courriel AS email_contrevenant_principal,
        CONCAT_WS(' ', contrevenant_principal.indicatif, CONCAT_WS(' / ', contrevenant_principal.telephone_fixe, contrevenant_principal.telephone_mobile)) AS coordonnees_telephonique_contrevenant_principal,
    
        --Coordonnées du contrevenant 1
    
        CASE WHEN contrevenant_1.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', contrevenant_1.civilite_libelle, contrevenant_1.particulier_nom, contrevenant_1.particulier_prenom))
            ELSE
                CASE WHEN contrevenant_1.personne_morale_nom IS NOT NULL OR contrevenant_1.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', contrevenant_1.personne_morale_raison_sociale, contrevenant_1.personne_morale_denomination, 'représenté(e) par', contrevenant_1.civilite_libelle, contrevenant_1.personne_morale_nom, contrevenant_1.personne_morale_prenom))
                    ELSE TRIM(CONCAT(contrevenant_1.personne_morale_raison_sociale, ' ', contrevenant_1.personne_morale_denomination))
                END
        END AS nom_complet_qualite_part_ou_pm_contrevenant_1,
        CASE WHEN contrevenant_1.qualite='particulier' OR contrevenant_1.personne_morale_nom IS NOT NULL OR contrevenant_1.personne_morale_prenom IS NOT NULL
            THEN contrevenant_1.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_ou_pm_contrevenant_1,
        CASE WHEN contrevenant_1.qualite='particulier'
            THEN contrevenant_1.particulier_nom
            ELSE
                CASE WHEN contrevenant_1.personne_morale_nom IS NOT NULL
                    THEN contrevenant_1.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_part_ou_pm_contrevenant_1,
        CASE WHEN contrevenant_1.qualite='particulier'
            THEN contrevenant_1.particulier_prenom
            ELSE
                CASE WHEN contrevenant_1.personne_morale_prenom IS NOT NULL
                    THEN contrevenant_1.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_part_ou_pm_contrevenant_1,
        CASE WHEN contrevenant_1.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', contrevenant_1.civilite_libelle, contrevenant_1.particulier_nom, contrevenant_1.particulier_prenom))
            ELSE ''
        END AS nom_complet_qualite_part_contrevenant_1,
        CASE WHEN contrevenant_1.qualite='particulier'
            THEN contrevenant_1.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_contrevenant_1,
        CASE WHEN contrevenant_1.qualite='particulier'
            THEN contrevenant_1.particulier_nom
            ELSE ''
        END AS nom_qualite_part_contrevenant_1,
        CASE WHEN contrevenant_1.qualite='particulier'
            THEN contrevenant_1.particulier_prenom
            ELSE ''
        END AS prenom_qualite_part_contrevenant_1,
        CASE WHEN contrevenant_1.personne_morale_nom IS NOT NULL OR contrevenant_1.personne_morale_prenom IS NOT NULL
            THEN TRIM(CONCAT_WS(' ', contrevenant_1.personne_morale_raison_sociale, contrevenant_1.personne_morale_denomination, 'représenté(e) par', contrevenant_1.civilite_libelle, contrevenant_1.personne_morale_nom, contrevenant_1.personne_morale_prenom))
            ELSE TRIM(CONCAT(contrevenant_1.personne_morale_raison_sociale, ' ', contrevenant_1.personne_morale_denomination))
        END AS nom_complet_qualite_pm_contrevenant_1,
        CASE WHEN contrevenant_1.personne_morale_nom IS NOT NULL OR contrevenant_1.personne_morale_prenom IS NOT NULL
            THEN contrevenant_1.civilite_libelle
            ELSE ''
        END AS civilite_qualite_pm_contrevenant_1,
        CASE WHEN contrevenant_1.personne_morale_nom IS NOT NULL
            THEN contrevenant_1.personne_morale_nom
            ELSE ''
        END AS nom_qualite_pm_contrevenant_1,
        CASE WHEN contrevenant_1.personne_morale_prenom IS NOT NULL
            THEN contrevenant_1.personne_morale_prenom
            ELSE ''
        END AS prenom_qualite_pm_contrevenant_1,
        CASE WHEN contrevenant_1.qualite='particulier'
            THEN ''
            ELSE contrevenant_1.personne_morale_raison_sociale
        END AS raison_sociale_contrevenant_1,
        CASE WHEN contrevenant_1.qualite='particulier'
            THEN ''
            ELSE contrevenant_1.personne_morale_denomination
        END AS denomination_contrevenant_1,
        CASE WHEN contrevenant_1.qualite='particulier'
            THEN ''
            ELSE contrevenant_1.personne_morale_siret
        END AS siret_contrevenant_1,
        CASE WHEN contrevenant_1.qualite='particulier'
            THEN ''
            ELSE contrevenant_1.personne_morale_categorie_juridique
        END AS categorie_juridique_contrevenant_1,
        contrevenant_1.numero AS numero_contrevenant_1,
    &DB_PREFIXEadresse(contrevenant_1.numero::text, contrevenant_1.voie::text, contrevenant_1.complement::text, contrevenant_1.lieu_dit::text, contrevenant_1.bp::text, contrevenant_1.code_postal::text, contrevenant_1.localite::text, contrevenant_1.cedex::text, contrevenant_1.pays::text) AS adresse_contrevenant_1_sdl,
    &DB_PREFIXEadresse(contrevenant_1.numero::text, contrevenant_1.voie::text, contrevenant_1.complement::text, contrevenant_1.lieu_dit::text, contrevenant_1.bp::text, contrevenant_1.code_postal::text, contrevenant_1.localite::text, contrevenant_1.cedex::text, contrevenant_1.pays::text, ' '::text) AS adresse_contrevenant_1,
        contrevenant_1.voie AS voie_contrevenant_1,
        contrevenant_1.complement AS complement_contrevenant_1,
        contrevenant_1.lieu_dit AS lieu_dit_contrevenant_1,
        CASE 
            WHEN contrevenant_1.bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', contrevenant_1.bp)
        END AS bp_contrevenant_1,
        contrevenant_1.code_postal AS code_postal_contrevenant_1,
        contrevenant_1.localite AS localite_contrevenant_1,
        CASE 
            WHEN contrevenant_1.cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', contrevenant_1.cedex)
        END AS cedex_contrevenant_1,
        contrevenant_1.pays AS pays_contrevenant_1,
        contrevenant_1.division_territoriale AS division_territoriale_contrevenant_1,
        CASE WHEN contrevenant_1.qualite = 'particulier'
            THEN TO_CHAR(contrevenant_1.particulier_date_naissance, 'DD/MM/YYYY')
            ELSE ''
        END AS date_naissance_contrevenant_1,
        CASE WHEN contrevenant_1.qualite = 'particulier'
            THEN CONCAT_WS(' ', contrevenant_1.particulier_commune_naissance, contrevenant_1.particulier_departement_naissance, contrevenant_1.particulier_pays_naissance)
            ELSE ''
        END AS lieu_naissance_contrevenant_1,
        contrevenant_1.courriel AS email_contrevenant_1,
        CONCAT_WS(' ', contrevenant_1.indicatif, CONCAT_WS(' / ', contrevenant_1.telephone_fixe, contrevenant_1.telephone_mobile)) AS coordonnees_telephonique_contrevenant_1,
    
        --Coordonnées du contrevenant 2
    
        CASE WHEN contrevenant_2.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', contrevenant_2.civilite_libelle, contrevenant_2.particulier_nom, contrevenant_2.particulier_prenom))
            ELSE
                CASE WHEN contrevenant_2.personne_morale_nom IS NOT NULL OR contrevenant_2.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', contrevenant_2.personne_morale_raison_sociale, contrevenant_2.personne_morale_denomination, 'représenté(e) par', contrevenant_2.civilite_libelle, contrevenant_2.personne_morale_nom, contrevenant_2.personne_morale_prenom))
                    ELSE TRIM(CONCAT(contrevenant_2.personne_morale_raison_sociale, ' ', contrevenant_2.personne_morale_denomination))
                END
        END AS nom_complet_qualite_part_ou_pm_contrevenant_2,
        CASE WHEN contrevenant_2.qualite='particulier' OR contrevenant_2.personne_morale_nom IS NOT NULL OR contrevenant_2.personne_morale_prenom IS NOT NULL
            THEN contrevenant_2.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_ou_pm_contrevenant_2,
        CASE WHEN contrevenant_2.qualite='particulier'
            THEN contrevenant_2.particulier_nom
            ELSE
                CASE WHEN contrevenant_2.personne_morale_nom IS NOT NULL
                    THEN contrevenant_2.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_part_ou_pm_contrevenant_2,
        CASE WHEN contrevenant_2.qualite='particulier'
            THEN contrevenant_2.particulier_prenom
            ELSE
                CASE WHEN contrevenant_2.personne_morale_prenom IS NOT NULL
                    THEN contrevenant_2.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_part_ou_pm_contrevenant_2,
        CASE WHEN contrevenant_2.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', contrevenant_2.civilite_libelle, contrevenant_2.particulier_nom, contrevenant_2.particulier_prenom))
            ELSE ''
        END AS nom_complet_qualite_part_contrevenant_2,
        CASE WHEN contrevenant_2.qualite='particulier'
            THEN contrevenant_2.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_contrevenant_2,
        CASE WHEN contrevenant_2.qualite='particulier'
            THEN contrevenant_2.particulier_nom
            ELSE ''
        END AS nom_qualite_part_contrevenant_2,
        CASE WHEN contrevenant_2.qualite='particulier'
            THEN contrevenant_2.particulier_prenom
            ELSE ''
        END AS prenom_qualite_part_contrevenant_2,
        CASE WHEN contrevenant_2.personne_morale_nom IS NOT NULL OR contrevenant_2.personne_morale_prenom IS NOT NULL
            THEN TRIM(CONCAT_WS(' ', contrevenant_2.personne_morale_raison_sociale, contrevenant_2.personne_morale_denomination, 'représenté(e) par', contrevenant_2.civilite_libelle, contrevenant_2.personne_morale_nom, contrevenant_2.personne_morale_prenom))
            ELSE TRIM(CONCAT(contrevenant_2.personne_morale_raison_sociale, ' ', contrevenant_2.personne_morale_denomination))
        END AS nom_complet_qualite_pm_contrevenant_2,
        CASE WHEN contrevenant_2.personne_morale_nom IS NOT NULL OR contrevenant_2.personne_morale_prenom IS NOT NULL
            THEN contrevenant_2.civilite_libelle
            ELSE ''
        END AS civilite_qualite_pm_contrevenant_2,
        CASE WHEN contrevenant_2.personne_morale_nom IS NOT NULL
            THEN contrevenant_2.personne_morale_nom
            ELSE ''
        END AS nom_qualite_pm_contrevenant_2,
        CASE WHEN contrevenant_2.personne_morale_prenom IS NOT NULL
            THEN contrevenant_2.personne_morale_prenom
            ELSE ''
        END AS prenom_qualite_pm_contrevenant_2,
        CASE WHEN contrevenant_2.qualite='particulier'
            THEN ''
            ELSE contrevenant_2.personne_morale_raison_sociale
        END AS raison_sociale_contrevenant_2,
        CASE WHEN contrevenant_2.qualite='particulier'
            THEN ''
            ELSE contrevenant_2.personne_morale_denomination
        END AS denomination_contrevenant_2,
        CASE WHEN contrevenant_2.qualite='particulier'
            THEN ''
            ELSE contrevenant_2.personne_morale_categorie_juridique
        END AS categorie_juridique_contrevenant_2,
        CASE WHEN contrevenant_2.qualite='particulier'
            THEN ''
            ELSE contrevenant_2.personne_morale_siret
        END AS siret_contrevenant_2,
        contrevenant_2.numero AS numero_contrevenant_2,
    &DB_PREFIXEadresse(contrevenant_2.numero::text, contrevenant_2.voie::text, contrevenant_2.complement::text, contrevenant_2.lieu_dit::text, contrevenant_2.bp::text, contrevenant_2.code_postal::text, contrevenant_2.localite::text, contrevenant_2.cedex::text, contrevenant_2.pays::text) AS adresse_contrevenant_2_sdl,
    &DB_PREFIXEadresse(contrevenant_2.numero::text, contrevenant_2.voie::text, contrevenant_2.complement::text, contrevenant_2.lieu_dit::text, contrevenant_2.bp::text, contrevenant_2.code_postal::text, contrevenant_2.localite::text, contrevenant_2.cedex::text, contrevenant_2.pays::text, ' '::text) AS adresse_contrevenant_2,
        contrevenant_2.voie AS voie_contrevenant_2,
        contrevenant_2.complement AS complement_contrevenant_2,
        contrevenant_2.lieu_dit AS lieu_dit_contrevenant_2,
        CASE 
            WHEN contrevenant_2.bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', contrevenant_2.bp)
        END AS bp_contrevenant_2,
        contrevenant_2.code_postal AS code_postal_contrevenant_2,
        contrevenant_2.localite AS localite_contrevenant_2,
        CASE 
            WHEN contrevenant_2.cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', contrevenant_2.cedex)
        END AS cedex_contrevenant_2,
        contrevenant_2.pays AS pays_contrevenant_2,
        contrevenant_2.division_territoriale AS division_territoriale_contrevenant_2,
        CASE WHEN contrevenant_2.qualite = 'particulier'
            THEN TO_CHAR(contrevenant_2.particulier_date_naissance, 'DD/MM/YYYY')
            ELSE ''
        END AS date_naissance_contrevenant_2,
        CASE WHEN contrevenant_2.qualite = 'particulier'
            THEN CONCAT_WS(' ', contrevenant_2.particulier_commune_naissance, contrevenant_2.particulier_departement_naissance, contrevenant_2.particulier_pays_naissance)
            ELSE ''
        END AS lieu_naissance_contrevenant_2,
        contrevenant_2.courriel AS email_contrevenant_2,
        CONCAT_WS(' ', contrevenant_2.indicatif, CONCAT_WS(' / ', contrevenant_2.telephone_fixe, contrevenant_2.telephone_mobile)) AS coordonnees_telephonique_contrevenant_2,
    
        --Coordonnées du contrevenant 3
    
        CASE WHEN contrevenant_3.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', contrevenant_3.civilite_libelle, contrevenant_3.particulier_nom, contrevenant_3.particulier_prenom))
            ELSE
                CASE WHEN contrevenant_3.personne_morale_nom IS NOT NULL OR contrevenant_3.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', contrevenant_3.personne_morale_raison_sociale, contrevenant_3.personne_morale_denomination, 'représenté(e) par', contrevenant_3.civilite_libelle, contrevenant_3.personne_morale_nom, contrevenant_3.personne_morale_prenom))
                    ELSE TRIM(CONCAT(contrevenant_3.personne_morale_raison_sociale, ' ', contrevenant_3.personne_morale_denomination))
                END
        END AS nom_complet_qualite_part_ou_pm_contrevenant_3,
        CASE WHEN contrevenant_3.qualite='particulier' OR contrevenant_3.personne_morale_nom IS NOT NULL OR contrevenant_3.personne_morale_prenom IS NOT NULL
            THEN contrevenant_3.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_ou_pm_contrevenant_3,
        CASE WHEN contrevenant_3.qualite='particulier'
            THEN contrevenant_3.particulier_nom
            ELSE
                CASE WHEN contrevenant_3.personne_morale_nom IS NOT NULL
                    THEN contrevenant_3.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_part_ou_pm_contrevenant_3,
        CASE WHEN contrevenant_3.qualite='particulier'
            THEN contrevenant_3.particulier_prenom
            ELSE
                CASE WHEN contrevenant_3.personne_morale_prenom IS NOT NULL
                    THEN contrevenant_3.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_part_ou_pm_contrevenant_3,
        CASE WHEN contrevenant_3.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', contrevenant_3.civilite_libelle, contrevenant_3.particulier_nom, contrevenant_3.particulier_prenom))
            ELSE ''
        END AS nom_complet_qualite_part_contrevenant_3,
        CASE WHEN contrevenant_3.qualite='particulier'
            THEN contrevenant_3.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_contrevenant_3,
        CASE WHEN contrevenant_3.qualite='particulier'
            THEN contrevenant_3.particulier_nom
            ELSE ''
        END AS nom_qualite_part_contrevenant_3,
        CASE WHEN contrevenant_3.qualite='particulier'
            THEN contrevenant_3.particulier_prenom
            ELSE ''
        END AS prenom_qualite_part_contrevenant_3,
        CASE WHEN contrevenant_3.personne_morale_nom IS NOT NULL OR contrevenant_3.personne_morale_prenom IS NOT NULL
            THEN TRIM(CONCAT_WS(' ', contrevenant_3.personne_morale_raison_sociale, contrevenant_3.personne_morale_denomination, 'représenté(e) par', contrevenant_3.civilite_libelle, contrevenant_3.personne_morale_nom, contrevenant_3.personne_morale_prenom))
            ELSE TRIM(CONCAT(contrevenant_3.personne_morale_raison_sociale, ' ', contrevenant_3.personne_morale_denomination))
        END AS nom_complet_qualite_pm_contrevenant_3,
        CASE WHEN contrevenant_3.personne_morale_nom IS NOT NULL OR contrevenant_3.personne_morale_prenom IS NOT NULL
            THEN contrevenant_3.civilite_libelle
            ELSE ''
        END AS civilite_qualite_pm_contrevenant_3,
        CASE WHEN contrevenant_3.personne_morale_nom IS NOT NULL
            THEN contrevenant_3.personne_morale_nom
            ELSE ''
        END AS nom_qualite_pm_contrevenant_3,
        CASE WHEN contrevenant_3.personne_morale_prenom IS NOT NULL
            THEN contrevenant_3.personne_morale_prenom
            ELSE ''
        END AS prenom_qualite_pm_contrevenant_3,
        CASE WHEN contrevenant_3.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', contrevenant_3.civilite_libelle, contrevenant_3.particulier_nom, contrevenant_3.particulier_prenom))
            ELSE
                CASE WHEN contrevenant_3.personne_morale_nom IS NOT NULL OR contrevenant_3.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', contrevenant_3.personne_morale_raison_sociale, contrevenant_3.personne_morale_denomination, 'représenté(e) par', contrevenant_3.civilite_libelle, contrevenant_3.personne_morale_nom, contrevenant_3.personne_morale_prenom))
                    ELSE TRIM(CONCAT(contrevenant_3.personne_morale_raison_sociale, ' ', contrevenant_3.personne_morale_denomination))
                END
        END AS nom_complet_qualite_part_ou_pm_contrevenant_3,
        CASE WHEN contrevenant_3.qualite='particulier' OR contrevenant_3.personne_morale_nom IS NOT NULL OR contrevenant_3.personne_morale_prenom IS NOT NULL
            THEN contrevenant_3.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_ou_pm_contrevenant_3,
        CASE WHEN contrevenant_3.qualite='particulier'
            THEN contrevenant_3.particulier_nom
            ELSE
                CASE WHEN contrevenant_3.personne_morale_nom IS NOT NULL
                    THEN contrevenant_3.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_part_ou_pm_contrevenant_3,
        CASE WHEN contrevenant_3.qualite='particulier'
            THEN contrevenant_3.particulier_prenom
            ELSE
                CASE WHEN contrevenant_3.personne_morale_prenom IS NOT NULL
                    THEN contrevenant_3.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_part_ou_pm_contrevenant_3,
        CASE WHEN contrevenant_3.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', contrevenant_3.civilite_libelle, contrevenant_3.particulier_nom, contrevenant_3.particulier_prenom))
            ELSE ''
        END AS nom_complet_qualite_part_contrevenant_3,
        CASE WHEN contrevenant_3.qualite='particulier'
            THEN contrevenant_3.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_contrevenant_3,
        CASE WHEN contrevenant_3.qualite='particulier'
            THEN contrevenant_3.particulier_nom
            ELSE ''
        END AS nom_qualite_part_contrevenant_3,
        CASE WHEN contrevenant_3.qualite='particulier'
            THEN contrevenant_3.particulier_prenom
            ELSE ''
        END AS prenom_qualite_part_contrevenant_3,
        CASE WHEN contrevenant_3.personne_morale_nom IS NOT NULL OR contrevenant_3.personne_morale_prenom IS NOT NULL
            THEN TRIM(CONCAT_WS(' ', contrevenant_3.personne_morale_raison_sociale, contrevenant_3.personne_morale_denomination, 'représenté(e) par', contrevenant_3.civilite_libelle, contrevenant_3.personne_morale_nom, contrevenant_3.personne_morale_prenom))
            ELSE TRIM(CONCAT(contrevenant_3.personne_morale_raison_sociale, ' ', contrevenant_3.personne_morale_denomination))
        END AS nom_complet_qualite_pm_contrevenant_3,
        CASE WHEN contrevenant_3.personne_morale_nom IS NOT NULL OR contrevenant_3.personne_morale_prenom IS NOT NULL
            THEN contrevenant_3.civilite_libelle
            ELSE ''
        END AS civilite_qualite_pm_contrevenant_3,
        CASE WHEN contrevenant_3.personne_morale_nom IS NOT NULL
            THEN contrevenant_3.personne_morale_nom
            ELSE ''
        END AS nom_qualite_pm_contrevenant_3,
        CASE WHEN contrevenant_3.personne_morale_prenom IS NOT NULL
            THEN contrevenant_3.personne_morale_prenom
            ELSE ''
        END AS prenom_qualite_pm_contrevenant_3,
        CASE WHEN contrevenant_3.qualite='particulier'
            THEN ''
            ELSE contrevenant_3.personne_morale_raison_sociale
        END AS raison_sociale_contrevenant_3,
        CASE WHEN contrevenant_3.qualite='particulier'
            THEN ''
            ELSE contrevenant_3.personne_morale_denomination
        END AS denomination_contrevenant_3,
        CASE WHEN contrevenant_3.qualite='particulier'
            THEN ''
            ELSE contrevenant_3.personne_morale_siret
        END AS siret_contrevenant_3,
        CASE WHEN contrevenant_3.qualite='particulier'
            THEN ''
            ELSE contrevenant_3.personne_morale_categorie_juridique
        END AS categorie_juridique_contrevenant_3,
        contrevenant_3.numero AS numero_contrevenant_3,
    &DB_PREFIXEadresse(contrevenant_3.numero::text, contrevenant_3.voie::text, contrevenant_3.complement::text, contrevenant_3.lieu_dit::text, contrevenant_3.bp::text, contrevenant_3.code_postal::text, contrevenant_3.localite::text, contrevenant_3.cedex::text, contrevenant_3.pays::text) AS adresse_contrevenant_3_sdl,
    &DB_PREFIXEadresse(contrevenant_3.numero::text, contrevenant_3.voie::text, contrevenant_3.complement::text, contrevenant_3.lieu_dit::text, contrevenant_3.bp::text, contrevenant_3.code_postal::text, contrevenant_3.localite::text, contrevenant_3.cedex::text, contrevenant_3.pays::text, ' '::text) AS adresse_contrevenant_3,
        contrevenant_3.voie AS voie_contrevenant_3,
        contrevenant_3.complement AS complement_contrevenant_3,
        contrevenant_3.lieu_dit AS lieu_dit_contrevenant_3,
        CASE 
            WHEN contrevenant_3.bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', contrevenant_3.bp)
        END AS bp_contrevenant_3,
        contrevenant_3.code_postal AS code_postal_contrevenant_3,
        contrevenant_3.localite AS localite_contrevenant_3,
        CASE 
            WHEN contrevenant_3.cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', contrevenant_3.cedex)
        END AS cedex_contrevenant_3,
        contrevenant_3.pays AS pays_contrevenant_3,
        contrevenant_3.division_territoriale AS division_territoriale_contrevenant_3,
        CASE WHEN contrevenant_3.qualite = 'particulier'
            THEN TO_CHAR(contrevenant_3.particulier_date_naissance, 'DD/MM/YYYY')
            ELSE ''
        END AS date_naissance_contrevenant_3,
        CASE WHEN contrevenant_3.qualite = 'particulier'
            THEN CONCAT_WS(' ', contrevenant_3.particulier_commune_naissance, contrevenant_3.particulier_departement_naissance, contrevenant_3.particulier_pays_naissance)
            ELSE ''
        END AS lieu_naissance_contrevenant_3,
        contrevenant_3.courriel AS email_contrevenant_3,
        CONCAT_WS(' ', contrevenant_3.indicatif, CONCAT_WS(' / ', contrevenant_3.telephone_fixe, contrevenant_3.telephone_mobile)) AS coordonnees_telephonique_contrevenant_3,
    
        --Coordonnées du contrevenant 4
    
        CASE WHEN contrevenant_4.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', contrevenant_4.civilite_libelle, contrevenant_4.particulier_nom, contrevenant_4.particulier_prenom))
            ELSE
                CASE WHEN contrevenant_4.personne_morale_nom IS NOT NULL OR contrevenant_4.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', contrevenant_4.personne_morale_raison_sociale, contrevenant_4.personne_morale_denomination, 'représenté(e) par', contrevenant_4.civilite_libelle, contrevenant_4.personne_morale_nom, contrevenant_4.personne_morale_prenom))
                    ELSE TRIM(CONCAT(contrevenant_4.personne_morale_raison_sociale, ' ', contrevenant_4.personne_morale_denomination))
                END
        END AS nom_complet_qualite_part_ou_pm_contrevenant_4,
        CASE WHEN contrevenant_4.qualite='particulier' OR contrevenant_4.personne_morale_nom IS NOT NULL OR contrevenant_4.personne_morale_prenom IS NOT NULL
            THEN contrevenant_4.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_ou_pm_contrevenant_4,
        CASE WHEN contrevenant_4.qualite='particulier'
            THEN contrevenant_4.particulier_nom
            ELSE
                CASE WHEN contrevenant_4.personne_morale_nom IS NOT NULL
                    THEN contrevenant_4.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_part_ou_pm_contrevenant_4,
        CASE WHEN contrevenant_4.qualite='particulier'
            THEN contrevenant_4.particulier_prenom
            ELSE
                CASE WHEN contrevenant_4.personne_morale_prenom IS NOT NULL
                    THEN contrevenant_4.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_part_ou_pm_contrevenant_4,
        CASE WHEN contrevenant_4.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', contrevenant_4.civilite_libelle, contrevenant_4.particulier_nom, contrevenant_4.particulier_prenom))
            ELSE ''
        END AS nom_complet_qualite_part_contrevenant_4,
        CASE WHEN contrevenant_4.qualite='particulier'
            THEN contrevenant_4.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_contrevenant_4,
        CASE WHEN contrevenant_4.qualite='particulier'
            THEN contrevenant_4.particulier_nom
            ELSE ''
        END AS nom_qualite_part_contrevenant_4,
        CASE WHEN contrevenant_4.qualite='particulier'
            THEN contrevenant_4.particulier_prenom
            ELSE ''
        END AS prenom_qualite_part_contrevenant_4,
        CASE WHEN contrevenant_4.personne_morale_nom IS NOT NULL OR contrevenant_4.personne_morale_prenom IS NOT NULL
            THEN TRIM(CONCAT_WS(' ', contrevenant_4.personne_morale_raison_sociale, contrevenant_4.personne_morale_denomination, 'représenté(e) par', contrevenant_4.civilite_libelle, contrevenant_4.personne_morale_nom, contrevenant_4.personne_morale_prenom))
            ELSE TRIM(CONCAT(contrevenant_4.personne_morale_raison_sociale, ' ', contrevenant_4.personne_morale_denomination))
        END AS nom_complet_qualite_pm_contrevenant_4,
        CASE WHEN contrevenant_4.personne_morale_nom IS NOT NULL OR contrevenant_4.personne_morale_prenom IS NOT NULL
            THEN contrevenant_4.civilite_libelle
            ELSE ''
        END AS civilite_qualite_pm_contrevenant_4,
        CASE WHEN contrevenant_4.personne_morale_nom IS NOT NULL
            THEN contrevenant_4.personne_morale_nom
            ELSE ''
        END AS nom_qualite_pm_contrevenant_4,
        CASE WHEN contrevenant_4.personne_morale_prenom IS NOT NULL
            THEN contrevenant_4.personne_morale_prenom
            ELSE ''
        END AS prenom_qualite_pm_contrevenant_4,
        CASE WHEN contrevenant_4.qualite='particulier'
            THEN ''
            ELSE contrevenant_4.personne_morale_raison_sociale
        END AS raison_sociale_contrevenant_4,
        CASE WHEN contrevenant_4.qualite='particulier'
            THEN ''
            ELSE contrevenant_4.personne_morale_denomination
        END AS denomination_contrevenant_4,
        CASE WHEN contrevenant_4.qualite='particulier'
            THEN ''
            ELSE contrevenant_4.personne_morale_categorie_juridique
        END AS categorie_juridique_contrevenant_4,
        CASE WHEN contrevenant_4.qualite='particulier'
            THEN ''
            ELSE contrevenant_4.personne_morale_siret
        END AS siret_contrevenant_4,
        contrevenant_4.numero AS numero_contrevenant_4,
    &DB_PREFIXEadresse(contrevenant_4.numero::text, contrevenant_4.voie::text, contrevenant_4.complement::text, contrevenant_4.lieu_dit::text, contrevenant_4.bp::text, contrevenant_4.code_postal::text, contrevenant_4.localite::text, contrevenant_4.cedex::text, contrevenant_4.pays::text) AS adresse_contrevenant_4_sdl,
    &DB_PREFIXEadresse(contrevenant_4.numero::text, contrevenant_4.voie::text, contrevenant_4.complement::text, contrevenant_4.lieu_dit::text, contrevenant_4.bp::text, contrevenant_4.code_postal::text, contrevenant_4.localite::text, contrevenant_4.cedex::text, contrevenant_4.pays::text, ' '::text) AS adresse_contrevenant_4,
        contrevenant_4.voie AS voie_contrevenant_4,
        contrevenant_4.complement AS complement_contrevenant_4,
        contrevenant_4.lieu_dit AS lieu_dit_contrevenant_4,
        CASE 
            WHEN contrevenant_4.bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', contrevenant_4.bp)
        END AS bp_contrevenant_4,
        contrevenant_4.code_postal AS code_postal_contrevenant_4,
        contrevenant_4.localite AS localite_contrevenant_4,
        CASE 
            WHEN contrevenant_4.cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', contrevenant_4.cedex)
        END AS cedex_contrevenant_4,
        contrevenant_4.pays AS pays_contrevenant_4,
        contrevenant_4.division_territoriale AS division_territoriale_contrevenant_4,
        CASE WHEN contrevenant_4.qualite = 'particulier'
            THEN TO_CHAR(contrevenant_4.particulier_date_naissance, 'DD/MM/YYYY')
            ELSE ''
        END AS date_naissance_contrevenant_4,
        CASE WHEN contrevenant_4.qualite = 'particulier'
            THEN CONCAT_WS(' ', contrevenant_4.particulier_commune_naissance, contrevenant_4.particulier_departement_naissance, contrevenant_4.particulier_pays_naissance)
            ELSE ''
        END AS lieu_naissance_contrevenant_4,
        contrevenant_4.courriel AS email_contrevenant_4,
        CONCAT_WS(' ', contrevenant_4.indicatif, CONCAT_WS(' / ', contrevenant_4.telephone_fixe, contrevenant_4.telephone_mobile)) AS coordonnees_telephonique_contrevenant_4,
    
        --Coordonnées du contrevenant 5
    
        CASE WHEN contrevenant_5.qualite='particulier'
            THEN ''
            ELSE contrevenant_5.personne_morale_raison_sociale
        END AS raison_sociale_contrevenant_5,
        CASE WHEN contrevenant_5.qualite='particulier'
            THEN ''
            ELSE contrevenant_5.personne_morale_denomination
        END AS denomination_contrevenant_5,
        CASE WHEN contrevenant_5.qualite='particulier'
            THEN ''
            ELSE contrevenant_5.personne_morale_categorie_juridique
        END AS categorie_juridique_contrevenant_5,
        CASE WHEN contrevenant_5.qualite='particulier'
            THEN ''
            ELSE contrevenant_5.personne_morale_siret
        END AS siret_contrevenant_5,
        contrevenant_5.numero AS numero_contrevenant_5,
    &DB_PREFIXEadresse(contrevenant_5.numero::text, contrevenant_5.voie::text, contrevenant_5.complement::text, contrevenant_5.lieu_dit::text, contrevenant_5.bp::text, contrevenant_5.code_postal::text, contrevenant_5.localite::text, contrevenant_5.cedex::text, contrevenant_5.pays::text) AS adresse_contrevenant_5_sdl,
    &DB_PREFIXEadresse(contrevenant_5.numero::text, contrevenant_5.voie::text, contrevenant_5.complement::text, contrevenant_5.lieu_dit::text, contrevenant_5.bp::text, contrevenant_5.code_postal::text, contrevenant_5.localite::text, contrevenant_5.cedex::text, contrevenant_5.pays::text, ' '::text) AS adresse_contrevenant_5,
        contrevenant_5.voie AS voie_contrevenant_5,
        contrevenant_5.complement AS complement_contrevenant_5,
        contrevenant_5.lieu_dit AS lieu_dit_contrevenant_5,
        CASE 
            WHEN contrevenant_5.bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', contrevenant_5.bp)
        END AS bp_contrevenant_5,
        contrevenant_5.code_postal AS code_postal_contrevenant_5,
        contrevenant_5.localite AS localite_contrevenant_5,
        CASE 
            WHEN contrevenant_5.cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', contrevenant_5.cedex)
        END AS cedex_contrevenant_5,
        contrevenant_5.pays AS pays_contrevenant_5,
        contrevenant_5.division_territoriale AS division_territoriale_contrevenant_5,
        CASE WHEN contrevenant_5.qualite = 'particulier'
            THEN TO_CHAR(contrevenant_5.particulier_date_naissance, 'DD/MM/YYYY')
            ELSE ''
        END AS date_naissance_contrevenant_5,
        CASE WHEN contrevenant_5.qualite = 'particulier'
            THEN CONCAT_WS(' ', contrevenant_5.particulier_commune_naissance, contrevenant_5.particulier_departement_naissance, contrevenant_5.particulier_pays_naissance)
            ELSE ''
        END AS lieu_naissance_contrevenant_5,
        contrevenant_5.courriel AS email_contrevenant_5,
        CONCAT_WS(' ', contrevenant_5.indicatif, CONCAT_WS(' / ', contrevenant_5.telephone_fixe, contrevenant_5.telephone_mobile)) AS coordonnees_telephonique_contrevenant_5,
    
        --Coordonnées du requérant principal
    
        CASE WHEN requerant_principal.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', requerant_principal.civilite_libelle, requerant_principal.particulier_nom, requerant_principal.particulier_prenom))
            ELSE
                CASE WHEN requerant_principal.personne_morale_nom IS NOT NULL OR requerant_principal.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', requerant_principal.personne_morale_raison_sociale, requerant_principal.personne_morale_denomination, 'représenté(e) par', requerant_principal.civilite_libelle, requerant_principal.personne_morale_nom, requerant_principal.personne_morale_prenom))
                    ELSE TRIM(CONCAT(requerant_principal.personne_morale_raison_sociale, ' ', requerant_principal.personne_morale_denomination))
                END
        END AS nom_complet_qualite_part_ou_pm_requerant_principal,
        CASE WHEN requerant_principal.qualite='particulier' OR requerant_principal.personne_morale_nom IS NOT NULL OR requerant_principal.personne_morale_prenom IS NOT NULL
            THEN requerant_principal.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_ou_pm_requerant_principal,
        CASE WHEN requerant_principal.qualite='particulier'
            THEN requerant_principal.particulier_nom
            ELSE
                CASE WHEN requerant_principal.personne_morale_nom IS NOT NULL
                    THEN requerant_principal.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_part_ou_pm_requerant_principal,
        CASE WHEN requerant_principal.qualite='particulier'
            THEN requerant_principal.particulier_prenom
            ELSE
                CASE WHEN requerant_principal.personne_morale_prenom IS NOT NULL
                    THEN requerant_principal.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_part_ou_pm_requerant_principal,
        CASE WHEN requerant_principal.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', requerant_principal.civilite_libelle, requerant_principal.particulier_nom, requerant_principal.particulier_prenom))
            ELSE ''
        END AS nom_complet_qualite_part_requerant_principal,
        CASE WHEN requerant_principal.qualite='particulier'
            THEN requerant_principal.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_requerant_principal,
        CASE WHEN requerant_principal.qualite='particulier'
            THEN requerant_principal.particulier_nom
            ELSE ''
        END AS nom_qualite_part_requerant_principal,
        CASE WHEN requerant_principal.qualite='particulier'
            THEN requerant_principal.particulier_prenom
            ELSE ''
        END AS prenom_qualite_part_requerant_principal,
        CASE WHEN requerant_principal.personne_morale_nom IS NOT NULL OR requerant_principal.personne_morale_prenom IS NOT NULL
            THEN TRIM(CONCAT_WS(' ', requerant_principal.personne_morale_raison_sociale, requerant_principal.personne_morale_denomination, 'représenté(e) par', requerant_principal.civilite_libelle, requerant_principal.personne_morale_nom, requerant_principal.personne_morale_prenom))
            ELSE TRIM(CONCAT(requerant_principal.personne_morale_raison_sociale, ' ', requerant_principal.personne_morale_denomination))
        END AS nom_complet_qualite_pm_requerant_principal,
        CASE WHEN requerant_principal.personne_morale_nom IS NOT NULL OR requerant_principal.personne_morale_prenom IS NOT NULL
            THEN requerant_principal.civilite_libelle
            ELSE ''
        END AS civilite_qualite_pm_requerant_principal,
        CASE WHEN requerant_principal.personne_morale_nom IS NOT NULL
            THEN requerant_principal.personne_morale_nom
            ELSE ''
        END AS nom_qualite_pm_requerant_principal,
        CASE WHEN requerant_principal.personne_morale_prenom IS NOT NULL
            THEN requerant_principal.personne_morale_prenom
            ELSE ''
        END AS prenom_qualite_pm_requerant_principal,
        CASE WHEN requerant_principal.qualite='particulier'
            THEN ''
            ELSE requerant_principal.personne_morale_raison_sociale
        END AS raison_sociale_requerant_principal,
        CASE WHEN requerant_principal.qualite='particulier'
            THEN ''
            ELSE requerant_principal.personne_morale_denomination
        END AS denomination_requerant_principal,
        CASE WHEN requerant_principal.qualite='particulier'
            THEN ''
            ELSE requerant_principal.personne_morale_siret
        END AS siret_requerant_principal,
        CASE WHEN requerant_principal.qualite='particulier'
            THEN ''
            ELSE requerant_principal.personne_morale_categorie_juridique
        END AS categorie_juridique_requerant_principal,
        requerant_principal.numero AS numero_requerant_principal,
    &DB_PREFIXEadresse(requerant_principal.numero::text, requerant_principal.voie::text, requerant_principal.complement::text, requerant_principal.lieu_dit::text, requerant_principal.bp::text, requerant_principal.code_postal::text, requerant_principal.localite::text, requerant_principal.cedex::text, requerant_principal.pays::text) AS adresse_requerant_principal_sdl,
    &DB_PREFIXEadresse(requerant_principal.numero::text, requerant_principal.voie::text, requerant_principal.complement::text, requerant_principal.lieu_dit::text, requerant_principal.bp::text, requerant_principal.code_postal::text, requerant_principal.localite::text, requerant_principal.cedex::text, requerant_principal.pays::text, ' '::text) AS adresse_requerant_principal,
        requerant_principal.voie AS voie_requerant_principal,
        requerant_principal.complement AS complement_requerant_principal,
        requerant_principal.lieu_dit AS lieu_dit_requerant_principal,
        CASE 
            WHEN requerant_principal.bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', requerant_principal.bp)
        END AS bp_requerant_principal,
        requerant_principal.code_postal AS code_postal_requerant_principal,
        requerant_principal.localite AS localite_requerant_principal,
        CASE 
            WHEN requerant_principal.cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', requerant_principal.cedex)
        END AS cedex_requerant_principal,
        requerant_principal.pays AS pays_requerant_principal,
        requerant_principal.division_territoriale AS division_territoriale_requerant_principal,
        CASE WHEN requerant_principal.qualite = 'particulier'
            THEN TO_CHAR(requerant_principal.particulier_date_naissance, 'DD/MM/YYYY')
            ELSE ''
        END AS date_naissance_requerant_principal,
        CASE WHEN requerant_principal.qualite = 'particulier'
            THEN CONCAT_WS(' ', requerant_principal.particulier_commune_naissance, requerant_principal.particulier_departement_naissance, requerant_principal.particulier_pays_naissance)
            ELSE ''
        END AS lieu_naissance_requerant_principal,
        requerant_principal.courriel AS email_requerant_principal,
        CONCAT_WS(' ', requerant_principal.indicatif, CONCAT_WS(' / ', requerant_principal.telephone_fixe, requerant_principal.telephone_mobile)) AS coordonnees_telephonique_requerant_principal,
    
        --Coordonnées du requérant 1
    
        CASE WHEN requerant_1.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', requerant_1.civilite_libelle, requerant_1.particulier_nom, requerant_1.particulier_prenom))
            ELSE
                CASE WHEN requerant_1.personne_morale_nom IS NOT NULL OR requerant_1.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', requerant_1.personne_morale_raison_sociale, requerant_1.personne_morale_denomination, 'représenté(e) par', requerant_1.civilite_libelle, requerant_1.personne_morale_nom, requerant_1.personne_morale_prenom))
                    ELSE TRIM(CONCAT(requerant_1.personne_morale_raison_sociale, ' ', requerant_1.personne_morale_denomination))
                END
        END AS nom_complet_qualite_part_ou_pm_requerant_1,
        CASE WHEN requerant_1.qualite='particulier' OR requerant_1.personne_morale_nom IS NOT NULL OR requerant_1.personne_morale_prenom IS NOT NULL
            THEN requerant_1.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_ou_pm_requerant_1,
        CASE WHEN requerant_1.qualite='particulier'
            THEN requerant_1.particulier_nom
            ELSE
                CASE WHEN requerant_1.personne_morale_nom IS NOT NULL
                    THEN requerant_1.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_part_ou_pm_requerant_1,
        CASE WHEN requerant_1.qualite='particulier'
            THEN requerant_1.particulier_prenom
            ELSE
                CASE WHEN requerant_1.personne_morale_prenom IS NOT NULL
                    THEN requerant_1.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_part_ou_pm_requerant_1,
        CASE WHEN requerant_1.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', requerant_1.civilite_libelle, requerant_1.particulier_nom, requerant_1.particulier_prenom))
            ELSE ''
        END AS nom_complet_qualite_part_requerant_1,
        CASE WHEN requerant_1.qualite='particulier'
            THEN requerant_1.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_requerant_1,
        CASE WHEN requerant_1.qualite='particulier'
            THEN requerant_1.particulier_nom
            ELSE ''
        END AS nom_qualite_part_requerant_1,
        CASE WHEN requerant_1.qualite='particulier'
            THEN requerant_1.particulier_prenom
            ELSE ''
        END AS prenom_qualite_part_requerant_1,
        CASE WHEN requerant_1.personne_morale_nom IS NOT NULL OR requerant_1.personne_morale_prenom IS NOT NULL
            THEN TRIM(CONCAT_WS(' ', requerant_1.personne_morale_raison_sociale, requerant_1.personne_morale_denomination, 'représenté(e) par', requerant_1.civilite_libelle, requerant_1.personne_morale_nom, requerant_1.personne_morale_prenom))
            ELSE TRIM(CONCAT(requerant_1.personne_morale_raison_sociale, ' ', requerant_1.personne_morale_denomination))
        END AS nom_complet_qualite_pm_requerant_1,
        CASE WHEN requerant_1.personne_morale_nom IS NOT NULL OR requerant_1.personne_morale_prenom IS NOT NULL
            THEN requerant_1.civilite_libelle
            ELSE ''
        END AS civilite_qualite_pm_requerant_1,
        CASE WHEN requerant_1.personne_morale_nom IS NOT NULL
            THEN requerant_1.personne_morale_nom
            ELSE ''
        END AS nom_qualite_pm_requerant_1,
        CASE WHEN requerant_1.personne_morale_prenom IS NOT NULL
            THEN requerant_1.personne_morale_prenom
            ELSE ''
        END AS prenom_qualite_pm_requerant_1,
        CASE WHEN requerant_1.qualite='particulier'
            THEN ''
            ELSE requerant_1.personne_morale_raison_sociale
        END AS raison_sociale_requerant_1,
        CASE WHEN requerant_1.qualite='particulier'
            THEN ''
            ELSE requerant_1.personne_morale_denomination
        END AS denomination_requerant_1,
        CASE WHEN requerant_1.qualite='particulier'
            THEN ''
            ELSE requerant_1.personne_morale_siret
        END AS siret_requerant_1,
        CASE WHEN requerant_1.qualite='particulier'
            THEN ''
            ELSE requerant_1.personne_morale_categorie_juridique
        END AS categorie_juridique_requerant_1,
        requerant_1.numero AS numero_requerant_1,
    &DB_PREFIXEadresse(requerant_1.numero::text, requerant_1.voie::text, requerant_1.complement::text, requerant_1.lieu_dit::text, requerant_1.bp::text, requerant_1.code_postal::text, requerant_1.localite::text, requerant_1.cedex::text, requerant_1.pays::text) AS adresse_requerant_1_sdl,
    &DB_PREFIXEadresse(requerant_1.numero::text, requerant_1.voie::text, requerant_1.complement::text, requerant_1.lieu_dit::text, requerant_1.bp::text, requerant_1.code_postal::text, requerant_1.localite::text, requerant_1.cedex::text, requerant_1.pays::text, ' '::text) AS adresse_requerant_1,
        requerant_1.voie AS voie_requerant_1,
        requerant_1.complement AS complement_requerant_1,
        requerant_1.lieu_dit AS lieu_dit_requerant_1,
        CASE 
            WHEN requerant_1.bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', requerant_1.bp)
        END AS bp_requerant_1,
        requerant_1.code_postal AS code_postal_requerant_1,
        requerant_1.localite AS localite_requerant_1,
        CASE 
            WHEN requerant_1.cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', requerant_1.cedex)
        END AS cedex_requerant_1,
        requerant_1.pays AS pays_requerant_1,
        requerant_1.division_territoriale AS division_territoriale_requerant_1,
        CASE WHEN requerant_1.qualite = 'particulier'
            THEN TO_CHAR(requerant_1.particulier_date_naissance, 'DD/MM/YYYY')
            ELSE ''
        END AS date_naissance_requerant_1,
        CASE WHEN requerant_1.qualite = 'particulier'
            THEN CONCAT_WS(' ', requerant_1.particulier_commune_naissance, requerant_1.particulier_departement_naissance, requerant_1.particulier_pays_naissance)
            ELSE ''
        END AS lieu_naissance_requerant_1,
        requerant_1.courriel AS email_requerant_1,
        CONCAT_WS(' ', requerant_1.indicatif, CONCAT_WS(' / ', requerant_1.telephone_fixe, requerant_1.telephone_mobile)) AS coordonnees_telephonique_requerant_1,
    
        --Coordonnées du requérant 2
    
        CASE WHEN requerant_2.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', requerant_2.civilite_libelle, requerant_2.particulier_nom, requerant_2.particulier_prenom))
            ELSE
                CASE WHEN requerant_2.personne_morale_nom IS NOT NULL OR requerant_2.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', requerant_2.personne_morale_raison_sociale, requerant_2.personne_morale_denomination, 'représenté(e) par', requerant_2.civilite_libelle, requerant_2.personne_morale_nom, requerant_2.personne_morale_prenom))
                    ELSE TRIM(CONCAT(requerant_2.personne_morale_raison_sociale, ' ', requerant_2.personne_morale_denomination))
                END
        END AS nom_complet_qualite_part_ou_pm_requerant_2,
        CASE WHEN requerant_2.qualite='particulier' OR requerant_2.personne_morale_nom IS NOT NULL OR requerant_2.personne_morale_prenom IS NOT NULL
            THEN requerant_2.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_ou_pm_requerant_2,
        CASE WHEN requerant_2.qualite='particulier'
            THEN requerant_2.particulier_nom
            ELSE
                CASE WHEN requerant_2.personne_morale_nom IS NOT NULL
                    THEN requerant_2.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_part_ou_pm_requerant_2,
        CASE WHEN requerant_2.qualite='particulier'
            THEN requerant_2.particulier_prenom
            ELSE
                CASE WHEN requerant_2.personne_morale_prenom IS NOT NULL
                    THEN requerant_2.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_part_ou_pm_requerant_2,
        CASE WHEN requerant_2.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', requerant_2.civilite_libelle, requerant_2.particulier_nom, requerant_2.particulier_prenom))
            ELSE ''
        END AS nom_complet_qualite_part_requerant_2,
        CASE WHEN requerant_2.qualite='particulier'
            THEN requerant_2.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_requerant_2,
        CASE WHEN requerant_2.qualite='particulier'
            THEN requerant_2.particulier_nom
            ELSE ''
        END AS nom_qualite_part_requerant_2,
        CASE WHEN requerant_2.qualite='particulier'
            THEN requerant_2.particulier_prenom
            ELSE ''
        END AS prenom_qualite_part_requerant_2,
        CASE WHEN requerant_2.personne_morale_nom IS NOT NULL OR requerant_2.personne_morale_prenom IS NOT NULL
            THEN TRIM(CONCAT_WS(' ', requerant_2.personne_morale_raison_sociale, requerant_2.personne_morale_denomination, 'représenté(e) par', requerant_2.civilite_libelle, requerant_2.personne_morale_nom, requerant_2.personne_morale_prenom))
            ELSE TRIM(CONCAT(requerant_2.personne_morale_raison_sociale, ' ', requerant_2.personne_morale_denomination))
        END AS nom_complet_qualite_pm_requerant_2,
        CASE WHEN requerant_2.personne_morale_nom IS NOT NULL OR requerant_2.personne_morale_prenom IS NOT NULL
            THEN requerant_2.civilite_libelle
            ELSE ''
        END AS civilite_qualite_pm_requerant_2,
        CASE WHEN requerant_2.personne_morale_nom IS NOT NULL
            THEN requerant_2.personne_morale_nom
            ELSE ''
        END AS nom_qualite_pm_requerant_2,
        CASE WHEN requerant_2.personne_morale_prenom IS NOT NULL
            THEN requerant_2.personne_morale_prenom
            ELSE ''
        END AS prenom_qualite_pm_requerant_2,
        CASE WHEN requerant_2.qualite='particulier'
            THEN ''
            ELSE requerant_2.personne_morale_raison_sociale
        END AS raison_sociale_requerant_2,
        CASE WHEN requerant_2.qualite='particulier'
            THEN ''
            ELSE requerant_2.personne_morale_denomination
        END AS denomination_requerant_2,
        CASE WHEN requerant_2.qualite='particulier'
            THEN ''
            ELSE requerant_2.personne_morale_categorie_juridique
        END AS categorie_juridique_requerant_2,
        CASE WHEN requerant_2.qualite='particulier'
            THEN ''
            ELSE requerant_2.personne_morale_siret
        END AS siret_requerant_2,
        requerant_2.numero AS numero_requerant_2,
    &DB_PREFIXEadresse(requerant_2.numero::text, requerant_2.voie::text, requerant_2.complement::text, requerant_2.lieu_dit::text, requerant_2.bp::text, requerant_2.code_postal::text, requerant_2.localite::text, requerant_2.cedex::text, requerant_2.pays::text) AS adresse_requerant_2_sdl,
    &DB_PREFIXEadresse(requerant_2.numero::text, requerant_2.voie::text, requerant_2.complement::text, requerant_2.lieu_dit::text, requerant_2.bp::text, requerant_2.code_postal::text, requerant_2.localite::text, requerant_2.cedex::text, requerant_2.pays::text, ' '::text) AS adresse_requerant_2,
        requerant_2.voie AS voie_requerant_2,
        requerant_2.complement AS complement_requerant_2,
        requerant_2.lieu_dit AS lieu_dit_requerant_2,
        CASE 
            WHEN requerant_2.bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', requerant_2.bp)
        END AS bp_requerant_2,
        requerant_2.code_postal AS code_postal_requerant_2,
        requerant_2.localite AS localite_requerant_2,
        CASE 
            WHEN requerant_2.cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', requerant_2.cedex)
        END AS cedex_requerant_2,
        requerant_2.pays AS pays_requerant_2,
        requerant_2.division_territoriale AS division_territoriale_requerant_2,
        CASE WHEN requerant_2.qualite = 'particulier'
            THEN TO_CHAR(requerant_2.particulier_date_naissance, 'DD/MM/YYYY')
            ELSE ''
        END AS date_naissance_requerant_2,
        CASE WHEN requerant_2.qualite = 'particulier'
            THEN CONCAT_WS(' ', requerant_2.particulier_commune_naissance, requerant_2.particulier_departement_naissance, requerant_2.particulier_pays_naissance)
            ELSE ''
        END AS lieu_naissance_requerant_2,
        requerant_2.courriel AS email_requerant_2,
        CONCAT_WS(' ', requerant_2.indicatif, CONCAT_WS(' / ', requerant_2.telephone_fixe, requerant_2.telephone_mobile)) AS coordonnees_telephonique_requerant_2,
    
        --Coordonnées du requérant 3
    
        CASE WHEN requerant_3.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', requerant_3.civilite_libelle, requerant_3.particulier_nom, requerant_3.particulier_prenom))
            ELSE
                CASE WHEN requerant_3.personne_morale_nom IS NOT NULL OR requerant_3.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', requerant_3.personne_morale_raison_sociale, requerant_3.personne_morale_denomination, 'représenté(e) par', requerant_3.civilite_libelle, requerant_3.personne_morale_nom, requerant_3.personne_morale_prenom))
                    ELSE TRIM(CONCAT(requerant_3.personne_morale_raison_sociale, ' ', requerant_3.personne_morale_denomination))
                END
        END AS nom_complet_qualite_part_ou_pm_requerant_3,
        CASE WHEN requerant_3.qualite='particulier' OR requerant_3.personne_morale_nom IS NOT NULL OR requerant_3.personne_morale_prenom IS NOT NULL
            THEN requerant_3.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_ou_pm_requerant_3,
        CASE WHEN requerant_3.qualite='particulier'
            THEN requerant_3.particulier_nom
            ELSE
                CASE WHEN requerant_3.personne_morale_nom IS NOT NULL
                    THEN requerant_3.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_part_ou_pm_requerant_3,
        CASE WHEN requerant_3.qualite='particulier'
            THEN requerant_3.particulier_prenom
            ELSE
                CASE WHEN requerant_3.personne_morale_prenom IS NOT NULL
                    THEN requerant_3.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_part_ou_pm_requerant_3,
        CASE WHEN requerant_3.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', requerant_3.civilite_libelle, requerant_3.particulier_nom, requerant_3.particulier_prenom))
            ELSE ''
        END AS nom_complet_qualite_part_requerant_3,
        CASE WHEN requerant_3.qualite='particulier'
            THEN requerant_3.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_requerant_3,
        CASE WHEN requerant_3.qualite='particulier'
            THEN requerant_3.particulier_nom
            ELSE ''
        END AS nom_qualite_part_requerant_3,
        CASE WHEN requerant_3.qualite='particulier'
            THEN requerant_3.particulier_prenom
            ELSE ''
        END AS prenom_qualite_part_requerant_3,
        CASE WHEN requerant_3.personne_morale_nom IS NOT NULL OR requerant_3.personne_morale_prenom IS NOT NULL
            THEN TRIM(CONCAT_WS(' ', requerant_3.personne_morale_raison_sociale, requerant_3.personne_morale_denomination, 'représenté(e) par', requerant_3.civilite_libelle, requerant_3.personne_morale_nom, requerant_3.personne_morale_prenom))
            ELSE TRIM(CONCAT(requerant_3.personne_morale_raison_sociale, ' ', requerant_3.personne_morale_denomination))
        END AS nom_complet_qualite_pm_requerant_3,
        CASE WHEN requerant_3.personne_morale_nom IS NOT NULL OR requerant_3.personne_morale_prenom IS NOT NULL
            THEN requerant_3.civilite_libelle
            ELSE ''
        END AS civilite_qualite_pm_requerant_3,
        CASE WHEN requerant_3.personne_morale_nom IS NOT NULL
            THEN requerant_3.personne_morale_nom
            ELSE ''
        END AS nom_qualite_pm_requerant_3,
        CASE WHEN requerant_3.personne_morale_prenom IS NOT NULL
            THEN requerant_3.personne_morale_prenom
            ELSE ''
        END AS prenom_qualite_pm_requerant_3,
        CASE WHEN requerant_3.qualite='particulier'
            THEN ''
            ELSE requerant_3.personne_morale_raison_sociale
        END AS raison_sociale_requerant_3,
        CASE WHEN requerant_3.qualite='particulier'
            THEN ''
            ELSE requerant_3.personne_morale_denomination
        END AS denomination_requerant_3,
        CASE WHEN requerant_3.qualite='particulier'
            THEN ''
            ELSE requerant_3.personne_morale_siret
        END AS siret_requerant_3,
        CASE WHEN requerant_3.qualite='particulier'
            THEN ''
            ELSE requerant_3.personne_morale_categorie_juridique
        END AS categorie_juridique_requerant_3,
        requerant_3.numero AS numero_requerant_3,
    &DB_PREFIXEadresse(requerant_3.numero::text, requerant_3.voie::text, requerant_3.complement::text, requerant_3.lieu_dit::text, requerant_3.bp::text, requerant_3.code_postal::text, requerant_3.localite::text, requerant_3.cedex::text, requerant_3.pays::text) AS adresse_requerant_3_sdl,
    &DB_PREFIXEadresse(requerant_3.numero::text, requerant_3.voie::text, requerant_3.complement::text, requerant_3.lieu_dit::text, requerant_3.bp::text, requerant_3.code_postal::text, requerant_3.localite::text, requerant_3.cedex::text, requerant_3.pays::text, ' '::text) AS adresse_requerant_3,
        requerant_3.voie AS voie_requerant_3,
        requerant_3.complement AS complement_requerant_3,
        requerant_3.lieu_dit AS lieu_dit_requerant_3,
        CASE 
            WHEN requerant_3.bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', requerant_3.bp)
        END AS bp_requerant_3,
        requerant_3.code_postal AS code_postal_requerant_3,
        requerant_3.localite AS localite_requerant_3,
        CASE 
            WHEN requerant_3.cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', requerant_3.cedex)
        END AS cedex_requerant_3,
        requerant_3.pays AS pays_requerant_3,
        requerant_3.division_territoriale AS division_territoriale_requerant_3,
        CASE WHEN requerant_3.qualite = 'particulier'
            THEN TO_CHAR(requerant_3.particulier_date_naissance, 'DD/MM/YYYY')
            ELSE ''
        END AS date_naissance_requerant_3,
        CASE WHEN requerant_3.qualite = 'particulier'
            THEN CONCAT_WS(' ', requerant_3.particulier_commune_naissance, requerant_3.particulier_departement_naissance, requerant_3.particulier_pays_naissance)
            ELSE ''
        END AS lieu_naissance_requerant_3,
        requerant_3.courriel AS email_requerant_3,
        CONCAT_WS(' ', requerant_3.indicatif, CONCAT_WS(' / ', requerant_3.telephone_fixe, requerant_3.telephone_mobile)) AS coordonnees_telephonique_requerant_3,
    
        --Coordonnées du requérant 4
    
        CASE WHEN requerant_4.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', requerant_4.civilite_libelle, requerant_4.particulier_nom, requerant_4.particulier_prenom))
            ELSE
                CASE WHEN requerant_4.personne_morale_nom IS NOT NULL OR requerant_4.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', requerant_4.personne_morale_raison_sociale, requerant_4.personne_morale_denomination, 'représenté(e) par', requerant_4.civilite_libelle, requerant_4.personne_morale_nom, requerant_4.personne_morale_prenom))
                    ELSE TRIM(CONCAT(requerant_4.personne_morale_raison_sociale, ' ', requerant_4.personne_morale_denomination))
                END
        END AS nom_complet_qualite_part_ou_pm_requerant_4,
        CASE WHEN requerant_4.qualite='particulier' OR requerant_4.personne_morale_nom IS NOT NULL OR requerant_4.personne_morale_prenom IS NOT NULL
            THEN requerant_4.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_ou_pm_requerant_4,
        CASE WHEN requerant_4.qualite='particulier'
            THEN requerant_4.particulier_nom
            ELSE
                CASE WHEN requerant_4.personne_morale_nom IS NOT NULL
                    THEN requerant_4.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_part_ou_pm_requerant_4,
        CASE WHEN requerant_4.qualite='particulier'
            THEN requerant_4.particulier_prenom
            ELSE
                CASE WHEN requerant_4.personne_morale_prenom IS NOT NULL
                    THEN requerant_4.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_part_ou_pm_requerant_4,
        CASE WHEN requerant_4.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', requerant_4.civilite_libelle, requerant_4.particulier_nom, requerant_4.particulier_prenom))
            ELSE ''
        END AS nom_complet_qualite_part_requerant_4,
        CASE WHEN requerant_4.qualite='particulier'
            THEN requerant_4.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_requerant_4,
        CASE WHEN requerant_4.qualite='particulier'
            THEN requerant_4.particulier_nom
            ELSE ''
        END AS nom_qualite_part_requerant_4,
        CASE WHEN requerant_4.qualite='particulier'
            THEN requerant_4.particulier_prenom
            ELSE ''
        END AS prenom_qualite_part_requerant_4,
        CASE WHEN requerant_4.personne_morale_nom IS NOT NULL OR requerant_4.personne_morale_prenom IS NOT NULL
            THEN TRIM(CONCAT_WS(' ', requerant_4.personne_morale_raison_sociale, requerant_4.personne_morale_denomination, 'représenté(e) par', requerant_4.civilite_libelle, requerant_4.personne_morale_nom, requerant_4.personne_morale_prenom))
            ELSE TRIM(CONCAT(requerant_4.personne_morale_raison_sociale, ' ', requerant_4.personne_morale_denomination))
        END AS nom_complet_qualite_pm_requerant_4,
        CASE WHEN requerant_4.personne_morale_nom IS NOT NULL OR requerant_4.personne_morale_prenom IS NOT NULL
            THEN requerant_4.civilite_libelle
            ELSE ''
        END AS civilite_qualite_pm_requerant_4,
        CASE WHEN requerant_4.personne_morale_nom IS NOT NULL
            THEN requerant_4.personne_morale_nom
            ELSE ''
        END AS nom_qualite_pm_requerant_4,
        CASE WHEN requerant_4.personne_morale_prenom IS NOT NULL
            THEN requerant_4.personne_morale_prenom
            ELSE ''
        END AS prenom_qualite_pm_requerant_4,
        CASE WHEN requerant_4.qualite='particulier'
            THEN ''
            ELSE requerant_4.personne_morale_raison_sociale
        END AS raison_sociale_requerant_4,
        CASE WHEN requerant_4.qualite='particulier'
            THEN ''
            ELSE requerant_4.personne_morale_denomination
        END AS denomination_requerant_4,
        CASE WHEN requerant_4.qualite='particulier'
            THEN ''
            ELSE requerant_4.personne_morale_categorie_juridique
        END AS categorie_juridique_requerant_4,
        CASE WHEN requerant_4.qualite='particulier'
            THEN ''
            ELSE requerant_4.personne_morale_siret
        END AS siret_requerant_4,
        requerant_4.numero AS numero_requerant_4,
    &DB_PREFIXEadresse(requerant_4.numero::text, requerant_4.voie::text, requerant_4.complement::text, requerant_4.lieu_dit::text, requerant_4.bp::text, requerant_4.code_postal::text, requerant_4.localite::text, requerant_4.cedex::text, requerant_4.pays::text) AS adresse_requerant_4_sdl,
    &DB_PREFIXEadresse(requerant_4.numero::text, requerant_4.voie::text, requerant_4.complement::text, requerant_4.lieu_dit::text, requerant_4.bp::text, requerant_4.code_postal::text, requerant_4.localite::text, requerant_4.cedex::text, requerant_4.pays::text, ' '::text) AS adresse_requerant_4,
        requerant_4.voie AS voie_requerant_4,
        requerant_4.complement AS complement_requerant_4,
        requerant_4.lieu_dit AS lieu_dit_requerant_4,
        CASE 
            WHEN requerant_4.bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', requerant_4.bp)
        END AS bp_requerant_4,
        requerant_4.code_postal AS code_postal_requerant_4,
        requerant_4.localite AS localite_requerant_4,
        CASE 
            WHEN requerant_4.cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', requerant_4.cedex)
        END AS cedex_requerant_4,
        requerant_4.pays AS pays_requerant_4,
        requerant_4.division_territoriale AS division_territoriale_requerant_4,
        CASE WHEN requerant_4.qualite = 'particulier'
            THEN TO_CHAR(requerant_4.particulier_date_naissance, 'DD/MM/YYYY')
            ELSE ''
        END AS date_naissance_requerant_4,
        CASE WHEN requerant_4.qualite = 'particulier'
            THEN CONCAT_WS(' ', requerant_4.particulier_commune_naissance, requerant_4.particulier_departement_naissance, requerant_4.particulier_pays_naissance)
            ELSE ''
        END AS lieu_naissance_requerant_4,
        requerant_4.courriel AS email_requerant_4,
        CONCAT_WS(' ', requerant_4.indicatif, CONCAT_WS(' / ', requerant_4.telephone_fixe, requerant_4.telephone_mobile)) AS coordonnees_telephonique_requerant_4,
    
        --Coordonnées du requérant 5
    
        CASE WHEN requerant_5.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', requerant_5.civilite_libelle, requerant_5.particulier_nom, requerant_5.particulier_prenom))
            ELSE
                CASE WHEN requerant_5.personne_morale_nom IS NOT NULL OR requerant_5.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', requerant_5.personne_morale_raison_sociale, requerant_5.personne_morale_denomination, 'représenté(e) par', requerant_5.civilite_libelle, requerant_5.personne_morale_nom, requerant_5.personne_morale_prenom))
                    ELSE TRIM(CONCAT(requerant_5.personne_morale_raison_sociale, ' ', requerant_5.personne_morale_denomination))
                END
        END AS nom_complet_qualite_part_ou_pm_requerant_5,
        CASE WHEN requerant_5.qualite='particulier' OR requerant_5.personne_morale_nom IS NOT NULL OR requerant_5.personne_morale_prenom IS NOT NULL
            THEN requerant_5.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_ou_pm_requerant_5,
        CASE WHEN requerant_5.qualite='particulier'
            THEN requerant_5.particulier_nom
            ELSE
                CASE WHEN requerant_5.personne_morale_nom IS NOT NULL
                    THEN requerant_5.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_part_ou_pm_requerant_5,
        CASE WHEN requerant_5.qualite='particulier'
            THEN requerant_5.particulier_prenom
            ELSE
                CASE WHEN requerant_5.personne_morale_prenom IS NOT NULL
                    THEN requerant_5.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_part_ou_pm_requerant_5,
        CASE WHEN requerant_5.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', requerant_5.civilite_libelle, requerant_5.particulier_nom, requerant_5.particulier_prenom))
            ELSE ''
        END AS nom_complet_qualite_part_requerant_5,
        CASE WHEN requerant_5.qualite='particulier'
            THEN requerant_5.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_requerant_5,
        CASE WHEN requerant_5.qualite='particulier'
            THEN requerant_5.particulier_nom
            ELSE ''
        END AS nom_qualite_part_requerant_5,
        CASE WHEN requerant_5.qualite='particulier'
            THEN requerant_5.particulier_prenom
            ELSE ''
        END AS prenom_qualite_part_requerant_5,
        CASE WHEN requerant_5.personne_morale_nom IS NOT NULL OR requerant_5.personne_morale_prenom IS NOT NULL
            THEN TRIM(CONCAT_WS(' ', requerant_5.personne_morale_raison_sociale, requerant_5.personne_morale_denomination, 'représenté(e) par', requerant_5.civilite_libelle, requerant_5.personne_morale_nom, requerant_5.personne_morale_prenom))
            ELSE TRIM(CONCAT(requerant_5.personne_morale_raison_sociale, ' ', requerant_5.personne_morale_denomination))
        END AS nom_complet_qualite_pm_requerant_5,
        CASE WHEN requerant_5.personne_morale_nom IS NOT NULL OR requerant_5.personne_morale_prenom IS NOT NULL
            THEN requerant_5.civilite_libelle
            ELSE ''
        END AS civilite_qualite_pm_requerant_5,
        CASE WHEN requerant_5.personne_morale_nom IS NOT NULL
            THEN requerant_5.personne_morale_nom
            ELSE ''
        END AS nom_qualite_pm_requerant_5,
        CASE WHEN requerant_5.personne_morale_prenom IS NOT NULL
            THEN requerant_5.personne_morale_prenom
            ELSE ''
        END AS prenom_qualite_pm_requerant_5,
        CASE WHEN requerant_5.qualite='particulier'
            THEN ''
            ELSE requerant_5.personne_morale_raison_sociale
        END AS raison_sociale_requerant_5,
        CASE WHEN requerant_5.qualite='particulier'
            THEN ''
            ELSE requerant_5.personne_morale_denomination
        END AS denomination_requerant_5,
        CASE WHEN requerant_5.qualite='particulier'
            THEN ''
            ELSE requerant_5.personne_morale_categorie_juridique
        END AS categorie_juridique_requerant_5,
        CASE WHEN requerant_5.qualite='particulier'
            THEN ''
            ELSE requerant_5.personne_morale_siret
        END AS siret_requerant_5,
        requerant_5.numero AS numero_requerant_5,
    &DB_PREFIXEadresse(requerant_5.numero::text, requerant_5.voie::text, requerant_5.complement::text, requerant_5.lieu_dit::text, requerant_5.bp::text, requerant_5.code_postal::text, requerant_5.localite::text, requerant_5.cedex::text, requerant_5.pays::text) AS adresse_requerant_5_sdl,
    &DB_PREFIXEadresse(requerant_5.numero::text, requerant_5.voie::text, requerant_5.complement::text, requerant_5.lieu_dit::text, requerant_5.bp::text, requerant_5.code_postal::text, requerant_5.localite::text, requerant_5.cedex::text, requerant_5.pays::text, ' '::text) AS adresse_requerant_5,
        requerant_5.voie AS voie_requerant_5,
        requerant_5.complement AS complement_requerant_5,
        requerant_5.lieu_dit AS lieu_dit_requerant_5,
        CASE 
            WHEN requerant_5.bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', requerant_5.bp)
        END AS bp_requerant_5,
        requerant_5.code_postal AS code_postal_requerant_5,
        requerant_5.localite AS localite_requerant_5,
        CASE 
            WHEN requerant_5.cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', requerant_5.cedex)
        END AS cedex_requerant_5,
        requerant_5.pays AS pays_requerant_5,
        requerant_5.division_territoriale AS division_territoriale_requerant_5,
        CASE WHEN requerant_5.qualite = 'particulier'
            THEN TO_CHAR(requerant_5.particulier_date_naissance, 'DD/MM/YYYY')
            ELSE ''
        END AS date_naissance_requerant_5,
        CASE WHEN requerant_5.qualite = 'particulier'
            THEN CONCAT_WS(' ', requerant_5.particulier_commune_naissance, requerant_5.particulier_departement_naissance, requerant_5.particulier_pays_naissance)
            ELSE ''
        END AS lieu_naissance_requerant_5,
        requerant_5.courriel AS email_requerant_5,
        CONCAT_WS(' ', requerant_5.indicatif, CONCAT_WS(' / ', requerant_5.telephone_fixe, requerant_5.telephone_mobile)) AS coordonnees_telephonique_requerant_5,
    
        --Coordonnées de l'avocat principal
    
        CASE WHEN avocat_principal.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', avocat_principal.civilite_libelle, avocat_principal.particulier_nom, avocat_principal.particulier_prenom))
            ELSE
                CASE WHEN avocat_principal.personne_morale_nom IS NOT NULL OR avocat_principal.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', avocat_principal.personne_morale_raison_sociale, avocat_principal.personne_morale_denomination, 'représenté(e) par', avocat_principal.civilite_libelle, avocat_principal.personne_morale_nom, avocat_principal.personne_morale_prenom))
                    ELSE TRIM(CONCAT(avocat_principal.personne_morale_raison_sociale, ' ', avocat_principal.personne_morale_denomination))
                END
        END AS nom_complet_qualite_part_ou_pm_avocat_principal,
        CASE WHEN avocat_principal.qualite='particulier' OR avocat_principal.personne_morale_nom IS NOT NULL OR avocat_principal.personne_morale_prenom IS NOT NULL
            THEN avocat_principal.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_ou_pm_avocat_principal,
        CASE WHEN avocat_principal.qualite='particulier'
            THEN avocat_principal.particulier_nom
            ELSE
                CASE WHEN avocat_principal.personne_morale_nom IS NOT NULL
                    THEN avocat_principal.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_part_ou_pm_avocat_principal,
        CASE WHEN avocat_principal.qualite='particulier'
            THEN avocat_principal.particulier_prenom
            ELSE
                CASE WHEN avocat_principal.personne_morale_prenom IS NOT NULL
                    THEN avocat_principal.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_part_ou_pm_avocat_principal,
        CASE WHEN avocat_principal.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', avocat_principal.civilite_libelle, avocat_principal.particulier_nom, avocat_principal.particulier_prenom))
            ELSE ''
        END AS nom_complet_qualite_part_avocat_principal,
        CASE WHEN avocat_principal.qualite='particulier'
            THEN avocat_principal.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_avocat_principal,
        CASE WHEN avocat_principal.qualite='particulier'
            THEN avocat_principal.particulier_nom
            ELSE ''
        END AS nom_qualite_part_avocat_principal,
        CASE WHEN avocat_principal.qualite='particulier'
            THEN avocat_principal.particulier_prenom
            ELSE ''
        END AS prenom_qualite_part_avocat_principal,
        CASE WHEN avocat_principal.personne_morale_nom IS NOT NULL OR avocat_principal.personne_morale_prenom IS NOT NULL
            THEN TRIM(CONCAT_WS(' ', avocat_principal.personne_morale_raison_sociale, avocat_principal.personne_morale_denomination, 'représenté(e) par', avocat_principal.civilite_libelle, avocat_principal.personne_morale_nom, avocat_principal.personne_morale_prenom))
            ELSE TRIM(CONCAT(avocat_principal.personne_morale_raison_sociale, ' ', avocat_principal.personne_morale_denomination))
        END AS nom_complet_qualite_pm_avocat_principal,
        CASE WHEN avocat_principal.personne_morale_nom IS NOT NULL OR avocat_principal.personne_morale_prenom IS NOT NULL
            THEN avocat_principal.civilite_libelle
            ELSE ''
        END AS civilite_qualite_pm_avocat_principal,
        CASE WHEN avocat_principal.personne_morale_nom IS NOT NULL
            THEN avocat_principal.personne_morale_nom
            ELSE ''
        END AS nom_qualite_pm_avocat_principal,
        CASE WHEN avocat_principal.personne_morale_prenom IS NOT NULL
            THEN avocat_principal.personne_morale_prenom
            ELSE ''
        END AS prenom_qualite_pm_avocat_principal,
        CASE WHEN avocat_principal.qualite='particulier'
            THEN ''
            ELSE avocat_principal.personne_morale_raison_sociale
        END AS raison_sociale_avocat_principal,
        CASE WHEN avocat_principal.qualite='particulier'
            THEN ''
            ELSE avocat_principal.personne_morale_denomination
        END AS denomination_avocat_principal,
        CASE WHEN avocat_principal.qualite='particulier'
            THEN ''
            ELSE avocat_principal.personne_morale_siret
        END AS siret_avocat_principal,
        CASE WHEN avocat_principal.qualite='particulier'
            THEN ''
            ELSE avocat_principal.personne_morale_categorie_juridique
        END AS categorie_juridique_avocat_principal,
        avocat_principal.numero AS numero_avocat_principal,
    &DB_PREFIXEadresse(avocat_principal.numero::text, avocat_principal.voie::text, avocat_principal.complement::text, avocat_principal.lieu_dit::text, avocat_principal.bp::text, avocat_principal.code_postal::text, avocat_principal.localite::text, avocat_principal.cedex::text, avocat_principal.pays::text) AS adresse_avocat_principal_sdl,
    &DB_PREFIXEadresse(avocat_principal.numero::text, avocat_principal.voie::text, avocat_principal.complement::text, avocat_principal.lieu_dit::text, avocat_principal.bp::text, avocat_principal.code_postal::text, avocat_principal.localite::text, avocat_principal.cedex::text, avocat_principal.pays::text, ' '::text) AS adresse_avocat_principal,
        avocat_principal.voie AS voie_avocat_principal,
        avocat_principal.complement AS complement_avocat_principal,
        avocat_principal.lieu_dit AS lieu_dit_avocat_principal,
        CASE 
            WHEN avocat_principal.bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', avocat_principal.bp)
        END AS bp_avocat_principal,
        avocat_principal.code_postal AS code_postal_avocat_principal,
        avocat_principal.localite AS localite_avocat_principal,
        CASE 
            WHEN avocat_principal.cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', avocat_principal.cedex)
        END AS cedex_avocat_principal,
        avocat_principal.pays AS pays_avocat_principal,
        avocat_principal.division_territoriale AS division_territoriale_avocat_principal,
        CASE WHEN avocat_principal.qualite = 'particulier'
            THEN TO_CHAR(avocat_principal.particulier_date_naissance, 'DD/MM/YYYY')
            ELSE ''
        END AS date_naissance_avocat_principal,
        CASE WHEN avocat_principal.qualite = 'particulier'
            THEN CONCAT_WS(' ', avocat_principal.particulier_commune_naissance, avocat_principal.particulier_departement_naissance, avocat_principal.particulier_pays_naissance)
            ELSE ''
        END AS lieu_naissance_avocat_principal,
        avocat_principal.courriel AS email_avocat_principal,
        CONCAT_WS(' ', avocat_principal.indicatif, CONCAT_WS(' / ', avocat_principal.telephone_fixe, avocat_principal.telephone_mobile)) AS coordonnees_telephonique_avocat_principal,
    
        --Coordonnées de l'avocat 1
    
        CASE WHEN avocat_1.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', avocat_1.civilite_libelle, avocat_1.particulier_nom, avocat_1.particulier_prenom))
            ELSE
                CASE WHEN avocat_1.personne_morale_nom IS NOT NULL OR avocat_1.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', avocat_1.personne_morale_raison_sociale, avocat_1.personne_morale_denomination, 'représenté(e) par', avocat_1.civilite_libelle, avocat_1.personne_morale_nom, avocat_1.personne_morale_prenom))
                    ELSE TRIM(CONCAT(avocat_1.personne_morale_raison_sociale, ' ', avocat_1.personne_morale_denomination))
                END
        END AS nom_complet_qualite_part_ou_pm_avocat_1,
        CASE WHEN avocat_1.qualite='particulier' OR avocat_1.personne_morale_nom IS NOT NULL OR avocat_1.personne_morale_prenom IS NOT NULL
            THEN avocat_1.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_ou_pm_avocat_1,
        CASE WHEN avocat_1.qualite='particulier'
            THEN avocat_1.particulier_nom
            ELSE
                CASE WHEN avocat_1.personne_morale_nom IS NOT NULL
                    THEN avocat_1.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_part_ou_pm_avocat_1,
        CASE WHEN avocat_1.qualite='particulier'
            THEN avocat_1.particulier_prenom
            ELSE
                CASE WHEN avocat_1.personne_morale_prenom IS NOT NULL
                    THEN avocat_1.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_part_ou_pm_avocat_1,
        CASE WHEN avocat_1.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', avocat_1.civilite_libelle, avocat_1.particulier_nom, avocat_1.particulier_prenom))
            ELSE ''
        END AS nom_complet_qualite_part_avocat_1,
        CASE WHEN avocat_1.qualite='particulier'
            THEN avocat_1.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_avocat_1,
        CASE WHEN avocat_1.qualite='particulier'
            THEN avocat_1.particulier_nom
            ELSE ''
        END AS nom_qualite_part_avocat_1,
        CASE WHEN avocat_1.qualite='particulier'
            THEN avocat_1.particulier_prenom
            ELSE ''
        END AS prenom_qualite_part_avocat_1,
        CASE WHEN avocat_1.personne_morale_nom IS NOT NULL OR avocat_1.personne_morale_prenom IS NOT NULL
            THEN TRIM(CONCAT_WS(' ', avocat_1.personne_morale_raison_sociale, avocat_1.personne_morale_denomination, 'représenté(e) par', avocat_1.civilite_libelle, avocat_1.personne_morale_nom, avocat_1.personne_morale_prenom))
            ELSE TRIM(CONCAT(avocat_1.personne_morale_raison_sociale, ' ', avocat_1.personne_morale_denomination))
        END AS nom_complet_qualite_pm_avocat_1,
        CASE WHEN avocat_1.personne_morale_nom IS NOT NULL OR avocat_1.personne_morale_prenom IS NOT NULL
            THEN avocat_1.civilite_libelle
            ELSE ''
        END AS civilite_qualite_pm_avocat_1,
        CASE WHEN avocat_1.personne_morale_nom IS NOT NULL
            THEN avocat_1.personne_morale_nom
            ELSE ''
        END AS nom_qualite_pm_avocat_1,
        CASE WHEN avocat_1.personne_morale_prenom IS NOT NULL
            THEN avocat_1.personne_morale_prenom
            ELSE ''
        END AS prenom_qualite_pm_avocat_1,
        CASE WHEN avocat_1.qualite='particulier'
            THEN ''
            ELSE avocat_1.personne_morale_raison_sociale
        END AS raison_sociale_avocat_1,
        CASE WHEN avocat_1.qualite='particulier'
            THEN ''
            ELSE avocat_1.personne_morale_denomination
        END AS denomination_avocat_1,
        CASE WHEN avocat_1.qualite='particulier'
            THEN ''
            ELSE avocat_1.personne_morale_siret
        END AS siret_avocat_1,
        CASE WHEN avocat_1.qualite='particulier'
            THEN ''
            ELSE avocat_1.personne_morale_categorie_juridique
        END AS categorie_juridique_avocat_1,
        avocat_1.numero AS numero_avocat_1,
    &DB_PREFIXEadresse(avocat_1.numero::text, avocat_1.voie::text, avocat_1.complement::text, avocat_1.lieu_dit::text, avocat_1.bp::text, avocat_1.code_postal::text, avocat_1.localite::text, avocat_1.cedex::text, avocat_1.pays::text) AS adresse_avocat_1_sdl,
    &DB_PREFIXEadresse(avocat_1.numero::text, avocat_1.voie::text, avocat_1.complement::text, avocat_1.lieu_dit::text, avocat_1.bp::text, avocat_1.code_postal::text, avocat_1.localite::text, avocat_1.cedex::text, avocat_1.pays::text, ' '::text) AS adresse_avocat_1,
        avocat_1.voie AS voie_avocat_1,
        avocat_1.complement AS complement_avocat_1,
        avocat_1.lieu_dit AS lieu_dit_avocat_1,
        CASE 
            WHEN avocat_1.bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', avocat_1.bp)
        END AS bp_avocat_1,
        avocat_1.code_postal AS code_postal_avocat_1,
        avocat_1.localite AS localite_avocat_1,
        CASE 
            WHEN avocat_1.cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', avocat_1.cedex)
        END AS cedex_avocat_1,
        avocat_1.pays AS pays_avocat_1,
        avocat_1.division_territoriale AS division_territoriale_avocat_1,
        CASE WHEN avocat_1.qualite = 'particulier'
            THEN TO_CHAR(avocat_1.particulier_date_naissance, 'DD/MM/YYYY')
            ELSE ''
        END AS date_naissance_avocat_1,
        CASE WHEN avocat_1.qualite = 'particulier'
            THEN CONCAT_WS(' ', avocat_1.particulier_commune_naissance, avocat_1.particulier_departement_naissance, avocat_1.particulier_pays_naissance)
            ELSE ''
        END AS lieu_naissance_avocat_1,
        avocat_1.courriel AS email_avocat_1,
        CONCAT_WS(' ', avocat_1.indicatif, CONCAT_WS(' / ', avocat_1.telephone_fixe, avocat_1.telephone_mobile)) AS coordonnees_telephonique_avocat_1,
    
        --Coordonnées de l'avocat 2
    
        CASE WHEN avocat_2.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', avocat_2.civilite_libelle, avocat_2.particulier_nom, avocat_2.particulier_prenom))
            ELSE
                CASE WHEN avocat_2.personne_morale_nom IS NOT NULL OR avocat_2.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', avocat_2.personne_morale_raison_sociale, avocat_2.personne_morale_denomination, 'représenté(e) par', avocat_2.civilite_libelle, avocat_2.personne_morale_nom, avocat_2.personne_morale_prenom))
                    ELSE TRIM(CONCAT(avocat_2.personne_morale_raison_sociale, ' ', avocat_2.personne_morale_denomination))
                END
        END AS nom_complet_qualite_part_ou_pm_avocat_2,
        CASE WHEN avocat_2.qualite='particulier' OR avocat_2.personne_morale_nom IS NOT NULL OR avocat_2.personne_morale_prenom IS NOT NULL
            THEN avocat_2.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_ou_pm_avocat_2,
        CASE WHEN avocat_2.qualite='particulier'
            THEN avocat_2.particulier_nom
            ELSE
                CASE WHEN avocat_2.personne_morale_nom IS NOT NULL
                    THEN avocat_2.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_part_ou_pm_avocat_2,
        CASE WHEN avocat_2.qualite='particulier'
            THEN avocat_2.particulier_prenom
            ELSE
                CASE WHEN avocat_2.personne_morale_prenom IS NOT NULL
                    THEN avocat_2.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_part_ou_pm_avocat_2,
        CASE WHEN avocat_2.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', avocat_2.civilite_libelle, avocat_2.particulier_nom, avocat_2.particulier_prenom))
            ELSE ''
        END AS nom_complet_qualite_part_avocat_2,
        CASE WHEN avocat_2.qualite='particulier'
            THEN avocat_2.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_avocat_2,
        CASE WHEN avocat_2.qualite='particulier'
            THEN avocat_2.particulier_nom
            ELSE ''
        END AS nom_qualite_part_avocat_2,
        CASE WHEN avocat_2.qualite='particulier'
            THEN avocat_2.particulier_prenom
            ELSE ''
        END AS prenom_qualite_part_avocat_2,
        CASE WHEN avocat_2.personne_morale_nom IS NOT NULL OR avocat_2.personne_morale_prenom IS NOT NULL
            THEN TRIM(CONCAT_WS(' ', avocat_2.personne_morale_raison_sociale, avocat_2.personne_morale_denomination, 'représenté(e) par', avocat_2.civilite_libelle, avocat_2.personne_morale_nom, avocat_2.personne_morale_prenom))
            ELSE TRIM(CONCAT(avocat_2.personne_morale_raison_sociale, ' ', avocat_2.personne_morale_denomination))
        END AS nom_complet_qualite_pm_avocat_2,
        CASE WHEN avocat_2.personne_morale_nom IS NOT NULL OR avocat_2.personne_morale_prenom IS NOT NULL
            THEN avocat_2.civilite_libelle
            ELSE ''
        END AS civilite_qualite_pm_avocat_2,
        CASE WHEN avocat_2.personne_morale_nom IS NOT NULL
            THEN avocat_2.personne_morale_nom
            ELSE ''
        END AS nom_qualite_pm_avocat_2,
        CASE WHEN avocat_2.personne_morale_prenom IS NOT NULL
            THEN avocat_2.personne_morale_prenom
            ELSE ''
        END AS prenom_qualite_pm_avocat_2,
        CASE WHEN avocat_2.qualite='particulier'
            THEN ''
            ELSE avocat_2.personne_morale_raison_sociale
        END AS raison_sociale_avocat_2,
        CASE WHEN avocat_2.qualite='particulier'
            THEN ''
            ELSE avocat_2.personne_morale_denomination
        END AS denomination_avocat_2,
        CASE WHEN avocat_2.qualite='particulier'
            THEN ''
            ELSE avocat_2.personne_morale_categorie_juridique
        END AS categorie_juridique_avocat_2,
        CASE WHEN avocat_2.qualite='particulier'
            THEN ''
            ELSE avocat_2.personne_morale_siret
        END AS siret_avocat_2,
        avocat_2.numero AS numero_avocat_2,
    &DB_PREFIXEadresse(avocat_2.numero::text, avocat_2.voie::text, avocat_2.complement::text, avocat_2.lieu_dit::text, avocat_2.bp::text, avocat_2.code_postal::text, avocat_2.localite::text, avocat_2.cedex::text, avocat_2.pays::text) AS adresse_avocat_2_sdl,
    &DB_PREFIXEadresse(avocat_2.numero::text, avocat_2.voie::text, avocat_2.complement::text, avocat_2.lieu_dit::text, avocat_2.bp::text, avocat_2.code_postal::text, avocat_2.localite::text, avocat_2.cedex::text, avocat_2.pays::text, ' '::text) AS adresse_avocat_2,
        avocat_2.voie AS voie_avocat_2,
        avocat_2.complement AS complement_avocat_2,
        avocat_2.lieu_dit AS lieu_dit_avocat_2,
        CASE 
            WHEN avocat_2.bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', avocat_2.bp)
        END AS bp_avocat_2,
        avocat_2.code_postal AS code_postal_avocat_2,
        avocat_2.localite AS localite_avocat_2,
        CASE 
            WHEN avocat_2.cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', avocat_2.cedex)
        END AS cedex_avocat_2,
        avocat_2.pays AS pays_avocat_2,
        avocat_2.division_territoriale AS division_territoriale_avocat_2,
        CASE WHEN avocat_2.qualite = 'particulier'
            THEN TO_CHAR(avocat_2.particulier_date_naissance, 'DD/MM/YYYY')
            ELSE ''
        END AS date_naissance_avocat_2,
        CASE WHEN avocat_2.qualite = 'particulier'
            THEN CONCAT_WS(' ', avocat_2.particulier_commune_naissance, avocat_2.particulier_departement_naissance, avocat_2.particulier_pays_naissance)
            ELSE ''
        END AS lieu_naissance_avocat_2,
        avocat_2.courriel AS email_avocat_2,
        CONCAT_WS(' ', avocat_2.indicatif, CONCAT_WS(' / ', avocat_2.telephone_fixe, avocat_2.telephone_mobile)) AS coordonnees_telephonique_avocat_2,
    
        --Coordonnées de l'avocat 3
    
        CASE WHEN avocat_3.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', avocat_3.civilite_libelle, avocat_3.particulier_nom, avocat_3.particulier_prenom))
            ELSE
                CASE WHEN avocat_3.personne_morale_nom IS NOT NULL OR avocat_3.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', avocat_3.personne_morale_raison_sociale, avocat_3.personne_morale_denomination, 'représenté(e) par', avocat_3.civilite_libelle, avocat_3.personne_morale_nom, avocat_3.personne_morale_prenom))
                    ELSE TRIM(CONCAT(avocat_3.personne_morale_raison_sociale, ' ', avocat_3.personne_morale_denomination))
                END
        END AS nom_complet_qualite_part_ou_pm_avocat_3,
        CASE WHEN avocat_3.qualite='particulier' OR avocat_3.personne_morale_nom IS NOT NULL OR avocat_3.personne_morale_prenom IS NOT NULL
            THEN avocat_3.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_ou_pm_avocat_3,
        CASE WHEN avocat_3.qualite='particulier'
            THEN avocat_3.particulier_nom
            ELSE
                CASE WHEN avocat_3.personne_morale_nom IS NOT NULL
                    THEN avocat_3.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_part_ou_pm_avocat_3,
        CASE WHEN avocat_3.qualite='particulier'
            THEN avocat_3.particulier_prenom
            ELSE
                CASE WHEN avocat_3.personne_morale_prenom IS NOT NULL
                    THEN avocat_3.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_part_ou_pm_avocat_3,
        CASE WHEN avocat_3.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', avocat_3.civilite_libelle, avocat_3.particulier_nom, avocat_3.particulier_prenom))
            ELSE ''
        END AS nom_complet_qualite_part_avocat_3,
        CASE WHEN avocat_3.qualite='particulier'
            THEN avocat_3.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_avocat_3,
        CASE WHEN avocat_3.qualite='particulier'
            THEN avocat_3.particulier_nom
            ELSE ''
        END AS nom_qualite_part_avocat_3,
        CASE WHEN avocat_3.qualite='particulier'
            THEN avocat_3.particulier_prenom
            ELSE ''
        END AS prenom_qualite_part_avocat_3,
        CASE WHEN avocat_3.personne_morale_nom IS NOT NULL OR avocat_3.personne_morale_prenom IS NOT NULL
            THEN TRIM(CONCAT_WS(' ', avocat_3.personne_morale_raison_sociale, avocat_3.personne_morale_denomination, 'représenté(e) par', avocat_3.civilite_libelle, avocat_3.personne_morale_nom, avocat_3.personne_morale_prenom))
            ELSE TRIM(CONCAT(avocat_3.personne_morale_raison_sociale, ' ', avocat_3.personne_morale_denomination))
        END AS nom_complet_qualite_pm_avocat_3,
        CASE WHEN avocat_3.personne_morale_nom IS NOT NULL OR avocat_3.personne_morale_prenom IS NOT NULL
            THEN avocat_3.civilite_libelle
            ELSE ''
        END AS civilite_qualite_pm_avocat_3,
        CASE WHEN avocat_3.personne_morale_nom IS NOT NULL
            THEN avocat_3.personne_morale_nom
            ELSE ''
        END AS nom_qualite_pm_avocat_3,
        CASE WHEN avocat_3.personne_morale_prenom IS NOT NULL
            THEN avocat_3.personne_morale_prenom
            ELSE ''
        END AS prenom_qualite_pm_avocat_3,
        CASE WHEN avocat_3.qualite='particulier'
            THEN ''
            ELSE avocat_3.personne_morale_raison_sociale
        END AS raison_sociale_avocat_3,
        CASE WHEN avocat_3.qualite='particulier'
            THEN ''
            ELSE avocat_3.personne_morale_denomination
        END AS denomination_avocat_3,
        CASE WHEN avocat_3.qualite='particulier'
            THEN ''
            ELSE avocat_3.personne_morale_siret
        END AS siret_avocat_3,
        CASE WHEN avocat_3.qualite='particulier'
            THEN ''
            ELSE avocat_3.personne_morale_categorie_juridique
        END AS categorie_juridique_avocat_3,
        avocat_3.numero AS numero_avocat_3,
    &DB_PREFIXEadresse(avocat_3.numero::text, avocat_3.voie::text, avocat_3.complement::text, avocat_3.lieu_dit::text, avocat_3.bp::text, avocat_3.code_postal::text, avocat_3.localite::text, avocat_3.cedex::text, avocat_3.pays::text) AS adresse_avocat_3_sdl,
    &DB_PREFIXEadresse(avocat_3.numero::text, avocat_3.voie::text, avocat_3.complement::text, avocat_3.lieu_dit::text, avocat_3.bp::text, avocat_3.code_postal::text, avocat_3.localite::text, avocat_3.cedex::text, avocat_3.pays::text, ' '::text) AS adresse_avocat_3,
        avocat_3.voie AS voie_avocat_3,
        avocat_3.complement AS complement_avocat_3,
        avocat_3.lieu_dit AS lieu_dit_avocat_3,
        CASE 
            WHEN avocat_3.bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', avocat_3.bp)
        END AS bp_avocat_3,
        avocat_3.code_postal AS code_postal_avocat_3,
        avocat_3.localite AS localite_avocat_3,
        CASE 
            WHEN avocat_3.cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', avocat_3.cedex)
        END AS cedex_avocat_3,
        avocat_3.pays AS pays_avocat_3,
        avocat_3.division_territoriale AS division_territoriale_avocat_3,
        CASE WHEN avocat_3.qualite = 'particulier'
            THEN TO_CHAR(avocat_3.particulier_date_naissance, 'DD/MM/YYYY')
            ELSE ''
        END AS date_naissance_avocat_3,
        CASE WHEN avocat_3.qualite = 'particulier'
            THEN CONCAT_WS(' ', avocat_3.particulier_commune_naissance, avocat_3.particulier_departement_naissance, avocat_3.particulier_pays_naissance)
            ELSE ''
        END AS lieu_naissance_avocat_3,
        avocat_3.courriel AS email_avocat_3,
        CONCAT_WS(' ', avocat_3.indicatif, CONCAT_WS(' / ', avocat_3.telephone_fixe, avocat_3.telephone_mobile)) AS coordonnees_telephonique_avocat_3,
    
        --Coordonnées de l'avocat 4
    
        CASE WHEN avocat_4.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', avocat_4.civilite_libelle, avocat_4.particulier_nom, avocat_4.particulier_prenom))
            ELSE
                CASE WHEN avocat_4.personne_morale_nom IS NOT NULL OR avocat_4.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', avocat_4.personne_morale_raison_sociale, avocat_4.personne_morale_denomination, 'représenté(e) par', avocat_4.civilite_libelle, avocat_4.personne_morale_nom, avocat_4.personne_morale_prenom))
                    ELSE TRIM(CONCAT(avocat_4.personne_morale_raison_sociale, ' ', avocat_4.personne_morale_denomination))
                END
        END AS nom_complet_qualite_part_ou_pm_avocat_4,
        CASE WHEN avocat_4.qualite='particulier' OR avocat_4.personne_morale_nom IS NOT NULL OR avocat_4.personne_morale_prenom IS NOT NULL
            THEN avocat_4.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_ou_pm_avocat_4,
        CASE WHEN avocat_4.qualite='particulier'
            THEN avocat_4.particulier_nom
            ELSE
                CASE WHEN avocat_4.personne_morale_nom IS NOT NULL
                    THEN avocat_4.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_part_ou_pm_avocat_4,
        CASE WHEN avocat_4.qualite='particulier'
            THEN avocat_4.particulier_prenom
            ELSE
                CASE WHEN avocat_4.personne_morale_prenom IS NOT NULL
                    THEN avocat_4.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_part_ou_pm_avocat_4,
        CASE WHEN avocat_4.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', avocat_4.civilite_libelle, avocat_4.particulier_nom, avocat_4.particulier_prenom))
            ELSE ''
        END AS nom_complet_qualite_part_avocat_4,
        CASE WHEN avocat_4.qualite='particulier'
            THEN avocat_4.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_avocat_4,
        CASE WHEN avocat_4.qualite='particulier'
            THEN avocat_4.particulier_nom
            ELSE ''
        END AS nom_qualite_part_avocat_4,
        CASE WHEN avocat_4.qualite='particulier'
            THEN avocat_4.particulier_prenom
            ELSE ''
        END AS prenom_qualite_part_avocat_4,
        CASE WHEN avocat_4.personne_morale_nom IS NOT NULL OR avocat_4.personne_morale_prenom IS NOT NULL
            THEN TRIM(CONCAT_WS(' ', avocat_4.personne_morale_raison_sociale, avocat_4.personne_morale_denomination, 'représenté(e) par', avocat_4.civilite_libelle, avocat_4.personne_morale_nom, avocat_4.personne_morale_prenom))
            ELSE TRIM(CONCAT(avocat_4.personne_morale_raison_sociale, ' ', avocat_4.personne_morale_denomination))
        END AS nom_complet_qualite_pm_avocat_4,
        CASE WHEN avocat_4.personne_morale_nom IS NOT NULL OR avocat_4.personne_morale_prenom IS NOT NULL
            THEN avocat_4.civilite_libelle
            ELSE ''
        END AS civilite_qualite_pm_avocat_4,
        CASE WHEN avocat_4.personne_morale_nom IS NOT NULL
            THEN avocat_4.personne_morale_nom
            ELSE ''
        END AS nom_qualite_pm_avocat_4,
        CASE WHEN avocat_4.personne_morale_prenom IS NOT NULL
            THEN avocat_4.personne_morale_prenom
            ELSE ''
        END AS prenom_qualite_pm_avocat_4,
        CASE WHEN avocat_4.qualite='particulier'
            THEN ''
            ELSE avocat_4.personne_morale_raison_sociale
        END AS raison_sociale_avocat_4,
        CASE WHEN avocat_4.qualite='particulier'
            THEN ''
            ELSE avocat_4.personne_morale_denomination
        END AS denomination_avocat_4,
        CASE WHEN avocat_4.qualite='particulier'
            THEN ''
            ELSE avocat_4.personne_morale_categorie_juridique
        END AS categorie_juridique_avocat_4,
        CASE WHEN avocat_4.qualite='particulier'
            THEN ''
            ELSE avocat_4.personne_morale_siret
        END AS siret_avocat_4,
        avocat_4.numero AS numero_avocat_4,
    &DB_PREFIXEadresse(avocat_4.numero::text, avocat_4.voie::text, avocat_4.complement::text, avocat_4.lieu_dit::text, avocat_4.bp::text, avocat_4.code_postal::text, avocat_4.localite::text, avocat_4.cedex::text, avocat_4.pays::text) AS adresse_avocat_4_sdl,
    &DB_PREFIXEadresse(avocat_4.numero::text, avocat_4.voie::text, avocat_4.complement::text, avocat_4.lieu_dit::text, avocat_4.bp::text, avocat_4.code_postal::text, avocat_4.localite::text, avocat_4.cedex::text, avocat_4.pays::text, ' '::text) AS adresse_avocat_4,
        avocat_4.voie AS voie_avocat_4,
        avocat_4.complement AS complement_avocat_4,
        avocat_4.lieu_dit AS lieu_dit_avocat_4,
        CASE 
            WHEN avocat_4.bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', avocat_4.bp)
        END AS bp_avocat_4,
        avocat_4.code_postal AS code_postal_avocat_4,
        avocat_4.localite AS localite_avocat_4,
        CASE 
            WHEN avocat_4.cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', avocat_4.cedex)
        END AS cedex_avocat_4,
        avocat_4.pays AS pays_avocat_4,
        avocat_4.division_territoriale AS division_territoriale_avocat_4,
        CASE WHEN avocat_4.qualite = 'particulier'
            THEN TO_CHAR(avocat_4.particulier_date_naissance, 'DD/MM/YYYY')
            ELSE ''
        END AS date_naissance_avocat_4,
        CASE WHEN avocat_4.qualite = 'particulier'
            THEN CONCAT_WS(' ', avocat_4.particulier_commune_naissance, avocat_4.particulier_departement_naissance, avocat_4.particulier_pays_naissance)
            ELSE ''
        END AS lieu_naissance_avocat_4,
        avocat_4.courriel AS email_avocat_4,
        CONCAT_WS(' ', avocat_4.indicatif, CONCAT_WS(' / ', avocat_4.telephone_fixe, avocat_4.telephone_mobile)) AS coordonnees_telephonique_avocat_4,
    
        --Coordonnées de l'avocat 5
    
        CASE WHEN avocat_5.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', avocat_5.civilite_libelle, avocat_5.particulier_nom, avocat_5.particulier_prenom))
            ELSE
                CASE WHEN avocat_5.personne_morale_nom IS NOT NULL OR avocat_5.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', avocat_5.personne_morale_raison_sociale, avocat_5.personne_morale_denomination, 'représenté(e) par', avocat_5.civilite_libelle, avocat_5.personne_morale_nom, avocat_5.personne_morale_prenom))
                    ELSE TRIM(CONCAT(avocat_5.personne_morale_raison_sociale, ' ', avocat_5.personne_morale_denomination))
                END
        END AS nom_complet_qualite_part_ou_pm_avocat_5,
        CASE WHEN avocat_5.qualite='particulier' OR avocat_5.personne_morale_nom IS NOT NULL OR avocat_5.personne_morale_prenom IS NOT NULL
            THEN avocat_5.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_ou_pm_avocat_5,
        CASE WHEN avocat_5.qualite='particulier'
            THEN avocat_5.particulier_nom
            ELSE
                CASE WHEN avocat_5.personne_morale_nom IS NOT NULL
                    THEN avocat_5.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_part_ou_pm_avocat_5,
        CASE WHEN avocat_5.qualite='particulier'
            THEN avocat_5.particulier_prenom
            ELSE
                CASE WHEN avocat_5.personne_morale_prenom IS NOT NULL
                    THEN avocat_5.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_part_ou_pm_avocat_5,
        CASE WHEN avocat_5.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', avocat_5.civilite_libelle, avocat_5.particulier_nom, avocat_5.particulier_prenom))
            ELSE ''
        END AS nom_complet_qualite_part_avocat_5,
        CASE WHEN avocat_5.qualite='particulier'
            THEN avocat_5.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_avocat_5,
        CASE WHEN avocat_5.qualite='particulier'
            THEN avocat_5.particulier_nom
            ELSE ''
        END AS nom_qualite_part_avocat_5,
        CASE WHEN avocat_5.qualite='particulier'
            THEN avocat_5.particulier_prenom
            ELSE ''
        END AS prenom_qualite_part_avocat_5,
        CASE WHEN avocat_5.personne_morale_nom IS NOT NULL OR avocat_5.personne_morale_prenom IS NOT NULL
            THEN TRIM(CONCAT_WS(' ', avocat_5.personne_morale_raison_sociale, avocat_5.personne_morale_denomination, 'représenté(e) par', avocat_5.civilite_libelle, avocat_5.personne_morale_nom, avocat_5.personne_morale_prenom))
            ELSE TRIM(CONCAT(avocat_5.personne_morale_raison_sociale, ' ', avocat_5.personne_morale_denomination))
        END AS nom_complet_qualite_pm_avocat_5,
        CASE WHEN avocat_5.personne_morale_nom IS NOT NULL OR avocat_5.personne_morale_prenom IS NOT NULL
            THEN avocat_5.civilite_libelle
            ELSE ''
        END AS civilite_qualite_pm_avocat_5,
        CASE WHEN avocat_5.personne_morale_nom IS NOT NULL
            THEN avocat_5.personne_morale_nom
            ELSE ''
        END AS nom_qualite_pm_avocat_5,
        CASE WHEN avocat_5.personne_morale_prenom IS NOT NULL
            THEN avocat_5.personne_morale_prenom
            ELSE ''
        END AS prenom_qualite_pm_avocat_5,
        CASE WHEN avocat_5.qualite='particulier'
            THEN ''
            ELSE avocat_5.personne_morale_raison_sociale
        END AS raison_sociale_avocat_5,
        CASE WHEN avocat_5.qualite='particulier'
            THEN ''
            ELSE avocat_5.personne_morale_denomination
        END AS denomination_avocat_5,
        CASE WHEN avocat_5.qualite='particulier'
            THEN ''
            ELSE avocat_5.personne_morale_categorie_juridique
        END AS categorie_juridique_avocat_5,
        CASE WHEN avocat_5.qualite='particulier'
            THEN ''
            ELSE avocat_5.personne_morale_siret
        END AS siret_avocat_5,
        avocat_5.numero AS numero_avocat_5,
    &DB_PREFIXEadresse(avocat_5.numero::text, avocat_5.voie::text, avocat_5.complement::text, avocat_5.lieu_dit::text, avocat_5.bp::text, avocat_5.code_postal::text, avocat_5.localite::text, avocat_5.cedex::text, avocat_5.pays::text) AS adresse_avocat_5_sdl,
    &DB_PREFIXEadresse(avocat_5.numero::text, avocat_5.voie::text, avocat_5.complement::text, avocat_5.lieu_dit::text, avocat_5.bp::text, avocat_5.code_postal::text, avocat_5.localite::text, avocat_5.cedex::text, avocat_5.pays::text, ' '::text) AS adresse_avocat_5,
        avocat_5.voie AS voie_avocat_5,
        avocat_5.complement AS complement_avocat_5,
        avocat_5.lieu_dit AS lieu_dit_avocat_5,
        CASE 
            WHEN avocat_5.bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', avocat_5.bp)
        END AS bp_avocat_5,
        avocat_5.code_postal AS code_postal_avocat_5,
        avocat_5.localite AS localite_avocat_5,
        CASE 
            WHEN avocat_5.cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', avocat_5.cedex)
        END AS cedex_avocat_5,
        avocat_5.pays AS pays_avocat_5,
        avocat_5.division_territoriale AS division_territoriale_avocat_5,
        CASE WHEN avocat_5.qualite = 'particulier'
            THEN TO_CHAR(avocat_5.particulier_date_naissance, 'DD/MM/YYYY')
            ELSE ''
        END AS date_naissance_avocat_5,
        CASE WHEN avocat_5.qualite = 'particulier'
            THEN CONCAT_WS(' ', avocat_5.particulier_commune_naissance, avocat_5.particulier_departement_naissance, avocat_5.particulier_pays_naissance)
            ELSE ''
        END AS lieu_naissance_avocat_5,
        avocat_5.courriel AS email_avocat_5,
        CONCAT_WS(' ', avocat_5.indicatif, CONCAT_WS(' / ', avocat_5.telephone_fixe, avocat_5.telephone_mobile)) AS coordonnees_telephonique_avocat_5,
    
        --Coordonnées du plaignant principal
    
        CASE WHEN plaignant_principal.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', plaignant_principal.civilite_libelle, plaignant_principal.particulier_nom, plaignant_principal.particulier_prenom))
            ELSE
                CASE WHEN plaignant_principal.personne_morale_nom IS NOT NULL OR plaignant_principal.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', plaignant_principal.personne_morale_raison_sociale, plaignant_principal.personne_morale_denomination, 'représenté(e) par', plaignant_principal.civilite_libelle, plaignant_principal.personne_morale_nom, plaignant_principal.personne_morale_prenom))
                    ELSE TRIM(CONCAT(plaignant_principal.personne_morale_raison_sociale, ' ', plaignant_principal.personne_morale_denomination))
                END
        END AS nom_complet_qualite_part_ou_pm_plaignant_principal,
        CASE WHEN plaignant_principal.qualite='particulier' OR plaignant_principal.personne_morale_nom IS NOT NULL OR plaignant_principal.personne_morale_prenom IS NOT NULL
            THEN plaignant_principal.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_ou_pm_plaignant_principal,
        CASE WHEN plaignant_principal.qualite='particulier'
            THEN plaignant_principal.particulier_nom
            ELSE
                CASE WHEN plaignant_principal.personne_morale_nom IS NOT NULL
                    THEN plaignant_principal.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_part_ou_pm_plaignant_principal,
        CASE WHEN plaignant_principal.qualite='particulier'
            THEN plaignant_principal.particulier_prenom
            ELSE
                CASE WHEN plaignant_principal.personne_morale_prenom IS NOT NULL
                    THEN plaignant_principal.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_part_ou_pm_plaignant_principal,
        CASE WHEN plaignant_principal.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', plaignant_principal.civilite_libelle, plaignant_principal.particulier_nom, plaignant_principal.particulier_prenom))
            ELSE ''
        END AS nom_complet_qualite_part_plaignant_principal,
        CASE WHEN plaignant_principal.qualite='particulier'
            THEN plaignant_principal.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_plaignant_principal,
        CASE WHEN plaignant_principal.qualite='particulier'
            THEN plaignant_principal.particulier_nom
            ELSE ''
        END AS nom_qualite_part_plaignant_principal,
        CASE WHEN plaignant_principal.qualite='particulier'
            THEN plaignant_principal.particulier_prenom
            ELSE ''
        END AS prenom_qualite_part_plaignant_principal,
        CASE WHEN plaignant_principal.personne_morale_nom IS NOT NULL OR plaignant_principal.personne_morale_prenom IS NOT NULL
            THEN TRIM(CONCAT_WS(' ', plaignant_principal.personne_morale_raison_sociale, plaignant_principal.personne_morale_denomination, 'représenté(e) par', plaignant_principal.civilite_libelle, plaignant_principal.personne_morale_nom, plaignant_principal.personne_morale_prenom))
            ELSE TRIM(CONCAT(plaignant_principal.personne_morale_raison_sociale, ' ', plaignant_principal.personne_morale_denomination))
        END AS nom_complet_qualite_pm_plaignant_principal,
        CASE WHEN plaignant_principal.personne_morale_nom IS NOT NULL OR plaignant_principal.personne_morale_prenom IS NOT NULL
            THEN plaignant_principal.civilite_libelle
            ELSE ''
        END AS civilite_qualite_pm_plaignant_principal,
        CASE WHEN plaignant_principal.personne_morale_nom IS NOT NULL
            THEN plaignant_principal.personne_morale_nom
            ELSE ''
        END AS nom_qualite_pm_plaignant_principal,
        CASE WHEN plaignant_principal.personne_morale_prenom IS NOT NULL
            THEN plaignant_principal.personne_morale_prenom
            ELSE ''
        END AS prenom_qualite_pm_plaignant_principal,
        CASE WHEN plaignant_principal.qualite='particulier'
            THEN ''
            ELSE plaignant_principal.personne_morale_raison_sociale
        END AS raison_sociale_plaignant_principal,
        CASE WHEN plaignant_principal.qualite='particulier'
            THEN ''
            ELSE plaignant_principal.personne_morale_denomination
        END AS denomination_plaignant_principal,
        CASE WHEN plaignant_principal.qualite='particulier'
            THEN ''
            ELSE plaignant_principal.personne_morale_siret
        END AS siret_plaignant_principal,
        CASE WHEN plaignant_principal.qualite='particulier'
            THEN ''
            ELSE plaignant_principal.personne_morale_categorie_juridique
        END AS categorie_juridique_plaignant_principal,
        plaignant_principal.numero AS numero_plaignant_principal,
    &DB_PREFIXEadresse(plaignant_principal.numero::text, plaignant_principal.voie::text, plaignant_principal.complement::text, plaignant_principal.lieu_dit::text, plaignant_principal.bp::text, plaignant_principal.code_postal::text, plaignant_principal.localite::text, plaignant_principal.cedex::text, plaignant_principal.pays::text) AS adresse_plaignant_principal_sdl,
    &DB_PREFIXEadresse(plaignant_principal.numero::text, plaignant_principal.voie::text, plaignant_principal.complement::text, plaignant_principal.lieu_dit::text, plaignant_principal.bp::text, plaignant_principal.code_postal::text, plaignant_principal.localite::text, plaignant_principal.cedex::text, plaignant_principal.pays::text, ' '::text) AS adresse_plaignant_principal,
        plaignant_principal.voie AS voie_plaignant_principal,
        plaignant_principal.complement AS complement_plaignant_principal,
        plaignant_principal.lieu_dit AS lieu_dit_plaignant_principal,
        CASE 
            WHEN plaignant_principal.bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', plaignant_principal.bp)
        END AS bp_plaignant_principal,
        plaignant_principal.code_postal AS code_postal_plaignant_principal,
        plaignant_principal.localite AS localite_plaignant_principal,
        CASE 
            WHEN plaignant_principal.cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', plaignant_principal.cedex)
        END AS cedex_plaignant_principal,
        plaignant_principal.pays AS pays_plaignant_principal,
        plaignant_principal.division_territoriale AS division_territoriale_plaignant_principal,
        CASE WHEN plaignant_principal.qualite = 'particulier'
            THEN TO_CHAR(plaignant_principal.particulier_date_naissance, 'DD/MM/YYYY')
            ELSE ''
        END AS date_naissance_plaignant_principal,
        CASE WHEN plaignant_principal.qualite = 'particulier'
            THEN CONCAT_WS(' ', plaignant_principal.particulier_commune_naissance, plaignant_principal.particulier_departement_naissance, plaignant_principal.particulier_pays_naissance)
            ELSE ''
        END AS lieu_naissance_plaignant_principal,
        plaignant_principal.courriel AS email_plaignant_principal,
        CONCAT_WS(' ', plaignant_principal.indicatif, CONCAT_WS(' / ', plaignant_principal.telephone_fixe, plaignant_principal.telephone_mobile)) AS coordonnees_telephonique_plaignant_principal,
    
        --Coordonnées de l'plaignant 1
    
        CASE WHEN plaignant_1.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', plaignant_1.civilite_libelle, plaignant_1.particulier_nom, plaignant_1.particulier_prenom))
            ELSE
                CASE WHEN plaignant_1.personne_morale_nom IS NOT NULL OR plaignant_1.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', plaignant_1.personne_morale_raison_sociale, plaignant_1.personne_morale_denomination, 'représenté(e) par', plaignant_1.civilite_libelle, plaignant_1.personne_morale_nom, plaignant_1.personne_morale_prenom))
                    ELSE TRIM(CONCAT(plaignant_1.personne_morale_raison_sociale, ' ', plaignant_1.personne_morale_denomination))
                END
        END AS nom_complet_qualite_part_ou_pm_plaignant_1,
        CASE WHEN plaignant_1.qualite='particulier' OR plaignant_1.personne_morale_nom IS NOT NULL OR plaignant_1.personne_morale_prenom IS NOT NULL
            THEN plaignant_1.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_ou_pm_plaignant_1,
        CASE WHEN plaignant_1.qualite='particulier'
            THEN plaignant_1.particulier_nom
            ELSE
                CASE WHEN plaignant_1.personne_morale_nom IS NOT NULL
                    THEN plaignant_1.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_part_ou_pm_plaignant_1,
        CASE WHEN plaignant_1.qualite='particulier'
            THEN plaignant_1.particulier_prenom
            ELSE
                CASE WHEN plaignant_1.personne_morale_prenom IS NOT NULL
                    THEN plaignant_1.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_part_ou_pm_plaignant_1,
        CASE WHEN plaignant_1.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', plaignant_1.civilite_libelle, plaignant_1.particulier_nom, plaignant_1.particulier_prenom))
            ELSE ''
        END AS nom_complet_qualite_part_plaignant_1,
        CASE WHEN plaignant_1.qualite='particulier'
            THEN plaignant_1.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_plaignant_1,
        CASE WHEN plaignant_1.qualite='particulier'
            THEN plaignant_1.particulier_nom
            ELSE ''
        END AS nom_qualite_part_plaignant_1,
        CASE WHEN plaignant_1.qualite='particulier'
            THEN plaignant_1.particulier_prenom
            ELSE ''
        END AS prenom_qualite_part_plaignant_1,
        CASE WHEN plaignant_1.personne_morale_nom IS NOT NULL OR plaignant_1.personne_morale_prenom IS NOT NULL
            THEN TRIM(CONCAT_WS(' ', plaignant_1.personne_morale_raison_sociale, plaignant_1.personne_morale_denomination, 'représenté(e) par', plaignant_1.civilite_libelle, plaignant_1.personne_morale_nom, plaignant_1.personne_morale_prenom))
            ELSE TRIM(CONCAT(plaignant_1.personne_morale_raison_sociale, ' ', plaignant_1.personne_morale_denomination))
        END AS nom_complet_qualite_pm_plaignant_1,
        CASE WHEN plaignant_1.personne_morale_nom IS NOT NULL OR plaignant_1.personne_morale_prenom IS NOT NULL
            THEN plaignant_1.civilite_libelle
            ELSE ''
        END AS civilite_qualite_pm_plaignant_1,
        CASE WHEN plaignant_1.personne_morale_nom IS NOT NULL
            THEN plaignant_1.personne_morale_nom
            ELSE ''
        END AS nom_qualite_pm_plaignant_1,
        CASE WHEN plaignant_1.personne_morale_prenom IS NOT NULL
            THEN plaignant_1.personne_morale_prenom
            ELSE ''
        END AS prenom_qualite_pm_plaignant_1,
        CASE WHEN plaignant_1.qualite='particulier'
            THEN ''
            ELSE plaignant_1.personne_morale_raison_sociale
        END AS raison_sociale_plaignant_1,
        CASE WHEN plaignant_1.qualite='particulier'
            THEN ''
            ELSE plaignant_1.personne_morale_denomination
        END AS denomination_plaignant_1,
        CASE WHEN plaignant_1.qualite='particulier'
            THEN ''
            ELSE plaignant_1.personne_morale_siret
        END AS siret_plaignant_1,
        CASE WHEN plaignant_1.qualite='particulier'
            THEN ''
            ELSE plaignant_1.personne_morale_categorie_juridique
        END AS categorie_juridique_plaignant_1,
        plaignant_1.numero AS numero_plaignant_1,
    &DB_PREFIXEadresse(plaignant_1.numero::text, plaignant_1.voie::text, plaignant_1.complement::text, plaignant_1.lieu_dit::text, plaignant_1.bp::text, plaignant_1.code_postal::text, plaignant_1.localite::text, plaignant_1.cedex::text, plaignant_1.pays::text) AS adresse_plaignant_1_sdl,
    &DB_PREFIXEadresse(plaignant_1.numero::text, plaignant_1.voie::text, plaignant_1.complement::text, plaignant_1.lieu_dit::text, plaignant_1.bp::text, plaignant_1.code_postal::text, plaignant_1.localite::text, plaignant_1.cedex::text, plaignant_1.pays::text, ' '::text) AS adresse_plaignant_1,
        plaignant_1.voie AS voie_plaignant_1,
        plaignant_1.complement AS complement_plaignant_1,
        plaignant_1.lieu_dit AS lieu_dit_plaignant_1,
        CASE 
            WHEN plaignant_1.bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', plaignant_1.bp)
        END AS bp_plaignant_1,
        plaignant_1.code_postal AS code_postal_plaignant_1,
        plaignant_1.localite AS localite_plaignant_1,
        CASE 
            WHEN plaignant_1.cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', plaignant_1.cedex)
        END AS cedex_plaignant_1,
        plaignant_1.pays AS pays_plaignant_1,
        plaignant_1.division_territoriale AS division_territoriale_plaignant_1,
        CASE WHEN plaignant_1.qualite = 'particulier'
            THEN TO_CHAR(plaignant_1.particulier_date_naissance, 'DD/MM/YYYY')
            ELSE ''
        END AS date_naissance_plaignant_1,
        CASE WHEN plaignant_1.qualite = 'particulier'
            THEN CONCAT_WS(' ', plaignant_1.particulier_commune_naissance, plaignant_1.particulier_departement_naissance, plaignant_1.particulier_pays_naissance)
            ELSE ''
        END AS lieu_naissance_plaignant_1,
        plaignant_1.courriel AS email_plaignant_1,
        CONCAT_WS(' ', plaignant_1.indicatif, CONCAT_WS(' / ', plaignant_1.telephone_fixe, plaignant_1.telephone_mobile)) AS coordonnees_telephonique_plaignant_1,
    
        --Coordonnées de l'plaignant 2
    
        CASE WHEN plaignant_2.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', plaignant_2.civilite_libelle, plaignant_2.particulier_nom, plaignant_2.particulier_prenom))
            ELSE
                CASE WHEN plaignant_2.personne_morale_nom IS NOT NULL OR plaignant_2.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', plaignant_2.personne_morale_raison_sociale, plaignant_2.personne_morale_denomination, 'représenté(e) par', plaignant_2.civilite_libelle, plaignant_2.personne_morale_nom, plaignant_2.personne_morale_prenom))
                    ELSE TRIM(CONCAT(plaignant_2.personne_morale_raison_sociale, ' ', plaignant_2.personne_morale_denomination))
                END
        END AS nom_complet_qualite_part_ou_pm_plaignant_2,
        CASE WHEN plaignant_2.qualite='particulier' OR plaignant_2.personne_morale_nom IS NOT NULL OR plaignant_2.personne_morale_prenom IS NOT NULL
            THEN plaignant_2.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_ou_pm_plaignant_2,
        CASE WHEN plaignant_2.qualite='particulier'
            THEN plaignant_2.particulier_nom
            ELSE
                CASE WHEN plaignant_2.personne_morale_nom IS NOT NULL
                    THEN plaignant_2.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_part_ou_pm_plaignant_2,
        CASE WHEN plaignant_2.qualite='particulier'
            THEN plaignant_2.particulier_prenom
            ELSE
                CASE WHEN plaignant_2.personne_morale_prenom IS NOT NULL
                    THEN plaignant_2.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_part_ou_pm_plaignant_2,
        CASE WHEN plaignant_2.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', plaignant_2.civilite_libelle, plaignant_2.particulier_nom, plaignant_2.particulier_prenom))
            ELSE ''
        END AS nom_complet_qualite_part_plaignant_2,
        CASE WHEN plaignant_2.qualite='particulier'
            THEN plaignant_2.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_plaignant_2,
        CASE WHEN plaignant_2.qualite='particulier'
            THEN plaignant_2.particulier_nom
            ELSE ''
        END AS nom_qualite_part_plaignant_2,
        CASE WHEN plaignant_2.qualite='particulier'
            THEN plaignant_2.particulier_prenom
            ELSE ''
        END AS prenom_qualite_part_plaignant_2,
        CASE WHEN plaignant_2.personne_morale_nom IS NOT NULL OR plaignant_2.personne_morale_prenom IS NOT NULL
            THEN TRIM(CONCAT_WS(' ', plaignant_2.personne_morale_raison_sociale, plaignant_2.personne_morale_denomination, 'représenté(e) par', plaignant_2.civilite_libelle, plaignant_2.personne_morale_nom, plaignant_2.personne_morale_prenom))
            ELSE TRIM(CONCAT(plaignant_2.personne_morale_raison_sociale, ' ', plaignant_2.personne_morale_denomination))
        END AS nom_complet_qualite_pm_plaignant_2,
        CASE WHEN plaignant_2.personne_morale_nom IS NOT NULL OR plaignant_2.personne_morale_prenom IS NOT NULL
            THEN plaignant_2.civilite_libelle
            ELSE ''
        END AS civilite_qualite_pm_plaignant_2,
        CASE WHEN plaignant_2.personne_morale_nom IS NOT NULL
            THEN plaignant_2.personne_morale_nom
            ELSE ''
        END AS nom_qualite_pm_plaignant_2,
        CASE WHEN plaignant_2.personne_morale_prenom IS NOT NULL
            THEN plaignant_2.personne_morale_prenom
            ELSE ''
        END AS prenom_qualite_pm_plaignant_2,
        CASE WHEN plaignant_2.qualite='particulier'
            THEN ''
            ELSE plaignant_2.personne_morale_raison_sociale
        END AS raison_sociale_plaignant_2,
        CASE WHEN plaignant_2.qualite='particulier'
            THEN ''
            ELSE plaignant_2.personne_morale_denomination
        END AS denomination_plaignant_2,
        CASE WHEN plaignant_2.qualite='particulier'
            THEN ''
            ELSE plaignant_2.personne_morale_categorie_juridique
        END AS categorie_juridique_plaignant_2,
        CASE WHEN plaignant_2.qualite='particulier'
            THEN ''
            ELSE plaignant_2.personne_morale_siret
        END AS siret_plaignant_2,
        plaignant_2.numero AS numero_plaignant_2,
    &DB_PREFIXEadresse(plaignant_2.numero::text, plaignant_2.voie::text, plaignant_2.complement::text, plaignant_2.lieu_dit::text, plaignant_2.bp::text, plaignant_2.code_postal::text, plaignant_2.localite::text, plaignant_2.cedex::text, plaignant_2.pays::text) AS adresse_plaignant_2_sdl,
    &DB_PREFIXEadresse(plaignant_2.numero::text, plaignant_2.voie::text, plaignant_2.complement::text, plaignant_2.lieu_dit::text, plaignant_2.bp::text, plaignant_2.code_postal::text, plaignant_2.localite::text, plaignant_2.cedex::text, plaignant_2.pays::text, ' '::text) AS adresse_plaignant_2,
        plaignant_2.voie AS voie_plaignant_2,
        plaignant_2.complement AS complement_plaignant_2,
        plaignant_2.lieu_dit AS lieu_dit_plaignant_2,
        CASE 
            WHEN plaignant_2.bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', plaignant_2.bp)
        END AS bp_plaignant_2,
        plaignant_2.code_postal AS code_postal_plaignant_2,
        plaignant_2.localite AS localite_plaignant_2,
        CASE 
            WHEN plaignant_2.cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', plaignant_2.cedex)
        END AS cedex_plaignant_2,
        plaignant_2.pays AS pays_plaignant_2,
        plaignant_2.division_territoriale AS division_territoriale_plaignant_2,
        CASE WHEN plaignant_2.qualite = 'particulier'
            THEN TO_CHAR(plaignant_2.particulier_date_naissance, 'DD/MM/YYYY')
            ELSE ''
        END AS date_naissance_plaignant_2,
        CASE WHEN plaignant_2.qualite = 'particulier'
            THEN CONCAT_WS(' ', plaignant_2.particulier_commune_naissance, plaignant_2.particulier_departement_naissance, plaignant_2.particulier_pays_naissance)
            ELSE ''
        END AS lieu_naissance_plaignant_2,
        plaignant_2.courriel AS email_plaignant_2,
        CONCAT_WS(' ', plaignant_2.indicatif, CONCAT_WS(' / ', plaignant_2.telephone_fixe, plaignant_2.telephone_mobile)) AS coordonnees_telephonique_plaignant_2,
    
        --Coordonnées de l'plaignant 3
    
        CASE WHEN plaignant_3.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', plaignant_3.civilite_libelle, plaignant_3.particulier_nom, plaignant_3.particulier_prenom))
            ELSE
                CASE WHEN plaignant_3.personne_morale_nom IS NOT NULL OR plaignant_3.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', plaignant_3.personne_morale_raison_sociale, plaignant_3.personne_morale_denomination, 'représenté(e) par', plaignant_3.civilite_libelle, plaignant_3.personne_morale_nom, plaignant_3.personne_morale_prenom))
                    ELSE TRIM(CONCAT(plaignant_3.personne_morale_raison_sociale, ' ', plaignant_3.personne_morale_denomination))
                END
        END AS nom_complet_qualite_part_ou_pm_plaignant_3,
        CASE WHEN plaignant_3.qualite='particulier' OR plaignant_3.personne_morale_nom IS NOT NULL OR plaignant_3.personne_morale_prenom IS NOT NULL
            THEN plaignant_3.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_ou_pm_plaignant_3,
        CASE WHEN plaignant_3.qualite='particulier'
            THEN plaignant_3.particulier_nom
            ELSE
                CASE WHEN plaignant_3.personne_morale_nom IS NOT NULL
                    THEN plaignant_3.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_part_ou_pm_plaignant_3,
        CASE WHEN plaignant_3.qualite='particulier'
            THEN plaignant_3.particulier_prenom
            ELSE
                CASE WHEN plaignant_3.personne_morale_prenom IS NOT NULL
                    THEN plaignant_3.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_part_ou_pm_plaignant_3,
        CASE WHEN plaignant_3.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', plaignant_3.civilite_libelle, plaignant_3.particulier_nom, plaignant_3.particulier_prenom))
            ELSE ''
        END AS nom_complet_qualite_part_plaignant_3,
        CASE WHEN plaignant_3.qualite='particulier'
            THEN plaignant_3.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_plaignant_3,
        CASE WHEN plaignant_3.qualite='particulier'
            THEN plaignant_3.particulier_nom
            ELSE ''
        END AS nom_qualite_part_plaignant_3,
        CASE WHEN plaignant_3.qualite='particulier'
            THEN plaignant_3.particulier_prenom
            ELSE ''
        END AS prenom_qualite_part_plaignant_3,
        CASE WHEN plaignant_3.personne_morale_nom IS NOT NULL OR plaignant_3.personne_morale_prenom IS NOT NULL
            THEN TRIM(CONCAT_WS(' ', plaignant_3.personne_morale_raison_sociale, plaignant_3.personne_morale_denomination, 'représenté(e) par', plaignant_3.civilite_libelle, plaignant_3.personne_morale_nom, plaignant_3.personne_morale_prenom))
            ELSE TRIM(CONCAT(plaignant_3.personne_morale_raison_sociale, ' ', plaignant_3.personne_morale_denomination))
        END AS nom_complet_qualite_pm_plaignant_3,
        CASE WHEN plaignant_3.personne_morale_nom IS NOT NULL OR plaignant_3.personne_morale_prenom IS NOT NULL
            THEN plaignant_3.civilite_libelle
            ELSE ''
        END AS civilite_qualite_pm_plaignant_3,
        CASE WHEN plaignant_3.personne_morale_nom IS NOT NULL
            THEN plaignant_3.personne_morale_nom
            ELSE ''
        END AS nom_qualite_pm_plaignant_3,
        CASE WHEN plaignant_3.personne_morale_prenom IS NOT NULL
            THEN plaignant_3.personne_morale_prenom
            ELSE ''
        END AS prenom_qualite_pm_plaignant_3,
        CASE WHEN plaignant_3.qualite='particulier'
            THEN ''
            ELSE plaignant_3.personne_morale_raison_sociale
        END AS raison_sociale_plaignant_3,
        CASE WHEN plaignant_3.qualite='particulier'
            THEN ''
            ELSE plaignant_3.personne_morale_denomination
        END AS denomination_plaignant_3,
        CASE WHEN plaignant_3.qualite='particulier'
            THEN ''
            ELSE plaignant_3.personne_morale_siret
        END AS siret_plaignant_3,
        CASE WHEN plaignant_3.qualite='particulier'
            THEN ''
            ELSE plaignant_3.personne_morale_categorie_juridique
        END AS categorie_juridique_plaignant_3,
        plaignant_3.numero AS numero_plaignant_3,
    &DB_PREFIXEadresse(plaignant_3.numero::text, plaignant_3.voie::text, plaignant_3.complement::text, plaignant_3.lieu_dit::text, plaignant_3.bp::text, plaignant_3.code_postal::text, plaignant_3.localite::text, plaignant_3.cedex::text, plaignant_3.pays::text) AS adresse_plaignant_3_sdl,
    &DB_PREFIXEadresse(plaignant_3.numero::text, plaignant_3.voie::text, plaignant_3.complement::text, plaignant_3.lieu_dit::text, plaignant_3.bp::text, plaignant_3.code_postal::text, plaignant_3.localite::text, plaignant_3.cedex::text, plaignant_3.pays::text, ' '::text) AS adresse_plaignant_3,
        plaignant_3.voie AS voie_plaignant_3,
        plaignant_3.complement AS complement_plaignant_3,
        plaignant_3.lieu_dit AS lieu_dit_plaignant_3,
        CASE 
            WHEN plaignant_3.bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', plaignant_3.bp)
        END AS bp_plaignant_3,
        plaignant_3.code_postal AS code_postal_plaignant_3,
        plaignant_3.localite AS localite_plaignant_3,
        CASE 
            WHEN plaignant_3.cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', plaignant_3.cedex)
        END AS cedex_plaignant_3,
        plaignant_3.pays AS pays_plaignant_3,
        plaignant_3.division_territoriale AS division_territoriale_plaignant_3,
        CASE WHEN plaignant_3.qualite = 'particulier'
            THEN TO_CHAR(plaignant_3.particulier_date_naissance, 'DD/MM/YYYY')
            ELSE ''
        END AS date_naissance_plaignant_3,
        CASE WHEN plaignant_3.qualite = 'particulier'
            THEN CONCAT_WS(' ', plaignant_3.particulier_commune_naissance, plaignant_3.particulier_departement_naissance, plaignant_3.particulier_pays_naissance)
            ELSE ''
        END AS lieu_naissance_plaignant_3,
        plaignant_3.courriel AS email_plaignant_3,
        CONCAT_WS(' ', plaignant_3.indicatif, CONCAT_WS(' / ', plaignant_3.telephone_fixe, plaignant_3.telephone_mobile)) AS coordonnees_telephonique_plaignant_3,
    
        --Coordonnées de l'plaignant 4
    
        CASE WHEN plaignant_4.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', plaignant_4.civilite_libelle, plaignant_4.particulier_nom, plaignant_4.particulier_prenom))
            ELSE
                CASE WHEN plaignant_4.personne_morale_nom IS NOT NULL OR plaignant_4.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', plaignant_4.personne_morale_raison_sociale, plaignant_4.personne_morale_denomination, 'représenté(e) par', plaignant_4.civilite_libelle, plaignant_4.personne_morale_nom, plaignant_4.personne_morale_prenom))
                    ELSE TRIM(CONCAT(plaignant_4.personne_morale_raison_sociale, ' ', plaignant_4.personne_morale_denomination))
                END
        END AS nom_complet_qualite_part_ou_pm_plaignant_4,
        CASE WHEN plaignant_4.qualite='particulier' OR plaignant_4.personne_morale_nom IS NOT NULL OR plaignant_4.personne_morale_prenom IS NOT NULL
            THEN plaignant_4.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_ou_pm_plaignant_4,
        CASE WHEN plaignant_4.qualite='particulier'
            THEN plaignant_4.particulier_nom
            ELSE
                CASE WHEN plaignant_4.personne_morale_nom IS NOT NULL
                    THEN plaignant_4.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_part_ou_pm_plaignant_4,
        CASE WHEN plaignant_4.qualite='particulier'
            THEN plaignant_4.particulier_prenom
            ELSE
                CASE WHEN plaignant_4.personne_morale_prenom IS NOT NULL
                    THEN plaignant_4.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_part_ou_pm_plaignant_4,
        CASE WHEN plaignant_4.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', plaignant_4.civilite_libelle, plaignant_4.particulier_nom, plaignant_4.particulier_prenom))
            ELSE ''
        END AS nom_complet_qualite_part_plaignant_4,
        CASE WHEN plaignant_4.qualite='particulier'
            THEN plaignant_4.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_plaignant_4,
        CASE WHEN plaignant_4.qualite='particulier'
            THEN plaignant_4.particulier_nom
            ELSE ''
        END AS nom_qualite_part_plaignant_4,
        CASE WHEN plaignant_4.qualite='particulier'
            THEN plaignant_4.particulier_prenom
            ELSE ''
        END AS prenom_qualite_part_plaignant_4,
        CASE WHEN plaignant_4.personne_morale_nom IS NOT NULL OR plaignant_4.personne_morale_prenom IS NOT NULL
            THEN TRIM(CONCAT_WS(' ', plaignant_4.personne_morale_raison_sociale, plaignant_4.personne_morale_denomination, 'représenté(e) par', plaignant_4.civilite_libelle, plaignant_4.personne_morale_nom, plaignant_4.personne_morale_prenom))
            ELSE TRIM(CONCAT(plaignant_4.personne_morale_raison_sociale, ' ', plaignant_4.personne_morale_denomination))
        END AS nom_complet_qualite_pm_plaignant_4,
        CASE WHEN plaignant_4.personne_morale_nom IS NOT NULL OR plaignant_4.personne_morale_prenom IS NOT NULL
            THEN plaignant_4.civilite_libelle
            ELSE ''
        END AS civilite_qualite_pm_plaignant_4,
        CASE WHEN plaignant_4.qualite='particulier'
            THEN ''
            ELSE plaignant_4.personne_morale_raison_sociale
        END AS raison_sociale_plaignant_4,
        CASE WHEN plaignant_4.qualite='particulier'
            THEN ''
            ELSE plaignant_4.personne_morale_denomination
        END AS denomination_plaignant_4,
        CASE WHEN plaignant_4.qualite='particulier'
            THEN ''
            ELSE plaignant_4.personne_morale_categorie_juridique
        END AS categorie_juridique_plaignant_4,
        CASE WHEN plaignant_4.qualite='particulier'
            THEN ''
            ELSE plaignant_4.personne_morale_siret
        END AS siret_plaignant_4,
        plaignant_4.numero AS numero_plaignant_4,
    &DB_PREFIXEadresse(plaignant_4.numero::text, plaignant_4.voie::text, plaignant_4.complement::text, plaignant_4.lieu_dit::text, plaignant_4.bp::text, plaignant_4.code_postal::text, plaignant_4.localite::text, plaignant_4.cedex::text, plaignant_4.pays::text) AS adresse_plaignant_4_sdl,
    &DB_PREFIXEadresse(plaignant_4.numero::text, plaignant_4.voie::text, plaignant_4.complement::text, plaignant_4.lieu_dit::text, plaignant_4.bp::text, plaignant_4.code_postal::text, plaignant_4.localite::text, plaignant_4.cedex::text, plaignant_4.pays::text, ' '::text) AS adresse_plaignant_4,
        plaignant_4.voie AS voie_plaignant_4,
        plaignant_4.complement AS complement_plaignant_4,
        plaignant_4.lieu_dit AS lieu_dit_plaignant_4,
        CASE 
            WHEN plaignant_4.bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', plaignant_4.bp)
        END AS bp_plaignant_4,
        plaignant_4.code_postal AS code_postal_plaignant_4,
        plaignant_4.localite AS localite_plaignant_4,
        CASE 
            WHEN plaignant_4.cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', plaignant_4.cedex)
        END AS cedex_plaignant_4,
        plaignant_4.pays AS pays_plaignant_4,
        plaignant_4.division_territoriale AS division_territoriale_plaignant_4,
        CASE WHEN plaignant_4.qualite = 'particulier'
            THEN TO_CHAR(plaignant_4.particulier_date_naissance, 'DD/MM/YYYY')
            ELSE ''
        END AS date_naissance_plaignant_4,
        CASE WHEN plaignant_4.qualite = 'particulier'
            THEN CONCAT_WS(' ', plaignant_4.particulier_commune_naissance, plaignant_4.particulier_departement_naissance, plaignant_4.particulier_pays_naissance)
            ELSE ''
        END AS lieu_naissance_plaignant_4,
        plaignant_4.courriel AS email_plaignant_4,
        CONCAT_WS(' ', plaignant_4.indicatif, CONCAT_WS(' / ', plaignant_4.telephone_fixe, plaignant_4.telephone_mobile)) AS coordonnees_telephonique_plaignant_4,
    
        --Coordonnées de l'plaignant 5
    
        CASE WHEN plaignant_5.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', plaignant_5.civilite_libelle, plaignant_5.particulier_nom, plaignant_5.particulier_prenom))
            ELSE
                CASE WHEN plaignant_5.personne_morale_nom IS NOT NULL OR plaignant_5.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', plaignant_5.personne_morale_raison_sociale, plaignant_5.personne_morale_denomination, 'représenté(e) par', plaignant_5.civilite_libelle, plaignant_5.personne_morale_nom, plaignant_5.personne_morale_prenom))
                    ELSE TRIM(CONCAT(plaignant_5.personne_morale_raison_sociale, ' ', plaignant_5.personne_morale_denomination))
                END
        END AS nom_complet_qualite_part_ou_pm_plaignant_5,
        CASE WHEN plaignant_5.qualite='particulier' OR plaignant_5.personne_morale_nom IS NOT NULL OR plaignant_5.personne_morale_prenom IS NOT NULL
            THEN plaignant_5.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_ou_pm_plaignant_5,
        CASE WHEN plaignant_5.qualite='particulier'
            THEN plaignant_5.particulier_nom
            ELSE
                CASE WHEN plaignant_5.personne_morale_nom IS NOT NULL
                    THEN plaignant_5.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_part_ou_pm_plaignant_5,
        CASE WHEN plaignant_5.qualite='particulier'
            THEN plaignant_5.particulier_prenom
            ELSE
                CASE WHEN plaignant_5.personne_morale_prenom IS NOT NULL
                    THEN plaignant_5.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_part_ou_pm_plaignant_5,
        CASE WHEN plaignant_5.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', plaignant_5.civilite_libelle, plaignant_5.particulier_nom, plaignant_5.particulier_prenom))
            ELSE ''
        END AS nom_complet_qualite_part_plaignant_5,
        CASE WHEN plaignant_5.qualite='particulier'
            THEN plaignant_5.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_plaignant_5,
        CASE WHEN plaignant_5.qualite='particulier'
            THEN plaignant_5.particulier_nom
            ELSE ''
        END AS nom_qualite_part_plaignant_5,
        CASE WHEN plaignant_5.qualite='particulier'
            THEN plaignant_5.particulier_prenom
            ELSE ''
        END AS prenom_qualite_part_plaignant_5,
        CASE WHEN plaignant_5.personne_morale_nom IS NOT NULL OR plaignant_5.personne_morale_prenom IS NOT NULL
            THEN TRIM(CONCAT_WS(' ', plaignant_5.personne_morale_raison_sociale, plaignant_5.personne_morale_denomination, 'représenté(e) par', plaignant_5.civilite_libelle, plaignant_5.personne_morale_nom, plaignant_5.personne_morale_prenom))
            ELSE TRIM(CONCAT(plaignant_5.personne_morale_raison_sociale, ' ', plaignant_5.personne_morale_denomination))
        END AS nom_complet_qualite_pm_plaignant_5,
        CASE WHEN plaignant_5.personne_morale_nom IS NOT NULL OR plaignant_5.personne_morale_prenom IS NOT NULL
            THEN plaignant_5.civilite_libelle
            ELSE ''
        END AS civilite_qualite_pm_plaignant_5,
        CASE WHEN plaignant_5.personne_morale_nom IS NOT NULL
            THEN plaignant_5.personne_morale_nom
            ELSE ''
        END AS nom_qualite_pm_plaignant_5,
        CASE WHEN plaignant_5.personne_morale_prenom IS NOT NULL
            THEN plaignant_5.personne_morale_prenom
            ELSE ''
        END AS prenom_qualite_pm_plaignant_5,
        CASE WHEN plaignant_5.qualite='particulier'
            THEN ''
            ELSE plaignant_5.personne_morale_raison_sociale
        END AS raison_sociale_plaignant_5,
        CASE WHEN plaignant_5.qualite='particulier'
            THEN ''
            ELSE plaignant_5.personne_morale_denomination
        END AS denomination_plaignant_5,
        CASE WHEN plaignant_5.qualite='particulier'
            THEN ''
            ELSE plaignant_5.personne_morale_categorie_juridique
        END AS categorie_juridique_plaignant_5,
        CASE WHEN plaignant_5.qualite='particulier'
            THEN ''
            ELSE plaignant_5.personne_morale_siret
        END AS siret_plaignant_5,
        plaignant_5.numero AS numero_plaignant_5,
    &DB_PREFIXEadresse(plaignant_5.numero::text, plaignant_5.voie::text, plaignant_5.complement::text, plaignant_5.lieu_dit::text, plaignant_5.bp::text, plaignant_5.code_postal::text, plaignant_5.localite::text, plaignant_5.cedex::text, plaignant_5.pays::text) AS adresse_plaignant_5_sdl,
    &DB_PREFIXEadresse(plaignant_5.numero::text, plaignant_5.voie::text, plaignant_5.complement::text, plaignant_5.lieu_dit::text, plaignant_5.bp::text, plaignant_5.code_postal::text, plaignant_5.localite::text, plaignant_5.cedex::text, plaignant_5.pays::text, ' '::text) AS adresse_plaignant_5,
        plaignant_5.voie AS voie_plaignant_5,
        plaignant_5.complement AS complement_plaignant_5,
        plaignant_5.lieu_dit AS lieu_dit_plaignant_5,
        CASE 
            WHEN plaignant_5.bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', plaignant_5.bp)
        END AS bp_plaignant_5,
        plaignant_5.code_postal AS code_postal_plaignant_5,
        plaignant_5.localite AS localite_plaignant_5,
        CASE 
            WHEN plaignant_5.cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', plaignant_5.cedex)
        END AS cedex_plaignant_5,
        plaignant_5.pays AS pays_plaignant_5,
        plaignant_5.division_territoriale AS division_territoriale_plaignant_5,
        CASE WHEN plaignant_5.qualite = 'particulier'
            THEN TO_CHAR(plaignant_5.particulier_date_naissance, 'DD/MM/YYYY')
            ELSE ''
        END AS date_naissance_plaignant_5,
        CASE WHEN plaignant_5.qualite = 'particulier'
            THEN CONCAT_WS(' ', plaignant_5.particulier_commune_naissance, plaignant_5.particulier_departement_naissance, plaignant_5.particulier_pays_naissance)
            ELSE ''
        END AS lieu_naissance_plaignant_5,
        plaignant_5.courriel AS email_plaignant_5,
        CONCAT_WS(' ', plaignant_5.indicatif, CONCAT_WS(' / ', plaignant_5.telephone_fixe, plaignant_5.telephone_mobile)) AS coordonnees_telephonique_plaignant_5,
    
        --Coordonnées du délégataire
    
        CASE WHEN delegataire.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', delegataire.civilite_libelle, delegataire.particulier_nom, delegataire.particulier_prenom))
            ELSE
                CASE WHEN delegataire.personne_morale_nom IS NOT NULL OR delegataire.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', delegataire.personne_morale_raison_sociale, delegataire.personne_morale_denomination, 'représenté(e) par', delegataire.civilite_libelle, delegataire.personne_morale_nom, delegataire.personne_morale_prenom))
                    ELSE TRIM(CONCAT(delegataire.personne_morale_raison_sociale, ' ', delegataire.personne_morale_denomination))
                END
        END AS nom_complet_qualite_part_ou_pm_delegataire,
        CASE WHEN delegataire.qualite='particulier' OR delegataire.personne_morale_nom IS NOT NULL OR delegataire.personne_morale_prenom IS NOT NULL
            THEN delegataire.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_ou_pm_delegataire,
        CASE WHEN delegataire.qualite='particulier'
            THEN delegataire.particulier_nom
            ELSE
                CASE WHEN delegataire.personne_morale_nom IS NOT NULL
                    THEN delegataire.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_part_ou_pm_delegataire,
        CASE WHEN delegataire.qualite='particulier'
            THEN delegataire.particulier_prenom
            ELSE
                CASE WHEN delegataire.personne_morale_prenom IS NOT NULL
                    THEN delegataire.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_part_ou_pm_delegataire,
        CASE WHEN delegataire.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', delegataire.civilite_libelle, delegataire.particulier_nom, delegataire.particulier_prenom))
            ELSE ''
        END AS nom_complet_qualite_part_delegataire,
        CASE WHEN delegataire.qualite='particulier'
            THEN delegataire.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_delegataire,
        CASE WHEN delegataire.qualite='particulier'
            THEN delegataire.particulier_nom
            ELSE ''
        END AS nom_qualite_part_delegataire,
        CASE WHEN delegataire.qualite='particulier'
            THEN delegataire.particulier_prenom
            ELSE ''
        END AS prenom_qualite_part_delegataire,
        CASE WHEN delegataire.personne_morale_nom IS NOT NULL OR delegataire.personne_morale_prenom IS NOT NULL
            THEN TRIM(CONCAT_WS(' ', delegataire.personne_morale_raison_sociale, delegataire.personne_morale_denomination, 'représenté(e) par', delegataire.civilite_libelle, delegataire.personne_morale_nom, delegataire.personne_morale_prenom))
            ELSE TRIM(CONCAT(delegataire.personne_morale_raison_sociale, ' ', delegataire.personne_morale_denomination))
        END AS nom_complet_qualite_pm_delegataire,
        CASE WHEN delegataire.personne_morale_nom IS NOT NULL OR delegataire.personne_morale_prenom IS NOT NULL
            THEN delegataire.civilite_libelle
            ELSE ''
        END AS civilite_qualite_pm_delegataire,
        CASE WHEN delegataire.personne_morale_nom IS NOT NULL
            THEN delegataire.personne_morale_nom
            ELSE ''
        END AS nom_qualite_pm_delegataire,
        CASE WHEN delegataire.personne_morale_prenom IS NOT NULL
            THEN delegataire.personne_morale_prenom
            ELSE ''
        END AS prenom_qualite_pm_delegataire,
        CASE WHEN delegataire.qualite='particulier'
            THEN ''
            ELSE delegataire.personne_morale_raison_sociale
        END AS raison_sociale_delegataire,
        CASE WHEN delegataire.qualite='particulier'
            THEN ''
            ELSE delegataire.personne_morale_denomination
        END AS denomination_delegataire,
        CASE WHEN delegataire.qualite='particulier'
            THEN ''
            ELSE delegataire.personne_morale_siret
        END AS siret_delegataire,
        CASE WHEN delegataire.qualite='particulier'
            THEN ''
            ELSE delegataire.personne_morale_categorie_juridique
        END AS categorie_juridique_delegataire,
        delegataire.numero AS numero_delegataire,
    &DB_PREFIXEadresse(delegataire.numero::text, delegataire.voie::text, delegataire.complement::text, delegataire.lieu_dit::text, delegataire.bp::text, delegataire.code_postal::text, delegataire.localite::text, delegataire.cedex::text, delegataire.pays::text) AS adresse_delegataire_sdl,
    &DB_PREFIXEadresse(delegataire.numero::text, delegataire.voie::text, delegataire.complement::text, delegataire.lieu_dit::text, delegataire.bp::text, delegataire.code_postal::text, delegataire.localite::text, delegataire.cedex::text, delegataire.pays::text, ' '::text) AS adresse_delegataire,
        delegataire.voie AS voie_delegataire,
        delegataire.complement AS complement_delegataire,
        delegataire.lieu_dit AS lieu_dit_delegataire,
        CASE 
            WHEN delegataire.bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', delegataire.bp)
        END AS bp_delegataire,
        delegataire.code_postal AS code_postal_delegataire,
        delegataire.localite AS ville_delegataire,
        CASE 
            WHEN delegataire.cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', delegataire.cedex)
        END AS cedex_delegataire,
        delegataire.pays AS pays_delegataire,
        delegataire.division_territoriale AS division_territoriale_delegataire,
        CASE WHEN delegataire.qualite = 'particulier'
            THEN TO_CHAR(delegataire.particulier_date_naissance, 'DD/MM/YYYY')
            ELSE ''
        END AS date_naissance_delegataire,
        CASE WHEN delegataire.qualite = 'particulier'
            THEN CONCAT_WS(' ', delegataire.particulier_commune_naissance, delegataire.particulier_departement_naissance, delegataire.particulier_pays_naissance)
            ELSE ''
        END AS lieu_naissance_delegataire,
        delegataire.courriel AS email_delegataire,
        CONCAT_WS(' ', delegataire.indicatif, CONCAT_WS(' / ', delegataire.telephone_fixe, delegataire.telephone_mobile)) AS coordonnees_telephonique_delegataire,
    
        --Coordonnées de du bailleur principal
    
        CASE WHEN bailleur_principal.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', bailleur_principal.civilite_libelle, bailleur_principal.particulier_nom, bailleur_principal.particulier_prenom))
            ELSE
                CASE WHEN bailleur_principal.personne_morale_nom IS NOT NULL OR bailleur_principal.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', bailleur_principal.personne_morale_raison_sociale, bailleur_principal.personne_morale_denomination, 'représenté(e) par', bailleur_principal.civilite_libelle, bailleur_principal.personne_morale_nom, bailleur_principal.personne_morale_prenom))
                    ELSE TRIM(CONCAT(bailleur_principal.personne_morale_raison_sociale, ' ', bailleur_principal.personne_morale_denomination))
                END
        END AS nom_complet_qualite_part_ou_pm_bailleur_principal,
        CASE WHEN bailleur_principal.qualite='particulier' OR bailleur_principal.personne_morale_nom IS NOT NULL OR bailleur_principal.personne_morale_prenom IS NOT NULL
            THEN bailleur_principal.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_ou_pm_bailleur_principal,
        CASE WHEN bailleur_principal.qualite='particulier'
            THEN bailleur_principal.particulier_nom
            ELSE
                CASE WHEN bailleur_principal.personne_morale_nom IS NOT NULL
                    THEN bailleur_principal.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_part_ou_pm_bailleur_principal,
        CASE WHEN bailleur_principal.qualite='particulier'
            THEN bailleur_principal.particulier_prenom
            ELSE
                CASE WHEN bailleur_principal.personne_morale_prenom IS NOT NULL
                    THEN bailleur_principal.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_part_ou_pm_bailleur_principal,
        CASE WHEN bailleur_principal.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', bailleur_principal.civilite_libelle, bailleur_principal.particulier_nom, bailleur_principal.particulier_prenom))
            ELSE ''
        END AS nom_complet_qualite_part_bailleur_principal,
        CASE WHEN bailleur_principal.qualite='particulier'
            THEN bailleur_principal.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_bailleur_principal,
        CASE WHEN bailleur_principal.qualite='particulier'
            THEN bailleur_principal.particulier_nom
            ELSE ''
        END AS nom_qualite_part_bailleur_principal,
        CASE WHEN bailleur_principal.qualite='particulier'
            THEN bailleur_principal.particulier_prenom
            ELSE ''
        END AS prenom_qualite_part_bailleur_principal,
        CASE WHEN bailleur_principal.personne_morale_nom IS NOT NULL OR bailleur_principal.personne_morale_prenom IS NOT NULL
            THEN TRIM(CONCAT_WS(' ', bailleur_principal.personne_morale_raison_sociale, bailleur_principal.personne_morale_denomination, 'représenté(e) par', bailleur_principal.civilite_libelle, bailleur_principal.personne_morale_nom, bailleur_principal.personne_morale_prenom))
            ELSE TRIM(CONCAT(bailleur_principal.personne_morale_raison_sociale, ' ', bailleur_principal.personne_morale_denomination))
        END AS nom_complet_qualite_pm_bailleur_principal,
        CASE WHEN bailleur_principal.personne_morale_nom IS NOT NULL OR bailleur_principal.personne_morale_prenom IS NOT NULL
            THEN bailleur_principal.civilite_libelle
            ELSE ''
        END AS civilite_qualite_pm_bailleur_principal,
        CASE WHEN bailleur_principal.personne_morale_nom IS NOT NULL
            THEN bailleur_principal.personne_morale_nom
            ELSE ''
        END AS nom_qualite_pm_bailleur_principal,
        CASE WHEN bailleur_principal.personne_morale_prenom IS NOT NULL
            THEN bailleur_principal.personne_morale_prenom
            ELSE ''
        END AS prenom_qualite_pm_bailleur_principal,
        CASE WHEN bailleur_principal.qualite='particulier'
            THEN ''
            ELSE bailleur_principal.personne_morale_raison_sociale
        END AS raison_sociale_bailleur_principal,
        CASE WHEN bailleur_principal.qualite='particulier'
            THEN ''
            ELSE bailleur_principal.personne_morale_denomination
        END AS denomination_bailleur_principal,
        CASE WHEN bailleur_principal.qualite='particulier'
            THEN ''
            ELSE bailleur_principal.personne_morale_siret
        END AS siret_bailleur_principal,
        CASE WHEN bailleur_principal.qualite='particulier'
            THEN ''
            ELSE bailleur_principal.personne_morale_categorie_juridique
        END AS categorie_juridique_bailleur_principal,
        bailleur_principal.numero AS numero_bailleur_principal,
    &DB_PREFIXEadresse(bailleur_principal.numero::text, bailleur_principal.voie::text, bailleur_principal.complement::text, bailleur_principal.lieu_dit::text, bailleur_principal.bp::text, bailleur_principal.code_postal::text, bailleur_principal.localite::text, bailleur_principal.cedex::text, bailleur_principal.pays::text) AS adresse_bailleur_principal_sdl,
    &DB_PREFIXEadresse(bailleur_principal.numero::text, bailleur_principal.voie::text, bailleur_principal.complement::text, bailleur_principal.lieu_dit::text, bailleur_principal.bp::text, bailleur_principal.code_postal::text, bailleur_principal.localite::text, bailleur_principal.cedex::text, bailleur_principal.pays::text, ' '::text) AS adresse_bailleur_principal,
        bailleur_principal.voie AS voie_bailleur_principal,
        bailleur_principal.complement AS complement_bailleur_principal,
        bailleur_principal.lieu_dit AS lieu_dit_bailleur_principal,
        CASE 
            WHEN bailleur_principal.bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', bailleur_principal.bp)
        END AS bp_bailleur_principal,
        bailleur_principal.code_postal AS code_postal_bailleur_principal,
        bailleur_principal.localite AS localite_bailleur_principal,
        CASE 
            WHEN bailleur_principal.cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', bailleur_principal.cedex)
        END AS cedex_bailleur_principal,
        bailleur_principal.pays AS pays_bailleur_principal,
        bailleur_principal.division_territoriale AS division_territoriale_bailleur_principal,
        CASE WHEN bailleur_principal.qualite = 'particulier'
            THEN TO_CHAR(bailleur_principal.particulier_date_naissance, 'DD/MM/YYYY')
            ELSE ''
        END AS date_naissance_bailleur_principal,
        CASE WHEN bailleur_principal.qualite = 'particulier'
            THEN CONCAT_WS(' ', bailleur_principal.particulier_commune_naissance, bailleur_principal.particulier_departement_naissance, bailleur_principal.particulier_pays_naissance)
            ELSE ''
        END AS lieu_naissance_bailleur_principal,
        bailleur_principal.courriel AS email_bailleur_principal,
        CONCAT_WS(' ', bailleur_principal.indicatif, CONCAT_WS(' / ', bailleur_principal.telephone_fixe, bailleur_principal.telephone_mobile)) AS coordonnees_telephonique_bailleur_principal,
    
        --Coordonnées de du bailleur 1
    
        CASE WHEN bailleur_1.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', bailleur_1.civilite_libelle, bailleur_1.particulier_nom, bailleur_1.particulier_prenom))
            ELSE
                CASE WHEN bailleur_1.personne_morale_nom IS NOT NULL OR bailleur_1.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', bailleur_1.personne_morale_raison_sociale, bailleur_1.personne_morale_denomination, 'représenté(e) par', bailleur_1.civilite_libelle, bailleur_1.personne_morale_nom, bailleur_1.personne_morale_prenom))
                    ELSE TRIM(CONCAT(bailleur_1.personne_morale_raison_sociale, ' ', bailleur_1.personne_morale_denomination))
                END
        END AS nom_complet_qualite_part_ou_pm_bailleur_1,
        CASE WHEN bailleur_1.qualite='particulier' OR bailleur_1.personne_morale_nom IS NOT NULL OR bailleur_1.personne_morale_prenom IS NOT NULL
            THEN bailleur_1.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_ou_pm_bailleur_1,
        CASE WHEN bailleur_1.qualite='particulier'
            THEN bailleur_1.particulier_nom
            ELSE
                CASE WHEN bailleur_1.personne_morale_nom IS NOT NULL
                    THEN bailleur_1.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_part_ou_pm_bailleur_1,
        CASE WHEN bailleur_1.qualite='particulier'
            THEN bailleur_1.particulier_prenom
            ELSE
                CASE WHEN bailleur_1.personne_morale_prenom IS NOT NULL
                    THEN bailleur_1.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_part_ou_pm_bailleur_1,
        CASE WHEN bailleur_1.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', bailleur_1.civilite_libelle, bailleur_1.particulier_nom, bailleur_1.particulier_prenom))
            ELSE ''
        END AS nom_complet_qualite_part_bailleur_1,
        CASE WHEN bailleur_1.qualite='particulier'
            THEN bailleur_1.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_bailleur_1,
        CASE WHEN bailleur_1.qualite='particulier'
            THEN bailleur_1.particulier_nom
            ELSE ''
        END AS nom_qualite_part_bailleur_1,
        CASE WHEN bailleur_1.qualite='particulier'
            THEN bailleur_1.particulier_prenom
            ELSE ''
        END AS prenom_qualite_part_bailleur_1,
        CASE WHEN bailleur_1.personne_morale_nom IS NOT NULL OR bailleur_1.personne_morale_prenom IS NOT NULL
            THEN TRIM(CONCAT_WS(' ', bailleur_1.personne_morale_raison_sociale, bailleur_1.personne_morale_denomination, 'représenté(e) par', bailleur_1.civilite_libelle, bailleur_1.personne_morale_nom, bailleur_1.personne_morale_prenom))
            ELSE TRIM(CONCAT(bailleur_1.personne_morale_raison_sociale, ' ', bailleur_1.personne_morale_denomination))
        END AS nom_complet_qualite_pm_bailleur_1,
        CASE WHEN bailleur_1.personne_morale_nom IS NOT NULL OR bailleur_1.personne_morale_prenom IS NOT NULL
            THEN bailleur_1.civilite_libelle
            ELSE ''
        END AS civilite_qualite_pm_bailleur_1,
        CASE WHEN bailleur_1.personne_morale_nom IS NOT NULL
            THEN bailleur_1.personne_morale_nom
            ELSE ''
        END AS nom_qualite_pm_bailleur_1,
        CASE WHEN bailleur_1.personne_morale_prenom IS NOT NULL
            THEN bailleur_1.personne_morale_prenom
            ELSE ''
        END AS prenom_qualite_pm_bailleur_1,
        CASE WHEN bailleur_1.qualite='particulier'
            THEN ''
            ELSE bailleur_1.personne_morale_raison_sociale
        END AS raison_sociale_bailleur_1,
        CASE WHEN bailleur_1.qualite='particulier'
            THEN ''
            ELSE bailleur_1.personne_morale_denomination
        END AS denomination_bailleur_1,
        CASE WHEN bailleur_1.qualite='particulier'
            THEN ''
            ELSE bailleur_1.personne_morale_siret
        END AS siret_bailleur_1,
        CASE WHEN bailleur_1.qualite='particulier'
            THEN ''
            ELSE bailleur_1.personne_morale_categorie_juridique
        END AS categorie_juridique_bailleur_1,
        bailleur_1.numero AS numero_bailleur_1,
    &DB_PREFIXEadresse(bailleur_1.numero::text, bailleur_1.voie::text, bailleur_1.complement::text, bailleur_1.lieu_dit::text, bailleur_1.bp::text, bailleur_1.code_postal::text, bailleur_1.localite::text, bailleur_1.cedex::text, bailleur_1.pays::text) AS adresse_bailleur_1_sdl,
    &DB_PREFIXEadresse(bailleur_1.numero::text, bailleur_1.voie::text, bailleur_1.complement::text, bailleur_1.lieu_dit::text, bailleur_1.bp::text, bailleur_1.code_postal::text, bailleur_1.localite::text, bailleur_1.cedex::text, bailleur_1.pays::text, ' '::text) AS adresse_bailleur_1,
        bailleur_1.voie AS voie_bailleur_1,
        bailleur_1.complement AS complement_bailleur_1,
        bailleur_1.lieu_dit AS lieu_dit_bailleur_1,
        CASE 
            WHEN bailleur_1.bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', bailleur_1.bp)
        END AS bp_bailleur_1,
        bailleur_1.code_postal AS code_postal_bailleur_1,
        bailleur_1.localite AS localite_bailleur_1,
        CASE 
            WHEN bailleur_1.cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', bailleur_1.cedex)
        END AS cedex_bailleur_1,
        bailleur_1.pays AS pays_bailleur_1,
        bailleur_1.division_territoriale AS division_territoriale_bailleur_1,
        CASE WHEN bailleur_1.qualite = 'particulier'
            THEN TO_CHAR(bailleur_1.particulier_date_naissance, 'DD/MM/YYYY')
            ELSE ''
        END AS date_naissance_bailleur_1,
        CASE WHEN bailleur_1.qualite = 'particulier'
            THEN CONCAT_WS(' ', bailleur_1.particulier_commune_naissance, bailleur_1.particulier_departement_naissance, bailleur_1.particulier_pays_naissance)
            ELSE ''
        END AS lieu_naissance_bailleur_1,
        bailleur_1.courriel AS email_bailleur_1,
        CONCAT_WS(' ', bailleur_1.indicatif, CONCAT_WS(' / ', bailleur_1.telephone_fixe, bailleur_1.telephone_mobile)) AS coordonnees_telephonique_bailleur_1,
    
        --Coordonnées de du bailleur 2
    
        CASE WHEN bailleur_2.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', bailleur_2.civilite_libelle, bailleur_2.particulier_nom, bailleur_2.particulier_prenom))
            ELSE
                CASE WHEN bailleur_2.personne_morale_nom IS NOT NULL OR bailleur_2.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', bailleur_2.personne_morale_raison_sociale, bailleur_2.personne_morale_denomination, 'représenté(e) par', bailleur_2.civilite_libelle, bailleur_2.personne_morale_nom, bailleur_2.personne_morale_prenom))
                    ELSE TRIM(CONCAT(bailleur_2.personne_morale_raison_sociale, ' ', bailleur_2.personne_morale_denomination))
                END
        END AS nom_complet_qualite_part_ou_pm_bailleur_2,
        CASE WHEN bailleur_2.qualite='particulier' OR bailleur_2.personne_morale_nom IS NOT NULL OR bailleur_2.personne_morale_prenom IS NOT NULL
            THEN bailleur_2.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_ou_pm_bailleur_2,
        CASE WHEN bailleur_2.qualite='particulier'
            THEN bailleur_2.particulier_nom
            ELSE
                CASE WHEN bailleur_2.personne_morale_nom IS NOT NULL
                    THEN bailleur_2.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_part_ou_pm_bailleur_2,
        CASE WHEN bailleur_2.qualite='particulier'
            THEN bailleur_2.particulier_prenom
            ELSE
                CASE WHEN bailleur_2.personne_morale_prenom IS NOT NULL
                    THEN bailleur_2.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_part_ou_pm_bailleur_2,
        CASE WHEN bailleur_2.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', bailleur_2.civilite_libelle, bailleur_2.particulier_nom, bailleur_2.particulier_prenom))
            ELSE ''
        END AS nom_complet_qualite_part_bailleur_2,
        CASE WHEN bailleur_2.qualite='particulier'
            THEN bailleur_2.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_bailleur_2,
        CASE WHEN bailleur_2.qualite='particulier'
            THEN bailleur_2.particulier_nom
            ELSE ''
        END AS nom_qualite_part_bailleur_2,
        CASE WHEN bailleur_2.qualite='particulier'
            THEN bailleur_2.particulier_prenom
            ELSE ''
        END AS prenom_qualite_part_bailleur_2,
        CASE WHEN bailleur_2.personne_morale_nom IS NOT NULL OR bailleur_2.personne_morale_prenom IS NOT NULL
            THEN TRIM(CONCAT_WS(' ', bailleur_2.personne_morale_raison_sociale, bailleur_2.personne_morale_denomination, 'représenté(e) par', bailleur_2.civilite_libelle, bailleur_2.personne_morale_nom, bailleur_2.personne_morale_prenom))
            ELSE TRIM(CONCAT(bailleur_2.personne_morale_raison_sociale, ' ', bailleur_2.personne_morale_denomination))
        END AS nom_complet_qualite_pm_bailleur_2,
        CASE WHEN bailleur_2.personne_morale_nom IS NOT NULL OR bailleur_2.personne_morale_prenom IS NOT NULL
            THEN bailleur_2.civilite_libelle
            ELSE ''
        END AS civilite_qualite_pm_bailleur_2,
        CASE WHEN bailleur_2.personne_morale_nom IS NOT NULL
            THEN bailleur_2.personne_morale_nom
            ELSE ''
        END AS nom_qualite_pm_bailleur_2,
        CASE WHEN bailleur_2.personne_morale_prenom IS NOT NULL
            THEN bailleur_2.personne_morale_prenom
            ELSE ''
        END AS prenom_qualite_pm_bailleur_2,
        CASE WHEN bailleur_2.qualite='particulier'
            THEN ''
            ELSE bailleur_2.personne_morale_raison_sociale
        END AS raison_sociale_bailleur_2,
        CASE WHEN bailleur_2.qualite='particulier'
            THEN ''
            ELSE bailleur_2.personne_morale_denomination
        END AS denomination_bailleur_2,
        CASE WHEN bailleur_2.qualite='particulier'
            THEN ''
            ELSE bailleur_2.personne_morale_categorie_juridique
        END AS categorie_juridique_bailleur_2,
        CASE WHEN bailleur_2.qualite='particulier'
            THEN ''
            ELSE bailleur_2.personne_morale_siret
        END AS siret_bailleur_2,
        bailleur_2.numero AS numero_bailleur_2,
    &DB_PREFIXEadresse(bailleur_2.numero::text, bailleur_2.voie::text, bailleur_2.complement::text, bailleur_2.lieu_dit::text, bailleur_2.bp::text, bailleur_2.code_postal::text, bailleur_2.localite::text, bailleur_2.cedex::text, bailleur_2.pays::text) AS adresse_bailleur_2_sdl,
    &DB_PREFIXEadresse(bailleur_2.numero::text, bailleur_2.voie::text, bailleur_2.complement::text, bailleur_2.lieu_dit::text, bailleur_2.bp::text, bailleur_2.code_postal::text, bailleur_2.localite::text, bailleur_2.cedex::text, bailleur_2.pays::text, ' '::text) AS adresse_bailleur_2,
        bailleur_2.voie AS voie_bailleur_2,
        bailleur_2.complement AS complement_bailleur_2,
        bailleur_2.lieu_dit AS lieu_dit_bailleur_2,
        CASE 
            WHEN bailleur_2.bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', bailleur_2.bp)
        END AS bp_bailleur_2,
        bailleur_2.code_postal AS code_postal_bailleur_2,
        bailleur_2.localite AS localite_bailleur_2,
        CASE 
            WHEN bailleur_2.cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', bailleur_2.cedex)
        END AS cedex_bailleur_2,
        bailleur_2.pays AS pays_bailleur_2,
        bailleur_2.division_territoriale AS division_territoriale_bailleur_2,
        CASE WHEN bailleur_2.qualite = 'particulier'
            THEN TO_CHAR(bailleur_2.particulier_date_naissance, 'DD/MM/YYYY')
            ELSE ''
        END AS date_naissance_bailleur_2,
        CASE WHEN bailleur_2.qualite = 'particulier'
            THEN CONCAT_WS(' ', bailleur_2.particulier_commune_naissance, bailleur_2.particulier_departement_naissance, bailleur_2.particulier_pays_naissance)
            ELSE ''
        END AS lieu_naissance_bailleur_2,
        bailleur_2.courriel AS email_bailleur_2,
        CONCAT_WS(' ', bailleur_2.indicatif, CONCAT_WS(' / ', bailleur_2.telephone_fixe, bailleur_2.telephone_mobile)) AS coordonnees_telephonique_bailleur_2,
    
        --Coordonnées de du bailleur 3
    
        CASE WHEN bailleur_3.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', bailleur_3.civilite_libelle, bailleur_3.particulier_nom, bailleur_3.particulier_prenom))
            ELSE
                CASE WHEN bailleur_3.personne_morale_nom IS NOT NULL OR bailleur_3.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', bailleur_3.personne_morale_raison_sociale, bailleur_3.personne_morale_denomination, 'représenté(e) par', bailleur_3.civilite_libelle, bailleur_3.personne_morale_nom, bailleur_3.personne_morale_prenom))
                    ELSE TRIM(CONCAT(bailleur_3.personne_morale_raison_sociale, ' ', bailleur_3.personne_morale_denomination))
                END
        END AS nom_complet_qualite_part_ou_pm_bailleur_3,
        CASE WHEN bailleur_3.qualite='particulier' OR bailleur_3.personne_morale_nom IS NOT NULL OR bailleur_3.personne_morale_prenom IS NOT NULL
            THEN bailleur_3.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_ou_pm_bailleur_3,
        CASE WHEN bailleur_3.qualite='particulier'
            THEN bailleur_3.particulier_nom
            ELSE
                CASE WHEN bailleur_3.personne_morale_nom IS NOT NULL
                    THEN bailleur_3.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_part_ou_pm_bailleur_3,
        CASE WHEN bailleur_3.qualite='particulier'
            THEN bailleur_3.particulier_prenom
            ELSE
                CASE WHEN bailleur_3.personne_morale_prenom IS NOT NULL
                    THEN bailleur_3.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_part_ou_pm_bailleur_3,
        CASE WHEN bailleur_3.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', bailleur_3.civilite_libelle, bailleur_3.particulier_nom, bailleur_3.particulier_prenom))
            ELSE ''
        END AS nom_complet_qualite_part_bailleur_3,
        CASE WHEN bailleur_3.qualite='particulier'
            THEN bailleur_3.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_bailleur_3,
        CASE WHEN bailleur_3.qualite='particulier'
            THEN bailleur_3.particulier_nom
            ELSE ''
        END AS nom_qualite_part_bailleur_3,
        CASE WHEN bailleur_3.qualite='particulier'
            THEN bailleur_3.particulier_prenom
            ELSE ''
        END AS prenom_qualite_part_bailleur_3,
        CASE WHEN bailleur_3.personne_morale_nom IS NOT NULL OR bailleur_3.personne_morale_prenom IS NOT NULL
            THEN TRIM(CONCAT_WS(' ', bailleur_3.personne_morale_raison_sociale, bailleur_3.personne_morale_denomination, 'représenté(e) par', bailleur_3.civilite_libelle, bailleur_3.personne_morale_nom, bailleur_3.personne_morale_prenom))
            ELSE TRIM(CONCAT(bailleur_3.personne_morale_raison_sociale, ' ', bailleur_3.personne_morale_denomination))
        END AS nom_complet_qualite_pm_bailleur_3,
        CASE WHEN bailleur_3.personne_morale_nom IS NOT NULL OR bailleur_3.personne_morale_prenom IS NOT NULL
            THEN bailleur_3.civilite_libelle
            ELSE ''
        END AS civilite_qualite_pm_bailleur_3,
        CASE WHEN bailleur_3.personne_morale_nom IS NOT NULL
            THEN bailleur_3.personne_morale_nom
            ELSE ''
        END AS nom_qualite_pm_bailleur_3,
        CASE WHEN bailleur_3.personne_morale_prenom IS NOT NULL
            THEN bailleur_3.personne_morale_prenom
            ELSE ''
        END AS prenom_qualite_pm_bailleur_3,
        CASE WHEN bailleur_3.qualite='particulier'
            THEN ''
            ELSE bailleur_3.personne_morale_raison_sociale
        END AS raison_sociale_bailleur_3,
        CASE WHEN bailleur_3.qualite='particulier'
            THEN ''
            ELSE bailleur_3.personne_morale_denomination
        END AS denomination_bailleur_3,
        CASE WHEN bailleur_3.qualite='particulier'
            THEN ''
            ELSE bailleur_3.personne_morale_siret
        END AS siret_bailleur_3,
        CASE WHEN bailleur_3.qualite='particulier'
            THEN ''
            ELSE bailleur_3.personne_morale_categorie_juridique
        END AS categorie_juridique_bailleur_3,
        bailleur_3.numero AS numero_bailleur_3,
    &DB_PREFIXEadresse(bailleur_3.numero::text, bailleur_3.voie::text, bailleur_3.complement::text, bailleur_3.lieu_dit::text, bailleur_3.bp::text, bailleur_3.code_postal::text, bailleur_3.localite::text, bailleur_3.cedex::text, bailleur_3.pays::text) AS adresse_bailleur_3_sdl,
    &DB_PREFIXEadresse(bailleur_3.numero::text, bailleur_3.voie::text, bailleur_3.complement::text, bailleur_3.lieu_dit::text, bailleur_3.bp::text, bailleur_3.code_postal::text, bailleur_3.localite::text, bailleur_3.cedex::text, bailleur_3.pays::text, ' '::text) AS adresse_bailleur_3,
        bailleur_3.voie AS voie_bailleur_3,
        bailleur_3.complement AS complement_bailleur_3,
        bailleur_3.lieu_dit AS lieu_dit_bailleur_3,
        CASE 
            WHEN bailleur_3.bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', bailleur_3.bp)
        END AS bp_bailleur_3,
        bailleur_3.code_postal AS code_postal_bailleur_3,
        bailleur_3.localite AS localite_bailleur_3,
        CASE 
            WHEN bailleur_3.cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', bailleur_3.cedex)
        END AS cedex_bailleur_3,
        bailleur_3.pays AS pays_bailleur_3,
        bailleur_3.division_territoriale AS division_territoriale_bailleur_3,
        CASE WHEN bailleur_3.qualite = 'particulier'
            THEN TO_CHAR(bailleur_3.particulier_date_naissance, 'DD/MM/YYYY')
            ELSE ''
        END AS date_naissance_bailleur_3,
        CASE WHEN bailleur_3.qualite = 'particulier'
            THEN CONCAT_WS(' ', bailleur_3.particulier_commune_naissance, bailleur_3.particulier_departement_naissance, bailleur_3.particulier_pays_naissance)
            ELSE ''
        END AS lieu_naissance_bailleur_3,
        bailleur_3.courriel AS email_bailleur_3,
        CONCAT_WS(' ', bailleur_3.indicatif, CONCAT_WS(' / ', bailleur_3.telephone_fixe, bailleur_3.telephone_mobile)) AS coordonnees_telephonique_bailleur_3,
    
        --Coordonnées de du bailleur 4
    
        CASE WHEN bailleur_4.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', bailleur_4.civilite_libelle, bailleur_4.particulier_nom, bailleur_4.particulier_prenom))
            ELSE
                CASE WHEN bailleur_4.personne_morale_nom IS NOT NULL OR bailleur_4.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', bailleur_4.personne_morale_raison_sociale, bailleur_4.personne_morale_denomination, 'représenté(e) par', bailleur_4.civilite_libelle, bailleur_4.personne_morale_nom, bailleur_4.personne_morale_prenom))
                    ELSE TRIM(CONCAT(bailleur_4.personne_morale_raison_sociale, ' ', bailleur_4.personne_morale_denomination))
                END
        END AS nom_complet_qualite_part_ou_pm_bailleur_4,
        CASE WHEN bailleur_4.qualite='particulier' OR bailleur_4.personne_morale_nom IS NOT NULL OR bailleur_4.personne_morale_prenom IS NOT NULL
            THEN bailleur_4.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_ou_pm_bailleur_4,
        CASE WHEN bailleur_4.qualite='particulier'
            THEN bailleur_4.particulier_nom
            ELSE
                CASE WHEN bailleur_4.personne_morale_nom IS NOT NULL
                    THEN bailleur_4.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_part_ou_pm_bailleur_4,
        CASE WHEN bailleur_4.qualite='particulier'
            THEN bailleur_4.particulier_prenom
            ELSE
                CASE WHEN bailleur_4.personne_morale_prenom IS NOT NULL
                    THEN bailleur_4.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_part_ou_pm_bailleur_4,
        CASE WHEN bailleur_4.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', bailleur_4.civilite_libelle, bailleur_4.particulier_nom, bailleur_4.particulier_prenom))
            ELSE ''
        END AS nom_complet_qualite_part_bailleur_4,
        CASE WHEN bailleur_4.qualite='particulier'
            THEN bailleur_4.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_bailleur_4,
        CASE WHEN bailleur_4.qualite='particulier'
            THEN bailleur_4.particulier_nom
            ELSE ''
        END AS nom_qualite_part_bailleur_4,
        CASE WHEN bailleur_4.qualite='particulier'
            THEN bailleur_4.particulier_prenom
            ELSE ''
        END AS prenom_qualite_part_bailleur_4,
        CASE WHEN bailleur_4.personne_morale_nom IS NOT NULL OR bailleur_4.personne_morale_prenom IS NOT NULL
            THEN TRIM(CONCAT_WS(' ', bailleur_4.personne_morale_raison_sociale, bailleur_4.personne_morale_denomination, 'représenté(e) par', bailleur_4.civilite_libelle, bailleur_4.personne_morale_nom, bailleur_4.personne_morale_prenom))
            ELSE TRIM(CONCAT(bailleur_4.personne_morale_raison_sociale, ' ', bailleur_4.personne_morale_denomination))
        END AS nom_complet_qualite_pm_bailleur_4,
        CASE WHEN bailleur_4.personne_morale_nom IS NOT NULL OR bailleur_4.personne_morale_prenom IS NOT NULL
            THEN bailleur_4.civilite_libelle
            ELSE ''
        END AS civilite_qualite_pm_bailleur_4,
        CASE WHEN bailleur_4.personne_morale_nom IS NOT NULL
            THEN bailleur_4.personne_morale_nom
            ELSE ''
        END AS nom_qualite_pm_bailleur_4,
        CASE WHEN bailleur_4.personne_morale_prenom IS NOT NULL
            THEN bailleur_4.personne_morale_prenom
            ELSE ''
        END AS prenom_qualite_pm_bailleur_4,
        CASE WHEN bailleur_4.qualite='particulier'
            THEN ''
            ELSE bailleur_4.personne_morale_raison_sociale
        END AS raison_sociale_bailleur_4,
        CASE WHEN bailleur_4.qualite='particulier'
            THEN ''
            ELSE bailleur_4.personne_morale_denomination
        END AS denomination_bailleur_4,
        CASE WHEN bailleur_4.qualite='particulier'
            THEN ''
            ELSE bailleur_4.personne_morale_categorie_juridique
        END AS categorie_juridique_bailleur_4,
        CASE WHEN bailleur_4.qualite='particulier'
            THEN ''
            ELSE bailleur_4.personne_morale_siret
        END AS siret_bailleur_4,
        bailleur_4.numero AS numero_bailleur_4,
    &DB_PREFIXEadresse(bailleur_4.numero::text, bailleur_4.voie::text, bailleur_4.complement::text, bailleur_4.lieu_dit::text, bailleur_4.bp::text, bailleur_4.code_postal::text, bailleur_4.localite::text, bailleur_4.cedex::text, bailleur_4.pays::text) AS adresse_bailleur_4_sdl,
    &DB_PREFIXEadresse(bailleur_4.numero::text, bailleur_4.voie::text, bailleur_4.complement::text, bailleur_4.lieu_dit::text, bailleur_4.bp::text, bailleur_4.code_postal::text, bailleur_4.localite::text, bailleur_4.cedex::text, bailleur_4.pays::text, ' '::text) AS adresse_bailleur_4,
        bailleur_4.voie AS voie_bailleur_4,
        bailleur_4.complement AS complement_bailleur_4,
        bailleur_4.lieu_dit AS lieu_dit_bailleur_4,
        CASE 
            WHEN bailleur_4.bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', bailleur_4.bp)
        END AS bp_bailleur_4,
        bailleur_4.code_postal AS code_postal_bailleur_4,
        bailleur_4.localite AS localite_bailleur_4,
        CASE 
            WHEN bailleur_4.cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', bailleur_4.cedex)
        END AS cedex_bailleur_4,
        bailleur_4.pays AS pays_bailleur_4,
        bailleur_4.division_territoriale AS division_territoriale_bailleur_4,
        CASE WHEN bailleur_4.qualite = 'particulier'
            THEN TO_CHAR(bailleur_4.particulier_date_naissance, 'DD/MM/YYYY')
            ELSE ''
        END AS date_naissance_bailleur_4,
        CASE WHEN bailleur_4.qualite = 'particulier'
            THEN CONCAT_WS(' ', bailleur_4.particulier_commune_naissance, bailleur_4.particulier_departement_naissance, bailleur_4.particulier_pays_naissance)
            ELSE ''
        END AS lieu_naissance_bailleur_4,
        bailleur_4.courriel AS email_bailleur_4,
        CONCAT_WS(' ', bailleur_4.indicatif, CONCAT_WS(' / ', bailleur_4.telephone_fixe, bailleur_4.telephone_mobile)) AS coordonnees_telephonique_bailleur_4,
    
        --Coordonnées de du bailleur 5
    
        CASE WHEN bailleur_5.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', bailleur_5.civilite_libelle, bailleur_5.particulier_nom, bailleur_5.particulier_prenom))
            ELSE
                CASE WHEN bailleur_5.personne_morale_nom IS NOT NULL OR bailleur_5.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', bailleur_5.personne_morale_raison_sociale, bailleur_5.personne_morale_denomination, 'représenté(e) par', bailleur_5.civilite_libelle, bailleur_5.personne_morale_nom, bailleur_5.personne_morale_prenom))
                    ELSE TRIM(CONCAT(bailleur_5.personne_morale_raison_sociale, ' ', bailleur_5.personne_morale_denomination))
                END
        END AS nom_complet_qualite_part_ou_pm_bailleur_5,
        CASE WHEN bailleur_5.qualite='particulier' OR bailleur_5.personne_morale_nom IS NOT NULL OR bailleur_5.personne_morale_prenom IS NOT NULL
            THEN bailleur_5.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_ou_pm_bailleur_5,
        CASE WHEN bailleur_5.qualite='particulier'
            THEN bailleur_5.particulier_nom
            ELSE
                CASE WHEN bailleur_5.personne_morale_nom IS NOT NULL
                    THEN bailleur_5.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_part_ou_pm_bailleur_5,
        CASE WHEN bailleur_5.qualite='particulier'
            THEN bailleur_5.particulier_prenom
            ELSE
                CASE WHEN bailleur_5.personne_morale_prenom IS NOT NULL
                    THEN bailleur_5.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_part_ou_pm_bailleur_5,
        CASE WHEN bailleur_5.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', bailleur_5.civilite_libelle, bailleur_5.particulier_nom, bailleur_5.particulier_prenom))
            ELSE ''
        END AS nom_complet_qualite_part_bailleur_5,
        CASE WHEN bailleur_5.qualite='particulier'
            THEN bailleur_5.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_bailleur_5,
        CASE WHEN bailleur_5.qualite='particulier'
            THEN bailleur_5.particulier_nom
            ELSE ''
        END AS nom_qualite_part_bailleur_5,
        CASE WHEN bailleur_5.qualite='particulier'
            THEN bailleur_5.particulier_prenom
            ELSE ''
        END AS prenom_qualite_part_bailleur_5,
        CASE WHEN bailleur_5.personne_morale_nom IS NOT NULL OR bailleur_5.personne_morale_prenom IS NOT NULL
            THEN TRIM(CONCAT_WS(' ', bailleur_5.personne_morale_raison_sociale, bailleur_5.personne_morale_denomination, 'représenté(e) par', bailleur_5.civilite_libelle, bailleur_5.personne_morale_nom, bailleur_5.personne_morale_prenom))
            ELSE TRIM(CONCAT(bailleur_5.personne_morale_raison_sociale, ' ', bailleur_5.personne_morale_denomination))
        END AS nom_complet_qualite_pm_bailleur_5,
        CASE WHEN bailleur_5.personne_morale_nom IS NOT NULL OR bailleur_5.personne_morale_prenom IS NOT NULL
            THEN bailleur_5.civilite_libelle
            ELSE ''
        END AS civilite_qualite_pm_bailleur_5,
        CASE WHEN bailleur_5.personne_morale_nom IS NOT NULL
            THEN bailleur_5.personne_morale_nom
            ELSE ''
        END AS nom_qualite_pm_bailleur_5,
        CASE WHEN bailleur_5.personne_morale_prenom IS NOT NULL
            THEN bailleur_5.personne_morale_prenom
            ELSE ''
        END AS prenom_qualite_pm_bailleur_5,
        CASE WHEN bailleur_5.qualite='particulier'
            THEN ''
            ELSE bailleur_5.personne_morale_raison_sociale
        END AS raison_sociale_bailleur_5,
        CASE WHEN bailleur_5.qualite='particulier'
            THEN ''
            ELSE bailleur_5.personne_morale_denomination
        END AS denomination_bailleur_5,
        CASE WHEN bailleur_5.qualite='particulier'
            THEN ''
            ELSE bailleur_5.personne_morale_categorie_juridique
        END AS categorie_juridique_bailleur_5,
        CASE WHEN bailleur_5.qualite='particulier'
            THEN ''
            ELSE bailleur_5.personne_morale_siret
        END AS siret_bailleur_5,
        bailleur_5.numero AS numero_bailleur_5,
    &DB_PREFIXEadresse(bailleur_5.numero::text, bailleur_5.voie::text, bailleur_5.complement::text, bailleur_5.lieu_dit::text, bailleur_5.bp::text, bailleur_5.code_postal::text, bailleur_5.localite::text, bailleur_5.cedex::text, bailleur_5.pays::text) AS adresse_bailleur_5_sdl,
    &DB_PREFIXEadresse(bailleur_5.numero::text, bailleur_5.voie::text, bailleur_5.complement::text, bailleur_5.lieu_dit::text, bailleur_5.bp::text, bailleur_5.code_postal::text, bailleur_5.localite::text, bailleur_5.cedex::text, bailleur_5.pays::text, ' '::text) AS adresse_bailleur_5,
        bailleur_5.voie AS voie_bailleur_5,
        bailleur_5.complement AS complement_bailleur_5,
        bailleur_5.lieu_dit AS lieu_dit_bailleur_5,
        CASE 
            WHEN bailleur_5.bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', bailleur_5.bp)
        END AS bp_bailleur_5,
        bailleur_5.code_postal AS code_postal_bailleur_5,
        bailleur_5.localite AS localite_bailleur_5,
        CASE 
            WHEN bailleur_5.cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', bailleur_5.cedex)
        END AS cedex_bailleur_5,
        bailleur_5.pays AS pays_bailleur_5,
        bailleur_5.division_territoriale AS division_territoriale_bailleur_5,
        CASE WHEN bailleur_5.qualite = 'particulier'
            THEN TO_CHAR(bailleur_5.particulier_date_naissance, 'DD/MM/YYYY')
            ELSE ''
        END AS date_naissance_bailleur_5,
        CASE WHEN bailleur_5.qualite = 'particulier'
            THEN CONCAT_WS(' ', bailleur_5.particulier_commune_naissance, bailleur_5.particulier_departement_naissance, bailleur_5.particulier_pays_naissance)
            ELSE ''
        END AS lieu_naissance_bailleur_5,
        bailleur_5.courriel AS email_bailleur_5,
        CONCAT_WS(' ', bailleur_5.indicatif, CONCAT_WS(' / ', bailleur_5.telephone_fixe, bailleur_5.telephone_mobile)) AS coordonnees_telephonique_bailleur_5,
    
        -- CORRESPONDANT : destinataire du courrier. Il est le délégataire ou le pétitionnaire principal
    
        CASE
            WHEN delegataire.qualite IS NULL
            THEN
                    CASE WHEN petitionnaire_principal.qualite='particulier'
                        THEN TRIM(CONCAT_WS(' ', petitionnaire_principal.civilite_libelle, petitionnaire_principal.particulier_nom, petitionnaire_principal.particulier_prenom))
                        ELSE
                            CASE WHEN petitionnaire_principal.personne_morale_nom IS NOT NULL OR petitionnaire_principal.personne_morale_prenom IS NOT NULL
                                THEN TRIM(CONCAT_WS(' ', petitionnaire_principal.personne_morale_raison_sociale, petitionnaire_principal.personne_morale_denomination, 'représenté(e) par', petitionnaire_principal.civilite_libelle, petitionnaire_principal.personne_morale_nom, petitionnaire_principal.personne_morale_prenom))
                                ELSE TRIM(CONCAT(petitionnaire_principal.personne_morale_raison_sociale, ' ', petitionnaire_principal.personne_morale_denomination))
                            END
                    END
            ELSE
                CASE WHEN delegataire.qualite='particulier'
                    THEN TRIM(CONCAT_WS(' ', delegataire.civilite_libelle, delegataire.particulier_nom, delegataire.particulier_prenom))
                    ELSE
                        CASE WHEN delegataire.personne_morale_nom IS NOT NULL OR delegataire.personne_morale_prenom IS NOT NULL
                            THEN TRIM(CONCAT_WS(' ', delegataire.personne_morale_raison_sociale, delegataire.personne_morale_denomination, 'représenté(e) par', delegataire.civilite_libelle, delegataire.personne_morale_nom, delegataire.personne_morale_prenom))
                            ELSE TRIM(CONCAT(delegataire.personne_morale_raison_sociale, ' ', delegataire.personne_morale_denomination))
                        END
                END
        END AS nom_complet_qualite_part_ou_pm_correspondant,
    
        CASE WHEN delegataire.qualite IS NULL
            THEN
                CASE WHEN petitionnaire_principal.qualite='particulier' OR petitionnaire_principal.personne_morale_nom IS NOT NULL OR petitionnaire_principal.personne_morale_prenom IS NOT NULL
                    THEN petitionnaire_principal.civilite_libelle
                    ELSE ''
                END
            ELSE
                CASE WHEN delegataire.qualite='particulier' OR delegataire.personne_morale_nom IS NOT NULL OR delegataire.personne_morale_prenom IS NOT NULL
                    THEN delegataire.civilite_libelle
                    ELSE ''
                END
        END AS civilite_qualite_part_ou_pm_correspondant,
    
        CASE WHEN delegataire.qualite IS NULL
            THEN
                CASE WHEN petitionnaire_principal.qualite='particulier'
                    THEN petitionnaire_principal.particulier_nom
                    ELSE
                        CASE WHEN petitionnaire_principal.personne_morale_nom IS NOT NULL
                            THEN petitionnaire_principal.personne_morale_nom
                            ELSE ''
                        END
                END
            ELSE
                CASE WHEN delegataire.qualite='particulier'
                    THEN delegataire.particulier_nom
                    ELSE
                        CASE WHEN delegataire.personne_morale_nom IS NOT NULL
                            THEN delegataire.personne_morale_nom
                            ELSE ''
                        END
                END
        END AS nom_qualite_part_ou_pm_correspondant,
    
        CASE WHEN delegataire.qualite IS NULL
            THEN
                CASE WHEN petitionnaire_principal.qualite='particulier'
                    THEN petitionnaire_principal.particulier_prenom
                    ELSE
                        CASE WHEN petitionnaire_principal.personne_morale_prenom IS NOT NULL
                            THEN petitionnaire_principal.personne_morale_prenom
                            ELSE ''
                        END
                END
            ELSE
                CASE WHEN delegataire.qualite='particulier'
                    THEN delegataire.particulier_prenom
                    ELSE
                        CASE WHEN delegataire.personne_morale_prenom IS NOT NULL
                            THEN delegataire.personne_morale_prenom
                            ELSE ''
                        END
                END
        END AS prenom_qualite_part_ou_pm_correspondant,
        CASE
            WHEN delegataire.qualite IS NULL
            THEN
                CASE WHEN petitionnaire_principal.qualite='particulier'
                    THEN TRIM(CONCAT_WS(' ', petitionnaire_principal.civilite_libelle, petitionnaire_principal.particulier_nom, petitionnaire_principal.particulier_prenom))
                    ELSE ''
                END
            ELSE
                CASE WHEN delegataire.qualite='particulier'
                    THEN TRIM(CONCAT_WS(' ', delegataire.civilite_libelle, delegataire.particulier_nom, delegataire.particulier_prenom))
                    ELSE ''
                END
        END AS nom_complet_qualite_part_correspondant,
    
        CASE WHEN delegataire.qualite IS NULL
            THEN
                CASE WHEN petitionnaire_principal.qualite='particulier'
                    THEN petitionnaire_principal.civilite_libelle
                    ELSE ''
                END
            ELSE
                CASE WHEN delegataire.qualite='particulier'
                    THEN delegataire.civilite_libelle
                    ELSE ''
                END
        END AS civilite_qualite_part_correspondant,
    
        CASE WHEN delegataire.qualite IS NULL
            THEN
                petitionnaire_principal.particulier_nom
            ELSE
                delegataire.particulier_nom
        END AS nom_qualite_part_correspondant,
    
        CASE WHEN delegataire.qualite IS NULL
            THEN
                petitionnaire_principal.particulier_prenom
            ELSE
                delegataire.particulier_prenom
        END AS prenom_qualite_part_correspondant,
    
        CASE WHEN delegataire.qualite IS NULL
            THEN
                CASE WHEN petitionnaire_principal.personne_morale_nom IS NOT NULL OR petitionnaire_principal.personne_morale_prenom IS NOT NULL
                    THEN petitionnaire_principal.civilite_libelle
                    ELSE ''
                END
            ELSE
                CASE WHEN delegataire.personne_morale_nom IS NOT NULL OR delegataire.personne_morale_prenom IS NOT NULL
                    THEN delegataire.civilite_libelle
                    ELSE ''
                END
        END AS civilite_qualite_pm_correspondant,
    
        CASE WHEN delegataire.qualite IS NULL
            THEN
                CASE WHEN petitionnaire_principal.personne_morale_nom IS NOT NULL
                    THEN petitionnaire_principal.personne_morale_nom
                    ELSE ''
                END
            ELSE
                CASE WHEN delegataire.personne_morale_nom IS NOT NULL
                    THEN delegataire.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_pm_correspondant,
    
        CASE WHEN delegataire.qualite IS NULL
            THEN
                CASE WHEN petitionnaire_principal.personne_morale_prenom IS NOT NULL
                    THEN petitionnaire_principal.personne_morale_prenom
                    ELSE ''
                END
            ELSE
                CASE WHEN delegataire.personne_morale_prenom IS NOT NULL
                    THEN delegataire.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_pm_correspondant,
    
        CASE
            WHEN delegataire.qualite IS NULL
            THEN
                    CASE WHEN petitionnaire_principal.qualite='particulier'
                        THEN TRIM(CONCAT_WS(' ', petitionnaire_principal.civilite_libelle, petitionnaire_principal.particulier_nom, petitionnaire_principal.particulier_prenom))
                        ELSE
                            CASE WHEN petitionnaire_principal.personne_morale_nom IS NOT NULL OR petitionnaire_principal.personne_morale_prenom IS NOT NULL
                                THEN TRIM(CONCAT_WS(' ', petitionnaire_principal.personne_morale_raison_sociale, petitionnaire_principal.personne_morale_denomination, 'représenté(e) par', petitionnaire_principal.civilite_libelle, petitionnaire_principal.personne_morale_nom, petitionnaire_principal.personne_morale_prenom))
                                ELSE TRIM(CONCAT(petitionnaire_principal.personne_morale_raison_sociale, ' ', petitionnaire_principal.personne_morale_denomination))
                            END
                    END
            ELSE
                CASE WHEN delegataire.qualite='particulier'
                    THEN TRIM(CONCAT_WS(' ', delegataire.civilite_libelle, delegataire.particulier_nom, delegataire.particulier_prenom))
                    ELSE
                        CASE WHEN delegataire.personne_morale_nom IS NOT NULL OR delegataire.personne_morale_prenom IS NOT NULL
                            THEN TRIM(CONCAT_WS(' ', delegataire.personne_morale_raison_sociale, delegataire.personne_morale_denomination, 'représenté(e) par', delegataire.civilite_libelle, delegataire.personne_morale_nom, delegataire.personne_morale_prenom))
                            ELSE TRIM(CONCAT(delegataire.personne_morale_raison_sociale, ' ', delegataire.personne_morale_denomination))
                        END
                END
        END AS nom_complet_qualite_pm_correspondant,
    
        CASE WHEN delegataire.qualite IS NULL
            THEN
                CASE WHEN petitionnaire_principal.qualite='particulier'
                    THEN TRIM(CONCAT_WS(' ', petitionnaire_principal.civilite_libelle, petitionnaire_principal.particulier_nom, petitionnaire_principal.particulier_prenom))
                    ELSE
                        CASE WHEN petitionnaire_principal.personne_morale_nom IS NOT NULL OR petitionnaire_principal.personne_morale_prenom IS NOT NULL
                            THEN TRIM(CONCAT_WS(' ', petitionnaire_principal.personne_morale_raison_sociale, petitionnaire_principal.personne_morale_denomination, 'représenté(e) par', petitionnaire_principal.civilite_libelle, petitionnaire_principal.personne_morale_nom, petitionnaire_principal.personne_morale_prenom))
                            ELSE TRIM(CONCAT(petitionnaire_principal.personne_morale_raison_sociale, ' ', petitionnaire_principal.personne_morale_denomination))
                        END
                END
            ELSE
                CASE WHEN delegataire.qualite='particulier'
                    THEN TRIM(CONCAT_WS(' ', delegataire.civilite_libelle, delegataire.particulier_nom, delegataire.particulier_prenom))
                    ELSE
                        CASE WHEN delegataire.personne_morale_nom IS NOT NULL OR delegataire.personne_morale_prenom IS NOT NULL
                            THEN TRIM(CONCAT_WS(' ', delegataire.personne_morale_raison_sociale, delegataire.personne_morale_denomination, 'représenté(e) par', delegataire.civilite_libelle, delegataire.personne_morale_nom, delegataire.personne_morale_prenom))
                            ELSE TRIM(CONCAT(delegataire.personne_morale_raison_sociale, ' ', delegataire.personne_morale_denomination))
                        END
                END
        END AS nom_correspondant,
    
        CASE WHEN delegataire.qualite IS NULL
            THEN
                CASE WHEN petitionnaire_principal.qualite='particulier'
                    THEN ''
                    ELSE petitionnaire_principal.personne_morale_raison_sociale
                END
            ELSE
                CASE WHEN delegataire.qualite='particulier'
                    THEN ''
                    ELSE delegataire.personne_morale_raison_sociale
                END
        END AS raison_sociale_correspondant,
    
        CASE WHEN delegataire.qualite IS NULL
            THEN
                CASE WHEN petitionnaire_principal.qualite='particulier'
                    THEN ''
                    ELSE petitionnaire_principal.personne_morale_denomination
                END
            ELSE
                CASE WHEN delegataire.qualite='particulier'
                    THEN ''
                    ELSE delegataire.personne_morale_denomination
                END
        END AS denomination_correspondant,
    
        CASE WHEN delegataire.qualite IS NULL
            THEN
                CASE WHEN petitionnaire_principal.qualite='particulier'
                    THEN ''
                    ELSE petitionnaire_principal.personne_morale_siret
                END
            ELSE
                CASE WHEN delegataire.qualite='particulier'
                    THEN ''
                    ELSE delegataire.personne_morale_siret
                END
        END AS siret_correspondant,
    
        CASE WHEN delegataire.qualite IS NULL
            THEN
                CASE WHEN petitionnaire_principal.qualite='particulier'
                    THEN ''
                    ELSE petitionnaire_principal.personne_morale_categorie_juridique
                END
            ELSE
                CASE WHEN delegataire.qualite='particulier'
                    THEN ''
                    ELSE delegataire.personne_morale_categorie_juridique
                END
        END AS categorie_juridique_correspondant,
    
        CASE WHEN delegataire.qualite IS NULL
            THEN petitionnaire_principal.numero
            ELSE delegataire.numero
        END AS numero_correspondant,
    &DB_PREFIXEadresse(CASE WHEN delegataire.qualite IS NULL THEN petitionnaire_principal.numero ELSE delegataire.numero END::text, CASE WHEN delegataire.qualite IS NULL THEN petitionnaire_principal.voie ELSE delegataire.voie END::text, CASE WHEN delegataire.qualite IS NULL THEN petitionnaire_principal.complement ELSE delegataire.complement END::text, CASE WHEN delegataire.qualite IS NULL THEN petitionnaire_principal.lieu_dit ELSE delegataire.lieu_dit END::text, CASE WHEN delegataire.qualite IS NULL THEN petitionnaire_principal.bp ELSE delegataire.bp END::text, CASE WHEN delegataire.qualite IS NULL THEN petitionnaire_principal.code_postal ELSE delegataire.code_postal END::text, CASE WHEN delegataire.qualite IS NULL THEN petitionnaire_principal.localite ELSE delegataire.localite END::text, CASE WHEN delegataire.qualite IS NULL THEN petitionnaire_principal.cedex ELSE delegataire.cedex END::text, CASE WHEN delegataire.qualite IS NULL THEN petitionnaire_principal.pays ELSE delegataire.pays END::text) AS adresse_correspondant_sdl,
    &DB_PREFIXEadresse(CASE WHEN delegataire.qualite IS NULL THEN petitionnaire_principal.numero ELSE delegataire.numero END::text, CASE WHEN delegataire.qualite IS NULL THEN petitionnaire_principal.voie ELSE delegataire.voie END::text, CASE WHEN delegataire.qualite IS NULL THEN petitionnaire_principal.complement ELSE delegataire.complement END::text, CASE WHEN delegataire.qualite IS NULL THEN petitionnaire_principal.lieu_dit ELSE delegataire.lieu_dit END::text, CASE WHEN delegataire.qualite IS NULL THEN petitionnaire_principal.bp ELSE delegataire.bp END::text, CASE WHEN delegataire.qualite IS NULL THEN petitionnaire_principal.code_postal ELSE delegataire.code_postal END::text, CASE WHEN delegataire.qualite IS NULL THEN petitionnaire_principal.localite ELSE delegataire.localite END::text, CASE WHEN delegataire.qualite IS NULL THEN petitionnaire_principal.cedex ELSE delegataire.cedex END::text, CASE WHEN delegataire.qualite IS NULL THEN petitionnaire_principal.pays ELSE delegataire.pays END::text, ' '::text) AS adresse_correspondant,
    
        CASE WHEN delegataire.qualite IS NULL
            THEN petitionnaire_principal.voie
            ELSE delegataire.voie
        END AS voie_correspondant,
    
        CASE WHEN delegataire.qualite IS NULL
            THEN petitionnaire_principal.complement
            ELSE delegataire.complement
        END AS complement_correspondant,
    
        CASE WHEN delegataire.qualite IS NULL
            THEN petitionnaire_principal.lieu_dit
            ELSE delegataire.lieu_dit
        END AS lieu_dit_correspondant,
    
        CASE WHEN delegataire.qualite IS NULL
            THEN 
                CASE 
                    WHEN petitionnaire_principal.bp IS NULL
                    THEN ''
                    ELSE CONCAT('BP ', petitionnaire_principal.bp)
                END
            ELSE 
                CASE 
                    WHEN delegataire.bp IS NULL
                    THEN ''
                    ELSE CONCAT('BP ', delegataire.bp)
                END
        END AS bp_correspondant,
    
        CASE WHEN delegataire.qualite IS NULL
            THEN petitionnaire_principal.code_postal
            ELSE delegataire.code_postal
        END AS code_postal_correspondant,
    
        CASE WHEN delegataire.qualite IS NULL
            THEN petitionnaire_principal.localite
            ELSE delegataire.localite
        END AS ville_correspondant,
    
        CASE WHEN delegataire.qualite IS NULL
            THEN 
                CASE 
                    WHEN petitionnaire_principal.cedex IS NULL
                    THEN ''
                    ELSE CONCAT('CEDEX ', petitionnaire_principal.cedex)
                END 
            ELSE 
                CASE 
                    WHEN delegataire.cedex IS NULL
                    THEN ''
                    ELSE CONCAT('CEDEX ', delegataire.cedex)
                END 
        END AS cedex_correspondant,
    
        CASE WHEN delegataire.qualite IS NULL
            THEN petitionnaire_principal.pays
            ELSE delegataire.pays
        END AS pays_correspondant,
        CASE WHEN delegataire.qualite IS NULL
            THEN petitionnaire_principal.division_territoriale
            ELSE delegataire.division_territoriale
        END AS division_territoriale_correspondant,
        CASE WHEN delegataire.qualite IS NULL
            THEN CASE WHEN petitionnaire_principal.qualite='particulier'
                    THEN TO_CHAR(petitionnaire_principal.particulier_date_naissance, 'DD/MM/YYYY')
                    ELSE ''
                END
            ELSE CASE WHEN delegataire.qualite='particulier'
                    THEN TO_CHAR(delegataire.particulier_date_naissance, 'DD/MM/YYYY')
                    ELSE ''
                END
        END AS date_naissance_correspondant,
        CASE WHEN delegataire.qualite IS NULL
            THEN CASE WHEN petitionnaire_principal.qualite='particulier'
                    THEN CONCAT_WS(' ', petitionnaire_principal.particulier_commune_naissance, petitionnaire_principal.particulier_departement_naissance, petitionnaire_principal.particulier_pays_naissance)
                    ELSE ''
                END
            ELSE CASE WHEN delegataire.qualite='particulier'
                    THEN CONCAT_WS(' ', delegataire.particulier_commune_naissance, delegataire.particulier_departement_naissance, delegataire.particulier_pays_naissance)
                    ELSE ''
                END
        END AS lieu_naissance_correspondant,
        CASE WHEN delegataire.qualite IS NULL
            THEN petitionnaire_principal.courriel
            ELSE delegataire.courriel
        END AS email_correspondant,
        CASE WHEN delegataire.qualite IS NULL
            THEN CONCAT_WS(' ', petitionnaire_principal.indicatif, CONCAT_WS(' / ', petitionnaire_principal.telephone_fixe, petitionnaire_principal.telephone_mobile))
            ELSE CONCAT_WS(' ', delegataire.indicatif, CONCAT_WS(' / ', delegataire.telephone_fixe, delegataire.telephone_mobile))
        END AS coordonnees_telephonique_correspondant,
        CASE WHEN delegataire.qualite IS NULL
            THEN CASE WHEN petitionnaire_principal.notification IS TRUE
                    THEN '[X]'
                    ELSE '[ ]'
                END
            ELSE '[ ]'
        END AS notification_correspondant,
    
        -- Coordonnées du propriétaire
    
        CASE WHEN proprietaire.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', proprietaire.civilite_libelle, proprietaire.particulier_nom, proprietaire.particulier_prenom))
            ELSE
                CASE WHEN proprietaire.personne_morale_nom IS NOT NULL OR proprietaire.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', proprietaire.personne_morale_raison_sociale, proprietaire.personne_morale_denomination, 'représenté(e) par', proprietaire.civilite_libelle, proprietaire.personne_morale_nom, proprietaire.personne_morale_prenom))
                    ELSE TRIM(CONCAT(proprietaire.personne_morale_raison_sociale, ' ', proprietaire.personne_morale_denomination))
                END
        END AS nom_complet_qualite_part_ou_pm_proprietaire,
        CASE WHEN proprietaire.qualite='particulier' OR proprietaire.personne_morale_nom IS NOT NULL OR proprietaire.personne_morale_prenom IS NOT NULL
            THEN proprietaire.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_ou_pm_proprietaire,
        CASE WHEN proprietaire.qualite='particulier'
            THEN proprietaire.particulier_nom
            ELSE
                CASE WHEN proprietaire.personne_morale_nom IS NOT NULL
                    THEN proprietaire.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_part_ou_pm_proprietaire,
        CASE WHEN proprietaire.qualite='particulier'
            THEN proprietaire.particulier_prenom
            ELSE
                CASE WHEN proprietaire.personne_morale_prenom IS NOT NULL
                    THEN proprietaire.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_part_ou_pm_proprietaire,
        CASE WHEN proprietaire.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', proprietaire.civilite_libelle, proprietaire.particulier_nom, proprietaire.particulier_prenom))
            ELSE ''
        END AS nom_complet_qualite_part_proprietaire,
        CASE WHEN proprietaire.qualite='particulier'
            THEN proprietaire.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_proprietaire,
        CASE WHEN proprietaire.qualite='particulier'
            THEN proprietaire.particulier_nom
            ELSE ''
        END AS nom_qualite_part_proprietaire,
        CASE WHEN proprietaire.qualite='particulier'
            THEN proprietaire.particulier_prenom
            ELSE ''
        END AS prenom_qualite_part_proprietaire,
        CASE WHEN proprietaire.personne_morale_nom IS NOT NULL OR proprietaire.personne_morale_prenom IS NOT NULL
            THEN TRIM(CONCAT_WS(' ', proprietaire.personne_morale_raison_sociale, proprietaire.personne_morale_denomination, 'représenté(e) par', proprietaire.civilite_libelle, proprietaire.personne_morale_nom, proprietaire.personne_morale_prenom))
            ELSE TRIM(CONCAT(proprietaire.personne_morale_raison_sociale, ' ', proprietaire.personne_morale_denomination))
        END AS nom_complet_qualite_pm_proprietaire,
        CASE WHEN proprietaire.personne_morale_nom IS NOT NULL OR proprietaire.personne_morale_prenom IS NOT NULL
            THEN proprietaire.civilite_libelle
            ELSE ''
        END AS civilite_qualite_pm_proprietaire,
        CASE WHEN proprietaire.personne_morale_nom IS NOT NULL
            THEN proprietaire.personne_morale_nom
            ELSE ''
        END AS nom_qualite_pm_proprietaire,
        CASE WHEN proprietaire.personne_morale_prenom IS NOT NULL
            THEN proprietaire.personne_morale_prenom
            ELSE ''
        END AS prenom_qualite_pm_proprietaire,
        CASE WHEN proprietaire.qualite='particulier'
            THEN ''
            ELSE proprietaire.personne_morale_raison_sociale
        END AS raison_sociale_proprietaire,
        CASE WHEN proprietaire.qualite='particulier'
            THEN ''
            ELSE proprietaire.personne_morale_denomination
        END AS denomination_proprietaire,
        CASE WHEN proprietaire.qualite='particulier'
            THEN ''
            ELSE proprietaire.personne_morale_siret
        END AS siret_proprietaire,
        CASE WHEN proprietaire.qualite='particulier'
            THEN ''
            ELSE proprietaire.personne_morale_categorie_juridique
        END AS categorie_juridique_proprietaire,
        proprietaire.numero AS numero_proprietaire,
    &DB_PREFIXEadresse(proprietaire.numero::text, proprietaire.voie::text, proprietaire.complement::text, proprietaire.lieu_dit::text, proprietaire.bp::text, proprietaire.code_postal::text, proprietaire.localite::text, proprietaire.cedex::text, proprietaire.pays::text) AS adresse_proprietaire_sdl,
    &DB_PREFIXEadresse(proprietaire.numero::text, proprietaire.voie::text, proprietaire.complement::text, proprietaire.lieu_dit::text, proprietaire.bp::text, proprietaire.code_postal::text, proprietaire.localite::text, proprietaire.cedex::text, proprietaire.pays::text, ' '::text) AS adresse_proprietaire,
        proprietaire.voie AS voie_proprietaire,
        proprietaire.complement AS complement_proprietaire,
        proprietaire.lieu_dit AS lieu_dit_proprietaire,
        CASE 
            WHEN proprietaire.bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', proprietaire.bp)
        END AS bp_proprietaire,
        proprietaire.code_postal AS code_postal_proprietaire,
        proprietaire.localite AS localite_proprietaire,
        CASE 
            WHEN proprietaire.cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', proprietaire.cedex)
        END AS cedex_proprietaire,
        proprietaire.pays AS pays_proprietaire,
        proprietaire.division_territoriale AS division_territoriale_proprietaire,
        CASE WHEN proprietaire.qualite = 'particulier'
            THEN TO_CHAR(proprietaire.particulier_date_naissance, 'DD/MM/YYYY')
            ELSE ''
        END AS date_naissance_proprietaire,
        CASE WHEN proprietaire.qualite = 'particulier'
            THEN CONCAT_WS(' ', proprietaire.particulier_commune_naissance, proprietaire.particulier_departement_naissance, proprietaire.particulier_pays_naissance)
            ELSE ''
        END AS lieu_naissance_proprietaire,
        proprietaire.courriel AS email_proprietaire,
        CONCAT_WS(' ', proprietaire.indicatif, CONCAT_WS(' / ', proprietaire.telephone_fixe, proprietaire.telephone_mobile)) AS coordonnees_telephonique_proprietaire,
        CASE WHEN proprietaire.notification IS TRUE
            THEN '[X]'
            ELSE '[ ]'
        END AS notification_proprietaire,
    
        -- Coordonnées du concepteur-paysagiste
    
        CASE WHEN paysagiste.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', paysagiste.civilite_libelle, paysagiste.particulier_nom, paysagiste.particulier_prenom))
            ELSE
                CASE WHEN paysagiste.personne_morale_nom IS NOT NULL OR paysagiste.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', paysagiste.personne_morale_raison_sociale, paysagiste.personne_morale_denomination, 'représenté(e) par', paysagiste.civilite_libelle, paysagiste.personne_morale_nom, paysagiste.personne_morale_prenom))
                    ELSE TRIM(CONCAT(paysagiste.personne_morale_raison_sociale, ' ', paysagiste.personne_morale_denomination))
                END
        END AS nom_complet_qualite_part_ou_pm_paysagiste,
        CASE WHEN paysagiste.qualite='particulier' OR paysagiste.personne_morale_nom IS NOT NULL OR paysagiste.personne_morale_prenom IS NOT NULL
            THEN paysagiste.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_ou_pm_paysagiste,
        CASE WHEN paysagiste.qualite='particulier'
            THEN paysagiste.particulier_nom
            ELSE
                CASE WHEN paysagiste.personne_morale_nom IS NOT NULL
                    THEN paysagiste.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_part_ou_pm_paysagiste,
        CASE WHEN paysagiste.qualite='particulier'
            THEN paysagiste.particulier_prenom
            ELSE
                CASE WHEN paysagiste.personne_morale_prenom IS NOT NULL
                    THEN paysagiste.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_part_ou_pm_paysagiste,
        CASE WHEN paysagiste.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', paysagiste.civilite_libelle, paysagiste.particulier_nom, paysagiste.particulier_prenom))
            ELSE ''
        END AS nom_complet_qualite_part_paysagiste,
        CASE WHEN paysagiste.qualite='particulier'
            THEN paysagiste.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_paysagiste,
        CASE WHEN paysagiste.qualite='particulier'
            THEN paysagiste.particulier_nom
            ELSE ''
        END AS nom_qualite_part_paysagiste,
        CASE WHEN paysagiste.qualite='particulier'
            THEN paysagiste.particulier_prenom
            ELSE ''
        END AS prenom_qualite_part_paysagiste,
        CASE WHEN paysagiste.personne_morale_nom IS NOT NULL OR paysagiste.personne_morale_prenom IS NOT NULL
            THEN TRIM(CONCAT_WS(' ', paysagiste.personne_morale_raison_sociale, paysagiste.personne_morale_denomination, 'représenté(e) par', paysagiste.civilite_libelle, paysagiste.personne_morale_nom, paysagiste.personne_morale_prenom))
            ELSE TRIM(CONCAT(paysagiste.personne_morale_raison_sociale, ' ', paysagiste.personne_morale_denomination))
        END AS nom_complet_qualite_pm_paysagiste,
        CASE WHEN paysagiste.personne_morale_nom IS NOT NULL OR paysagiste.personne_morale_prenom IS NOT NULL
            THEN paysagiste.civilite_libelle
            ELSE ''
        END AS civilite_qualite_pm_paysagiste,
        CASE WHEN paysagiste.personne_morale_nom IS NOT NULL
            THEN paysagiste.personne_morale_nom
            ELSE ''
        END AS nom_qualite_pm_paysagiste,
        CASE WHEN paysagiste.personne_morale_prenom IS NOT NULL
            THEN paysagiste.personne_morale_prenom
            ELSE ''
        END AS prenom_qualite_pm_paysagiste,
        CASE WHEN paysagiste.qualite='particulier'
            THEN ''
            ELSE paysagiste.personne_morale_raison_sociale
        END AS raison_sociale_paysagiste,
        CASE WHEN paysagiste.qualite='particulier'
            THEN ''
            ELSE paysagiste.personne_morale_denomination
        END AS denomination_paysagiste,
        CASE WHEN paysagiste.qualite='particulier'
            THEN ''
            ELSE paysagiste.personne_morale_siret
        END AS siret_paysagiste,
        CASE WHEN paysagiste.qualite='particulier'
            THEN ''
            ELSE paysagiste.personne_morale_categorie_juridique
        END AS categorie_juridique_paysagiste,
        paysagiste.numero AS numero_paysagiste,
    &DB_PREFIXEadresse(paysagiste.numero::text, paysagiste.voie::text, paysagiste.complement::text, paysagiste.lieu_dit::text, paysagiste.bp::text, paysagiste.code_postal::text, paysagiste.localite::text, paysagiste.cedex::text, paysagiste.pays::text) AS adresse_paysagiste_sdl,
    &DB_PREFIXEadresse(paysagiste.numero::text, paysagiste.voie::text, paysagiste.complement::text, paysagiste.lieu_dit::text, paysagiste.bp::text, paysagiste.code_postal::text, paysagiste.localite::text, paysagiste.cedex::text, paysagiste.pays::text, ' '::text) AS adresse_paysagiste,
        paysagiste.voie AS voie_paysagiste,
        paysagiste.complement AS complement_paysagiste,
        paysagiste.lieu_dit AS lieu_dit_paysagiste,
        CASE 
            WHEN paysagiste.bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', paysagiste.bp)
        END AS bp_paysagiste,
        paysagiste.code_postal AS code_postal_paysagiste,
        paysagiste.localite AS localite_paysagiste,
        CASE 
            WHEN paysagiste.cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', paysagiste.cedex)
        END AS cedex_paysagiste,
        paysagiste.pays AS pays_paysagiste,
        paysagiste.division_territoriale AS division_territoriale_paysagiste,
        CASE WHEN paysagiste.qualite = 'particulier'
            THEN TO_CHAR(paysagiste.particulier_date_naissance, 'DD/MM/YYYY')
            ELSE ''
        END AS date_naissance_paysagiste,
        CASE WHEN paysagiste.qualite = 'particulier'
            THEN CONCAT_WS(' ', paysagiste.particulier_commune_naissance, paysagiste.particulier_departement_naissance, paysagiste.particulier_pays_naissance)
            ELSE ''
        END AS lieu_naissance_paysagiste,
        paysagiste.courriel AS email_paysagiste,
        CONCAT_WS(' ', paysagiste.indicatif, CONCAT_WS(' / ', paysagiste.telephone_fixe, paysagiste.telephone_mobile)) AS coordonnees_telephonique_paysagiste,
    
        -- Coordonnées de l'architecte législation connexe
    
        CASE WHEN architecte_lc.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', architecte_lc.civilite_libelle, architecte_lc.particulier_nom, architecte_lc.particulier_prenom))
            ELSE
                CASE WHEN architecte_lc.personne_morale_nom IS NOT NULL OR architecte_lc.personne_morale_prenom IS NOT NULL
                    THEN TRIM(CONCAT_WS(' ', architecte_lc.personne_morale_raison_sociale, architecte_lc.personne_morale_denomination, 'représenté(e) par', architecte_lc.civilite_libelle, architecte_lc.personne_morale_nom, architecte_lc.personne_morale_prenom))
                    ELSE TRIM(CONCAT(architecte_lc.personne_morale_raison_sociale, ' ', architecte_lc.personne_morale_denomination))
                END
        END AS nom_complet_qualite_part_ou_pm_architecte_lc,
        CASE WHEN architecte_lc.qualite='particulier' OR architecte_lc.personne_morale_nom IS NOT NULL OR architecte_lc.personne_morale_prenom IS NOT NULL
            THEN architecte_lc.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_ou_pm_architecte_lc,
        CASE WHEN architecte_lc.qualite='particulier'
            THEN architecte_lc.particulier_nom
            ELSE
                CASE WHEN architecte_lc.personne_morale_nom IS NOT NULL
                    THEN architecte_lc.personne_morale_nom
                    ELSE ''
                END
        END AS nom_qualite_part_ou_pm_architecte_lc,
        CASE WHEN architecte_lc.qualite='particulier'
            THEN architecte_lc.particulier_prenom
            ELSE
                CASE WHEN architecte_lc.personne_morale_prenom IS NOT NULL
                    THEN architecte_lc.personne_morale_prenom
                    ELSE ''
                END
        END AS prenom_qualite_part_ou_pm_architecte_lc,
        CASE WHEN architecte_lc.qualite='particulier'
            THEN TRIM(CONCAT_WS(' ', architecte_lc.civilite_libelle, architecte_lc.particulier_nom, architecte_lc.particulier_prenom))
            ELSE ''
        END AS nom_complet_qualite_part_architecte_lc,
        CASE WHEN architecte_lc.qualite='particulier'
            THEN architecte_lc.civilite_libelle
            ELSE ''
        END AS civilite_qualite_part_architecte_lc,
        CASE WHEN architecte_lc.qualite='particulier'
            THEN architecte_lc.particulier_nom
            ELSE ''
        END AS nom_qualite_part_architecte_lc,
        CASE WHEN architecte_lc.qualite='particulier'
            THEN architecte_lc.particulier_prenom
            ELSE ''
        END AS prenom_qualite_part_architecte_lc,
        CASE WHEN architecte_lc.personne_morale_nom IS NOT NULL OR architecte_lc.personne_morale_prenom IS NOT NULL
            THEN TRIM(CONCAT_WS(' ', architecte_lc.personne_morale_raison_sociale, architecte_lc.personne_morale_denomination, 'représenté(e) par', architecte_lc.civilite_libelle, architecte_lc.personne_morale_nom, architecte_lc.personne_morale_prenom))
            ELSE TRIM(CONCAT(architecte_lc.personne_morale_raison_sociale, ' ', architecte_lc.personne_morale_denomination))
        END AS nom_complet_qualite_pm_architecte_lc,
        CASE WHEN architecte_lc.personne_morale_nom IS NOT NULL OR architecte_lc.personne_morale_prenom IS NOT NULL
            THEN architecte_lc.civilite_libelle
            ELSE ''
        END AS civilite_qualite_pm_architecte_lc,
        CASE WHEN architecte_lc.personne_morale_nom IS NOT NULL
            THEN architecte_lc.personne_morale_nom
            ELSE ''
        END AS nom_qualite_pm_architecte_lc,
        CASE WHEN architecte_lc.personne_morale_prenom IS NOT NULL
            THEN architecte_lc.personne_morale_prenom
            ELSE ''
        END AS prenom_qualite_pm_architecte_lc,
        CASE WHEN architecte_lc.qualite='particulier'
            THEN ''
            ELSE architecte_lc.personne_morale_raison_sociale
        END AS raison_sociale_architecte_lc,
        CASE WHEN architecte_lc.qualite='particulier'
            THEN ''
            ELSE architecte_lc.personne_morale_denomination
        END AS denomination_architecte_lc,
        CASE WHEN architecte_lc.qualite='particulier'
            THEN ''
            ELSE architecte_lc.personne_morale_siret
        END AS siret_architecte_lc,
        CASE WHEN architecte_lc.qualite='particulier'
            THEN ''
            ELSE architecte_lc.personne_morale_categorie_juridique
        END AS categorie_juridique_architecte_lc,
        architecte_lc.numero AS numero_architecte_lc,
    &DB_PREFIXEadresse(architecte_lc.numero::text, architecte_lc.voie::text, architecte_lc.complement::text, architecte_lc.lieu_dit::text, architecte_lc.bp::text, architecte_lc.code_postal::text, architecte_lc.localite::text, architecte_lc.cedex::text, architecte_lc.pays::text) AS adresse_architecte_lc_sdl,
    &DB_PREFIXEadresse(architecte_lc.numero::text, architecte_lc.voie::text, architecte_lc.complement::text, architecte_lc.lieu_dit::text, architecte_lc.bp::text, architecte_lc.code_postal::text, architecte_lc.localite::text, architecte_lc.cedex::text, architecte_lc.pays::text, ' '::text) AS adresse_architecte_lc,
        architecte_lc.voie AS voie_architecte_lc,
        architecte_lc.complement AS complement_architecte_lc,
        architecte_lc.lieu_dit AS lieu_dit_architecte_lc,
        CASE 
            WHEN architecte_lc.bp IS NULL
            THEN ''
            ELSE CONCAT('BP ', architecte_lc.bp)
        END AS bp_architecte_lc,
        architecte_lc.code_postal AS code_postal_architecte_lc,
        architecte_lc.localite AS localite_architecte_lc,
        CASE 
            WHEN architecte_lc.cedex IS NULL
            THEN ''
            ELSE CONCAT('CEDEX ', architecte_lc.cedex)
        END AS cedex_architecte_lc,
        architecte_lc.pays AS pays_architecte_lc,
        architecte_lc.division_territoriale AS division_territoriale_architecte_lc,
        CASE WHEN architecte_lc.qualite = 'particulier'
            THEN TO_CHAR(architecte_lc.particulier_date_naissance, 'DD/MM/YYYY')
            ELSE ''
        END AS date_naissance_architecte_lc,
        CASE WHEN architecte_lc.qualite = 'particulier'
            THEN CONCAT_WS(' ', architecte_lc.particulier_commune_naissance, architecte_lc.particulier_departement_naissance, architecte_lc.particulier_pays_naissance)
            ELSE ''
        END AS lieu_naissance_architecte_lc,
        architecte_lc.courriel AS email_architecte_lc,
        CONCAT_WS(' ', architecte_lc.indicatif, CONCAT_WS(' / ', architecte_lc.telephone_fixe, architecte_lc.telephone_mobile)) AS coordonnees_telephonique_architecte_lc,
        architecte_lc.num_inscription AS num_inscription_architecte_lc,
        architecte_lc.nom_cabinet AS nom_cabinet_architecte_lc,
        architecte_lc.conseil_regional AS conseil_regional_architecte_lc,
        architecte_lc.titre_obt_diplo_spec AS titre_obt_diplo_spec_architecte_lc,
        TO_CHAR(architecte_lc.date_obt_diplo_spec, 'DD/MM/YYYY') AS date_obt_diplo_spec_architecte_lc,
        architecte_lc.lieu_obt_diplo_spec AS lieu_obt_diplo_spec_architecte_lc,
    
        -- Coordonnées de l'architecte (celui dans les données techniques)
        TRIM(CONCAT_WS(' ', architecte.nom, architecte.prenom)) AS nom_complet_architecte,
    &DB_PREFIXEadresse(''::text, architecte.adresse1::text, architecte.adresse2::text, architecte.lieu_dit::text, architecte.boite_postale::text, architecte.cp::text, architecte.ville::text, architecte.cedex::text, architecte.pays::text) AS adresse_architecte_sdl,
    &DB_PREFIXEadresse(''::text, architecte.adresse1::text, architecte.adresse2::text, architecte.lieu_dit::text, architecte.boite_postale::text, architecte.cp::text, architecte.ville::text, architecte.cedex::text, architecte.pays::text, ' '::text) AS adresse_architecte,
        architecte.email AS email_architecte,
        architecte.fax AS fax_architecte,
        architecte.telephone AS telephone_architecte,
        architecte.inscription AS num_inscription_architecte,
        architecte.nom_cabinet AS nom_cabinet_architecte,
        architecte.conseil_regional AS conseil_regional_architecte,
        architecte.titre_obt_diplo_spec AS titre_obt_diplo_spec_architecte,
        TO_CHAR(architecte.date_obt_diplo_spec, 'DD/MM/YYYY') AS date_obt_diplo_spec_architecte,
        architecte.lieu_obt_diplo_spec AS lieu_obt_diplo_spec_architecte,
    
        --Dates importantes du dossier d'instruction
        TO_CHAR(dossier.date_depot_mairie, 'DD/MM/YYYY') AS date_depot_mairie,
        TO_CHAR(dossier.date_affichage, 'DD/MM/YYYY') AS date_affichage,
        TO_CHAR(dossier.date_depot, 'DD/MM/YYYY') AS date_depot_dossier,
        TO_CHAR(dossier.date_complet, 'DD/MM/YYYY') AS date_completude,
        TO_CHAR(dossier.date_dernier_depot, 'DD/MM/YYYY') AS date_dernier_depot,
        TO_CHAR(dossier.date_decision, 'DD/MM/YYYY') AS date_decision_dossier,
        CASE WHEN dossier.incomplet_notifie IS TRUE AND dossier.incompletude IS TRUE 
            THEN TO_CHAR(dossier.date_limite_incompletude ,'DD/MM/YYYY') 
            ELSE TO_CHAR(dossier.date_limite ,'DD/MM/YYYY')
        END AS date_limite_dossier,
        TO_CHAR(dossier.date_achevement,'DD/MM/YYYY') AS date_achevement_dossier,
        TO_CHAR(dossier.date_conformite,'DD/MM/YYYY') AS date_conformite_dossier,
        TO_CHAR(dossier.date_notification_delai,'DD/MM/YYYY') AS date_notification_delai_dossier,
        
        --Noms des signataires
        TRIM(CONCAT(signataire_civilite.libelle, ' ',signataire_arrete.prenom, ' ', signataire_arrete.nom)) AS arrete_signataire,
        TRIM(CONCAT(signataire_arrete.qualite, ' ', signataire_arrete.signature)) AS signature_signataire,
        TRIM(signataire_arrete.signature) AS signature_signataire_ss_qualite,
        division.chef AS chef_division,
        direction.chef AS chef_direction,
        direction.libelle AS libelle_direction,
        direction.description AS description_direction,
        
        --Données générales des données techniques
        donnees_techniques.co_projet_desc AS co_projet_desc_donnees_techniques,
        donnees_techniques.am_projet_desc AS am_projet_desc_donnees_techniques,
        donnees_techniques.dm_projet_desc AS dm_projet_desc_donnees_techniques,
        donnees_techniques.ope_proj_desc AS ope_proj_desc_donnees_techniques,
        TRIM(CONCAT(
            donnees_techniques.co_projet_desc, ' ',
            donnees_techniques.am_projet_desc, ' ',
            donnees_techniques.dm_projet_desc, ' ',
            donnees_techniques.ope_proj_desc
            )) AS projet_desc_donnees_techniques,
        donnees_techniques.am_lot_max_nb AS am_lot_max_nb_donnees_techniques,
        donnees_techniques.am_lot_max_shon AS am_lot_max_shon_donnees_techniques,
    -- Si une valeur est saisie dans la deuxième version du tableau des surfaces
    -- alors ON récupère seulement ses valeurs
        CASE
        WHEN su2_avt_shon1 IS NOT NULL
        OR su2_avt_shon2 IS NOT NULL
        OR su2_avt_shon3 IS NOT NULL
        OR su2_avt_shon4 IS NOT NULL
        OR su2_avt_shon5 IS NOT NULL
        OR su2_avt_shon6 IS NOT NULL
        OR su2_avt_shon7 IS NOT NULL
        OR su2_avt_shon8 IS NOT NULL
        OR su2_avt_shon9 IS NOT NULL
        OR su2_avt_shon10 IS NOT NULL
        OR su2_avt_shon11 IS NOT NULL
        OR su2_avt_shon12 IS NOT NULL
        OR su2_avt_shon13 IS NOT NULL
        OR su2_avt_shon14 IS NOT NULL
        OR su2_avt_shon15 IS NOT NULL
        OR su2_avt_shon16 IS NOT NULL
        OR su2_avt_shon17 IS NOT NULL
        OR su2_avt_shon18 IS NOT NULL
        OR su2_avt_shon19 IS NOT NULL
        OR su2_avt_shon20 IS NOT NULL
        OR su2_avt_shon21 IS NOT NULL
        OR su2_avt_shon22 IS NOT NULL
        OR su2_avt_shon23 IS NOT NULL
        OR su2_avt_shon24 IS NOT NULL
        OR su2_cstr_shon1 IS NOT NULL
        OR su2_cstr_shon2 IS NOT NULL
        OR su2_cstr_shon3 IS NOT NULL
        OR su2_cstr_shon4 IS NOT NULL
        OR su2_cstr_shon5 IS NOT NULL
        OR su2_cstr_shon6 IS NOT NULL
        OR su2_cstr_shon7 IS NOT NULL
        OR su2_cstr_shon8 IS NOT NULL
        OR su2_cstr_shon9 IS NOT NULL
        OR su2_cstr_shon10 IS NOT NULL
        OR su2_cstr_shon11 IS NOT NULL
        OR su2_cstr_shon12 IS NOT NULL
        OR su2_cstr_shon13 IS NOT NULL
        OR su2_cstr_shon14 IS NOT NULL
        OR su2_cstr_shon15 IS NOT NULL
        OR su2_cstr_shon16 IS NOT NULL
        OR su2_cstr_shon17 IS NOT NULL
        OR su2_cstr_shon18 IS NOT NULL
        OR su2_cstr_shon19 IS NOT NULL
        OR su2_cstr_shon20 IS NOT NULL
        OR su2_cstr_shon21 IS NOT NULL
        OR su2_cstr_shon22 IS NOT NULL
        OR su2_cstr_shon23 IS NOT NULL
        OR su2_cstr_shon24 IS NOT NULL
        OR su2_chge_shon1 IS NOT NULL
        OR su2_chge_shon2 IS NOT NULL
        OR su2_chge_shon3 IS NOT NULL
        OR su2_chge_shon4 IS NOT NULL
        OR su2_chge_shon5 IS NOT NULL
        OR su2_chge_shon6 IS NOT NULL
        OR su2_chge_shon7 IS NOT NULL
        OR su2_chge_shon8 IS NOT NULL
        OR su2_chge_shon9 IS NOT NULL
        OR su2_chge_shon10 IS NOT NULL
        OR su2_chge_shon11 IS NOT NULL
        OR su2_chge_shon12 IS NOT NULL
        OR su2_chge_shon13 IS NOT NULL
        OR su2_chge_shon14 IS NOT NULL
        OR su2_chge_shon15 IS NOT NULL
        OR su2_chge_shon16 IS NOT NULL
        OR su2_chge_shon17 IS NOT NULL
        OR su2_chge_shon18 IS NOT NULL
        OR su2_chge_shon19 IS NOT NULL
        OR su2_chge_shon20 IS NOT NULL
        OR su2_chge_shon21 IS NOT NULL
        OR su2_chge_shon22 IS NOT NULL
        OR su2_chge_shon23 IS NOT NULL
        OR su2_chge_shon24 IS NOT NULL
        OR su2_demo_shon1 IS NOT NULL
        OR su2_demo_shon2 IS NOT NULL
        OR su2_demo_shon3 IS NOT NULL
        OR su2_demo_shon4 IS NOT NULL
        OR su2_demo_shon5 IS NOT NULL
        OR su2_demo_shon6 IS NOT NULL
        OR su2_demo_shon7 IS NOT NULL
        OR su2_demo_shon8 IS NOT NULL
        OR su2_demo_shon9 IS NOT NULL
        OR su2_demo_shon10 IS NOT NULL
        OR su2_demo_shon11 IS NOT NULL
        OR su2_demo_shon12 IS NOT NULL
        OR su2_demo_shon13 IS NOT NULL
        OR su2_demo_shon14 IS NOT NULL
        OR su2_demo_shon15 IS NOT NULL
        OR su2_demo_shon16 IS NOT NULL
        OR su2_demo_shon17 IS NOT NULL
        OR su2_demo_shon18 IS NOT NULL
        OR su2_demo_shon19 IS NOT NULL
        OR su2_demo_shon20 IS NOT NULL
        OR su2_demo_shon21 IS NOT NULL
        OR su2_demo_shon22 IS NOT NULL
        OR su2_demo_shon23 IS NOT NULL
        OR su2_demo_shon24 IS NOT NULL
        OR su2_sup_shon1 IS NOT NULL
        OR su2_sup_shon2 IS NOT NULL
        OR su2_sup_shon3 IS NOT NULL
        OR su2_sup_shon4 IS NOT NULL
        OR su2_sup_shon5 IS NOT NULL
        OR su2_sup_shon6 IS NOT NULL
        OR su2_sup_shon7 IS NOT NULL
        OR su2_sup_shon8 IS NOT NULL
        OR su2_sup_shon9 IS NOT NULL
        OR su2_sup_shon10 IS NOT NULL
        OR su2_sup_shon11 IS NOT NULL
        OR su2_sup_shon12 IS NOT NULL
        OR su2_sup_shon13 IS NOT NULL
        OR su2_sup_shon14 IS NOT NULL
        OR su2_sup_shon15 IS NOT NULL
        OR su2_sup_shon16 IS NOT NULL
        OR su2_sup_shon17 IS NOT NULL
        OR su2_sup_shon18 IS NOT NULL
        OR su2_sup_shon19 IS NOT NULL
        OR su2_sup_shon20 IS NOT NULL
        OR su2_sup_shon21 IS NOT NULL
        OR su2_sup_shon22 IS NOT NULL
        OR su2_sup_shon23 IS NOT NULL
        OR su2_sup_shon24 IS NOT NULL
            THEN donnees_techniques.su2_cstr_shon_tot
        ELSE donnees_techniques.su_cstr_shon_tot
    END AS su_cstr_shon_tot_donnees_techniques,
    -- Si une valeur est saisie dans la deuxième version du tableau des surfaces
    -- alors ON récupère seulement ses valeurs
        CASE
        WHEN su2_avt_shon1 IS NOT NULL
        OR su2_avt_shon2 IS NOT NULL
        OR su2_avt_shon3 IS NOT NULL
        OR su2_avt_shon4 IS NOT NULL
        OR su2_avt_shon5 IS NOT NULL
        OR su2_avt_shon6 IS NOT NULL
        OR su2_avt_shon7 IS NOT NULL
        OR su2_avt_shon8 IS NOT NULL
        OR su2_avt_shon9 IS NOT NULL
        OR su2_avt_shon10 IS NOT NULL
        OR su2_avt_shon11 IS NOT NULL
        OR su2_avt_shon12 IS NOT NULL
        OR su2_avt_shon13 IS NOT NULL
        OR su2_avt_shon14 IS NOT NULL
        OR su2_avt_shon15 IS NOT NULL
        OR su2_avt_shon16 IS NOT NULL
        OR su2_avt_shon17 IS NOT NULL
        OR su2_avt_shon18 IS NOT NULL
        OR su2_avt_shon19 IS NOT NULL
        OR su2_avt_shon20 IS NOT NULL
        OR su2_avt_shon21 IS NOT NULL
        OR su2_avt_shon22 IS NOT NULL
        OR su2_avt_shon23 IS NOT NULL
        OR su2_avt_shon24 IS NOT NULL
        OR su2_cstr_shon1 IS NOT NULL
        OR su2_cstr_shon2 IS NOT NULL
        OR su2_cstr_shon3 IS NOT NULL
        OR su2_cstr_shon4 IS NOT NULL
        OR su2_cstr_shon5 IS NOT NULL
        OR su2_cstr_shon6 IS NOT NULL
        OR su2_cstr_shon7 IS NOT NULL
        OR su2_cstr_shon8 IS NOT NULL
        OR su2_cstr_shon9 IS NOT NULL
        OR su2_cstr_shon10 IS NOT NULL
        OR su2_cstr_shon11 IS NOT NULL
        OR su2_cstr_shon12 IS NOT NULL
        OR su2_cstr_shon13 IS NOT NULL
        OR su2_cstr_shon14 IS NOT NULL
        OR su2_cstr_shon15 IS NOT NULL
        OR su2_cstr_shon16 IS NOT NULL
        OR su2_cstr_shon17 IS NOT NULL
        OR su2_cstr_shon18 IS NOT NULL
        OR su2_cstr_shon19 IS NOT NULL
        OR su2_cstr_shon20 IS NOT NULL
        OR su2_cstr_shon21 IS NOT NULL
        OR su2_cstr_shon22 IS NOT NULL
        OR su2_cstr_shon23 IS NOT NULL
        OR su2_cstr_shon24 IS NOT NULL
        OR su2_chge_shon1 IS NOT NULL
        OR su2_chge_shon2 IS NOT NULL
        OR su2_chge_shon3 IS NOT NULL
        OR su2_chge_shon4 IS NOT NULL
        OR su2_chge_shon5 IS NOT NULL
        OR su2_chge_shon6 IS NOT NULL
        OR su2_chge_shon7 IS NOT NULL
        OR su2_chge_shon8 IS NOT NULL
        OR su2_chge_shon9 IS NOT NULL
        OR su2_chge_shon10 IS NOT NULL
        OR su2_chge_shon11 IS NOT NULL
        OR su2_chge_shon12 IS NOT NULL
        OR su2_chge_shon13 IS NOT NULL
        OR su2_chge_shon14 IS NOT NULL
        OR su2_chge_shon15 IS NOT NULL
        OR su2_chge_shon16 IS NOT NULL
        OR su2_chge_shon17 IS NOT NULL
        OR su2_chge_shon18 IS NOT NULL
        OR su2_chge_shon19 IS NOT NULL
        OR su2_chge_shon20 IS NOT NULL
        OR su2_chge_shon21 IS NOT NULL
        OR su2_chge_shon22 IS NOT NULL
        OR su2_chge_shon23 IS NOT NULL
        OR su2_chge_shon24 IS NOT NULL
        OR su2_demo_shon1 IS NOT NULL
        OR su2_demo_shon2 IS NOT NULL
        OR su2_demo_shon3 IS NOT NULL
        OR su2_demo_shon4 IS NOT NULL
        OR su2_demo_shon5 IS NOT NULL
        OR su2_demo_shon6 IS NOT NULL
        OR su2_demo_shon7 IS NOT NULL
        OR su2_demo_shon8 IS NOT NULL
        OR su2_demo_shon9 IS NOT NULL
        OR su2_demo_shon10 IS NOT NULL
        OR su2_demo_shon11 IS NOT NULL
        OR su2_demo_shon12 IS NOT NULL
        OR su2_demo_shon13 IS NOT NULL
        OR su2_demo_shon14 IS NOT NULL
        OR su2_demo_shon15 IS NOT NULL
        OR su2_demo_shon16 IS NOT NULL
        OR su2_demo_shon17 IS NOT NULL
        OR su2_demo_shon18 IS NOT NULL
        OR su2_demo_shon19 IS NOT NULL
        OR su2_demo_shon20 IS NOT NULL
        OR su2_demo_shon21 IS NOT NULL
        OR su2_demo_shon22 IS NOT NULL
        OR su2_demo_shon23 IS NOT NULL
        OR su2_demo_shon24 IS NOT NULL
        OR su2_sup_shon1 IS NOT NULL
        OR su2_sup_shon2 IS NOT NULL
        OR su2_sup_shon3 IS NOT NULL
        OR su2_sup_shon4 IS NOT NULL
        OR su2_sup_shon5 IS NOT NULL
        OR su2_sup_shon6 IS NOT NULL
        OR su2_sup_shon7 IS NOT NULL
        OR su2_sup_shon8 IS NOT NULL
        OR su2_sup_shon9 IS NOT NULL
        OR su2_sup_shon10 IS NOT NULL
        OR su2_sup_shon11 IS NOT NULL
        OR su2_sup_shon12 IS NOT NULL
        OR su2_sup_shon13 IS NOT NULL
        OR su2_sup_shon14 IS NOT NULL
        OR su2_sup_shon15 IS NOT NULL
        OR su2_sup_shon16 IS NOT NULL
        OR su2_sup_shon17 IS NOT NULL
        OR su2_sup_shon18 IS NOT NULL
        OR su2_sup_shon19 IS NOT NULL
        OR su2_sup_shon20 IS NOT NULL
        OR su2_sup_shon21 IS NOT NULL
        OR su2_sup_shon22 IS NOT NULL
        OR su2_sup_shon23 IS NOT NULL
        OR su2_sup_shon24 IS NOT NULL
            THEN donnees_techniques.su2_demo_shon_tot
        ELSE donnees_techniques.su_demo_shon_tot
    END AS su_demo_shon_tot_donnees_techniques,
    -- Si une valeur est saisie dans la deuxième version du tableau des surfaces
    -- alors ON récupère seulement ses valeurs
        CASE
        WHEN su2_avt_shon1 IS NOT NULL
        OR su2_avt_shon2 IS NOT NULL
        OR su2_avt_shon3 IS NOT NULL
        OR su2_avt_shon4 IS NOT NULL
        OR su2_avt_shon5 IS NOT NULL
        OR su2_avt_shon6 IS NOT NULL
        OR su2_avt_shon7 IS NOT NULL
        OR su2_avt_shon8 IS NOT NULL
        OR su2_avt_shon9 IS NOT NULL
        OR su2_avt_shon10 IS NOT NULL
        OR su2_avt_shon11 IS NOT NULL
        OR su2_avt_shon12 IS NOT NULL
        OR su2_avt_shon13 IS NOT NULL
        OR su2_avt_shon14 IS NOT NULL
        OR su2_avt_shon15 IS NOT NULL
        OR su2_avt_shon16 IS NOT NULL
        OR su2_avt_shon17 IS NOT NULL
        OR su2_avt_shon18 IS NOT NULL
        OR su2_avt_shon19 IS NOT NULL
        OR su2_avt_shon20 IS NOT NULL
        OR su2_avt_shon21 IS NOT NULL
        OR su2_avt_shon22 IS NOT NULL
        OR su2_avt_shon23 IS NOT NULL
        OR su2_avt_shon24 IS NOT NULL
        OR su2_cstr_shon1 IS NOT NULL
        OR su2_cstr_shon2 IS NOT NULL
        OR su2_cstr_shon3 IS NOT NULL
        OR su2_cstr_shon4 IS NOT NULL
        OR su2_cstr_shon5 IS NOT NULL
        OR su2_cstr_shon6 IS NOT NULL
        OR su2_cstr_shon7 IS NOT NULL
        OR su2_cstr_shon8 IS NOT NULL
        OR su2_cstr_shon9 IS NOT NULL
        OR su2_cstr_shon10 IS NOT NULL
        OR su2_cstr_shon11 IS NOT NULL
        OR su2_cstr_shon12 IS NOT NULL
        OR su2_cstr_shon13 IS NOT NULL
        OR su2_cstr_shon14 IS NOT NULL
        OR su2_cstr_shon15 IS NOT NULL
        OR su2_cstr_shon16 IS NOT NULL
        OR su2_cstr_shon17 IS NOT NULL
        OR su2_cstr_shon18 IS NOT NULL
        OR su2_cstr_shon19 IS NOT NULL
        OR su2_cstr_shon20 IS NOT NULL
        OR su2_cstr_shon21 IS NOT NULL
        OR su2_cstr_shon22 IS NOT NULL
        OR su2_cstr_shon23 IS NOT NULL
        OR su2_cstr_shon24 IS NOT NULL
        OR su2_chge_shon1 IS NOT NULL
        OR su2_chge_shon2 IS NOT NULL
        OR su2_chge_shon3 IS NOT NULL
        OR su2_chge_shon4 IS NOT NULL
        OR su2_chge_shon5 IS NOT NULL
        OR su2_chge_shon6 IS NOT NULL
        OR su2_chge_shon7 IS NOT NULL
        OR su2_chge_shon8 IS NOT NULL
        OR su2_chge_shon9 IS NOT NULL
        OR su2_chge_shon10 IS NOT NULL
        OR su2_chge_shon11 IS NOT NULL
        OR su2_chge_shon12 IS NOT NULL
        OR su2_chge_shon13 IS NOT NULL
        OR su2_chge_shon14 IS NOT NULL
        OR su2_chge_shon15 IS NOT NULL
        OR su2_chge_shon16 IS NOT NULL
        OR su2_chge_shon17 IS NOT NULL
        OR su2_chge_shon18 IS NOT NULL
        OR su2_chge_shon19 IS NOT NULL
        OR su2_chge_shon20 IS NOT NULL
        OR su2_chge_shon21 IS NOT NULL
        OR su2_chge_shon22 IS NOT NULL
        OR su2_chge_shon23 IS NOT NULL
        OR su2_chge_shon24 IS NOT NULL
        OR su2_demo_shon1 IS NOT NULL
        OR su2_demo_shon2 IS NOT NULL
        OR su2_demo_shon3 IS NOT NULL
        OR su2_demo_shon4 IS NOT NULL
        OR su2_demo_shon5 IS NOT NULL
        OR su2_demo_shon6 IS NOT NULL
        OR su2_demo_shon7 IS NOT NULL
        OR su2_demo_shon8 IS NOT NULL
        OR su2_demo_shon9 IS NOT NULL
        OR su2_demo_shon10 IS NOT NULL
        OR su2_demo_shon11 IS NOT NULL
        OR su2_demo_shon12 IS NOT NULL
        OR su2_demo_shon13 IS NOT NULL
        OR su2_demo_shon14 IS NOT NULL
        OR su2_demo_shon15 IS NOT NULL
        OR su2_demo_shon16 IS NOT NULL
        OR su2_demo_shon17 IS NOT NULL
        OR su2_demo_shon18 IS NOT NULL
        OR su2_demo_shon19 IS NOT NULL
        OR su2_demo_shon20 IS NOT NULL
        OR su2_demo_shon21 IS NOT NULL
        OR su2_demo_shon22 IS NOT NULL
        OR su2_demo_shon23 IS NOT NULL
        OR su2_demo_shon24 IS NOT NULL
        OR su2_sup_shon1 IS NOT NULL
        OR su2_sup_shon2 IS NOT NULL
        OR su2_sup_shon3 IS NOT NULL
        OR su2_sup_shon4 IS NOT NULL
        OR su2_sup_shon5 IS NOT NULL
        OR su2_sup_shon6 IS NOT NULL
        OR su2_sup_shon7 IS NOT NULL
        OR su2_sup_shon8 IS NOT NULL
        OR su2_sup_shon9 IS NOT NULL
        OR su2_sup_shon10 IS NOT NULL
        OR su2_sup_shon11 IS NOT NULL
        OR su2_sup_shon12 IS NOT NULL
        OR su2_sup_shon13 IS NOT NULL
        OR su2_sup_shon14 IS NOT NULL
        OR su2_sup_shon15 IS NOT NULL
        OR su2_sup_shon16 IS NOT NULL
        OR su2_sup_shon17 IS NOT NULL
        OR su2_sup_shon18 IS NOT NULL
        OR su2_sup_shon19 IS NOT NULL
        OR su2_sup_shon20 IS NOT NULL
        OR su2_sup_shon21 IS NOT NULL
        OR su2_sup_shon22 IS NOT NULL
        OR su2_sup_shon23 IS NOT NULL
        OR su2_sup_shon24 IS NOT NULL
            THEN
                REGEXP_REPLACE(CONCAT(
                    CASE WHEN donnees_techniques.su2_cstr_shon1 IS NULL
                        THEN ''
                        ELSE CONCAT ('Exploitation agricole - ', donnees_techniques.su2_cstr_shon1, ' m² / ')
                    END,
                    CASE WHEN donnees_techniques.su2_cstr_shon2 IS NULL
                        THEN ''
                        ELSE CONCAT ('Exploitation forestière - ', donnees_techniques.su2_cstr_shon2, ' m² / ')
                    END,
                    CASE WHEN donnees_techniques.su2_cstr_shon3 IS NULL
                        THEN ''
                        ELSE CONCAT ('Logement - ', donnees_techniques.su2_cstr_shon3, ' m² / ')
                    END,
                    CASE WHEN donnees_techniques.su2_cstr_shon4 IS NULL
                        THEN ''
                        ELSE CONCAT ('Hébergement - ', donnees_techniques.su2_cstr_shon4, ' m² / ')
                    END,
                    CASE WHEN donnees_techniques.su2_cstr_shon5 IS NULL
                        THEN ''
                        ELSE CONCAT ('Artisanat et commerce de détail - ', donnees_techniques.su2_cstr_shon5, ' m² / ')
                    END,
                    CASE WHEN donnees_techniques.su2_cstr_shon6 IS NULL
                        THEN ''
                        ELSE CONCAT ('Restauration - ', donnees_techniques.su2_cstr_shon6, ' m² / ')
                    END,
                    CASE WHEN donnees_techniques.su2_cstr_shon7 IS NULL
                        THEN ''
                        ELSE CONCAT ('Commerce de gros - ', donnees_techniques.su2_cstr_shon7, ' m² / ')
                    END,
                    CASE WHEN donnees_techniques.su2_cstr_shon8 IS NULL
                        THEN ''
                        ELSE CONCAT ('Activités de services où s''effectue l''accueil d''une clientèle - ', donnees_techniques.su2_cstr_shon8, ' m² / ')
                    END,
                    CASE WHEN donnees_techniques.su2_cstr_shon9 IS NULL
                        THEN ''
                        ELSE CONCAT ('Hébergement hôtelier et touristique - ', donnees_techniques.su2_cstr_shon9, ' m² / ')
                    END,
                    CASE WHEN donnees_techniques.su2_cstr_shon10 IS NULL
                        THEN ''
                        ELSE CONCAT ('Cinéma - ', donnees_techniques.su2_cstr_shon10, ' m² / ')
                    END,
                    CASE WHEN donnees_techniques.su2_cstr_shon21 IS NULL
                        THEN ''
                        ELSE CONCAT ('Hôtels - ', donnees_techniques.su2_cstr_shon21, ' m² / ')
                    END,
                    CASE WHEN donnees_techniques.su2_cstr_shon22 IS NULL
                        THEN ''
                        ELSE CONCAT ('Autres hébergements touristiques - ', donnees_techniques.su2_cstr_shon22, ' m² / ')
                    END,
                    CASE WHEN donnees_techniques.su2_cstr_shon11 IS NULL
                        THEN ''
                        ELSE CONCAT ('Locaux et bureaux accueillant du public des administrations publiques et assimilés - ', donnees_techniques.su2_cstr_shon11, ' m² / ')
                    END,
                    CASE WHEN donnees_techniques.su2_cstr_shon12 IS NULL
                        THEN ''
                        ELSE CONCAT ('Locaux techniques et industriels des administrations publiques et assimilés - ', donnees_techniques.su2_cstr_shon12, ' m² / ')
                    END,
                    CASE WHEN donnees_techniques.su2_cstr_shon13 IS NULL
                        THEN ''
                        ELSE CONCAT ('Établissements d''enseignement, de santé et d''action sociale - ', donnees_techniques.su2_cstr_shon13, ' m² / ')
                    END,
                    CASE WHEN donnees_techniques.su2_cstr_shon14 IS NULL
                        THEN ''
                        ELSE CONCAT ('Salles d''art et de spectacles - ', donnees_techniques.su2_cstr_shon14, ' m² / ')
                    END,
                    CASE WHEN donnees_techniques.su2_cstr_shon15 IS NULL
                        THEN ''
                        ELSE CONCAT ('Équipements sportifs - ', donnees_techniques.su2_cstr_shon15, ' m² / ')
                    END,
                    CASE WHEN donnees_techniques.su2_cstr_shon23 IS NULL
                        THEN ''
                        ELSE CONCAT ('Lieux de culte - ', donnees_techniques.su2_cstr_shon23, ' m² / ')
                    END,
                    CASE WHEN donnees_techniques.su2_cstr_shon16 IS NULL
                        THEN ''
                        ELSE CONCAT ('Autres équipements recevant du public - ', donnees_techniques.su2_cstr_shon16, ' m² / ')
                    END,
                    CASE WHEN donnees_techniques.su2_cstr_shon17 IS NULL
                        THEN ''
                        ELSE CONCAT ('Industrie - ', donnees_techniques.su2_cstr_shon17, ' m² / ')
                    END,
                    CASE WHEN donnees_techniques.su2_cstr_shon18 IS NULL
                        THEN ''
                        ELSE CONCAT ('Entrepôt - ', donnees_techniques.su2_cstr_shon18, ' m² / ')
                    END,
                    CASE WHEN donnees_techniques.su2_cstr_shon19 IS NULL
                        THEN ''
                        ELSE CONCAT ('Bureau - ', donnees_techniques.su2_cstr_shon19, ' m² / ')
                    END,
                    CASE WHEN donnees_techniques.su2_cstr_shon20 IS NULL
                        THEN ''
                        ELSE CONCAT ('Centre de congrès et d''exposition - ', donnees_techniques.su2_cstr_shon20, ' m²')
                    END,
                    CASE WHEN donnees_techniques.su2_cstr_shon24 IS NULL
                        THEN ''
                        ELSE CONCAT ('Cuisine dédiée à la vente en ligne - ', donnees_techniques.su2_cstr_shon24, ' m²')
                    END
                ), ' / $', '')
            ELSE
                REGEXP_REPLACE(CONCAT(
                    CASE
                        WHEN donnees_techniques.su_cstr_shon1 IS NULL
                        THEN ''
                        ELSE CONCAT('Habitation - ', donnees_techniques.su_cstr_shon1, ' m² / ')
                    END,
                    CASE
                        WHEN donnees_techniques.su_cstr_shon2 IS NULL
                        THEN ''
                        ELSE CONCAT('Hébergement hôtelier - ', donnees_techniques.su_cstr_shon2, ' m² / ')
                    END,
                    CASE
                        WHEN donnees_techniques.su_cstr_shon3 IS NULL
                        THEN ''
                        ELSE CONCAT('Bureaux - ', donnees_techniques.su_cstr_shon3, ' m² / ')
                    END,
                    CASE
                        WHEN donnees_techniques.su_cstr_shon4 IS NULL
                        THEN ''
                        ELSE CONCAT('Commerce - ', donnees_techniques.su_cstr_shon4, ' m² / ')
                    END,
                    CASE
                        WHEN donnees_techniques.su_cstr_shon5 IS NULL
                        THEN ''
                        ELSE CONCAT('Artisanat - ', donnees_techniques.su_cstr_shon5, ' m² / ')
                    END,
                    CASE
                        WHEN donnees_techniques.su_cstr_shon6 IS NULL
                        THEN ''
                        ELSE CONCAT('Industrie - ', donnees_techniques.su_cstr_shon6, ' m² / ')
                    END,
                    CASE
                        WHEN donnees_techniques.su_cstr_shon7 IS NULL
                        THEN ''
                        ELSE CONCAT('Exploitation agricole ou forestière - ', donnees_techniques.su_cstr_shon7, ' m² / ')
                    END,
                    CASE
                        WHEN donnees_techniques.su_cstr_shon8 IS NULL
                        THEN ''
                        ELSE CONCAT('Entrepôt - ', donnees_techniques.su_cstr_shon8, ' m² / ')
                    END, 
                    CASE
                        WHEN donnees_techniques.su_cstr_shon9 IS NULL
                        THEN ''
                        ELSE CONCAT('Service public ou d''intérêt collectif - ', donnees_techniques.su_cstr_shon9, ' m²')
                    END
                ), ' / $', '')
        END AS tab_surface_donnees_techniques,
        donnees_techniques.co_tot_log_nb AS co_tot_log_nb_donnees_techniques,
        donnees_techniques.co_statio_place_nb AS co_statio_place_nb_donnees_techniques,
    -- Si une valeur est saisie dans la deuxième version du tableau des surfaces
    -- alors ON récupère seulement ses valeurs
        CASE
        WHEN su2_avt_shon1 IS NOT NULL
        OR su2_avt_shon2 IS NOT NULL
        OR su2_avt_shon3 IS NOT NULL
        OR su2_avt_shon4 IS NOT NULL
        OR su2_avt_shon5 IS NOT NULL
        OR su2_avt_shon6 IS NOT NULL
        OR su2_avt_shon7 IS NOT NULL
        OR su2_avt_shon8 IS NOT NULL
        OR su2_avt_shon9 IS NOT NULL
        OR su2_avt_shon10 IS NOT NULL
        OR su2_avt_shon11 IS NOT NULL
        OR su2_avt_shon12 IS NOT NULL
        OR su2_avt_shon13 IS NOT NULL
        OR su2_avt_shon14 IS NOT NULL
        OR su2_avt_shon15 IS NOT NULL
        OR su2_avt_shon16 IS NOT NULL
        OR su2_avt_shon17 IS NOT NULL
        OR su2_avt_shon18 IS NOT NULL
        OR su2_avt_shon19 IS NOT NULL
        OR su2_avt_shon20 IS NOT NULL
        OR su2_avt_shon21 IS NOT NULL
        OR su2_avt_shon22 IS NOT NULL
        OR su2_avt_shon23 IS NOT NULL
        OR su2_avt_shon24 IS NOT NULL
        OR su2_cstr_shon1 IS NOT NULL
        OR su2_cstr_shon2 IS NOT NULL
        OR su2_cstr_shon3 IS NOT NULL
        OR su2_cstr_shon4 IS NOT NULL
        OR su2_cstr_shon5 IS NOT NULL
        OR su2_cstr_shon6 IS NOT NULL
        OR su2_cstr_shon7 IS NOT NULL
        OR su2_cstr_shon8 IS NOT NULL
        OR su2_cstr_shon9 IS NOT NULL
        OR su2_cstr_shon10 IS NOT NULL
        OR su2_cstr_shon11 IS NOT NULL
        OR su2_cstr_shon12 IS NOT NULL
        OR su2_cstr_shon13 IS NOT NULL
        OR su2_cstr_shon14 IS NOT NULL
        OR su2_cstr_shon15 IS NOT NULL
        OR su2_cstr_shon16 IS NOT NULL
        OR su2_cstr_shon17 IS NOT NULL
        OR su2_cstr_shon18 IS NOT NULL
        OR su2_cstr_shon19 IS NOT NULL
        OR su2_cstr_shon20 IS NOT NULL
        OR su2_cstr_shon21 IS NOT NULL
        OR su2_cstr_shon22 IS NOT NULL
        OR su2_cstr_shon23 IS NOT NULL
        OR su2_cstr_shon24 IS NOT NULL
        OR su2_chge_shon1 IS NOT NULL
        OR su2_chge_shon2 IS NOT NULL
        OR su2_chge_shon3 IS NOT NULL
        OR su2_chge_shon4 IS NOT NULL
        OR su2_chge_shon5 IS NOT NULL
        OR su2_chge_shon6 IS NOT NULL
        OR su2_chge_shon7 IS NOT NULL
        OR su2_chge_shon8 IS NOT NULL
        OR su2_chge_shon9 IS NOT NULL
        OR su2_chge_shon10 IS NOT NULL
        OR su2_chge_shon11 IS NOT NULL
        OR su2_chge_shon12 IS NOT NULL
        OR su2_chge_shon13 IS NOT NULL
        OR su2_chge_shon14 IS NOT NULL
        OR su2_chge_shon15 IS NOT NULL
        OR su2_chge_shon16 IS NOT NULL
        OR su2_chge_shon17 IS NOT NULL
        OR su2_chge_shon18 IS NOT NULL
        OR su2_chge_shon19 IS NOT NULL
        OR su2_chge_shon20 IS NOT NULL
        OR su2_chge_shon21 IS NOT NULL
        OR su2_chge_shon22 IS NOT NULL
        OR su2_chge_shon23 IS NOT NULL
        OR su2_chge_shon24 IS NOT NULL
        OR su2_demo_shon1 IS NOT NULL
        OR su2_demo_shon2 IS NOT NULL
        OR su2_demo_shon3 IS NOT NULL
        OR su2_demo_shon4 IS NOT NULL
        OR su2_demo_shon5 IS NOT NULL
        OR su2_demo_shon6 IS NOT NULL
        OR su2_demo_shon7 IS NOT NULL
        OR su2_demo_shon8 IS NOT NULL
        OR su2_demo_shon9 IS NOT NULL
        OR su2_demo_shon10 IS NOT NULL
        OR su2_demo_shon11 IS NOT NULL
        OR su2_demo_shon12 IS NOT NULL
        OR su2_demo_shon13 IS NOT NULL
        OR su2_demo_shon14 IS NOT NULL
        OR su2_demo_shon15 IS NOT NULL
        OR su2_demo_shon16 IS NOT NULL
        OR su2_demo_shon17 IS NOT NULL
        OR su2_demo_shon18 IS NOT NULL
        OR su2_demo_shon19 IS NOT NULL
        OR su2_demo_shon20 IS NOT NULL
        OR su2_demo_shon21 IS NOT NULL
        OR su2_demo_shon22 IS NOT NULL
        OR su2_demo_shon23 IS NOT NULL
        OR su2_demo_shon24 IS NOT NULL
        OR su2_sup_shon1 IS NOT NULL
        OR su2_sup_shon2 IS NOT NULL
        OR su2_sup_shon3 IS NOT NULL
        OR su2_sup_shon4 IS NOT NULL
        OR su2_sup_shon5 IS NOT NULL
        OR su2_sup_shon6 IS NOT NULL
        OR su2_sup_shon7 IS NOT NULL
        OR su2_sup_shon8 IS NOT NULL
        OR su2_sup_shon9 IS NOT NULL
        OR su2_sup_shon10 IS NOT NULL
        OR su2_sup_shon11 IS NOT NULL
        OR su2_sup_shon12 IS NOT NULL
        OR su2_sup_shon13 IS NOT NULL
        OR su2_sup_shon14 IS NOT NULL
        OR su2_sup_shon15 IS NOT NULL
        OR su2_sup_shon16 IS NOT NULL
        OR su2_sup_shon17 IS NOT NULL
        OR su2_sup_shon18 IS NOT NULL
        OR su2_sup_shon19 IS NOT NULL
        OR su2_sup_shon20 IS NOT NULL
        OR su2_sup_shon21 IS NOT NULL
        OR su2_sup_shon22 IS NOT NULL
        OR su2_sup_shon23 IS NOT NULL
        OR su2_sup_shon24 IS NOT NULL
            THEN donnees_techniques.su2_tot_shon_tot
            ELSE donnees_techniques.su_tot_shon_tot
        END AS su_tot_shon_tot_donnees_techniques,
    
        -- Données techniques pour les AT
        CONCAT_WS(', ',
            CASE WHEN donnees_techniques.erp_cstr_neuve IS TRUE THEN 'construction neuve' END,
            CASE WHEN donnees_techniques.erp_trvx_acc IS TRUE THEN 'travaux de mise en conformité totale aux règles d’accessibilité' END,
            CASE WHEN donnees_techniques.erp_extension IS TRUE THEN 'extension' END,
            CASE WHEN donnees_techniques.erp_rehab IS TRUE THEN 'réhabilitation' END,
            CASE WHEN donnees_techniques.erp_trvx_am IS TRUE THEN 'travaux d’aménagement (remplacement de revêtements, rénovation électrique, création d’une rampe, par exemple)' END,
            CASE WHEN donnees_techniques.erp_vol_nouv_exist IS TRUE THEN 'création de volumes nouveaux dans des volumes existants (modification du cloisonnement, par exemple)' END
        ) AS at_type_travaux,
        donnees_techniques.erp_public_eff_tot AS at_effectif_public_total,
        CONCAT_WS(' - ', erp_categorie.libelle, erp_categorie.description) AS at_categorie_etablissement,
        CONCAT_WS(' - ', erp_type.libelle, erp_type.description) AS at_type_etablissement,
    
        -- Données techniques pour une DIA
        COALESCE (CASE WHEN donnees_techniques.dia_mod_cess_prix_vente IS NOT NULL THEN donnees_techniques.dia_mod_cess_prix_vente ELSE donnees_techniques.fi1c END,'') AS dia_mod_cess_prix_vente,
        donnees_techniques.dia_mod_cess_prix_vente_num AS dia_mod_cess_prix_vente_num,
        CASE WHEN donnees_techniques.dia_mod_cess_prix_vente_mob_num IS NOT NULL
            THEN donnees_techniques.dia_mod_cess_prix_vente_mob_num::text
            ELSE donnees_techniques.dia_mod_cess_prix_vente_mob
        END AS dia_mod_cess_prix_vente_mob,
        CASE WHEN donnees_techniques.dia_mod_cess_prix_vente_cheptel_num IS NOT NULL
            THEN donnees_techniques.dia_mod_cess_prix_vente_cheptel_num::text
            ELSE donnees_techniques.dia_mod_cess_prix_vente_cheptel
        END AS dia_mod_cess_prix_vente_cheptel,
        CASE WHEN donnees_techniques.dia_mod_cess_prix_vente_recol_num IS NOT NULL
            THEN donnees_techniques.dia_mod_cess_prix_vente_recol_num::text
            ELSE donnees_techniques.dia_mod_cess_prix_vente_recol
        END AS dia_mod_cess_prix_vente_recol,
        CASE WHEN donnees_techniques.dia_mod_cess_prix_vente_autre_num IS NOT NULL
            THEN donnees_techniques.dia_mod_cess_prix_vente_autre_num::text
            ELSE donnees_techniques.dia_mod_cess_prix_vente_autre
        END AS dia_mod_cess_prix_vente_autre,
        donnees_techniques.dia_mod_cess_commi_mnt AS dia_mod_cess_commi_mnt,
        COALESCE (donnees_techniques.dia_acquereur_nom_prenom,'') AS dia_acquereur_nom_prenom,
        &DB_PREFIXEadresse(
            CONCAT_WS(' ', donnees_techniques.dia_acquereur_adr_num_voie::text, donnees_techniques.dia_acquereur_adr_ext::text),
            CONCAT_WS(' ', donnees_techniques.dia_acquereur_adr_type_voie::text, donnees_techniques.dia_acquereur_adr_nom_voie::text),
            ''::text,
            donnees_techniques.dia_acquereur_adr_lieu_dit_bp::text,
            ''::text,
            donnees_techniques.dia_acquereur_adr_cp::text,
            donnees_techniques.dia_acquereur_adr_localite::text,
            ''::text
        ) AS dia_acquereur_adresse_sdl,
        &DB_PREFIXEadresse(
            CONCAT_WS(' ', donnees_techniques.dia_acquereur_adr_num_voie::text, donnees_techniques.dia_acquereur_adr_ext::text),
            CONCAT_WS(' ', donnees_techniques.dia_acquereur_adr_type_voie::text, donnees_techniques.dia_acquereur_adr_nom_voie::text),
            ''::text,
            donnees_techniques.dia_acquereur_adr_lieu_dit_bp::text,
            ''::text,
            donnees_techniques.dia_acquereur_adr_cp::text,
            donnees_techniques.dia_acquereur_adr_localite::text,
            ''::text,
            ''::text,
            ' '::text
        ) AS dia_acquereur_adresse,
        donnees_techniques.dia_esti_prix_france_dom AS dia_esti_prix_france_dom,
        donnees_techniques.dia_prop_collectivite AS dia_prop_collectivite,
        donnees_techniques.dia_entree_jouissance_type AS dia_entree_jouissance_type,
        TO_CHAR(donnees_techniques.dia_entree_jouissance_date, 'DD/MM/YYYY') AS dia_entree_jouissance_date,
        TO_CHAR(donnees_techniques.dia_entree_jouissance_date_effet, 'DD/MM/YYYY') AS dia_entree_jouissance_date_effet,
        donnees_techniques.dia_entree_jouissance_com AS dia_entree_jouissance_com,
        TO_CHAR(donnees_techniques.dia_remise_bien_date_effet, 'DD/MM/YYYY') AS dia_remise_bien_date_effet,
        donnees_techniques.dia_remise_bien_com AS dia_remise_bien_com,
        CASE WHEN donnees_techniques.dia_esti_prix_france_dom IS NOT NULL
            THEN donnees_techniques.dia_esti_prix_france_dom::text
            ELSE donnees_techniques.dia_mod_cess_prix_vente_num::text
        END AS prix_propose_commune_acquisition_bien_preempte,
    
        -- Données techniques pour le contentieux
        objet_recours.libelle AS ctx_objet_recours_libelle,
        donnees_techniques.ctx_reference_sagace AS ctx_reference_sagace,
        donnees_techniques.ctx_nature_travaux_infra_om_html AS ctx_nature_travaux_infra_om_html,
        donnees_techniques.ctx_synthese_nti AS ctx_synthese_nti,
        donnees_techniques.ctx_article_non_resp_om_html AS ctx_article_non_resp_om_html,
        donnees_techniques.ctx_synthese_anr AS ctx_synthese_anr,
        donnees_techniques.ctx_reference_parquet AS ctx_reference_parquet,
        donnees_techniques.ctx_element_taxation AS ctx_element_taxation,
        CASE donnees_techniques.ctx_infraction WHEN 't' THEN 'Oui' else 'Non' end AS ctx_infraction,
        CASE donnees_techniques.ctx_regularisable WHEN 't' THEN 'Oui' else 'Non' end AS ctx_regularisable,
        donnees_techniques.ctx_reference_courrier AS ctx_reference_courrier,
        TO_CHAR(donnees_techniques.ctx_date_audience, 'DD/MM/YYYY') AS date_audience_ctx,
        TO_CHAR(donnees_techniques.ctx_date_ajournement, 'DD/MM/YYYY') AS date_ajournement_ctx,
    
        -- Données techniques pour les DPC
        donnees_techniques.dpc_type AS dpc_type,
        donnees_techniques.dpc_moda_cess_prix AS dpc_moda_cess_prix,
    
        -- Données techniques MH
        donnees_techniques.mh_design_appel_denom AS mh_design_appel_denom,
        donnees_techniques.mh_design_type_protect AS mh_design_type_protect,
        donnees_techniques.mh_design_elem_prot AS mh_design_elem_prot,
        donnees_techniques.mh_design_ref_merimee_palissy AS mh_design_ref_merimee_palissy,
        donnees_techniques.mh_loc_denom AS mh_loc_denom,
    
        --Bordereau d'envoi au maire
        CASE
            WHEN evenement.type = 'arrete'
            THEN CONCAT('transmission d''une proposition de décision sur ', evenement.libelle)
            ELSE CONCAT('transmission d''un courrier d''instruction sur ', evenement.libelle)
        END AS objet_bordereau_envoi_maire
        
FROM
        &DB_PREFIXEinstruction
LEFT JOIN
        ledossier AS dossier
        ON
            instruction.dossier = dossier.dossier
LEFT JOIN
        &DB_PREFIXEsignataire_arrete
        ON
    instruction.signataire_arrete = signataire_arrete.signataire_arrete
LEFT JOIN
    &DB_PREFIXEsignataire_habilitation
    ON
    signataire_arrete.signataire_habilitation = signataire_habilitation.signataire_habilitation
LEFT JOIN
        &DB_PREFIXEcivilite AS signataire_civilite
        ON
    signataire_arrete.civilite = signataire_civilite.civilite
LEFT JOIN
     &DB_PREFIXEconsultation_entrante
     ON
    consultation_entrante.dossier = dossier.dossier
LEFT JOIN
        &DB_PREFIXEom_lettretype
        ON
    instruction.lettretype = om_lettretype.id
    AND om_lettretype.actif IS TRUE
    AND (om_lettretype.om_collectivite = dossier.om_collectivite
        OR om_lettretype.om_collectivite = (
        SELECT
            om_collectivite
        FROM
            &DB_PREFIXEom_collectivite
        WHERE
            niveau::integer = 2))
LEFT JOIN (
    SELECT
        *
    FROM
        lesdemandeurs
    WHERE 
        petitionnaire_principal IS TRUE
        AND type_demandeur = 'petitionnaire'
        ) AS petitionnaire_principal
        ON
    petitionnaire_principal.dossier = dossier.dossier
LEFT JOIN (
    SELECT
        *
    FROM
        lesdemandeurs
    WHERE 
        petitionnaire_principal IS TRUE
        AND type_demandeur = 'contrevenant'
        ) AS contrevenant_principal
        ON
    contrevenant_principal.dossier = dossier.dossier
LEFT JOIN (
    SELECT
        *
    FROM
        lesdemandeurs
    WHERE
        petitionnaire_principal IS TRUE
        AND type_demandeur = 'requerant'
        ) AS requerant_principal
        ON
    requerant_principal.dossier = dossier.dossier
LEFT JOIN (
    SELECT
        *
    FROM
        lesdemandeurs
    WHERE
        petitionnaire_principal IS TRUE
        AND type_demandeur = 'avocat'
        ) AS avocat_principal
        ON
    avocat_principal.dossier = dossier.dossier
LEFT JOIN (
    SELECT
        *
    FROM
        lesdemandeurs
    WHERE
        petitionnaire_principal IS TRUE
        AND type_demandeur = 'plaignant'
        ) AS plaignant_principal
        ON
    plaignant_principal.dossier = dossier.dossier
LEFT JOIN
        &DB_PREFIXElien_dossier_autorisation_demandeur
        ON
            dossier.dossier_autorisation = lien_dossier_autorisation_demandeur.dossier_autorisation
    AND lien_dossier_autorisation_demandeur.petitionnaire_principal IS TRUE
LEFT JOIN
        lesdemandeurs AS petitionnaire_principal_initial
        ON
            lien_dossier_autorisation_demandeur.demandeur = petitionnaire_principal_initial.demandeur
LEFT JOIN
        (
        &DB_PREFIXElien_dossier_demandeur AS lien_dossier_delegataire
join lesdemandeurs AS delegataire
            ON
                lien_dossier_delegataire.demandeur = delegataire.demandeur
        AND delegataire.type_demandeur = 'delegataire'
        )
        ON
            instruction.dossier = lien_dossier_delegataire.dossier
    AND lien_dossier_delegataire.petitionnaire_principal IS FALSE
LEFT JOIN (
    SELECT
        *
    FROM
        lesdemandeurs
    WHERE
        petitionnaire_principal IS TRUE
        AND type_demandeur = 'bailleur'
        ) AS bailleur_principal
        ON
    bailleur_principal.dossier = dossier.dossier
LEFT JOIN (
    SELECT
        *
    FROM
        lesdemandeurs
    WHERE
        type_demandeur = 'proprietaire'
        ) AS proprietaire
        ON
    proprietaire.dossier = dossier.dossier
LEFT JOIN (
    SELECT
        *
    FROM
        lesdemandeurs
    WHERE
        type_demandeur = 'paysagiste'
        ) AS paysagiste
        ON
    paysagiste.dossier = dossier.dossier
LEFT JOIN (
    SELECT
        *
    FROM
        lesdemandeurs
    WHERE
        type_demandeur = 'architecte_lc'
        ) AS architecte_lc
        ON
    architecte_lc.dossier = dossier.dossier

--  LEFT JOIN (
--      SELECT lien_dossier_demandeur.dossier, ARRAY_AGG(lien_dossier_demandeur.demandeur ORDER BY lien_dossier_demandeur.demandeur) AS petitionnaire_autre
--      FROM &DB_PREFIXElien_dossier_demandeur
--      LEFT JOIN ledossier AS dossier
--          ON lien_dossier_demandeur.dossier=dossier.dossier
--          AND lien_dossier_demandeur.petitionnaire_principal IS FALSE
--      LEFT JOIN &DB_PREFIXEinstruction
--          ON instruction.dossier = dossier.dossier
--      RIGHT JOIN lesdemandeurs AS demandeur
--          ON lien_dossier_demandeur.demandeur=demandeur.demandeur
--          AND demandeur.type_demandeur = 'petitionnaire'
--      
--  
--  
--  WHERE instruction.instruction = &idx
--      GROUP BY lien_dossier_demandeur.dossier
--  ) AS sub_petitionnaire_autre
--  ON instruction.dossier = sub_petitionnaire_autre.dossier
LEFT JOIN (
    SELECT
        ARRAY_AGG(demandeur
    ORDER BY
        demandeur) AS petitionnaire_autre
    FROM
        lesdemandeurs 
    WHERE 
        petitionnaire_principal IS FALSE
        AND type_demandeur = 'petitionnaire') AS sub_petitionnaire_autre ON
    TRUE
    --
    LEFT JOIN
    lesdemandeurs AS petitionnaire_1
        ON
            petitionnaire_1.demandeur = petitionnaire_autre[1]
    AND petitionnaire_1.type_demandeur = 'petitionnaire'
LEFT JOIN
            lesdemandeurs AS petitionnaire_2
        ON
            petitionnaire_2.demandeur = petitionnaire_autre[2]
    AND petitionnaire_2.type_demandeur = 'petitionnaire'
LEFT JOIN
            lesdemandeurs AS petitionnaire_3
        ON
            petitionnaire_3.demandeur = petitionnaire_autre[3]
    AND petitionnaire_3.type_demandeur = 'petitionnaire'
LEFT JOIN
            lesdemandeurs AS petitionnaire_4
        ON
            petitionnaire_4.demandeur = petitionnaire_autre[4]
    AND petitionnaire_4.type_demandeur = 'petitionnaire'
LEFT JOIN
            lesdemandeurs AS petitionnaire_5
        ON
            petitionnaire_5.demandeur = petitionnaire_autre[5]
    AND petitionnaire_5.type_demandeur = 'petitionnaire'
LEFT JOIN (
    SELECT
        ARRAY_AGG(demandeur
    ORDER BY
        demandeur) AS contrevenant_autre
    FROM
        lesdemandeurs 
    WHERE
        type_demandeur = 'contrevenant'
    ) AS sub_contrevenant_autre ON
    TRUE
--
LEFT JOIN
            lesdemandeurs AS contrevenant_1
        ON
            contrevenant_1.demandeur = contrevenant_autre[1]
    AND contrevenant_1.type_demandeur = 'contrevenant'
LEFT JOIN
            lesdemandeurs AS contrevenant_2
        ON
            contrevenant_2.demandeur = contrevenant_autre[2]
    AND contrevenant_2.type_demandeur = 'contrevenant'
LEFT JOIN
            lesdemandeurs AS contrevenant_3
        ON
            contrevenant_3.demandeur = contrevenant_autre[3]
    AND contrevenant_3.type_demandeur = 'contrevenant'
LEFT JOIN
            lesdemandeurs AS contrevenant_4
        ON
            contrevenant_4.demandeur = contrevenant_autre[4]
    AND contrevenant_4.type_demandeur = 'contrevenant'
LEFT JOIN
            lesdemandeurs AS contrevenant_5
        ON
            contrevenant_5.demandeur = contrevenant_autre[5]
    AND contrevenant_5.type_demandeur = 'contrevenant'
LEFT JOIN (
    SELECT
        ARRAY_AGG(demandeur
    ORDER BY
        demandeur) AS requerant_autre
    FROM
        lesdemandeurs 
    WHERE
        type_demandeur = 'requerant'
    ) AS sub_requerant_autre ON
    TRUE
LEFT JOIN
            lesdemandeurs AS requerant_1
        ON
            requerant_1.demandeur = requerant_autre[1]
    AND requerant_1.type_demandeur = 'requerant'
LEFT JOIN
            lesdemandeurs AS requerant_2
        ON
            requerant_2.demandeur = requerant_autre[2]
    AND requerant_2.type_demandeur = 'requerant'
LEFT JOIN
            lesdemandeurs AS requerant_3
        ON
            requerant_3.demandeur = requerant_autre[3]
    AND requerant_3.type_demandeur = 'requerant'
LEFT JOIN
            lesdemandeurs AS requerant_4
        ON
            requerant_4.demandeur = requerant_autre[4]
    AND requerant_4.type_demandeur = 'requerant'
LEFT JOIN
            lesdemandeurs AS requerant_5
        ON
            requerant_5.demandeur = requerant_autre[5]
    AND requerant_5.type_demandeur = 'requerant'
LEFT JOIN (
    SELECT
        ARRAY_AGG(demandeur
    ORDER BY
        demandeur) AS avocat_autre
    FROM
        lesdemandeurs 
    WHERE
        type_demandeur = 'avocat'
    ) AS sub_avocat_autre ON
    TRUE
LEFT JOIN
            lesdemandeurs AS avocat_1
        ON
            avocat_1.demandeur = avocat_autre[1]
LEFT JOIN
            lesdemandeurs AS avocat_2
        ON
            avocat_2.demandeur = avocat_autre[2]
LEFT JOIN
            lesdemandeurs AS avocat_3
        ON
            avocat_3.demandeur = avocat_autre[3]
LEFT JOIN
            lesdemandeurs AS avocat_4
        ON
            avocat_4.demandeur = avocat_autre[4]
LEFT JOIN
            lesdemandeurs AS avocat_5
        ON
            avocat_5.demandeur = avocat_autre[5]
LEFT JOIN (
    SELECT
        ARRAY_AGG(demandeur
    ORDER BY
        demandeur) AS plaignant_autre
    FROM
        lesdemandeurs 
    WHERE
        type_demandeur = 'plaignant'
    ) AS sub_plaignant_autre ON
    TRUE
LEFT JOIN
            lesdemandeurs AS plaignant_1
        ON
            plaignant_1.demandeur = plaignant_autre[1]
LEFT JOIN
            lesdemandeurs AS plaignant_2
        ON
            plaignant_2.demandeur = plaignant_autre[2]
LEFT JOIN
            lesdemandeurs AS plaignant_3
        ON
            plaignant_3.demandeur = plaignant_autre[3]
LEFT JOIN
            lesdemandeurs AS plaignant_4
        ON
            plaignant_4.demandeur = plaignant_autre[4]
LEFT JOIN
            lesdemandeurs AS plaignant_5
        ON
            plaignant_5.demandeur = plaignant_autre[5]
LEFT JOIN (
    SELECT
        ARRAY_AGG(demandeur
    ORDER BY
        demandeur) AS bailleur_autre
    FROM
        lesdemandeurs 
    WHERE
        type_demandeur = 'bailleur'
    ) AS sub_bailleur_autre ON
    TRUE
LEFT JOIN
            lesdemandeurs AS bailleur_1
        ON
            bailleur_1.demandeur = bailleur_autre[1]
LEFT JOIN
            lesdemandeurs AS bailleur_2
        ON
            bailleur_2.demandeur = bailleur_autre[2]
LEFT JOIN
            lesdemandeurs AS bailleur_3
        ON
            bailleur_3.demandeur = bailleur_autre[3]
LEFT JOIN
            lesdemandeurs AS bailleur_4
        ON
            bailleur_4.demandeur = bailleur_autre[4]
LEFT JOIN
            lesdemandeurs AS bailleur_5
        ON
            bailleur_5.demandeur = bailleur_autre[5]
LEFT JOIN
        &DB_PREFIXEdossier_instruction_type
        ON
            dossier.dossier_instruction_type = dossier_instruction_type.dossier_instruction_type
LEFT JOIN
        ledossierautorisation AS dossier_autorisation
        ON
            dossier.dossier_autorisation = dossier_autorisation.dossier_autorisation
LEFT JOIN
        &DB_PREFIXEdossier_autorisation_type_detaille
        ON
            dossier_autorisation.dossier_autorisation_type_detaille = dossier_autorisation_type_detaille.dossier_autorisation_type_detaille
LEFT JOIN
        &DB_PREFIXEdossier_autorisation_type
        ON
            dossier_autorisation_type_detaille.dossier_autorisation_type = dossier_autorisation_type.dossier_autorisation_type
LEFT JOIN
        linstructeur AS instructeur
        ON
            dossier.instructeur = instructeur.instructeur
LEFT JOIN
        linstructeur_2 AS instructeur_2
        ON
            dossier.instructeur_2 = instructeur_2.instructeur
LEFT JOIN
        lutilisateur AS om_utilisateur
        ON
            om_utilisateur.om_utilisateur = instructeur.om_utilisateur
LEFT JOIN
        lutilisateur_2 AS om_utilisateur_2
        ON
            om_utilisateur_2.om_utilisateur = instructeur_2.om_utilisateur
LEFT JOIN
        ladivision AS division
        ON
            instructeur.division = division.division
LEFT JOIN
        ladivision_2 AS division_2
        ON
            instructeur_2.division = division_2.division
LEFT JOIN 
       ladirection AS direction
        ON
    division.direction = direction.direction
LEFT JOIN
        &DB_PREFIXEarrondissement
        ON
            dossier.terrain_adresse_code_postal = arrondissement.code_postal
LEFT JOIN
        &DB_PREFIXEavis_decision
        ON
            dossier.avis_decision = avis_decision.avis_decision
LEFT JOIN
        &DB_PREFIXEetat
        ON
            dossier.etat = etat.etat
LEFT JOIN
        lesdonneestechniques AS donnees_techniques
        ON
        dossier.dossier = donnees_techniques.dossier_instruction
LEFT JOIN
        &DB_PREFIXEarchitecte
        ON
        donnees_techniques.architecte = architecte.architecte
LEFT JOIN 
        levenement AS evenement
        ON
            instruction.evenement = evenement.evenement
LEFT JOIN 
        &DB_PREFIXEquartier
        ON
            dossier.quartier = quartier.quartier
LEFT JOIN
        &DB_PREFIXEtaxe_amenagement
        ON
            dossier.om_collectivite = taxe_amenagement.om_collectivite
LEFT JOIN
        &DB_PREFIXEerp_categorie
        ON
            donnees_techniques.erp_class_cat = erp_categorie.erp_categorie
LEFT JOIN
        &DB_PREFIXEerp_type
        ON
            donnees_techniques.erp_class_type = erp_type.erp_type
LEFT JOIN
        &DB_PREFIXEobjet_recours
        ON
            donnees_techniques.ctx_objet_recours = objet_recours.objet_recours

WHERE
    instruction.instruction = &idx