-- MàJ de la version en BDD
UPDATE om_version SET om_version = '4.2.0' WHERE exists(SELECT 1 FROM om_version) = true;
INSERT INTO om_version
SELECT ('4.2.0') WHERE exists(SELECT 1 FROM om_version) = false;

--
-- BEGIN / [#8841] Module de simulation des taxes
--

-- Ajout des neuf cas d'éxonérations facultatifs dans la table de paramètrage
-- des taxes

-- part régionale
ALTER TABLE taxe_amenagement
ADD COLUMN tx_exo_facul_1_reg numeric NULL,
ADD COLUMN tx_exo_facul_2_reg numeric NULL,
ADD COLUMN tx_exo_facul_3_reg numeric NULL,
ADD COLUMN tx_exo_facul_4_reg numeric NULL,
ADD COLUMN tx_exo_facul_5_reg numeric NULL,
ADD COLUMN tx_exo_facul_6_reg numeric NULL,
ADD COLUMN tx_exo_facul_7_reg numeric NULL,
ADD COLUMN tx_exo_facul_8_reg numeric NULL,
ADD COLUMN tx_exo_facul_9_reg numeric NULL;
COMMENT ON COLUMN taxe_amenagement.tx_exo_facul_1_reg IS 'Les locaux d''habitation et d''hébergement mentionnés au 1° de l''article L. 331-12 qui ne bénéficient pas de l''exonération prévue au 2° de l''article L. 331-7.';
COMMENT ON COLUMN taxe_amenagement.tx_exo_facul_2_reg IS 'Dans la limite de 50 % de leur surface, les surfaces des locaux à usage d''habitation principale qui ne bénéficient pas de l''abattement mentionné au 2° de l''article L. 331-12 et qui sont financés à l''aide du prêt ne portant pas intérêt prévu à l''article L. 31-10-1 du code de la construction et de l''habitation.';
COMMENT ON COLUMN taxe_amenagement.tx_exo_facul_3_reg IS 'Les locaux à usage industriel et artisanal mentionnés au 3° de l''article L. 331-12 du présent code.';
COMMENT ON COLUMN taxe_amenagement.tx_exo_facul_4_reg IS 'Les commerces de détail d''une surface de vente inférieure à 400 mètres carrés.';
COMMENT ON COLUMN taxe_amenagement.tx_exo_facul_5_reg IS 'Les immeubles classés parmi les monuments historiques ou inscrits à l''inventaire supplémentaire des monuments historiques.';
COMMENT ON COLUMN taxe_amenagement.tx_exo_facul_6_reg IS 'Les surfaces annexes à usage de stationnement des locaux mentionnés au 1° et ne bénéficiant pas de l''exonération totale.';
COMMENT ON COLUMN taxe_amenagement.tx_exo_facul_7_reg IS 'Les surfaces des locaux annexes à usage de stationnement des immeubles autres que d''habitations individuelles.';
COMMENT ON COLUMN taxe_amenagement.tx_exo_facul_8_reg IS 'Les abris de jardin, les pigeonniers et colombiers soumis à déclaration préalable.';
COMMENT ON COLUMN taxe_amenagement.tx_exo_facul_9_reg IS 'Les maisons de santé mentionnées à l''article L. 6323-3 du code de la santé publique, pour les communes maîtres d''ouvrage.';

-- part départementale
ALTER TABLE taxe_amenagement
ADD COLUMN tx_exo_facul_1_depart numeric NULL,
ADD COLUMN tx_exo_facul_2_depart numeric NULL,
ADD COLUMN tx_exo_facul_3_depart numeric NULL,
ADD COLUMN tx_exo_facul_4_depart numeric NULL,
ADD COLUMN tx_exo_facul_5_depart numeric NULL,
ADD COLUMN tx_exo_facul_6_depart numeric NULL,
ADD COLUMN tx_exo_facul_7_depart numeric NULL,
ADD COLUMN tx_exo_facul_8_depart numeric NULL,
ADD COLUMN tx_exo_facul_9_depart numeric NULL;
COMMENT ON COLUMN taxe_amenagement.tx_exo_facul_1_depart IS 'Les locaux d''habitation et d''hébergement mentionnés au 1° de l''article L. 331-12 qui ne bénéficient pas de l''exonération prévue au 2° de l''article L. 331-7.';
COMMENT ON COLUMN taxe_amenagement.tx_exo_facul_2_depart IS 'Dans la limite de 50 % de leur surface, les surfaces des locaux à usage d''habitation principale qui ne bénéficient pas de l''abattement mentionné au 2° de l''article L. 331-12 et qui sont financés à l''aide du prêt ne portant pas intérêt prévu à l''article L. 31-10-1 du code de la construction et de l''habitation.';
COMMENT ON COLUMN taxe_amenagement.tx_exo_facul_3_depart IS 'Les locaux à usage industriel et artisanal mentionnés au 3° de l''article L. 331-12 du présent code.';
COMMENT ON COLUMN taxe_amenagement.tx_exo_facul_4_depart IS 'Les commerces de détail d''une surface de vente inférieure à 400 mètres carrés.';
COMMENT ON COLUMN taxe_amenagement.tx_exo_facul_5_depart IS 'Les immeubles classés parmi les monuments historiques ou inscrits à l''inventaire supplémentaire des monuments historiques.';
COMMENT ON COLUMN taxe_amenagement.tx_exo_facul_6_depart IS 'Les surfaces annexes à usage de stationnement des locaux mentionnés au 1° et ne bénéficiant pas de l''exonération totale.';
COMMENT ON COLUMN taxe_amenagement.tx_exo_facul_7_depart IS 'Les surfaces des locaux annexes à usage de stationnement des immeubles autres que d''habitations individuelles.';
COMMENT ON COLUMN taxe_amenagement.tx_exo_facul_8_depart IS 'Les abris de jardin, les pigeonniers et colombiers soumis à déclaration préalable.';
COMMENT ON COLUMN taxe_amenagement.tx_exo_facul_9_depart IS 'Les maisons de santé mentionnées à l''article L. 6323-3 du code de la santé publique, pour les communes maîtres d''ouvrage.';

-- part communale
ALTER TABLE taxe_amenagement
ADD COLUMN tx_exo_facul_1_comm numeric NULL,
ADD COLUMN tx_exo_facul_2_comm numeric NULL,
ADD COLUMN tx_exo_facul_3_comm numeric NULL,
ADD COLUMN tx_exo_facul_4_comm numeric NULL,
ADD COLUMN tx_exo_facul_5_comm numeric NULL,
ADD COLUMN tx_exo_facul_6_comm numeric NULL,
ADD COLUMN tx_exo_facul_7_comm numeric NULL,
ADD COLUMN tx_exo_facul_8_comm numeric NULL,
ADD COLUMN tx_exo_facul_9_comm numeric NULL;
COMMENT ON COLUMN taxe_amenagement.tx_exo_facul_1_comm IS 'Les locaux d''habitation et d''hébergement mentionnés au 1° de l''article L. 331-12 qui ne bénéficient pas de l''exonération prévue au 2° de l''article L. 331-7.';
COMMENT ON COLUMN taxe_amenagement.tx_exo_facul_2_comm IS 'Dans la limite de 50 % de leur surface, les surfaces des locaux à usage d''habitation principale qui ne bénéficient pas de l''abattement mentionné au 2° de l''article L. 331-12 et qui sont financés à l''aide du prêt ne portant pas intérêt prévu à l''article L. 31-10-1 du code de la construction et de l''habitation.';
COMMENT ON COLUMN taxe_amenagement.tx_exo_facul_3_comm IS 'Les locaux à usage industriel et artisanal mentionnés au 3° de l''article L. 331-12 du présent code.';
COMMENT ON COLUMN taxe_amenagement.tx_exo_facul_4_comm IS 'Les commerces de détail d''une surface de vente inférieure à 400 mètres carrés.';
COMMENT ON COLUMN taxe_amenagement.tx_exo_facul_5_comm IS 'Les immeubles classés parmi les monuments historiques ou inscrits à l''inventaire supplémentaire des monuments historiques.';
COMMENT ON COLUMN taxe_amenagement.tx_exo_facul_6_comm IS 'Les surfaces annexes à usage de stationnement des locaux mentionnés au 1° et ne bénéficiant pas de l''exonération totale.';
COMMENT ON COLUMN taxe_amenagement.tx_exo_facul_7_comm IS 'Les surfaces des locaux annexes à usage de stationnement des immeubles autres que d''habitations individuelles.';
COMMENT ON COLUMN taxe_amenagement.tx_exo_facul_8_comm IS 'Les abris de jardin, les pigeonniers et colombiers soumis à déclaration préalable.';
COMMENT ON COLUMN taxe_amenagement.tx_exo_facul_9_comm IS 'Les maisons de santé mentionnées à l''article L. 6323-3 du code de la santé publique, pour les communes maîtres d''ouvrage.';


-- Ajout des neuf cas d'exonérations facultatifs dans la table des CERFA et des
-- données techniques

-- CERFA
ALTER TABLE cerfa
ADD COLUMN exo_facul_1 boolean DEFAULT false,
ADD COLUMN exo_facul_2 boolean DEFAULT false,
ADD COLUMN exo_facul_3 boolean DEFAULT false,
ADD COLUMN exo_facul_4 boolean DEFAULT false,
ADD COLUMN exo_facul_5 boolean DEFAULT false,
ADD COLUMN exo_facul_6 boolean DEFAULT false,
ADD COLUMN exo_facul_7 boolean DEFAULT false,
ADD COLUMN exo_facul_8 boolean DEFAULT false,
ADD COLUMN exo_facul_9 boolean DEFAULT false;
COMMENT ON COLUMN cerfa.exo_facul_1 IS 'Les locaux d''habitation et d''hébergement mentionnés au 1° de l''article L. 331-12 qui ne bénéficient pas de l''exonération prévue au 2° de l''article L. 331-7.';
COMMENT ON COLUMN cerfa.exo_facul_2 IS 'Dans la limite de 50 % de leur surface, les surfaces des locaux à usage d''habitation principale qui ne bénéficient pas de l''abattement mentionné au 2° de l''article L. 331-12 et qui sont financés à l''aide du prêt ne portant pas intérêt prévu à l''article L. 31-10-1 du code de la construction et de l''habitation.';
COMMENT ON COLUMN cerfa.exo_facul_3 IS 'Les locaux à usage industriel et artisanal mentionnés au 3° de l''article L. 331-12 du présent code.';
COMMENT ON COLUMN cerfa.exo_facul_4 IS 'Les commerces de détail d''une surface de vente inférieure à 400 mètres carrés.';
COMMENT ON COLUMN cerfa.exo_facul_5 IS 'Les immeubles classés parmi les monuments historiques ou inscrits à l''inventaire supplémentaire des monuments historiques.';
COMMENT ON COLUMN cerfa.exo_facul_6 IS 'Les surfaces annexes à usage de stationnement des locaux mentionnés au 1° et ne bénéficiant pas de l''exonération totale.';
COMMENT ON COLUMN cerfa.exo_facul_7 IS 'Les surfaces des locaux annexes à usage de stationnement des immeubles autres que d''habitations individuelles.';
COMMENT ON COLUMN cerfa.exo_facul_8 IS 'Les abris de jardin, les pigeonniers et colombiers soumis à déclaration préalable.';
COMMENT ON COLUMN cerfa.exo_facul_9 IS 'Les maisons de santé mentionnées à l''article L. 6323-3 du code de la santé publique, pour les communes maîtres d''ouvrage.';

-- Données techniques
ALTER TABLE donnees_techniques
ADD COLUMN exo_facul_1 boolean DEFAULT false,
ADD COLUMN exo_facul_2 boolean DEFAULT false,
ADD COLUMN exo_facul_3 boolean DEFAULT false,
ADD COLUMN exo_facul_4 boolean DEFAULT false,
ADD COLUMN exo_facul_5 boolean DEFAULT false,
ADD COLUMN exo_facul_6 boolean DEFAULT false,
ADD COLUMN exo_facul_7 boolean DEFAULT false,
ADD COLUMN exo_facul_8 boolean DEFAULT false,
ADD COLUMN exo_facul_9 boolean DEFAULT false;
COMMENT ON COLUMN donnees_techniques.exo_facul_1 IS 'Les locaux d''habitation et d''hébergement mentionnés au 1° de l''article L. 331-12 qui ne bénéficient pas de l''exonération prévue au 2° de l''article L. 331-7.';
COMMENT ON COLUMN donnees_techniques.exo_facul_2 IS 'Dans la limite de 50 % de leur surface, les surfaces des locaux à usage d''habitation principale qui ne bénéficient pas de l''abattement mentionné au 2° de l''article L. 331-12 et qui sont financés à l''aide du prêt ne portant pas intérêt prévu à l''article L. 31-10-1 du code de la construction et de l''habitation.';
COMMENT ON COLUMN donnees_techniques.exo_facul_3 IS 'Les locaux à usage industriel et artisanal mentionnés au 3° de l''article L. 331-12 du présent code.';
COMMENT ON COLUMN donnees_techniques.exo_facul_4 IS 'Les commerces de détail d''une surface de vente inférieure à 400 mètres carrés.';
COMMENT ON COLUMN donnees_techniques.exo_facul_5 IS 'Les immeubles classés parmi les monuments historiques ou inscrits à l''inventaire supplémentaire des monuments historiques.';
COMMENT ON COLUMN donnees_techniques.exo_facul_6 IS 'Les surfaces annexes à usage de stationnement des locaux mentionnés au 1° et ne bénéficiant pas de l''exonération totale.';
COMMENT ON COLUMN donnees_techniques.exo_facul_7 IS 'Les surfaces des locaux annexes à usage de stationnement des immeubles autres que d''habitations individuelles.';
COMMENT ON COLUMN donnees_techniques.exo_facul_8 IS 'Les abris de jardin, les pigeonniers et colombiers soumis à déclaration préalable.';
COMMENT ON COLUMN donnees_techniques.exo_facul_9 IS 'Les maisons de santé mentionnées à l''article L. 6323-3 du code de la santé publique, pour les communes maîtres d''ouvrage.';


-- Ajout du montant liquidé de la redevance archéologique préventive (RAP)
ALTER TABLE dossier ADD COLUMN tax_mtn_rap numeric NULL;
COMMENT ON COLUMN dossier.tax_mtn_rap IS 'Montant liquidé de la redevance archéologique préventive (RAP)';


-- Ajout du taux de la RAP dans la table de paramètrage des taxes
ALTER TABLE taxe_amenagement ADD COLUMN tx_rap numeric NOT NULL;
COMMENT ON COLUMN taxe_amenagement.tx_rap IS 'Taux de la redevance d''archéologie préventive par m²';


-- /!\ Ne pas modifier les commandes SQL au-dessus de cette limite /!\


-- Ajout des neuf cas d'exonération de plein droit pour la TA, dans la table
-- cerfa et donnees_techniques

-- CERFA
ALTER TABLE cerfa
ADD COLUMN exo_ta_1 boolean DEFAULT false,
ADD COLUMN exo_ta_2 boolean DEFAULT false,
ADD COLUMN exo_ta_3 boolean DEFAULT false,
ADD COLUMN exo_ta_4 boolean DEFAULT false,
ADD COLUMN exo_ta_5 boolean DEFAULT false,
ADD COLUMN exo_ta_6 boolean DEFAULT false,
ADD COLUMN exo_ta_7 boolean DEFAULT false,
ADD COLUMN exo_ta_8 boolean DEFAULT false,
ADD COLUMN exo_ta_9 boolean DEFAULT false;
COMMENT ON COLUMN cerfa.exo_ta_1 IS 'Les constructions et aménagements destinés à être affectés à un service public ou d''utilité publique, dont la liste est fixée par un décret en Conseil d''Etat.';
COMMENT ON COLUMN cerfa.exo_ta_2 IS 'Les constructions de locaux d''habitation et d''hébergement mentionnés aux articles 278 sexies et 296 ter du code général des impôts et, en Guyane et à Mayotte, les constructions de mêmes locaux, dès lors qu''ils sont financés dans les conditions du II de l''article R. 331-1 du code de la construction et de l''habitation ou du b du 2 de l''article R. 372-9 du même code.';
COMMENT ON COLUMN cerfa.exo_ta_3 IS 'Dans les exploitations et coopératives agricoles, les surfaces de plancher des serres de production, celles des locaux destinés à abriter les récoltes, à héberger les animaux, à ranger et à entretenir le matériel agricole, celles des locaux de production et de stockage des produits à usage agricole, celles des locaux de transformation et de conditionnement des produits provenant de l''exploitation et, dans les centres équestres de loisir, les surfaces des bâtiments affectées aux activités équestres.';
COMMENT ON COLUMN cerfa.exo_ta_4 IS 'Les constructions et aménagements réalisés dans les périmètres des opérations d''intérêt national prévues à l''article L. 102-12 lorsque le coût des équipements, dont la liste est fixée par décret en Conseil d''Etat, a été mis à la charge des constructeurs ou des aménageurs.';
COMMENT ON COLUMN cerfa.exo_ta_5 IS 'Les constructions et aménagements réalisés dans les zones d''aménagement concerté mentionnées à l''article L. 311-1 lorsque le coût des équipements publics, dont la liste est fixée par un décret en Conseil d''Etat, a été mis à la charge des constructeurs ou des aménageurs. Cette liste peut être complétée par une délibération du conseil municipal ou de l''organe délibérant de l''établissement public de coopération intercommunale valable pour une durée minimale de trois ans.';
COMMENT ON COLUMN cerfa.exo_ta_6 IS 'Les constructions et aménagements réalisés dans les périmètres délimités par une convention de projet urbain partenarial prévue par l''article L. 332-11-3, dans les limites de durée prévues par cette convention, en application de l''article L. 332-11-4.';
COMMENT ON COLUMN cerfa.exo_ta_7 IS 'Les aménagements prescrits par un plan de prévention des risques naturels prévisibles, un plan de prévention des risques technologiques ou un plan de prévention des risques miniers sur des biens construits ou aménagés conformément aux dispositions du présent code avant l''approbation de ce plan et mis à la charge des propriétaires ou exploitants de ces biens.';
COMMENT ON COLUMN cerfa.exo_ta_8 IS 'La reconstruction à l''identique d''un bâtiment détruit ou démoli depuis moins de dix ans dans les conditions prévues au premier alinéa de l''article L. 111-15, sous réserve des dispositions du 4° de l''article L. 331-30, ainsi que la reconstruction sur d''autres terrains de la même commune ou des communes limitrophes des bâtiments de même nature que les locaux sinistrés dont le terrain d''implantation a été reconnu comme extrêmement dangereux et classé inconstructible, pourvu que le contribuable justifie que les indemnités versées en réparation des dommages occasionnés à l''immeuble ne comprennent pas le montant de la taxe d''aménagement normalement exigible sur les reconstructions.';
COMMENT ON COLUMN cerfa.exo_ta_9 IS 'Les constructions dont la surface est inférieure ou égale à 5 mètres carrés.';

-- Données techniques
ALTER TABLE donnees_techniques
ADD COLUMN exo_ta_1 boolean DEFAULT false,
ADD COLUMN exo_ta_2 boolean DEFAULT false,
ADD COLUMN exo_ta_3 boolean DEFAULT false,
ADD COLUMN exo_ta_4 boolean DEFAULT false,
ADD COLUMN exo_ta_5 boolean DEFAULT false,
ADD COLUMN exo_ta_6 boolean DEFAULT false,
ADD COLUMN exo_ta_7 boolean DEFAULT false,
ADD COLUMN exo_ta_8 boolean DEFAULT false,
ADD COLUMN exo_ta_9 boolean DEFAULT false;
COMMENT ON COLUMN donnees_techniques.exo_ta_1 IS 'Les constructions et aménagements destinés à être affectés à un service public ou d''utilité publique, dont la liste est fixée par un décret en Conseil d''Etat.';
COMMENT ON COLUMN donnees_techniques.exo_ta_2 IS 'Les constructions de locaux d''habitation et d''hébergement mentionnés aux articles 278 sexies et 296 ter du code général des impôts et, en Guyane et à Mayotte, les constructions de mêmes locaux, dès lors qu''ils sont financés dans les conditions du II de l''article R. 331-1 du code de la construction et de l''habitation ou du b du 2 de l''article R. 372-9 du même code.';
COMMENT ON COLUMN donnees_techniques.exo_ta_3 IS 'Dans les exploitations et coopératives agricoles, les surfaces de plancher des serres de production, celles des locaux destinés à abriter les récoltes, à héberger les animaux, à ranger et à entretenir le matériel agricole, celles des locaux de production et de stockage des produits à usage agricole, celles des locaux de transformation et de conditionnement des produits provenant de l''exploitation et, dans les centres équestres de loisir, les surfaces des bâtiments affectées aux activités équestres.';
COMMENT ON COLUMN donnees_techniques.exo_ta_4 IS 'Les constructions et aménagements réalisés dans les périmètres des opérations d''intérêt national prévues à l''article L. 102-12 lorsque le coût des équipements, dont la liste est fixée par décret en Conseil d''Etat, a été mis à la charge des constructeurs ou des aménageurs.';
COMMENT ON COLUMN donnees_techniques.exo_ta_5 IS 'Les constructions et aménagements réalisés dans les zones d''aménagement concerté mentionnées à l''article L. 311-1 lorsque le coût des équipements publics, dont la liste est fixée par un décret en Conseil d''Etat, a été mis à la charge des constructeurs ou des aménageurs. Cette liste peut être complétée par une délibération du conseil municipal ou de l''organe délibérant de l''établissement public de coopération intercommunale valable pour une durée minimale de trois ans.';
COMMENT ON COLUMN donnees_techniques.exo_ta_6 IS 'Les constructions et aménagements réalisés dans les périmètres délimités par une convention de projet urbain partenarial prévue par l''article L. 332-11-3, dans les limites de durée prévues par cette convention, en application de l''article L. 332-11-4.';
COMMENT ON COLUMN donnees_techniques.exo_ta_7 IS 'Les aménagements prescrits par un plan de prévention des risques naturels prévisibles, un plan de prévention des risques technologiques ou un plan de prévention des risques miniers sur des biens construits ou aménagés conformément aux dispositions du présent code avant l''approbation de ce plan et mis à la charge des propriétaires ou exploitants de ces biens.';
COMMENT ON COLUMN donnees_techniques.exo_ta_8 IS 'La reconstruction à l''identique d''un bâtiment détruit ou démoli depuis moins de dix ans dans les conditions prévues au premier alinéa de l''article L. 111-15, sous réserve des dispositions du 4° de l''article L. 331-30, ainsi que la reconstruction sur d''autres terrains de la même commune ou des communes limitrophes des bâtiments de même nature que les locaux sinistrés dont le terrain d''implantation a été reconnu comme extrêmement dangereux et classé inconstructible, pourvu que le contribuable justifie que les indemnités versées en réparation des dommages occasionnés à l''immeuble ne comprennent pas le montant de la taxe d''aménagement normalement exigible sur les reconstructions.';
COMMENT ON COLUMN donnees_techniques.exo_ta_9 IS 'Les constructions dont la surface est inférieure ou égale à 5 mètres carrés.';


-- Ajout des huit cas d'exonération de plein droit pour la RAP, dans la table
-- cerfa et donnees_techniques

-- CERFA
ALTER TABLE cerfa
ADD COLUMN exo_rap_1 boolean DEFAULT false,
ADD COLUMN exo_rap_2 boolean DEFAULT false,
ADD COLUMN exo_rap_3 boolean DEFAULT false,
ADD COLUMN exo_rap_4 boolean DEFAULT false,
ADD COLUMN exo_rap_5 boolean DEFAULT false,
ADD COLUMN exo_rap_6 boolean DEFAULT false,
ADD COLUMN exo_rap_7 boolean DEFAULT false,
ADD COLUMN exo_rap_8 boolean DEFAULT false;
COMMENT ON COLUMN cerfa.exo_rap_1 IS 'Travaux et aménagements dont la surface au sol est inférieure à 3 000 m².';
COMMENT ON COLUMN cerfa.exo_rap_2 IS 'Les constructions de locaux d''habitation et d''hébergement mentionnés aux articles 278 sexies et 296 ter du code général des impôts et, en Guyane et à Mayotte, les constructions de mêmes locaux, dès lors qu''ils sont financés dans les conditions du II de l''article R. 331-1 du code de la construction et de l''habitation ou du b du 2 de l''article R. 372-9 du même code.';
COMMENT ON COLUMN cerfa.exo_rap_3 IS 'Travaux n''affectant pas le sous-sol : surélévation d''un bâtiment existant, emplacement sans fondation (emplacement de tente, caravane et résidence mobile de loisirs sur un terrain de camping, panneau photovoltaïque fixé au sol, aire de stationnement extérieure...).';
COMMENT ON COLUMN cerfa.exo_rap_4 IS 'Dans les exploitations et coopératives agricoles, les surfaces de plancher des serres de production, celles des locaux destinés à abriter les récoltes, à héberger les animaux, à ranger et à entretenir le matériel agricole, celles des locaux de production et de stockage des produits à usage agricole, celles des locaux de transformation et de conditionnement des produits provenant de l''exploitation et, dans les centres équestres de loisir, les surfaces des bâtiments affectées aux activités équestres.';
COMMENT ON COLUMN cerfa.exo_rap_5 IS 'Les constructions et aménagements destinés à être affectés à un service public ou d''utilité publique, dont la liste est fixée par un décret en Conseil d''Etat.';
COMMENT ON COLUMN cerfa.exo_rap_6 IS 'La reconstruction à l''identique d''un bâtiment détruit ou démoli depuis moins de dix ans dans les conditions prévues au premier alinéa de l''article L. 111-15, sous réserve des dispositions du 4° de l''article L. 331-30, ainsi que la reconstruction sur d''autres terrains de la même commune ou des communes limitrophes des bâtiments de même nature que les locaux sinistrés dont le terrain d''implantation a été reconnu comme extrêmement dangereux et classé inconstructible, pourvu que le contribuable justifie que les indemnités versées en réparation des dommages occasionnés à l''immeuble ne comprennent pas le montant de la taxe d''aménagement normalement exigible sur les reconstructions.';
COMMENT ON COLUMN cerfa.exo_rap_7 IS 'Les aménagements prescrits par un plan de prévention des risques naturels prévisibles, un plan de prévention des risques technologiques ou un plan de prévention des risques miniers sur des biens construits ou aménagés conformément aux dispositions du présent code avant l''approbation de ce plan et mis à la charge des propriétaires ou exploitants de ces biens.';
COMMENT ON COLUMN cerfa.exo_rap_8 IS 'Les constructions dont la surface est inférieure ou égale à 5 mètres carrés.';

-- Données techniques
ALTER TABLE donnees_techniques
ADD COLUMN exo_rap_1 boolean DEFAULT false,
ADD COLUMN exo_rap_2 boolean DEFAULT false,
ADD COLUMN exo_rap_3 boolean DEFAULT false,
ADD COLUMN exo_rap_4 boolean DEFAULT false,
ADD COLUMN exo_rap_5 boolean DEFAULT false,
ADD COLUMN exo_rap_6 boolean DEFAULT false,
ADD COLUMN exo_rap_7 boolean DEFAULT false,
ADD COLUMN exo_rap_8 boolean DEFAULT false;
COMMENT ON COLUMN donnees_techniques.exo_rap_1 IS 'Travaux et aménagements dont la surface au sol est inférieure à 3 000 m².';
COMMENT ON COLUMN donnees_techniques.exo_rap_2 IS 'Les constructions de locaux d''habitation et d''hébergement mentionnés aux articles 278 sexies et 296 ter du code général des impôts et, en Guyane et à Mayotte, les constructions de mêmes locaux, dès lors qu''ils sont financés dans les conditions du II de l''article R. 331-1 du code de la construction et de l''habitation ou du b du 2 de l''article R. 372-9 du même code.';
COMMENT ON COLUMN donnees_techniques.exo_rap_3 IS 'Travaux n''affectant pas le sous-sol : surélévation d''un bâtiment existant, emplacement sans fondation (emplacement de tente, caravane et résidence mobile de loisirs sur un terrain de camping, panneau photovoltaïque fixé au sol, aire de stationnement extérieure...).';
COMMENT ON COLUMN donnees_techniques.exo_rap_4 IS 'Dans les exploitations et coopératives agricoles, les surfaces de plancher des serres de production, celles des locaux destinés à abriter les récoltes, à héberger les animaux, à ranger et à entretenir le matériel agricole, celles des locaux de production et de stockage des produits à usage agricole, celles des locaux de transformation et de conditionnement des produits provenant de l''exploitation et, dans les centres équestres de loisir, les surfaces des bâtiments affectées aux activités équestres.';
COMMENT ON COLUMN donnees_techniques.exo_rap_5 IS 'Les constructions et aménagements destinés à être affectés à un service public ou d''utilité publique, dont la liste est fixée par un décret en Conseil d''Etat.';
COMMENT ON COLUMN donnees_techniques.exo_rap_6 IS 'La reconstruction à l''identique d''un bâtiment détruit ou démoli depuis moins de dix ans dans les conditions prévues au premier alinéa de l''article L. 111-15, sous réserve des dispositions du 4° de l''article L. 331-30, ainsi que la reconstruction sur d''autres terrains de la même commune ou des communes limitrophes des bâtiments de même nature que les locaux sinistrés dont le terrain d''implantation a été reconnu comme extrêmement dangereux et classé inconstructible, pourvu que le contribuable justifie que les indemnités versées en réparation des dommages occasionnés à l''immeuble ne comprennent pas le montant de la taxe d''aménagement normalement exigible sur les reconstructions.';
COMMENT ON COLUMN donnees_techniques.exo_rap_7 IS 'Les aménagements prescrits par un plan de prévention des risques naturels prévisibles, un plan de prévention des risques technologiques ou un plan de prévention des risques miniers sur des biens construits ou aménagés conformément aux dispositions du présent code avant l''approbation de ce plan et mis à la charge des propriétaires ou exploitants de ces biens.';
COMMENT ON COLUMN donnees_techniques.exo_rap_8 IS 'Les constructions dont la surface est inférieure ou égale à 5 mètres carrés.';


-- Ajout des montants des exonérations à saisir dans la table cerfa et
-- donnees_techniques

-- CERFA
ALTER TABLE cerfa 
ADD COLUMN mtn_exo_ta_part_commu boolean DEFAULT false,
ADD COLUMN mtn_exo_ta_part_depart boolean DEFAULT false,
ADD COLUMN mtn_exo_ta_part_reg boolean DEFAULT false,
ADD COLUMN mtn_exo_rap boolean DEFAULT false;
COMMENT ON COLUMN cerfa.mtn_exo_ta_part_commu IS 'Montant de l''exonération de la taxe d’aménagement sur la part communale.';
COMMENT ON COLUMN cerfa.mtn_exo_ta_part_depart IS 'Montant de l''exonération de la taxe d’aménagement sur la part départementale.';
COMMENT ON COLUMN cerfa.mtn_exo_ta_part_reg IS 'Montant de l''exonération de la taxe d’aménagement sur la part régionale.';
COMMENT ON COLUMN cerfa.mtn_exo_rap IS 'Montant de l''exonération de la redevance d''archéologie préventive.';

-- Données techniques
ALTER TABLE donnees_techniques 
ADD COLUMN mtn_exo_ta_part_commu numeric NULL,
ADD COLUMN mtn_exo_ta_part_depart numeric NULL,
ADD COLUMN mtn_exo_ta_part_reg numeric NULL,
ADD COLUMN mtn_exo_rap numeric NULL;
COMMENT ON COLUMN donnees_techniques.mtn_exo_ta_part_commu IS 'Montant de l''exonération de la taxe d’aménagement sur la part communale.';
COMMENT ON COLUMN donnees_techniques.mtn_exo_ta_part_depart IS 'Montant de l''exonération de la taxe d’aménagement sur la part départementale.';
COMMENT ON COLUMN donnees_techniques.mtn_exo_ta_part_reg IS 'Montant de l''exonération de la taxe d’aménagement sur la part régionale.';
COMMENT ON COLUMN donnees_techniques.mtn_exo_rap IS 'Montant de l''exonération de la redevance d''archéologie préventive.';


-- Ajout de la requête rapport_instruction

UPDATE om_requete SET
requete = 'SELECT

    --Données générales du rapport d''instruction
    rapport_instruction.dossier_instruction as dossier_instruction_rapport_instruction, 
    analyse_reglementaire_om_html as analyse_reglementaire_rapport_instruction,
    description_projet_om_html as description_projet_rapport_instruction,
    proposition_decision as proposition_decision_rapport_instruction, 
    complement_om_html as complement_rapport_instruction,

    --Données générales du dossier d''instruction
    dossier.dossier_libelle as libelle_dossier, 
    dossier.dossier as code_barres_dossier,
    etat.libelle as etat_dossier,
    dossier.delai as delai_dossier,
    dossier_autorisation_type_detaille.libelle as libelle_datd, 
    avis_decision.libelle as libelle_avis_decision,

    --Adresse du terrain dossier d''instruction
    terrain_adresse_voie_numero as terrain_adresse_voie_numero_dossier,
    dossier.terrain_adresse_voie as terrain_adresse_voie_dossier,
    terrain_adresse_lieu_dit as terrain_adresse_lieu_dit_dossier,
    terrain_adresse_localite as terrain_adresse_localite_dossier,
    terrain_adresse_code_postal as terrain_adresse_code_postal_dossier,
    terrain_adresse_bp as terrain_adresse_bp_dossier,
    terrain_adresse_cedex as terrain_adresse_cedex_dossier,
    terrain_superficie as terrain_superficie_dossier,
    replace(dossier.terrain_references_cadastrales, '';'', '' '') as terrain_references_cadastrales_dossier,

    --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,

    
    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 demandeur
    civilite.code as code_civilite,
    demandeur.particulier_nom as particulier_nom_demandeur,
    demandeur.particulier_prenom as particulier_prenom_demandeur,
    demandeur.personne_morale_denomination as personne_morale_denomination_demandeur,
    demandeur.personne_morale_raison_sociale as personne_morale_raison_sociale_demandeur,
    demandeur.personne_morale_siret as personne_morale_siret_demandeur,
    demandeur.personne_morale_nom as personne_morale_nom_demandeur,
    demandeur.personne_morale_prenom as personne_morale_prenom_demandeur,
    demandeur.numero as numero_demandeur,
    demandeur.voie as voie_demandeur,
    demandeur.complement as complement_demandeur,
    demandeur.lieu_dit as lieu_dit_demandeur,
    demandeur.localite as localite_demandeur,
    demandeur.code_postal as code_postal_demandeur,
    demandeur.bp as bp_demandeur,
    demandeur.cedex as cedex_demandeur,

    -- 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,
    petitionnaire_principal.numero as numero_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,

    --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'' 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_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_particulier_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_particulier_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,
    petitionnaire_1.numero as numero_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,

    --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'' 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_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_particulier_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_particulier_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,
    petitionnaire_2.numero as numero_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,

    --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'' 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_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_particulier_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_particulier_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,
    petitionnaire_3.numero as numero_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,

    --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'' 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_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_particulier_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_particulier_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,
    petitionnaire_4.numero as numero_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,

    --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'' 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_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_particulier_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_particulier_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,
    petitionnaire_5.numero as numero_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,
    
    --Nom de l''instructeur
    instructeur.nom as nom_instructeur, 

    --Noms des signataires
    division.chef as chef_division,
    direction.chef as chef_direction,
    direction.libelle as libelle_direction,
    direction.description as description_direction,

    --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_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_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_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_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
        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_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_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_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_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
        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_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_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_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_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
        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_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_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
            ), '' / $'', '''')
        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_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_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_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_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
        THEN donnees_techniques.su2_tot_shon_tot
        ELSE donnees_techniques.su_tot_shon_tot
    END as su_tot_shon_tot_donnees_techniques

FROM

    &DB_PREFIXErapport_instruction 
    LEFT JOIN &DB_PREFIXEdossier 
        ON dossier.dossier=rapport_instruction.dossier_instruction 
    LEFT JOIN &DB_PREFIXEavis_decision 
        ON dossier.avis_decision = avis_decision.avis_decision
    LEFT JOIN &DB_PREFIXEetat
        ON dossier.etat = etat.etat
    LEFT JOIN &DB_PREFIXEdonnees_techniques
        ON dossier.dossier = donnees_techniques.dossier_instruction
    LEFT JOIN &DB_PREFIXEdivision
        ON dossier.division = division.division
    LEFT JOIN &DB_PREFIXEdirection
        ON division.direction = direction.direction
    LEFT JOIN &DB_PREFIXEinstructeur 
        ON instructeur.instructeur=dossier.instructeur 
    LEFT JOIN &DB_PREFIXElien_dossier_demandeur 
        ON lien_dossier_demandeur.dossier=dossier.dossier 
    LEFT JOIN &DB_PREFIXEdemandeur 
        ON demandeur.demandeur=lien_dossier_demandeur.demandeur
    LEFT JOIN
        &DB_PREFIXEdemandeur as petitionnaire_principal
        ON lien_dossier_demandeur.demandeur = petitionnaire_principal.demandeur AND lien_dossier_demandeur.petitionnaire_principal IS TRUE
    LEFT JOIN
        &DB_PREFIXEcivilite as petitionnaire_principal_civilite
        ON petitionnaire_principal.personne_morale_civilite=petitionnaire_principal_civilite.civilite OR petitionnaire_principal.particulier_civilite=petitionnaire_principal_civilite.civilite
    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 &DB_PREFIXEdossier
            ON lien_dossier_demandeur.dossier=dossier.dossier 
            AND lien_dossier_demandeur.petitionnaire_principal IS FALSE
        LEFT JOIN &DB_PREFIXErapport_instruction
            ON rapport_instruction.dossier_instruction = dossier.dossier
        WHERE rapport_instruction.rapport_instruction = &idx
        GROUP BY lien_dossier_demandeur.dossier
    ) as sub_petitionnaire_autre
    ON rapport_instruction.dossier_instruction = sub_petitionnaire_autre.dossier
    LEFT JOIN
        &DB_PREFIXEdemandeur as petitionnaire_1
    ON
        petitionnaire_1.demandeur = petitionnaire_autre[1] AND petitionnaire_1.type_demandeur != ''delegataire''
    LEFT JOIN
        &DB_PREFIXEcivilite as petitionnaire_1_civilite
    ON
        petitionnaire_1.particulier_civilite = petitionnaire_1_civilite.civilite OR petitionnaire_1.personne_morale_civilite = petitionnaire_1_civilite.civilite
    LEFT JOIN
        &DB_PREFIXEdemandeur as petitionnaire_2
    ON
        petitionnaire_2.demandeur = petitionnaire_autre[2] AND petitionnaire_2.type_demandeur != ''delegataire''
    LEFT JOIN
        &DB_PREFIXEcivilite as petitionnaire_2_civilite
    ON
        petitionnaire_2.particulier_civilite = petitionnaire_2_civilite.civilite OR petitionnaire_2.personne_morale_civilite = petitionnaire_2_civilite.civilite
    LEFT JOIN
        &DB_PREFIXEdemandeur as petitionnaire_3
    ON
        petitionnaire_3.demandeur = petitionnaire_autre[3] AND petitionnaire_3.type_demandeur != ''delegataire''
    LEFT JOIN
        &DB_PREFIXEcivilite as petitionnaire_3_civilite
    ON
        petitionnaire_3.particulier_civilite = petitionnaire_3_civilite.civilite OR petitionnaire_3.personne_morale_civilite = petitionnaire_3_civilite.civilite
    LEFT JOIN
        &DB_PREFIXEdemandeur as petitionnaire_4
    ON
        petitionnaire_4.demandeur = petitionnaire_autre[4] AND petitionnaire_4.type_demandeur != ''delegataire''
    LEFT JOIN
        &DB_PREFIXEcivilite as petitionnaire_4_civilite
    ON
        petitionnaire_4.particulier_civilite = petitionnaire_4_civilite.civilite OR petitionnaire_4.personne_morale_civilite = petitionnaire_4_civilite.civilite
    LEFT JOIN
        &DB_PREFIXEdemandeur as petitionnaire_5
    ON
        petitionnaire_5.demandeur = petitionnaire_autre[5] AND petitionnaire_5.type_demandeur != ''delegataire''
    LEFT JOIN
        &DB_PREFIXEcivilite as petitionnaire_5_civilite
    ON
        petitionnaire_5.particulier_civilite = petitionnaire_5_civilite.civilite OR petitionnaire_5.personne_morale_civilite = petitionnaire_5_civilite.civilite
    LEFT JOIN &DB_PREFIXEcivilite 
        ON demandeur.personne_morale_civilite=civilite.civilite OR demandeur.particulier_civilite=civilite.civilite 
    LEFT JOIN &DB_PREFIXEdossier_instruction_type 
        ON dossier.dossier_instruction_type=dossier_instruction_type.dossier_instruction_type 
    LEFT JOIN &DB_PREFIXEdossier_autorisation_type_detaille 
        ON dossier_instruction_type.dossier_autorisation_type_detaille=dossier_autorisation_type_detaille.dossier_autorisation_type_detaille 
    LEFT JOIN
        &DB_PREFIXEtaxe_amenagement
        ON
            dossier.om_collectivite = taxe_amenagement.om_collectivite
WHERE rapport_instruction = &idx AND lien_dossier_demandeur.petitionnaire_principal IS TRUE
',
merge_fields = '--Données générales du rapport d''instruction
[dossier_instruction_rapport_instruction]    [analyse_reglementaire_rapport_instruction]
[description_projet_rapport_instruction]    [proposition_decision_rapport_instruction]
[complement_rapport_instruction]

--Données générales du dossier d''instruction
[libelle_dossier]    [code_barres_dossier]    [etat_dossier]
[delai_dossier]    [libelle_datd]
[libelle_avis_decision]

--Adresse du terrain dossier d''instruction
[terrain_adresse_voie_numero_dossier]     [terrain_adresse_voie_dossier]
[terrain_adresse_lieu_dit_dossier]
[terrain_adresse_code_postal_dossier]    [terrain_adresse_localite_dossier]    [terrain_adresse_bp_dossier]
[terrain_adresse_cedex_dossier]    [terrain_superficie_dossier]
[terrain_references_cadastrales_dossier]

--Taxe d''aménagement du dossier d''instruction
[tax_taux_secteur]  [tax_numero_secteur]    [tax_montant_part_communale]    [tax_montant_part_departementale]
[tax_montant_part_regionale]    [tax_montant_total] [tax_secteur]   [tax_en_ile_de_france]
[tax_val_forf_surf_cstr]    [tax_val_forf_empl_tente_carav_rml] [tax_val_forf_empl_hll] [tax_val_forf_surf_piscine]
[tax_val_forf_nb_eolienne]  [tax_val_forf_surf_pann_photo]  [tax_val_forf_nb_parking_ext]   [tax_tx_depart] [tax_tx_reg]
[tax_tx_exo_facul_1_reg] [tax_tx_exo_facul_2_reg]   [tax_tx_exo_facul_3_reg]    [tax_tx_exo_facul_4_reg]    [tax_tx_exo_facul_5_reg]
[tax_tx_exo_facul_6_reg] [tax_tx_exo_facul_7_reg] [tax_tx_exo_facul_8_reg] [tax_tx_exo_facul_9_reg] [tax_tx_exo_facul_1_depart]
[tax_tx_exo_facul_2_depart] [tax_tx_exo_facul_3_depart] [tax_tx_exo_facul_4_depart] [tax_tx_exo_facul_5_depart]
[tax_tx_exo_facul_6_depart] [tax_tx_exo_facul_7_depart] [tax_tx_exo_facul_8_depart] [tax_tx_exo_facul_9_depart]
[tax_tx_exo_facul_1_comm]   [tax_tx_exo_facul_2_comm]   [tax_tx_exo_facul_3_comm] [tax_tx_exo_facul_4_comm]
[tax_tx_exo_facul_5_comm] [tax_tx_exo_facul_6_comm] [tax_tx_exo_facul_7_comm] [tax_tx_exo_facul_8_comm] [tax_tx_exo_facul_9_comm]
[tax_tx_rap]

--Coordonnées du demandeur (déprécié, à ne plus utiliser)
[code_civilite]
[particulier_nom_demandeur]    [particulier_prenom_demandeur]    
[personne_morale_denomination_demandeur]    [personne_morale_raison_sociale_demandeur]    [personne_morale_siret_demandeur]
[personne_morale_nom_demandeur]    [personne_morale_prenom_demandeur]
[numero_demandeur]    [voie_demandeur]
[complement_demandeur]    [lieu_dit_demandeur]
[code_postal_demandeur]    [localite_demandeur]   [bp_demandeur]    [cedex_demandeur]

--Coordonnées du pétitionnaire principal
[nom_qualite_part_petitionnaire_principal] [prenom_qualite_part_petitionnaire_principal]
[civilite_qualite_part_petitionnaire_principal] [nom_complet_qualite_part_petitionnaire_principal]
[nom_qualite_pm_petitionnaire_principal] [prenom_qualite_pm_petitionnaire_principal]
[civilite_qualite_pm_petitionnaire_principal] [nom_complet_qualite_pm_petitionnaire_principal]
[nom_qualite_part_ou_pm_petitionnaire_principal] [prenom_qualite_part_ou_pm_petitionnaire_principal]
[civilite_qualite_part_ou_pm_petitionnaire_principal] [nom_complet_qualite_part_ou_pm_petitionnaire_principal]
[nom_petitionnaire_principal] (Déprécié, à ne plus utiliser)
[civilite_petitionnaire_principal] (Déprécié, à ne plus utiliser)
[nom_particulier_petitionnaire_principal] (Déprécié, à ne plus utiliser)
[prenom_particulier_petitionnaire_principal] (Déprécié, à ne plus utiliser)
[raison_sociale_petitionnaire_principal]
[denomination_petitionnaire_principal]
[numero_petitionnaire_principal]    [voie_petitionnaire_principal]    [complement_petitionnaire_principal]
[lieu_dit_petitionnaire_principal]    [bp_petitionnaire_principal]
[code_postal_petitionnaire_principal]    [localite_petitionnaire_principal]    [cedex_petitionnaire_principal]
[pays_petitionnaire_principal]

--Coordonnées des autres pétitionnaires
[nom_qualite_part_petitionnaire_1](jusqu''à 5)    [prenom_qualite_part_petitionnaire_1](jusqu''à 5)
[civilite_qualite_part_petitionnaire_1](jusqu''à 5)    [nom_complet_qualite_part_petitionnaire_1](jusqu''à 5)
[nom_qualite_pm_petitionnaire_1](jusqu''à 5)    [prenom_qualite_pm_petitionnaire_1](jusqu''à 5)
[civilite_qualite_pm_petitionnaire_1](jusqu''à 5)    [nom_complet_qualite_pm_petitionnaire_1](jusqu''à 5)
[nom_qualite_part_ou_pm_petitionnaire_1](jusqu''à 5)    [prenom_qualite_part_ou_pm_petitionnaire_1](jusqu''à 5)
[civilite_qualite_part_ou_pm_petitionnaire_1](jusqu''à 5)    [nom_complet_qualite_part_ou_pm_petitionnaire_1](jusqu''à 5)
[nom_petitionnaire_1](jusqu''à 5) (Déprécié, à ne plus utiliser)
[civilite_petitionnaire_1](jusqu''à 5) (Déprécié, à ne plus utiliser)
[nom_particulier_petitionnaire_1](jusqu''à 5) (Déprécié, à ne plus utiliser)
[prenom_particulier_petitionnaire_1](jusqu''à 5) (Déprécié, à ne plus utiliser)
[raison_sociale_petitionnaire_1](jusqu''à 5)
[denomination_petitionnaire_1](jusqu''à 5)
[numero_petitionnaire_1](jusqu''à 5)    [voie_petitionnaire_1](jusqu''à 5)    
[complement_petitionnaire_1](jusqu''à 5)
[lieu_dit_petitionnaire_1](jusqu''à 5)    [bp_petitionnaire_1](jusqu''à 5)
[code_postal_petitionnaire_1](jusqu''à 5)    [localite_petitionnaire_1](jusqu''à 5)    
[cedex_petitionnaire_1](jusqu''à 5)
[pays_petitionnaire_1](jusqu''à 5)

--Nom de l''instructeur
[nom_instructeur]

--Noms des signataires
[chef_division]
[chef_direction]
[libelle_direction]
[description_direction]

--Données techniques
[co_projet_desc_donnees_techniques]    [am_projet_desc_donnees_techniques]
[dm_projet_desc_donnees_techniques]    [ope_proj_desc_donnees_techniques]
[projet_desc_donnees_techniques]
[am_lot_max_nb_donnees_techniques]    [am_lot_max_shon_donnees_techniques]    
[co_tot_log_nb_donnees_techniques]     [co_statio_place_nb_donnees_techniques]
-- Les données techniques suivantes concernent le tableau des surfaces
-- Elles récupèrent les valeurs du tableau composé des sous-destinations si au
-- moins une valeur de celui-ci est saisie
[su_cstr_shon_tot_donnees_techniques]    [su_demo_shon_tot_donnees_techniques]    
[tab_surface_donnees_techniques]
[su_tot_shon_tot_donnees_techniques]
'
WHERE code = 'rapport_instruction';

-- Ajout de la requête de consultation

UPDATE om_requete SET
requete = 'SELECT 
    --Coordonnées du service
    service.libelle as libelle_service, 
    service.adresse as adresse_service, 
    service.adresse2 as adresse2_service, 
    service.cp as cp_service, 
    service.ville as ville_service,
    service.delai as delai_service,
    CASE WHEN LOWER(service.delai_type) = LOWER(''jour'')
        THEN ''jour(s)''
        ELSE ''mois''
    END as delai_type_service,

    --Données générales du dossier d''instruction
    dossier.dossier_libelle as libelle_dossier,
    dossier.dossier as code_barres_dossier,
    replace(dossier.terrain_references_cadastrales, '';'', '' '') as terrain_references_cadastrales_dossier,
    dossier_autorisation_type_detaille.libelle as libelle_datd, 

    --Adresse du terrain du dossier d''instruction
    dossier.terrain_adresse_voie_numero as terrain_adresse_voie_numero_dossier,
    dossier.terrain_adresse_voie as terrain_adresse_voie_dossier,
    dossier.terrain_adresse_lieu_dit as terrain_adresse_lieu_dit_dossier,
    dossier.terrain_adresse_code_postal as terrain_adresse_code_postal_dossier,
    dossier.terrain_adresse_localite as terrain_adresse_localite_dossier,

    --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,

    
    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 de l''instructeur
    instructeur.nom as nom_instructeur,
    instructeur.telephone as tel_instructeur,
    instructeur_utilisateur.email as email_instructeur,

    --Coordonnées du demandeur
    civilite.libelle as civilite_demandeur,
    CASE WHEN demandeur.qualite=''particulier''
        THEN TRIM(CONCAT(demandeur.particulier_nom, '' '', demandeur.particulier_prenom))
        ELSE TRIM(CONCAT(demandeur.personne_morale_raison_sociale, '' '', demandeur.personne_morale_denomination))
    END as nom_demandeur,
    CONCAT(demandeur.numero, '' '', demandeur.voie) as adresse_demandeur,
    demandeur.complement as complement_adresse_demandeur,
    demandeur.lieu_dit as lieu_dit_demandeur,
    demandeur.code_postal as code_postal_demandeur,
    demandeur.localite as ville_demandeur,
    demandeur.personne_morale_denomination as societe_demandeur,

    -- 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,
    petitionnaire_principal.numero as numero_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,

    --Dates importantes du dossier d''instruction
    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_rejet,''DD/MM/YYYY'') as date_rejet_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(consultation.date_envoi,''DD/MM/YYYY'') as date_envoi_dossier,
    to_char(instruction.date_evenement,''DD/MM/YYYY'') as date_evenement,
    dossier.delai as delai_limite_decision,

    --Code barres de la consultation
    consultation.code_barres as code_barres_consultation,

    --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_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_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_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_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
        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_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_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_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_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
        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_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_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_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_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
        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_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_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
            ), '' / $'', '''')
        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_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_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_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_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
        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
    
FROM 

    &DB_PREFIXEconsultation 
    LEFT JOIN &DB_PREFIXEservice 
        ON service.service=consultation.service 
    LEFT JOIN &DB_PREFIXEdossier 
        ON dossier.dossier=consultation.dossier 
    LEFT JOIN &DB_PREFIXEdonnees_techniques 
        ON dossier.dossier = donnees_techniques.dossier_instruction
    LEFT JOIN &DB_PREFIXEdossier_autorisation 
        ON dossier.dossier_autorisation = dossier_autorisation.dossier_autorisation 
    LEFT JOIN &DB_PREFIXEinstructeur 
        ON instructeur.instructeur=dossier.instructeur
    LEFT JOIN &DB_PREFIXEom_utilisateur as instructeur_utilisateur
        ON instructeur_utilisateur.om_utilisateur=instructeur.om_utilisateur
    LEFT JOIN &DB_PREFIXEinstruction
        ON dossier.dossier=instruction.dossier 
    LEFT JOIN &DB_PREFIXElien_dossier_demandeur 
        ON lien_dossier_demandeur.dossier=dossier.dossier 
    LEFT JOIN &DB_PREFIXEdemandeur 
        ON demandeur.demandeur=lien_dossier_demandeur.demandeur AND lien_dossier_demandeur.petitionnaire_principal IS TRUE
    LEFT JOIN &DB_PREFIXEcivilite 
        ON demandeur.personne_morale_civilite=civilite.civilite OR demandeur.particulier_civilite=civilite.civilite
    LEFT JOIN &DB_PREFIXEdemandeur as petitionnaire_principal
        ON lien_dossier_demandeur.demandeur = petitionnaire_principal.demandeur AND lien_dossier_demandeur.petitionnaire_principal IS TRUE
    LEFT JOIN &DB_PREFIXEcivilite as petitionnaire_principal_civilite
        ON petitionnaire_principal.personne_morale_civilite=petitionnaire_principal_civilite.civilite OR petitionnaire_principal.particulier_civilite=petitionnaire_principal_civilite.civilite
    LEFT JOIN &DB_PREFIXEdossier_instruction_type 
        ON dossier.dossier_instruction_type=dossier_instruction_type.dossier_instruction_type 
    LEFT JOIN &DB_PREFIXEdossier_autorisation_type_detaille 
        ON dossier_instruction_type.dossier_autorisation_type_detaille=dossier_autorisation_type_detaille.dossier_autorisation_type_detaille
    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_PREFIXEtaxe_amenagement
        ON
            dossier.om_collectivite = taxe_amenagement.om_collectivite
WHERE consultation.consultation = &idx AND lien_dossier_demandeur.petitionnaire_principal IS TRUE
',
merge_fields = '--Coordonnées du service
[libelle_service] 
[adresse_service] 
[adresse2_service] 
[cp_service]    [ville_service]
[delai_service]
[delai_type_service]

--Données générales du dossier d''instruction
[libelle_dossier]    [code_barres_dossier]
[terrain_references_cadastrales_dossier]
[libelle_datd] 

--Adresse du terrain du dossier d''instruction
[terrain_adresse_voie_numero_dossier]    [terrain_adresse_voie_dossier]
[terrain_adresse_lieu_dit_dossier]     [terrain_adresse_code_postal_dossier]
[terrain_adresse_localite_dossier]

--Taxe d''aménagement du dossier d''instruction
[tax_taux_secteur]  [tax_numero_secteur]    [tax_montant_part_communale]    [tax_montant_part_departementale]
[tax_montant_part_regionale]    [tax_montant_total] [tax_secteur]   [tax_en_ile_de_france]
[tax_val_forf_surf_cstr]    [tax_val_forf_empl_tente_carav_rml] [tax_val_forf_empl_hll] [tax_val_forf_surf_piscine]
[tax_val_forf_nb_eolienne]  [tax_val_forf_surf_pann_photo]  [tax_val_forf_nb_parking_ext]   [tax_tx_depart] [tax_tx_reg]
[tax_tx_exo_facul_1_reg] [tax_tx_exo_facul_2_reg]   [tax_tx_exo_facul_3_reg]    [tax_tx_exo_facul_4_reg]    [tax_tx_exo_facul_5_reg]
[tax_tx_exo_facul_6_reg] [tax_tx_exo_facul_7_reg] [tax_tx_exo_facul_8_reg] [tax_tx_exo_facul_9_reg] [tax_tx_exo_facul_1_depart]
[tax_tx_exo_facul_2_depart] [tax_tx_exo_facul_3_depart] [tax_tx_exo_facul_4_depart] [tax_tx_exo_facul_5_depart]
[tax_tx_exo_facul_6_depart] [tax_tx_exo_facul_7_depart] [tax_tx_exo_facul_8_depart] [tax_tx_exo_facul_9_depart]
[tax_tx_exo_facul_1_comm]   [tax_tx_exo_facul_2_comm]   [tax_tx_exo_facul_3_comm] [tax_tx_exo_facul_4_comm]
[tax_tx_exo_facul_5_comm] [tax_tx_exo_facul_6_comm] [tax_tx_exo_facul_7_comm] [tax_tx_exo_facul_8_comm] [tax_tx_exo_facul_9_comm]
[tax_tx_rap]


--Coordonnées de l''instructeur
[nom_instructeur]
[tel_instructeur]
[email_instructeur]

--Coordonnées du demandeur
[civilite_demandeur]    [nom_demandeur]
[adresse_demandeur]
[complement_adresse_demandeur]    [lieu_dit_demandeur]
[code_postal_demandeur]    [ville_demandeur]
[societe_demandeur]

--Coordonnées du pétitionnaire principal
[nom_qualite_part_petitionnaire_principal] [prenom_qualite_part_petitionnaire_principal]
[civilite_qualite_part_petitionnaire_principal] [nom_complet_qualite_part_petitionnaire_principal]
[nom_qualite_pm_petitionnaire_principal] [prenom_qualite_pm_petitionnaire_principal]
[civilite_qualite_pm_petitionnaire_principal] [nom_complet_qualite_pm_petitionnaire_principal]
[nom_qualite_part_ou_pm_petitionnaire_principal] [prenom_qualite_part_ou_pm_petitionnaire_principal]
[civilite_qualite_part_ou_pm_petitionnaire_principal] [nom_complet_qualite_part_ou_pm_petitionnaire_principal]
[nom_petitionnaire_principal] (Déprécié, à ne plus utiliser)
[civilite_petitionnaire_principal] (Déprécié, à ne plus utiliser)
[nom_particulier_petitionnaire_principal] (Déprécié, à ne plus utiliser)
[prenom_particulier_petitionnaire_principal]    (Déprécié], à ne plus utiliser)
[raison_sociale_petitionnaire_principal]
[denomination_petitionnaire_principal]
[numero_petitionnaire_principal]    [voie_petitionnaire_principal]    [complement_petitionnaire_principal]
[lieu_dit_petitionnaire_principal]    [bp_petitionnaire_principal]
[code_postal_petitionnaire_principal]    [localite_petitionnaire_principal]    [cedex_petitionnaire_principal]
[pays_petitionnaire_principal]

--Dates importantes du dossier d''instruction
[date_depot_dossier]
[date_completude]
[date_dernier_depot]
[date_rejet_dossier]
[date_limite_dossier]
[date_envoi_dossier]
[date_evenement]
[delai_limite_decision]

--Code barres de la consultation
[code_barres_consultation]

--Données générales des données techniques
[co_projet_desc_donnees_techniques]    [am_projet_desc_donnees_techniques]
[dm_projet_desc_donnees_techniques]    [ope_proj_desc_donnees_techniques]
[projet_desc_donnees_techniques]
[co_tot_log_nb_donnees_techniques]    [co_station_place_nb_donnees_techniques]
[am_lot_max_nb_donnees_techniques]    [am_lot_max_shon_donnees_techniques]
-- Les données techniques suivantes concernent le tableau des surfaces
-- Elles récupèrent les valeurs du tableau composé des sous-destinations si au
-- moins une valeur de celui-ci est saisie
[su_cstr_shon_tot_donnees_techniques]    [su_demo_shon_tot_donnees_techniques]
[tab_surface_donnees_techniques]
[su_tot_shon_tot_donnees_techniques]

--Données techniques des AT
[at_type_travaux]
[at_effectif_public_total]
[at_categorie_etablissement]
[at_type_etablissement]
'
WHERE code = 'consultation';

-- Ajout de la requête dossier

UPDATE om_requete SET
requete = 'SELECT

    -- Données générales du dossier d''instruction
    dossier.dossier_libelle as libelle_dossier,
    dossier.dossier as code_barres_dossier,
    etat.libelle as etat_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,
    dossier.delai as delai_dossier,
    replace(dossier.terrain_references_cadastrales, '';'', '' '') as terrain_references_cadastrales_dossier,

    avis_decision.libelle as libelle_avis_decision,

    -- 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,

    -- 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,

    -- Noms des signataires
    division.chef as division_chef,
    direction.chef as direction_chef,
    direction.libelle as libelle_direction,
    direction.description as description_direction,

    -- Adresse du terrain du dossier d''instruction
    dossier.terrain_adresse_voie_numero as terrain_adresse_voie_numero_dossier,
    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,

    -- Nom et prénom de l''architecte
    CONCAT(architecte.prenom||'' '', architecte.nom) as architecte,

    --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,

    
    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,
    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,

    --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'' 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_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_particulier_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_particulier_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,
    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,

    --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'' 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_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_particulier_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_particulier_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,
    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,

    --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'' 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_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_particulier_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_particulier_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,
    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,

    --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'' 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_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_particulier_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_particulier_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,
    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,

    --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'' 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_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_particulier_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_particulier_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,
    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,

    --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 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_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_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_particulier_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_particulier_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,
    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,

    --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 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_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_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_particulier_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_particulier_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,
    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,

    --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 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_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_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_particulier_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_particulier_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,
    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,

    --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 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_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_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_particulier_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_particulier_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,
    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,

    --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 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_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_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_particulier_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_particulier_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,
    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,

    --Coordonnées du contrevenant 5

    CASE WHEN contrevenant_5.qualite=''particulier''
        THEN TRIM(CONCAT_WS('' '', contrevenant_5_civilite.libelle, contrevenant_5.particulier_nom, contrevenant_5.particulier_prenom))
        ELSE
            CASE WHEN contrevenant_5.personne_morale_nom IS NOT NULL OR contrevenant_5.personne_morale_prenom IS NOT NULL
                THEN TRIM(CONCAT_WS('' '', contrevenant_5.personne_morale_raison_sociale, contrevenant_5.personne_morale_denomination, ''représenté(e) par'', contrevenant_5_civilite.libelle, contrevenant_5.personne_morale_nom, contrevenant_5.personne_morale_prenom))
                ELSE TRIM(CONCAT(contrevenant_5.personne_morale_raison_sociale, '' '', contrevenant_5.personne_morale_denomination))
            END
    END as nom_complet_qualite_part_ou_pm_contrevenant_5,
    CASE WHEN contrevenant_5.qualite=''particulier'' OR contrevenant_5.personne_morale_nom IS NOT NULL OR contrevenant_5.personne_morale_prenom IS NOT NULL
        THEN contrevenant_5_civilite.libelle
        ELSE ''''
    END as civilite_qualite_part_ou_pm_contrevenant_5,
    CASE WHEN contrevenant_5.qualite=''particulier''
        THEN contrevenant_5.particulier_nom
        ELSE
            CASE WHEN contrevenant_5.personne_morale_nom IS NOT NULL
                THEN contrevenant_5.personne_morale_nom
                ELSE ''''
            END
    END as nom_qualite_part_ou_pm_contrevenant_5,
    CASE WHEN contrevenant_5.qualite=''particulier''
        THEN contrevenant_5.particulier_prenom
        ELSE
            CASE WHEN contrevenant_5.personne_morale_prenom IS NOT NULL
                THEN contrevenant_5.personne_morale_prenom
                ELSE ''''
            END
    END as prenom_qualite_part_ou_pm_contrevenant_5,
    CASE WHEN contrevenant_5.qualite=''particulier''
        THEN TRIM(CONCAT_WS('' '', contrevenant_5_civilite.libelle, contrevenant_5.particulier_nom, contrevenant_5.particulier_prenom))
        ELSE ''''
    END as nom_complet_qualite_part_contrevenant_5,
    CASE WHEN contrevenant_5.qualite=''particulier''
        THEN contrevenant_5_civilite.libelle
        ELSE ''''
    END as civilite_qualite_part_contrevenant_5,
    CASE WHEN contrevenant_5.qualite=''particulier''
        THEN contrevenant_5.particulier_nom
        ELSE ''''
    END as nom_qualite_part_contrevenant_5,
    CASE WHEN contrevenant_5.qualite=''particulier''
        THEN contrevenant_5.particulier_prenom
        ELSE ''''
    END as prenom_qualite_part_contrevenant_5,
    CASE WHEN contrevenant_5.personne_morale_nom IS NOT NULL OR contrevenant_5.personne_morale_prenom IS NOT NULL
        THEN TRIM(CONCAT_WS('' '', contrevenant_5.personne_morale_raison_sociale, contrevenant_5.personne_morale_denomination, ''représenté(e) par'', contrevenant_5_civilite.libelle, contrevenant_5.personne_morale_nom, contrevenant_5.personne_morale_prenom))
        ELSE TRIM(CONCAT(contrevenant_5.personne_morale_raison_sociale, '' '', contrevenant_5.personne_morale_denomination))
    END as nom_complet_qualite_pm_contrevenant_5,
    CASE WHEN contrevenant_5.personne_morale_nom IS NOT NULL OR contrevenant_5.personne_morale_prenom IS NOT NULL
        THEN contrevenant_5_civilite.libelle
        ELSE ''''
    END as civilite_qualite_pm_contrevenant_5,
    CASE WHEN contrevenant_5.personne_morale_nom IS NOT NULL
        THEN contrevenant_5.personne_morale_nom
        ELSE ''''
    END as nom_qualite_pm_contrevenant_5,
    CASE WHEN contrevenant_5.personne_morale_prenom IS NOT NULL
        THEN contrevenant_5.personne_morale_prenom
        ELSE ''''
    END as prenom_qualite_pm_contrevenant_5,
    CASE WHEN contrevenant_5.qualite=''particulier''
        THEN TRIM(CONCAT_WS('' '', contrevenant_5_civilite.libelle, contrevenant_5.particulier_nom, contrevenant_5.particulier_prenom))
        ELSE
            CASE WHEN contrevenant_5.personne_morale_nom IS NOT NULL OR contrevenant_5.personne_morale_prenom IS NOT NULL
                THEN TRIM(CONCAT_WS('' '', contrevenant_5.personne_morale_raison_sociale, contrevenant_5.personne_morale_denomination, ''représenté(e) par'', contrevenant_5_civilite.libelle, contrevenant_5.personne_morale_nom, contrevenant_5.personne_morale_prenom))
                ELSE TRIM(CONCAT(contrevenant_5.personne_morale_raison_sociale, '' '', contrevenant_5.personne_morale_denomination))
            END
    END as nom_contrevenant_5,
    CASE WHEN contrevenant_5.qualite=''particulier'' OR contrevenant_5.personne_morale_nom IS NOT NULL OR contrevenant_5.personne_morale_prenom IS NOT NULL
        THEN contrevenant_5_civilite.libelle
        ELSE ''''
    END as civilite_contrevenant_5,
    CASE WHEN contrevenant_5.qualite=''particulier''
        THEN contrevenant_5.particulier_nom
        ELSE
            CASE WHEN contrevenant_5.personne_morale_nom IS NOT NULL
                THEN contrevenant_5.personne_morale_nom
                ELSE ''''
            END
    END as nom_particulier_contrevenant_5,
    CASE WHEN contrevenant_5.qualite=''particulier''
        THEN contrevenant_5.particulier_prenom
        ELSE
            CASE WHEN contrevenant_5.personne_morale_prenom IS NOT NULL
                THEN contrevenant_5.personne_morale_prenom
                ELSE ''''
            END
    END as prenom_particulier_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,
    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,

    --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 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_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
            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_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_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_particulier_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_particulier_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,
    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,

    --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 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_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_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_particulier_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_particulier_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,
    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,

    --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 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_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_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_particulier_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_particulier_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,
    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,

    --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 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_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_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_particulier_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_particulier_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,
    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,

    --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 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_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_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_particulier_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_particulier_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,
    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,

    --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 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_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_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_particulier_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_particulier_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,
    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,

    --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 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_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_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_particulier_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_particulier_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,
    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,

    --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 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_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_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_particulier_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_particulier_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,
    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,

    --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 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_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_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_particulier_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_particulier_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,
    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,

    --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 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_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_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_particulier_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_particulier_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,
    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,

    --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 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_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_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_particulier_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_particulier_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,
    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,

    --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 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_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_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_particulier_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_particulier_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,
    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,

    --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 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_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_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_particulier_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_particulier_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,
    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,

    --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 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_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_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_particulier_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_particulier_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,
    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,

    --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 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_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_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_particulier_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_particulier_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,
    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,

    --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 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_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_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_particulier_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_particulier_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,
    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,

    --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.personne_morale_nom IS NOT NULL
        THEN plaignant_4.personne_morale_nom
        ELSE ''''
    END as nom_qualite_pm_plaignant_4,
    CASE WHEN plaignant_4.personne_morale_prenom IS NOT NULL
        THEN plaignant_4.personne_morale_prenom
        ELSE ''''
    END as prenom_qualite_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
            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_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_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_particulier_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_particulier_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,
    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,

    --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 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_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_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_particulier_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_particulier_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,
    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,

    -- 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 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_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_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_particulier_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_particulier_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,
    delegataire.numero as numero_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,

    -- 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'' 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_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_particulier_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_particulier_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.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 ''''
                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 petitionnaire_principal.numero
        ELSE delegataire.numero
    END as numero_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,

    -- Dates importantes du dossier d''instruction
    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,
    
    -- 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_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_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_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_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
        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_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_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_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_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
        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_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_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_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_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
        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_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_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
            ), '' / $'', '''')
        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_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_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_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_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
        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 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

FROM
    &DB_PREFIXEdossier
LEFT JOIN (
