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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 6565 - (show annotations)
Fri Apr 21 16:14:15 2017 UTC (7 years, 9 months ago) by softime
File size: 12160 byte(s)
Merge de la version 4.0.0

1 <?php
2 /**
3 *
4 * @package openfoncier
5 * @version SVN : $Id: dossier_instruction.inc.php 6128 2016-03-08 15:43:42Z jymadier $
6 */
7
8 /*Etend la classe dossier*/
9 include('../sql/pgsql/dossier.inc.php');
10
11 /*Titre de la page*/
12 $ent = _("instruction")." -> "._("dossiers d'instruction");
13 if (isset($idz) && trim($idz) != '') {
14 $ent .= "->&nbsp;".mb_strtoupper($idz, "UTF-8")."&nbsp;";
15 } else {
16 $idz = '';
17 }
18
19 $tab_title = _("DI");
20
21 /* Test SQL pour récupérer les bons champs selon la qualité du demandeur :
22 * particulier ou personne morale*/
23 $case_demandeur = "CASE WHEN demandeur.qualite='particulier'
24 THEN TRIM(CONCAT(demandeur.particulier_nom, ' ', demandeur.particulier_prenom))
25 ELSE TRIM(CONCAT(demandeur.personne_morale_raison_sociale, ' ', demandeur.personne_morale_denomination))
26 END";
27
28 /*Formatage de l'adresse du terrain, concatenantion de plusieurs champs pour les
29 * mettrent dans une seule colonne*/
30 $trim_concat_terrain ='TRIM(CONCAT(dossier.terrain_adresse_voie_numero,\' \',
31 dossier.terrain_adresse_voie,\' \',
32 dossier.terrain_adresse_lieu_dit,\' \',
33 dossier.terrain_adresse_code_postal,\' \',
34 dossier.terrain_adresse_localite,\' \',
35 dossier.terrain_adresse_bp,\' \',
36 dossier.terrain_adresse_cedex
37 )) as "'._("terrain").'"';
38
39 /*Tables sur lesquels la requête va s'effectuer*/
40 $table = DB_PREFIXE."dossier
41 LEFT JOIN (
42 SELECT *
43 FROM ".DB_PREFIXE."lien_dossier_demandeur
44 INNER JOIN ".DB_PREFIXE."demandeur
45 ON demandeur.demandeur = lien_dossier_demandeur.demandeur
46 WHERE lien_dossier_demandeur.petitionnaire_principal IS TRUE
47 AND LOWER(demandeur.type_demandeur) = LOWER('petitionnaire')
48 ) as demandeur
49 ON demandeur.dossier = dossier.dossier
50 LEFT JOIN ".DB_PREFIXE."dossier_autorisation
51 ON dossier_autorisation.dossier_autorisation = dossier.dossier_autorisation
52 LEFT JOIN ".DB_PREFIXE."dossier_autorisation_type_detaille
53 ON dossier_autorisation_type_detaille.dossier_autorisation_type_detaille = dossier_autorisation.dossier_autorisation_type_detaille
54 LEFT JOIN ".DB_PREFIXE."instructeur
55 ON dossier.instructeur = instructeur.instructeur
56 LEFT JOIN ".DB_PREFIXE."om_utilisateur
57 ON instructeur.om_utilisateur = om_utilisateur.om_utilisateur
58 LEFT JOIN ".DB_PREFIXE."instructeur as instructeur2
59 ON dossier.instructeur_2 = instructeur2.instructeur
60 LEFT JOIN ".DB_PREFIXE."om_utilisateur as om_utilisateur2
61 ON instructeur2.om_utilisateur = om_utilisateur2.om_utilisateur
62 LEFT JOIN ".DB_PREFIXE."etat
63 ON dossier.etat = etat.etat
64 LEFT JOIN ".DB_PREFIXE."division
65 ON dossier.division = division.division
66 LEFT JOIN ".DB_PREFIXE."avis_decision
67 ON avis_decision.avis_decision=dossier.avis_decision
68 LEFT JOIN ".DB_PREFIXE."om_collectivite
69 ON dossier.om_collectivite=om_collectivite.om_collectivite
70 LEFT OUTER JOIN ".DB_PREFIXE."arrondissement
71 ON arrondissement.code_postal = dossier.terrain_adresse_code_postal
72 ";
73
74
75 /*Champs du début de la requête*/
76 $champAffiche_debut_commun = array(
77 'dossier.dossier as "'._("dossier").'"',
78 'dossier.dossier_libelle as "'._("dossier").'"',
79 $case_demandeur.' as "'._("petitionnaire").'"',
80 $trim_concat_terrain,
81 'dossier_autorisation_type_detaille.libelle as "'._("nature_dossier").'"',
82 'to_char(dossier.date_depot ,\'DD/MM/YYYY\') as "'._("date_depot").'"',
83 'to_char(dossier.date_complet ,\'DD/MM/YYYY\') as "'._("date_complet").'"',
84 'CASE WHEN dossier.incomplet_notifie IS TRUE AND dossier.incompletude IS TRUE
85 THEN to_char(dossier.date_limite_incompletude ,\'DD/MM/YYYY\')
86 ELSE to_char(dossier.date_limite ,\'DD/MM/YYYY\')
87 END as "'._("date_limite").'"',
88 );
89
90 /*Champs de la fin de la requête*/
91 $champAffiche_fin_commun = array(
92 'etat.libelle as "'._("etat").'"',
93 'CASE WHEN dossier.enjeu_urba is TRUE
94 THEN \'<span class="om-icon om-icon-16 om-icon-fix enjeu_urba-16" title="'._("Enjeu URBA").'">URBA</span>\'
95 ELSE \'\'
96 END ||
97 CASE WHEN dossier.enjeu_erp is TRUE
98 THEN \'<span class="om-icon om-icon-16 om-icon-fix enjeu_erp-16" title="'._("Enjeu ERP").'">ERP</span>\'
99 ELSE \'\'
100 END
101 as "'._("enjeu").'"',
102 );
103 //
104 if ($_SESSION['niveau'] == '2') {
105 array_push($champAffiche_fin_commun, "om_collectivite.libelle as \""._("collectivite")."\"");
106 }
107
108 $selection .= "AND groupe.code != 'CTX'";
109
110 /*Liste des champs affichés dans le tableau de résultat*/
111 $champAffiche = array_merge($champAffiche_debut_commun,
112 array('instructeur.nom as "'._("instructeur").'"',
113 'division.code as "'._("division").'"',
114 ),
115 $champAffiche_fin_commun);
116
117 // Suppression du bouton d'ajout, qui n'est pas affiché par défaut dans les listings de
118 // dossiers d'instruction
119 $tab_actions['corner']['ajouter'] = NULL;
120
121 // Liste des autres dossiers d'instructions
122 if ($retourformulaire== 'dossier_instruction'){
123 $champAffiche=array(
124 'b.dossier as "'._("dossier_instruction").'"',
125 'b.dossier_libelle as "'._("dossier").'"',
126 'dossier_instruction_type.libelle as "'._("demande_type").'"',
127 'to_char(b.date_depot ,\'DD/MM/YYYY\') as "'._("date_depot").'"',
128 'b.etat as "'._("etat").'"',
129 );
130
131 $table =DB_PREFIXE.'dossier as a
132 JOIN '.DB_PREFIXE.'dossier_autorisation
133 ON a.dossier_autorisation=dossier_autorisation.dossier_autorisation
134 JOIN '.DB_PREFIXE.'dossier as b
135 ON b.dossier_autorisation=dossier_autorisation.dossier_autorisation
136 JOIN '.DB_PREFIXE.'dossier_instruction_type
137 ON dossier_instruction_type.dossier_instruction_type = b.dossier_instruction_type';
138 $selection = 'WHERE a.dossier=\''.$idx.'\'';
139 $tri= "order by b.date_depot ASC";
140
141 //
142 $tab_actions['left']["consulter"] =
143 array('lien' => 'form.php?obj=dossier_instruction&amp;action=3'.'&amp;idx=',
144 'id' => '&retourformulaire='.$retourformulaire.'&retour=',
145 'lib' => '<span class="om-icon om-icon-16 om-icon-fix consult-16" title="'._('Consulter').'">'._('Consulter').'</span>',
146 'rights' => array('list' => array('dossier_instruction', 'dossier_instruction_consulter'), 'operator' => 'OR'),
147 'ordre' => 10,
148 'ajax' => false);
149
150 $tab_actions['content'] = $tab_actions['left']["consulter"];
151 $options[] = array(
152 "type"=>"pagination_select",
153 "display"=>false,
154 );
155 }
156 if ( $retourformulaire == "dossier_autorisation"){
157
158 //
159 $tab_actions['left']["consulter"] =
160 array('lien' => '../scr/form.php?obj=dossier_instruction&amp;action=3&amp;idx=',
161 'id' => '&amp;retourformulaire='.$retourformulaire,
162 'lib' => '<span class="om-icon om-icon-16 om-icon-fix consult-16" title="'._('Consulter').'">'._('Consulter').'</span>',
163 'rights' => array('list' => array('dossier_instruction', 'dossier_instruction_consulter'), 'operator' => 'OR'),
164 'ordre' => 10,
165 'ajax' => false);
166
167 $tab_actions['content'] = $tab_actions['left']["consulter"] ;
168 }
169
170
171 // Affichage du bouton de redirection vers le SIG externe si configuré
172 // XXX Ajouter filtre pour afficher l'icone géolocalisation en fonction de la conf SIG du dossier
173 if($f->getParameter('option_sig') == 'sig_externe') {
174 $tab_actions['left']["localiser-sig-externe"] = array(
175 'lien' => 'form.php?obj=dossier_instruction&amp;action=140&amp;idx=',
176 'id' => '',
177 'lib' => '<span class="om-icon om-icon-16 om-icon-fix sig-16" title="'._('Localiser').'">'._('Localiser').'</span>',
178 'rights' => array('list' => array('dossier_instruction', 'dossier_instruction_consulter'), 'operator' => 'OR'),
179 'ordre' => 20,
180 'target' => "_SIG",
181 'ajax' => false);
182 }
183
184 /*Paramétrage des actions du portlet*/
185 $portlet_actions['modifier'] = array('lien' => "form.php?obj=dossier_instruction&amp;action=1&amp;idx=",
186 'id' => "&amp;idz=$idz&amp;premier=0&amp;advs_id=&amp;recherche=&amp;tricol=-0&amp;selectioncol=&amp;valide=&amp;retour=form&retourformulaire=".$obj."&retourformulaire2=".$retourformulaire,
187 'lib' => "<span class=\"om-prev-icon om-icon-16 edit-16\" title=\"".
188 _("Modifier")."\">"._("Modifier")."</span>",
189 'ordre' => 10,
190 'rights' => array('list' => array("dossier_instruction_mes_encours_modifier", "dossier_instruction_tous_encours_modifier", "dossier_instruction_mes_clotures_modifier", "dossier_instruction_tous_clotures_modifier", "dossier_instruction_modifier",
191 "dossier_contentieux_mes_infraction", "dossier_contentieux_toutes_infraction"), 'operator' => 'OR'),
192 'ajax' => false);
193
194 $portlet_actions['supprimer'] = array('lien' => "form.php?obj=dossier_instruction&amp;action=2&amp;idx=",
195 'id' => "&amp;idz=$idz&amp;premier=0&amp;advs_id=&amp;recherche=&amp;tricol=-0&amp;selectioncol=&amp;valide=&amp;retour=form&retourformulaire=".$obj."&retourformulaire2=".$retourformulaire,
196 'lib' => "<span class=\"om-prev-icon om-icon-16 delete-16\" title=\"".
197 _("Supprimer")."\">"._("Supprimer")."</span>",
198 'ordre' => 28,
199 'rights' => array('list' => array("dossier_instruction_mes_encours_supprimer", "dossier_instruction_tous_encours_supprimer", "dossier_instruction_mes_clotures_supprimer", "dossier_instruction_tous_clotures_supprimer", "dossier_instruction_supprimer",
200 "dossier_contentieux_mes_infraction", "dossier_contentieux_toutes_infraction"), 'operator' => 'OR'),
201 'ajax' => false);
202
203 // Si filtre DI auxquels on peut proposer une autre décision
204 if (isset($extra_parameters["filtre_decision"])
205 && $extra_parameters["filtre_decision"] == true) {
206
207 // Augmentation de la limite
208 $serie = 50;
209 // Réinitialisation des options
210 $options = array();
211 // Suppression de la recherche avancée
212 $options[] = array(
213 'type' => 'search',
214 'display' => false);
215 // Suppression du sélecteur de pages
216 $options[] = array(
217 'type' => 'pagination_select',
218 'display' => false);
219 // Ajout jointure
220 $table .= "JOIN ".DB_PREFIXE."instruction ON instruction.instruction = (
221 SELECT instruction
222 FROM ".DB_PREFIXE."instruction
223 JOIN ".DB_PREFIXE."evenement on instruction.evenement=evenement.evenement
224 WHERE instruction.dossier = dossier.dossier
225 AND evenement.retour IS FALSE
226 ORDER BY date_evenement DESC, instruction DESC
227 LIMIT 1
228 )
229 JOIN ".DB_PREFIXE."evenement ON instruction.evenement=evenement.evenement
230 JOIN ".DB_PREFIXE."dossier_instruction_type ON dossier.dossier_instruction_type=dossier_instruction_type.dossier_instruction_type AND dossier_instruction_type.code IN ('P', 'T', 'M')";
231 // Modification sélection
232 $selection = "WHERE
233 groupe.code != 'CTX'
234 AND ((evenement.type = 'arrete' AND instruction.om_final_instruction IS TRUE) OR evenement.type = 'changement_decision')
235 AND evenement.retour IS FALSE
236 AND instruction.date_retour_signature IS NULL
237 AND instruction.date_envoi_rar IS NULL
238 AND instruction.date_retour_rar IS NULL
239 AND instruction.date_envoi_controle_legalite IS NULL
240 AND instruction.date_retour_controle_legalite IS NULL
241 AND etat.statut = 'encours'
242 AND om_utilisateur.login != '".$_SESSION['login']."'";
243 // Si collectivité de l'utilisateur niveau mono alors filtre sur celle-ci
244 if ($f->isCollectiviteMono($_SESSION['collectivite']) === true) {
245 $selection .= " AND dossier.om_collectivite=".$_SESSION['collectivite'];
246 }
247 // Modification tri
248 $tri = " ORDER BY dossier.dossier ";
249 }
250
251 // Gestion des groupes et confidentialité
252 include ('../sql/pgsql/filter_group.inc.php');
253
254 ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26