/[openfoncier]/trunk/sql/pgsql/dossier_instruction.export_csv.inc.php
ViewVC logotype

Contents of /trunk/sql/pgsql/dossier_instruction.export_csv.inc.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 19307 - (show annotations)
Wed Nov 6 10:57:56 2024 UTC (2 months, 3 weeks ago) by softime
File size: 16744 byte(s)
merge: fusion de la branche d'intégration 6.9.0-develop dans le trunk

1 <?php
2
3 /**
4 * Afin de ne pas afficher le code HTML utilisé pour le champ "nature des
5 * travaux", il est nécessaire de redéclarer pour l'export csv, les champs à
6 * afficher.
7 */
8
9 // Récupère toutes les variables du script *.inc
10 include('../sql/pgsql/dossier_instruction.inc.php');
11
12
13
14 // Récupération du bon champs selon la qualité du demandeur
15 // On récupère le délégataire s'il est renseigné, sinon le pétitionnaire principal
16 $case_correspondant = "
17 CASE WHEN demandeur_delegataire.qualite IS NULL
18 THEN CASE WHEN demandeur.qualite='particulier'
19 THEN TRIM(CONCAT(demandeur.particulier_nom, ' ', demandeur.particulier_prenom))
20 ELSE TRIM(CONCAT(demandeur.personne_morale_raison_sociale, ' ', demandeur.personne_morale_denomination))
21 END
22 ELSE CASE WHEN demandeur_delegataire.qualite='particulier'
23 THEN TRIM(CONCAT(demandeur_delegataire.particulier_nom, ' ', demandeur_delegataire.particulier_prenom))
24 ELSE TRIM(CONCAT(demandeur_delegataire.personne_morale_raison_sociale, ' ', demandeur_delegataire.personne_morale_denomination))
25 END
26 END
27 ";
28
29 $common_surface = "
30 CASE
31 WHEN donnees_techniques.su2_avt_shon1 IS NOT NULL
32 OR donnees_techniques.su2_avt_shon2 IS NOT NULL
33 OR donnees_techniques.su2_avt_shon3 IS NOT NULL
34 OR donnees_techniques.su2_avt_shon4 IS NOT NULL
35 OR donnees_techniques.su2_avt_shon5 IS NOT NULL
36 OR donnees_techniques.su2_avt_shon6 IS NOT NULL
37 OR donnees_techniques.su2_avt_shon7 IS NOT NULL
38 OR donnees_techniques.su2_avt_shon8 IS NOT NULL
39 OR donnees_techniques.su2_avt_shon9 IS NOT NULL
40 OR donnees_techniques.su2_avt_shon10 IS NOT NULL
41 OR donnees_techniques.su2_avt_shon11 IS NOT NULL
42 OR donnees_techniques.su2_avt_shon12 IS NOT NULL
43 OR donnees_techniques.su2_avt_shon13 IS NOT NULL
44 OR donnees_techniques.su2_avt_shon14 IS NOT NULL
45 OR donnees_techniques.su2_avt_shon15 IS NOT NULL
46 OR donnees_techniques.su2_avt_shon16 IS NOT NULL
47 OR donnees_techniques.su2_avt_shon17 IS NOT NULL
48 OR donnees_techniques.su2_avt_shon18 IS NOT NULL
49 OR donnees_techniques.su2_avt_shon19 IS NOT NULL
50 OR donnees_techniques.su2_avt_shon20 IS NOT NULL
51 OR donnees_techniques.su2_avt_shon21 IS NOT NULL
52 OR donnees_techniques.su2_avt_shon22 IS NOT NULL
53 OR donnees_techniques.su2_avt_shon23 IS NOT NULL
54 OR donnees_techniques.su2_avt_shon24 IS NOT NULL
55 OR donnees_techniques.su2_avt_shon_tot IS NOT NULL
56 OR donnees_techniques.su2_cstr_shon1 IS NOT NULL
57 OR donnees_techniques.su2_cstr_shon2 IS NOT NULL
58 OR donnees_techniques.su2_cstr_shon3 IS NOT NULL
59 OR donnees_techniques.su2_cstr_shon4 IS NOT NULL
60 OR donnees_techniques.su2_cstr_shon5 IS NOT NULL
61 OR donnees_techniques.su2_cstr_shon6 IS NOT NULL
62 OR donnees_techniques.su2_cstr_shon7 IS NOT NULL
63 OR donnees_techniques.su2_cstr_shon8 IS NOT NULL
64 OR donnees_techniques.su2_cstr_shon9 IS NOT NULL
65 OR donnees_techniques.su2_cstr_shon10 IS NOT NULL
66 OR donnees_techniques.su2_cstr_shon11 IS NOT NULL
67 OR donnees_techniques.su2_cstr_shon12 IS NOT NULL
68 OR donnees_techniques.su2_cstr_shon13 IS NOT NULL
69 OR donnees_techniques.su2_cstr_shon14 IS NOT NULL
70 OR donnees_techniques.su2_cstr_shon15 IS NOT NULL
71 OR donnees_techniques.su2_cstr_shon16 IS NOT NULL
72 OR donnees_techniques.su2_cstr_shon17 IS NOT NULL
73 OR donnees_techniques.su2_cstr_shon18 IS NOT NULL
74 OR donnees_techniques.su2_cstr_shon19 IS NOT NULL
75 OR donnees_techniques.su2_cstr_shon20 IS NOT NULL
76 OR donnees_techniques.su2_cstr_shon21 IS NOT NULL
77 OR donnees_techniques.su2_cstr_shon22 IS NOT NULL
78 OR donnees_techniques.su2_cstr_shon23 IS NOT NULL
79 OR donnees_techniques.su2_cstr_shon24 IS NOT NULL
80 OR donnees_techniques.su2_cstr_shon_tot IS NOT NULL
81 OR donnees_techniques.su2_chge_shon1 IS NOT NULL
82 OR donnees_techniques.su2_chge_shon2 IS NOT NULL
83 OR donnees_techniques.su2_chge_shon3 IS NOT NULL
84 OR donnees_techniques.su2_chge_shon4 IS NOT NULL
85 OR donnees_techniques.su2_chge_shon5 IS NOT NULL
86 OR donnees_techniques.su2_chge_shon6 IS NOT NULL
87 OR donnees_techniques.su2_chge_shon7 IS NOT NULL
88 OR donnees_techniques.su2_chge_shon8 IS NOT NULL
89 OR donnees_techniques.su2_chge_shon9 IS NOT NULL
90 OR donnees_techniques.su2_chge_shon10 IS NOT NULL
91 OR donnees_techniques.su2_chge_shon11 IS NOT NULL
92 OR donnees_techniques.su2_chge_shon12 IS NOT NULL
93 OR donnees_techniques.su2_chge_shon13 IS NOT NULL
94 OR donnees_techniques.su2_chge_shon14 IS NOT NULL
95 OR donnees_techniques.su2_chge_shon15 IS NOT NULL
96 OR donnees_techniques.su2_chge_shon16 IS NOT NULL
97 OR donnees_techniques.su2_chge_shon17 IS NOT NULL
98 OR donnees_techniques.su2_chge_shon18 IS NOT NULL
99 OR donnees_techniques.su2_chge_shon19 IS NOT NULL
100 OR donnees_techniques.su2_chge_shon20 IS NOT NULL
101 OR donnees_techniques.su2_chge_shon21 IS NOT NULL
102 OR donnees_techniques.su2_chge_shon22 IS NOT NULL
103 OR donnees_techniques.su2_chge_shon23 IS NOT NULL
104 OR donnees_techniques.su2_chge_shon24 IS NOT NULL
105 OR donnees_techniques.su2_chge_shon_tot IS NOT NULL
106 OR donnees_techniques.su2_demo_shon1 IS NOT NULL
107 OR donnees_techniques.su2_demo_shon2 IS NOT NULL
108 OR donnees_techniques.su2_demo_shon3 IS NOT NULL
109 OR donnees_techniques.su2_demo_shon4 IS NOT NULL
110 OR donnees_techniques.su2_demo_shon5 IS NOT NULL
111 OR donnees_techniques.su2_demo_shon6 IS NOT NULL
112 OR donnees_techniques.su2_demo_shon7 IS NOT NULL
113 OR donnees_techniques.su2_demo_shon8 IS NOT NULL
114 OR donnees_techniques.su2_demo_shon9 IS NOT NULL
115 OR donnees_techniques.su2_demo_shon10 IS NOT NULL
116 OR donnees_techniques.su2_demo_shon11 IS NOT NULL
117 OR donnees_techniques.su2_demo_shon12 IS NOT NULL
118 OR donnees_techniques.su2_demo_shon13 IS NOT NULL
119 OR donnees_techniques.su2_demo_shon14 IS NOT NULL
120 OR donnees_techniques.su2_demo_shon15 IS NOT NULL
121 OR donnees_techniques.su2_demo_shon16 IS NOT NULL
122 OR donnees_techniques.su2_demo_shon17 IS NOT NULL
123 OR donnees_techniques.su2_demo_shon18 IS NOT NULL
124 OR donnees_techniques.su2_demo_shon19 IS NOT NULL
125 OR donnees_techniques.su2_demo_shon20 IS NOT NULL
126 OR donnees_techniques.su2_demo_shon21 IS NOT NULL
127 OR donnees_techniques.su2_demo_shon22 IS NOT NULL
128 OR donnees_techniques.su2_demo_shon23 IS NOT NULL
129 OR donnees_techniques.su2_demo_shon24 IS NOT NULL
130 OR donnees_techniques.su2_demo_shon_tot IS NOT NULL
131 OR donnees_techniques.su2_sup_shon1 IS NOT NULL
132 OR donnees_techniques.su2_sup_shon2 IS NOT NULL
133 OR donnees_techniques.su2_sup_shon3 IS NOT NULL
134 OR donnees_techniques.su2_sup_shon4 IS NOT NULL
135 OR donnees_techniques.su2_sup_shon5 IS NOT NULL
136 OR donnees_techniques.su2_sup_shon6 IS NOT NULL
137 OR donnees_techniques.su2_sup_shon7 IS NOT NULL
138 OR donnees_techniques.su2_sup_shon8 IS NOT NULL
139 OR donnees_techniques.su2_sup_shon9 IS NOT NULL
140 OR donnees_techniques.su2_sup_shon10 IS NOT NULL
141 OR donnees_techniques.su2_sup_shon11 IS NOT NULL
142 OR donnees_techniques.su2_sup_shon12 IS NOT NULL
143 OR donnees_techniques.su2_sup_shon13 IS NOT NULL
144 OR donnees_techniques.su2_sup_shon14 IS NOT NULL
145 OR donnees_techniques.su2_sup_shon15 IS NOT NULL
146 OR donnees_techniques.su2_sup_shon16 IS NOT NULL
147 OR donnees_techniques.su2_sup_shon17 IS NOT NULL
148 OR donnees_techniques.su2_sup_shon18 IS NOT NULL
149 OR donnees_techniques.su2_sup_shon19 IS NOT NULL
150 OR donnees_techniques.su2_sup_shon20 IS NOT NULL
151 OR donnees_techniques.su2_sup_shon21 IS NOT NULL
152 OR donnees_techniques.su2_sup_shon22 IS NOT NULL
153 OR donnees_techniques.su2_sup_shon23 IS NOT NULL
154 OR donnees_techniques.su2_sup_shon24 IS NOT NULL
155 OR donnees_techniques.su2_sup_shon_tot IS NOT NULL
156 OR donnees_techniques.su2_tot_shon_tot IS NOT NULL
157 ";
158
159 $surface_creee = $common_surface . "
160 THEN donnees_techniques.su2_cstr_shon_tot
161 ELSE donnees_techniques.su_cstr_shon_tot
162 END";
163
164 $surface_totale = $common_surface . "
165 THEN donnees_techniques.su2_tot_shon_tot
166 ELSE donnees_techniques.su_tot_shon_tot
167 END";
168
169 // Ajout des colonnes concernant la demat
170
171 // Jointure permettant d'afficher l'id platau du service consultant et le
172 // libellé du service consultant dans les exports si le mode service consulté est
173 // actif
174 $table .= $f->is_option_mode_service_consulte_enabled() === true ? '
175 LEFT JOIN '.DB_PREFIXE.'consultation_entrante
176 ON dossier.dossier = consultation_entrante.dossier
177 ' :
178 '';
179 $table .= "
180 LEFT JOIN
181 (SELECT
182 dossier,
183 external_uid
184 FROM
185 ".DB_PREFIXE."lien_id_interne_uid_externe
186 WHERE object = 'dossier'
187 AND category = 'platau'
188 ) AS dossier_platau
189 ON
190 dossier_platau.dossier = dossier.dossier
191 LEFT JOIN
192 (SELECT
193 dossier,
194 external_uid
195 FROM
196 ".DB_PREFIXE."lien_id_interne_uid_externe
197 WHERE object = 'dossier_consultation'
198 AND category = 'platau'
199 ) AS consultation_platau
200 ON
201 consultation_platau.dossier = dossier.dossier
202 LEFT JOIN
203 (SELECT
204 dossier,
205 ARRAY_TO_STRING(ARRAY_AGG(external_uid ORDER BY external_uid ASC), ', ') AS external_uid
206 FROM
207 ".DB_PREFIXE."lien_id_interne_uid_externe
208 WHERE
209 object = 'piece'
210 AND category = 'platau'
211 GROUP BY
212 dossier) AS pieces_platau
213 ON
214 pieces_platau.dossier = dossier.dossier
215 LEFT JOIN
216 (SELECT
217 dossier,
218 ARRAY_TO_STRING(ARRAY_AGG(object || ' : ' || external_uid), ', ') AS external_uid
219 FROM
220 ".DB_PREFIXE."lien_id_interne_uid_externe
221 WHERE
222 object != 'piece'
223 AND object != 'dossier'
224 AND object != 'dossier_consultation'
225 AND category = 'platau'
226 GROUP BY
227 dossier) AS autres_platau
228 ON
229 autres_platau.dossier = dossier.dossier
230 ";
231
232 $table .= sprintf('
233 LEFT JOIN (
234 %1$slien_dossier_demandeur AS lien_dossier_demandeur_delegataire
235 JOIN %1$sdemandeur as demandeur_delegataire
236 ON lien_dossier_demandeur_delegataire.demandeur = demandeur_delegataire.demandeur AND demandeur_delegataire.type_demandeur = \'delegataire\'
237 )
238 ON dossier.dossier = lien_dossier_demandeur_delegataire.dossier AND lien_dossier_demandeur_delegataire.petitionnaire_principal IS FALSE
239 LEFT JOIN %1$sdonnees_techniques
240 ON donnees_techniques.dossier_instruction = dossier.dossier
241 LEFT JOIN %1$sarchitecte
242 ON architecte.architecte = donnees_techniques.architecte',
243 DB_PREFIXE) ;
244
245 // Permet l'ajout de la commune si l'option est activé
246 $champAffiche_debut_num_dossier = array(
247 'dossier.dossier as "'.__("dossier").'"',
248 'dossier.dossier_libelle as "'.__("dossier").'"',
249 );
250
251 if ($f->is_option_dossier_commune_enabled() === true) {
252 $champAffiche_debut_num_dossier[] = "commune.libelle as \"".__("commune")."\"";
253 }
254
255
256 $famille_travaux_select = sprintf(
257 '-- use_column_name_to_sort
258 (SELECT
259 string_agg(ftc.libelle::text, \', \') as famille_travaux_libelle
260 FROM (
261 SELECT DISTINCT
262 dossier,
263 famille_travaux.libelle
264 FROM
265 %1$slien_dossier_nature_travaux
266 INNER JOIN %1$snature_travaux
267 ON lien_dossier_nature_travaux.nature_travaux = nature_travaux.nature_travaux
268 INNER JOIN %1$sfamille_travaux
269 ON nature_travaux.famille_travaux = famille_travaux.famille_travaux
270 ORDER BY famille_travaux.libelle
271 ) as ftc
272 WHERE ftc.dossier = dossier.dossier
273 GROUP BY dossier) AS "%2$s"',
274 DB_PREFIXE,
275 __("Famille de travaux")
276 );
277
278 $nature_travaux_select = sprintf(
279 '-- use_column_name_to_sort
280 (SELECT
281 string_agg(ntc.libelle::text, \', \' order by ntc.libelle) as nature_travaux_libelle
282 FROM (
283 SELECT DISTINCT
284 dossier,
285 nature_travaux.libelle
286 FROM
287 %1$slien_dossier_nature_travaux
288 INNER JOIN %1$snature_travaux
289 ON lien_dossier_nature_travaux.nature_travaux = nature_travaux.nature_travaux
290 ) as ntc
291 WHERE ntc.dossier = dossier.dossier
292 GROUP BY dossier) AS "%2$s"',
293 DB_PREFIXE,
294 __("Nature de travaux")
295 );
296
297 // description/nature des travaux. En cas de modif, bloc de code aussi présent dans
298 // dossier.form.inc.php (le formulaire du DI)', 'om_requete' et 'stats à la demande'
299 $description_projet_select = sprintf(
300 "-- use_column_name_to_sort
301 (SELECT
302 CONCAT_WS(
303 '\n',
304 CASE WHEN co_projet_desc = ''
305 THEN NULL
306 ELSE TRIM(co_projet_desc)
307 END,
308 CASE WHEN ope_proj_desc = ''
309 THEN NULL
310 ELSE TRIM(ope_proj_desc)
311 END,
312 CASE WHEN am_projet_desc = ''
313 THEN NULL
314 ELSE TRIM(am_projet_desc)
315 END,
316 CASE WHEN dm_projet_desc = ''
317 THEN NULL
318 ELSE TRIM(dm_projet_desc)
319 END,
320 CASE WHEN donnees_techniques.erp_cstr_neuve IS TRUE
321 THEN '".str_replace("'", "''", __('erp_cstr_neuve'))."' END,
322 CASE WHEN donnees_techniques.erp_trvx_acc IS TRUE
323 THEN '".str_replace("'", "''", __('erp_trvx_acc'))."' END,
324 CASE WHEN donnees_techniques.erp_extension IS TRUE
325 THEN '".str_replace("'", "''", __('erp_extension'))."' END,
326 CASE WHEN donnees_techniques.erp_rehab IS TRUE
327 THEN '".str_replace("'", "''", __('erp_rehab'))."' END,
328 CASE WHEN donnees_techniques.erp_trvx_am IS TRUE
329 THEN '".str_replace("'", "''", __('erp_trvx_am'))."' END,
330 CASE WHEN donnees_techniques.erp_vol_nouv_exist IS TRUE
331 THEN '".str_replace("'", "''", __('erp_vol_nouv_exist'))."' END,
332 CASE WHEN mh_design_appel_denom = ''
333 THEN NULL
334 ELSE TRIM(mh_design_appel_denom)
335 END,
336 CASE WHEN mh_loc_denom = ''
337 THEN NULL
338 ELSE TRIM(mh_loc_denom)
339 END
340 ) AS description_projet
341 FROM %1\$sdonnees_techniques
342 WHERE donnees_techniques.dossier_instruction = dossier.dossier
343 ) AS \"%2\$s\"",
344 DB_PREFIXE,
345 __("Description du projet")
346 );
347
348 // Modifie la méthode de récupération de la nature des travaux
349 $champAffiche_debut_commun = array(
350 $case_demandeur.' as "'.__("petitionnaire").'"',
351 $case_correspondant.' as "'.__("correspondant").'"',
352 'TRIM(CONCAT(architecte.nom, \' \', architecte.prenom)) as "'.__("architecte (nom)").'"',
353 'architecte.nom_cabinet as "'.__("architecte (cabinet)").'"',
354 $trim_concat_terrain.'as "'.__("localisation").'"',
355 'dossier_autorisation_type_detaille.libelle as "'.__("nature_dossier").'"',
356 'donnees_techniques.co_tot_log_nb as "'.__("nombre de logements créés").'"',
357 $surface_creee.' as "'.__("surface créée").'"',
358 $surface_totale.' as "'.__("surface totale").'"',
359 $famille_travaux_select,
360 $nature_travaux_select,
361 $description_projet_select,
362 'to_char(dossier.date_depot ,\'DD/MM/YYYY\') as "'.__("date_depot").'"',
363 'to_char(dossier.date_complet ,\'DD/MM/YYYY\') as "'.__("date_complet").'"',
364 'CASE WHEN dossier.incomplet_notifie IS TRUE AND dossier.incompletude IS TRUE
365 THEN to_char(dossier.date_limite_incompletude ,\'DD/MM/YYYY\')
366 ELSE to_char(dossier.date_limite ,\'DD/MM/YYYY\')
367 END as "'.__("date_limite").'"',
368 );
369
370 $champAffiche_demat = array(
371 'dossier_platau.external_uid as "dossier Plat\'AU"',
372 'consultation_platau.external_uid as "consultation Plat\'AU"',
373 'pieces_platau.external_uid as "pièce(s) Plat\'AU"',
374 'autres_platau.external_uid as "autres objets Plat\'AU"',
375 );
376 $champAffiche_demat_sc = array();
377 if ($f->is_option_mode_service_consulte_enabled() === true) {
378 $champAffiche_demat_sc = array(
379 'consultation_entrante.service_consultant_id as "'.__('Service consultant : identifiant').'"',
380 'consultation_entrante.service_consultant_libelle as "'.__('Service consultant : libellé').'"',
381 );
382 }
383
384 // Redéfinit la liste des champs à afficher
385 $champAffiche = array_merge(
386 $champAffiche_debut_num_dossier,
387 $champAffiche_debut_commun,
388 array('instructeur.nom as "'.__("instructeur").'"',
389 'division.code as "'.__("division").'"',
390 ),
391 $champAffiche_fin_commun,
392 $champAffiche_demat,
393 $champAffiche_demat_sc
394 );
395
396 ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26