/[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 3730 - (show annotations)
Fri Mar 18 11:50:26 2016 UTC (8 years, 10 months ago) by mbroquet
File size: 11519 byte(s)
Actualisation du trunk
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 ".DB_PREFIXE."lien_dossier_demandeur
42 ON lien_dossier_demandeur.dossier=dossier.dossier
43 AND lien_dossier_demandeur.petitionnaire_principal IS TRUE
44 LEFT JOIN ".DB_PREFIXE."demandeur
45 ON lien_dossier_demandeur.demandeur=demandeur.demandeur
46 LEFT JOIN ".DB_PREFIXE."dossier_autorisation
47 ON dossier_autorisation.dossier_autorisation = dossier.dossier_autorisation
48 LEFT JOIN ".DB_PREFIXE."dossier_autorisation_type_detaille
49 ON dossier_autorisation_type_detaille.dossier_autorisation_type_detaille = dossier_autorisation.dossier_autorisation_type_detaille
50 LEFT JOIN ".DB_PREFIXE."instructeur
51 ON dossier.instructeur = instructeur.instructeur
52 LEFT JOIN ".DB_PREFIXE."om_utilisateur
53 ON instructeur.om_utilisateur = om_utilisateur.om_utilisateur
54 LEFT JOIN ".DB_PREFIXE."etat
55 ON dossier.etat = etat.etat
56 LEFT JOIN ".DB_PREFIXE."division
57 ON dossier.division = division.division
58 LEFT JOIN ".DB_PREFIXE."avis_decision
59 ON avis_decision.avis_decision=dossier.avis_decision
60 LEFT JOIN ".DB_PREFIXE."om_collectivite
61 ON dossier.om_collectivite=om_collectivite.om_collectivite
62 ";
63
64
65 /*Champs du début de la requête*/
66 $champAffiche_debut_commun = array(
67 'dossier.dossier as "'._("dossier").'"',
68 'dossier.dossier_libelle as "'._("dossier").'"',
69 $case_demandeur.' as "'._("petitionnaire").'"',
70 $trim_concat_terrain,
71 'dossier_autorisation_type_detaille.libelle as "'._("nature_dossier").'"',
72 'to_char(dossier.date_depot ,\'DD/MM/YYYY\') as "'._("date_depot").'"',
73 'to_char(dossier.date_complet ,\'DD/MM/YYYY\') as "'._("date_complet").'"',
74 'CASE WHEN dossier.incomplet_notifie IS TRUE AND dossier.incompletude IS TRUE
75 THEN to_char(dossier.date_limite_incompletude ,\'DD/MM/YYYY\')
76 ELSE to_char(dossier.date_limite ,\'DD/MM/YYYY\')
77 END as "'._("date_limite").'"',
78 );
79
80 /*Champs de la fin de la requête*/
81 $champAffiche_fin_commun = array(
82 'etat.libelle as "'._("etat").'"',
83 'CASE WHEN dossier.enjeu_urba is TRUE
84 THEN \'<span class="om-icon om-icon-16 om-icon-fix enjeu_urba-16" title="'._("Enjeu URBA").'">URBA</span>\'
85 ELSE \'\'
86 END ||
87 CASE WHEN dossier.enjeu_erp is TRUE
88 THEN \'<span class="om-icon om-icon-16 om-icon-fix enjeu_erp-16" title="'._("Enjeu ERP").'">ERP</span>\'
89 ELSE \'\'
90 END
91 as "'._("enjeu").'"',
92 );
93 //
94 if ($_SESSION['niveau'] == '2') {
95 array_push($champAffiche_fin_commun, "om_collectivite.libelle as \""._("collectivite")."\"");
96 }
97
98 /*Liste des champs affichés dans le tableau de résultat*/
99 $champAffiche = array_merge($champAffiche_debut_commun,
100 array('instructeur.nom as "'._("instructeur").'"',
101 'division.code as "'._("division").'"',
102 ),
103 $champAffiche_fin_commun);
104
105 // Liste des autres dossiers d'instructions
106 if ($retourformulaire== 'dossier_instruction'){
107 $champAffiche=array(
108 'b.dossier as "'._("dossier_instruction").'"',
109 'b.dossier_libelle as "'._("dossier").'"',
110 'dossier_instruction_type.libelle as "'._("demande_type").'"',
111 'to_char(b.date_depot ,\'DD/MM/YYYY\') as "'._("date_depot").'"',
112 'b.etat as "'._("etat").'"',
113 );
114
115 $table =DB_PREFIXE.'dossier as a
116 JOIN '.DB_PREFIXE.'dossier_autorisation
117 ON a.dossier_autorisation=dossier_autorisation.dossier_autorisation
118 JOIN '.DB_PREFIXE.'dossier as b
119 ON b.dossier_autorisation=dossier_autorisation.dossier_autorisation
120 JOIN '.DB_PREFIXE.'dossier_instruction_type
121 ON dossier_instruction_type.dossier_instruction_type = b.dossier_instruction_type';
122 $selection = 'WHERE a.dossier=\''.$idx.'\'';
123 $tri= "order by b.date_depot ASC";
124
125 //Suppression du bouton d'ajout
126 $tab_actions['corner']['ajouter'] = NULL;
127
128 //Suppression du bouton d'ajout
129 $tab_actions['left']["consulter"] =
130 array('lien' => 'form.php?obj=dossier_instruction&amp;action=3'.'&amp;idx=',
131 'id' => '&retourformulaire='.$retourformulaire.'&retour=',
132 'lib' => '<span class="om-icon om-icon-16 om-icon-fix consult-16" title="'._('Consulter').'">'._('Consulter').'</span>',
133 'rights' => array('list' => array('dossier_instruction', 'dossier_instruction_consulter'), 'operator' => 'OR'),
134 'ordre' => 10,
135 'ajax' => false);
136
137 $tab_actions['content'] = $tab_actions['left']["consulter"];
138 $options[] = array(
139 "type"=>"pagination_select",
140 "display"=>false,
141 );
142 }
143 if ( $retourformulaire == "dossier_autorisation"){
144
145 //Suppression du bouton d'ajout
146 $tab_actions['corner']['ajouter'] = NULL;
147
148 //Suppression du bouton d'ajout
149 $tab_actions['left']["consulter"] =
150 array('lien' => '../scr/form.php?obj=dossier_instruction&amp;action=3&amp;idx=',
151 'id' => '&amp;retourformulaire='.$retourformulaire,
152 'lib' => '<span class="om-icon om-icon-16 om-icon-fix consult-16" title="'._('Consulter').'">'._('Consulter').'</span>',
153 'rights' => array('list' => array('dossier_instruction', 'dossier_instruction_consulter'), 'operator' => 'OR'),
154 'ordre' => 10,
155 'ajax' => false);
156
157 $tab_actions['content'] = $tab_actions['left']["consulter"] ;
158 }
159
160
161 // Affichage du bouton de redirection vers le SIG externe si configuré
162 // XXX Ajouter filtre pour afficher l'icone géolocalisation en fonction de la conf SIG du dossier
163 if($f->getParameter('option_sig') == 'sig_externe') {
164 $tab_actions['left']["localiser-sig-externe"] = array(
165 'lien' => 'form.php?obj=dossier_instruction&amp;action=140&amp;idx=',
166 'id' => '',
167 'lib' => '<span class="om-icon om-icon-16 om-icon-fix sig-16" title="'._('Localiser').'">'._('Localiser').'</span>',
168 'rights' => array('list' => array('dossier_instruction', 'dossier_instruction_consulter'), 'operator' => 'OR'),
169 'ordre' => 20,
170 'target' => "_SIG",
171 'ajax' => false);
172 }
173
174 /*Paramétrage des actions du portlet*/
175 $portlet_actions['modifier'] = array('lien' => "form.php?obj=dossier_instruction&amp;action=1&amp;idx=",
176 '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,
177 'lib' => "<span class=\"om-prev-icon om-icon-16 edit-16\" title=\"".
178 _("Modifier")."\">"._("Modifier")."</span>",
179 'ordre' => 10,
180 '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"), 'operator' => 'OR'),
181 'ajax' => false);
182
183 $portlet_actions['supprimer'] = array('lien' => "form.php?obj=dossier_instruction&amp;action=2&amp;idx=",
184 '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,
185 'lib' => "<span class=\"om-prev-icon om-icon-16 delete-16\" title=\"".
186 _("Supprimer")."\">"._("Supprimer")."</span>",
187 'ordre' => 28,
188 '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"), 'operator' => 'OR'),
189 'ajax' => false);
190
191 // Si filtre DI auxquels on peut proposer une autre décision
192 if (isset($extra_parameters["filtre_decision"])
193 && $extra_parameters["filtre_decision"] == true) {
194
195 // Suppression du bouton d'ajout
196 $tab_actions['corner']['ajouter'] = NULL;
197 // Augmentation de la limite
198 $serie = 50;
199 // Réinitialisation des options
200 $options = array();
201 // Suppression de la recherche avancée
202 $options[] = array(
203 'type' => 'search',
204 'display' => false);
205 // Suppression du sélecteur de pages
206 $options[] = array(
207 'type' => 'pagination_select',
208 'display' => false);
209 // Ajout jointure
210 $table .= "JOIN ".DB_PREFIXE."instruction ON instruction.instruction = (
211 SELECT instruction
212 FROM ".DB_PREFIXE."instruction
213 JOIN ".DB_PREFIXE."evenement on instruction.evenement=evenement.evenement
214 WHERE instruction.dossier = dossier.dossier
215 AND evenement.retour IS FALSE
216 ORDER BY date_evenement DESC, instruction DESC
217 LIMIT 1
218 )
219 JOIN ".DB_PREFIXE."evenement ON instruction.evenement=evenement.evenement
220 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')";
221 // Modification sélection
222 $selection = "WHERE
223 ((evenement.type = 'arrete' AND instruction.om_final_instruction IS TRUE) OR evenement.type = 'changement_decision')
224 AND evenement.retour IS FALSE
225 AND instruction.date_retour_signature IS NULL
226 AND instruction.date_envoi_rar IS NULL
227 AND instruction.date_retour_rar IS NULL
228 AND instruction.date_envoi_controle_legalite IS NULL
229 AND instruction.date_retour_controle_legalite IS NULL
230 AND etat.statut = 'encours'
231 AND om_utilisateur.login != '".$_SESSION['login']."'";
232 // Si collectivité de l'utilisateur niveau mono alors filtre sur celle-ci
233 if ($f->isCollectiviteMono($_SESSION['collectivite']) === true) {
234 $selection .= " AND dossier.om_collectivite=".$_SESSION['collectivite'];
235 }
236 // Modification tri
237 $tri = " ORDER BY dossier.dossier ";
238 }
239
240 ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26