1 |
<?php |
2 |
/** |
3 |
* Ce script permet d'afficher une vue gloable des workflows en fonction d'un |
4 |
* type de dossier d'instrcution. |
5 |
* |
6 |
* @package openfoncier |
7 |
* @version SVN : $Id: affichage_reglementaire_attestation.php 1468 2013-03-17 19:59:02Z fmichon $ |
8 |
*/ |
9 |
|
10 |
// |
11 |
require_once "../obj/utils.class.php"; |
12 |
$f = new utils(NULL, "workflows", |
13 |
_("parametrage")." -> "._("workflows")); |
14 |
|
15 |
|
16 |
/** |
17 |
* |
18 |
*/ |
19 |
// Ouverture de la balise - Conteneur d'onglets |
20 |
echo "<div id=\"formulaire\">\n\n"; |
21 |
// Affichage de la liste des onglets |
22 |
$f->layout->display_tab_lien_onglet_un(_("par type de dossier d'instruction")); |
23 |
// Ouverture de la balise - Onglet 1 |
24 |
echo "\t<div id=\"tabs-1\">\n\n"; |
25 |
/** |
26 |
* Affichage du formulaire de sélection du type de dossier d'instruction |
27 |
*/ |
28 |
// Inclusion de la classe de gestion des formulaires |
29 |
require_once "../obj/om_formulaire.class.php"; |
30 |
// Ouverture du formulaire |
31 |
echo "\t<form"; |
32 |
echo " method=\"post\""; |
33 |
echo " id=\"workflows_form\""; |
34 |
echo " action=\"../app/workflows.php\""; |
35 |
echo ">\n"; |
36 |
// Paramétrage des champs du formulaire |
37 |
$champs = array("di_type"); |
38 |
// Création d'un nouvel objet de type formulaire |
39 |
$form = new formulaire(NULL, 0, 0, $champs); |
40 |
// Paramétrage des champs du formulaire |
41 |
$form->setLib("di_type", _("Type de dossier d'instruction")); |
42 |
$form->setType("di_type", "select"); |
43 |
$form->setTaille("di_type", 25); |
44 |
$form->setOnChange("di_type", "submit()"); |
45 |
$form->setMax("di_type", 25); |
46 |
$form->setVal("di_type", ($f->get_submitted_post_value("di_type") != null) ? $f->get_submitted_post_value("di_type") : ""); |
47 |
// |
48 |
$sql = " |
49 |
SELECT |
50 |
dossier_instruction_type.dossier_instruction_type, |
51 |
concat(dossier_autorisation_type_detaille.code, ' - ', dossier_instruction_type.code,' - ',dossier_instruction_type.libelle) as lib |
52 |
FROM ".DB_PREFIXE."dossier_instruction_type |
53 |
LEFT JOIN ".DB_PREFIXE."dossier_autorisation_type_detaille |
54 |
ON dossier_instruction_type.dossier_autorisation_type_detaille=dossier_autorisation_type_detaille.dossier_autorisation_type_detaille |
55 |
ORDER BY lib"; |
56 |
$res = $f->db->query($sql); |
57 |
$f->addToLog("app/workflows.php: db->query(\"".$sql."\");", VERBOSE_MODE); |
58 |
$f->isDatabaseError($res); |
59 |
// |
60 |
$contenu = array(array(""), array(_("choisir le type de dossier d'instruction"))); |
61 |
while ($row =& $res->fetchrow()) { |
62 |
$contenu[0][] = $row[0]; |
63 |
$contenu[1][] = $row[1]; |
64 |
} |
65 |
$form->setSelect("di_type", $contenu); |
66 |
// Affichage du formulaire |
67 |
$form->entete(); |
68 |
$form->afficher($champs, 0, false, false); |
69 |
$form->enpied(); |
70 |
//// Affichage du bouton |
71 |
//echo "\t<div class=\"formControls\">\n"; |
72 |
//$f->layout->display_form_button(array("value" => _("Valider"))); |
73 |
//echo "\t</div>\n"; |
74 |
// Fermeture du fomulaire |
75 |
echo "\t</form>\n"; |
76 |
/** |
77 |
* |
78 |
*/ |
79 |
if ($f->get_submitted_post_value("di_type") == null || $f->get_submitted_post_value("di_type") == "") { |
80 |
// Fermeture de la balise - Onglet 1 |
81 |
echo "\n\t</div>\n"; |
82 |
// Fermeture de la balise - Conteneur d'onglets |
83 |
echo "</div>\n"; |
84 |
// |
85 |
die(); |
86 |
} |
87 |
|
88 |
/** |
89 |
* |
90 |
*/ |
91 |
// |
92 |
$sql = " |
93 |
SELECT |
94 |
concat(dossier_autorisation_type_detaille.code, ' - ', dossier_instruction_type.code,' - ',dossier_instruction_type.libelle) as lib |
95 |
FROM ".DB_PREFIXE."dossier_instruction_type |
96 |
LEFT JOIN ".DB_PREFIXE."dossier_autorisation_type_detaille |
97 |
ON dossier_instruction_type.dossier_autorisation_type_detaille=dossier_autorisation_type_detaille.dossier_autorisation_type_detaille |
98 |
WHERE dossier_instruction_type.dossier_instruction_type=".$f->get_submitted_post_value("di_type"); |
99 |
$res = $f->db->getone($sql); |
100 |
$f->addToLog("app/workflows.php: db->getone(\"".$sql."\");", VERBOSE_MODE); |
101 |
$f->isDatabaseError($res); |
102 |
// |
103 |
echo "<h1>"; |
104 |
echo $res; |
105 |
echo "</h1>"; |
106 |
echo "<br/>"; |
107 |
// |
108 |
|
109 |
// |
110 |
$sql = " |
111 |
SELECT |
112 |
etat1.etat as etat, |
113 |
etat1.statut as etat_statut, |
114 |
etat1.libelle as etat_libelle, |
115 |
evenement.evenement as evenement, |
116 |
evenement.libelle as evenement_libelle, |
117 |
evenement.retour as evenement_retour, |
118 |
evenement.action as evenement_action, |
119 |
evenement.etat as evenement_action_parametrage_etat, |
120 |
evenement.restriction as evenement_restriction, |
121 |
evenement.delai as delai, |
122 |
evenement.accord_tacite as accord_tacite, |
123 |
evenement.delai_notification as delai_notification, |
124 |
evt_ret_rar.evenement as evenement_evenement_retour_ar, |
125 |
evt_ret_rar.libelle as evenement_evenement_retour_ar_lib, |
126 |
evt_suiv_tacite.evenement as evenement_evenement_suivant_tacite, |
127 |
evt_suiv_tacite.libelle as evenement_evenement_suivant_tacite_lib, |
128 |
evt_ret_sign.evenement as evenement_evenement_retour_signature, |
129 |
evt_ret_sign.libelle as evenement_evenement_retour_signature_lib, |
130 |
etat2.statut as evenement_action_parametrage_etat_statut, |
131 |
action.regle_etat as action_regle_etat, |
132 |
action.regle_delai as action_regle_delai, |
133 |
action.regle_accord_tacite as action_regle_accord_tacite, |
134 |
action.regle_avis as action_regle_avis, |
135 |
action.regle_date_limite as action_regle_date_limite, |
136 |
action.regle_date_notification_delai as action_regle_date_notification_delai, |
137 |
action.regle_date_complet as action_regle_date_complet, |
138 |
action.regle_date_validite as action_regle_date_validite, |
139 |
action.regle_date_decision as action_regle_date_decision, |
140 |
action.regle_date_chantier as action_regle_date_chantier, |
141 |
action.regle_date_achevement as action_regle_date_achevement, |
142 |
action.regle_date_conformite as action_regle_date_conformite, |
143 |
action.regle_date_rejet as action_regle_date_rejet, |
144 |
action.regle_date_dernier_depot as action_regle_date_dernier_depot, |
145 |
action.regle_date_limite_incompletude as action_regle_date_limite_incompletude, |
146 |
action.regle_delai_incompletude as action_regle_delai_incompletude |
147 |
FROM ".DB_PREFIXE."transition |
148 |
LEFT JOIN ".DB_PREFIXE."etat as etat1 |
149 |
ON etat1.etat=transition.etat |
150 |
LEFT JOIN ".DB_PREFIXE."evenement |
151 |
ON transition.evenement=evenement.evenement |
152 |
LEFT JOIN ".DB_PREFIXE."lien_dossier_instruction_type_evenement |
153 |
ON lien_dossier_instruction_type_evenement.evenement=transition.evenement |
154 |
LEFT JOIN ".DB_PREFIXE."action |
155 |
ON evenement.action=action.action |
156 |
LEFT JOIN ".DB_PREFIXE."etat as etat2 |
157 |
ON etat2.etat=evenement.etat |
158 |
LEFT JOIN ".DB_PREFIXE."evenement as evt_ret_rar |
159 |
ON evenement.evenement_retour_ar=evt_ret_rar.evenement |
160 |
LEFT JOIN ".DB_PREFIXE."evenement as evt_suiv_tacite |
161 |
ON evenement.evenement_suivant_tacite=evt_suiv_tacite.evenement |
162 |
LEFT JOIN ".DB_PREFIXE."evenement as evt_ret_sign |
163 |
ON evenement.evenement_retour_signature=evt_ret_sign.evenement |
164 |
WHERE lien_dossier_instruction_type_evenement.dossier_instruction_type=".$f->get_submitted_post_value("di_type")." |
165 |
ORDER BY etat1.statut DESC, etat1.etat, evenement_action, etat2.statut DESC, evenement.libelle"; |
166 |
$res = $f->db->query($sql); |
167 |
$f->addToLog("app/workflows.php: db->query(\"".$sql."\");", VERBOSE_MODE); |
168 |
$f->isDatabaseError($res); |
169 |
// |
170 |
$transitions = array(); |
171 |
while ($row =& $res->fetchrow(DB_FETCHMODE_ASSOC)) { |
172 |
$transitions[] = $row; |
173 |
} |
174 |
|
175 |
// |
176 |
$etat = ""; |
177 |
$champsRegle = array("action_regle_delai"=>_("delai"), |
178 |
"action_regle_accord_tacite"=>_("accord_tacite"), |
179 |
"action_regle_avis"=>_("avis"), |
180 |
"action_regle_date_limite"=>_("date_limite"), |
181 |
"action_regle_date_notification_delai"=>_("date_notification_delai"), |
182 |
"action_regle_date_complet"=>_("date_complet"), |
183 |
"action_regle_date_validite"=>_("date_validite"), |
184 |
"action_regle_date_decision"=>_("date_decision"), |
185 |
"action_regle_date_chantier"=>_("date_chantier"), |
186 |
"action_regle_date_achevement"=>_("date_achevement"), |
187 |
"action_regle_date_conformite"=>_("date_conformite"), |
188 |
"action_regle_date_rejet"=>_("date_rejet"), |
189 |
"action_regle_date_dernier_depot"=>_("date_dernier_depot"), |
190 |
"action_regle_date_limite_incompletude"=>_("date_limite_incompletude"), |
191 |
"action_regle_delai_incompletude"=>_("delai_incompletude")); |
192 |
//compter le nombre d'actions |
193 |
$i = 0; |
194 |
foreach($transitions as $key => $transition) { |
195 |
// |
196 |
if ($transition["etat"] != $etat) { |
197 |
if ($etat != "") { |
198 |
echo "</ul>"; |
199 |
echo "<br/>"; |
200 |
} |
201 |
// |
202 |
echo "<h1>"; |
203 |
echo "<a name=\"".$transition["etat"]."\" href=\"../scr/form.php?obj=etat&idx=".$transition["etat"]."&action=3\">"; |
204 |
echo "<span class=\"wf_etat_statut label"; |
205 |
if ($transition["etat_statut"] == "encours") { |
206 |
echo " label-info"; |
207 |
} |
208 |
echo "\">"; |
209 |
echo $transition["etat"]." - ".$transition["etat_libelle"]; |
210 |
echo "</span>"; |
211 |
echo "</h1>"; |
212 |
echo "</a>"; |
213 |
// |
214 |
echo "<ul>"; |
215 |
// |
216 |
$etat = $transition["etat"]; |
217 |
|
218 |
echo "<h3>"; |
219 |
echo _("Evenements suivants possibles : "); |
220 |
echo "</h3>"; |
221 |
} |
222 |
// |
223 |
|
224 |
echo "<li>"; |
225 |
//Lien pour afficher les informations de l'événement |
226 |
echo "<span class=\"wf_evenement\">"; |
227 |
echo "<a href=\"../scr/form.php?obj=evenement&idx=".$transition["evenement"]."&action=3\">"; |
228 |
echo mb_strtoupper($transition["evenement_libelle"], 'UTF-8'); |
229 |
// Si c'est un événement "retour" |
230 |
if ($transition["evenement_retour"] == 't') { |
231 |
// |
232 |
echo " <span class=\"backgroundEvenementRetour\">"._("[RETOUR]")."</span>"; |
233 |
} |
234 |
echo "</a>"; |
235 |
echo "</span> "; |
236 |
|
237 |
if ($transition["evenement_action_parametrage_etat"] != NULL |
238 |
&& $transition["action_regle_etat"] != NULL) { |
239 |
echo "<br/> ⇒ "; |
240 |
echo _("etat du dossier : "); |
241 |
|
242 |
//Pas besoin de mettre d'ancre si l'état est l'état final |
243 |
if ($transition["evenement_action_parametrage_etat"]!="cloturer"){ |
244 |
echo "<a href=\"#".$transition["evenement_action_parametrage_etat"]."\">"; |
245 |
} |
246 |
echo "<span class=\"label"; |
247 |
if ($transition["evenement_action_parametrage_etat_statut"] == "encours") { |
248 |
echo " label-info"; |
249 |
} |
250 |
echo "\">"; |
251 |
echo $transition["evenement_action_parametrage_etat"]; |
252 |
echo "</span>"; |
253 |
|
254 |
if ($transition["evenement_action_parametrage_etat"]!="cloturer"){ |
255 |
echo "</a>"; |
256 |
} |
257 |
|
258 |
echo "<br/>"; |
259 |
echo "<span class=\"wf_evenement_action\" id=\"".$i."\"> ⇒ "; |
260 |
echo _("action sur le dossier : "); |
261 |
echo "<a href=\"../scr/form.php?obj=action&idx=".$transition["evenement_action"]."&action=3\">"; |
262 |
echo $transition["evenement_action"]; |
263 |
echo "</a>"; |
264 |
echo "</span>"; |
265 |
echo "<br/>"; |
266 |
|
267 |
//Liste des règles de calcul de l'action |
268 |
$action = false; |
269 |
foreach ($champsRegle as $key => $value) { |
270 |
|
271 |
|
272 |
|
273 |
//Si le champ n'est pas null |
274 |
if ( !empty($transition[$key]) && $transition[$key] != "null" ){ |
275 |
|
276 |
//On ouvre la balise de la pop-up |
277 |
if ( $action === false){ |
278 |
echo "<div class=\"regle_action\" title=\""._("Regle(s) de calcul")."\" id=\"regle_action".$i."\">"; |
279 |
$action = true; |
280 |
} |
281 |
|
282 |
$temp = explode("+", $transition[$key]); |
283 |
$res = ""; |
284 |
foreach ($temp as $val){ |
285 |
$res .= (( isset($transition[$val]) && |
286 |
!empty($transition[$val]) && |
287 |
$transition[$val] != "null" )? |
288 |
$transition[$val].(is_numeric($transition[$val])?" mois":""): |
289 |
$val.(is_numeric($val)?" mois":"")) |
290 |
." + "; |
291 |
} |
292 |
$res = substr($res, 0, -3); |
293 |
|
294 |
echo " › "; |
295 |
printf (_('%s = %s'), ucfirst($value), $res); |
296 |
echo "</br>"; |
297 |
} |
298 |
} |
299 |
//On ferme la balise de la pop-up |
300 |
if ( $action === true ){ |
301 |
echo "</div>"; |
302 |
} |
303 |
//Incrément du numéro d'identifiant du combo action/règles |
304 |
$i++; |
305 |
|
306 |
//Affichage des champs d'événements suivant s'ils sont non nuls |
307 |
if ( !empty($transition["evenement_evenement_retour_ar"]) && $transition["evenement_evenement_retour_ar"] != "null"){ |
308 |
echo " ⇒ "; |
309 |
echo _("evenement_retour_ar")." : "; |
310 |
echo "<a href=\"../scr/form.php?obj=evenement&idx=".$transition["evenement_evenement_retour_ar_lib"]."&action=3\">"; |
311 |
echo mb_strtoupper($transition["evenement_evenement_retour_ar_lib"], 'UTF-8'); |
312 |
echo "</a>"; |
313 |
echo "<br/>"; |
314 |
} |
315 |
|
316 |
if ( !empty($transition["evenement_evenement_suivant_tacite"]) && $transition["evenement_evenement_suivant_tacite"] != "null"){ |
317 |
echo " ⇒ "; |
318 |
echo _("evenement_suivant_tacite")." : "; |
319 |
echo "<a href=\"../scr/form.php?obj=evenement&idx=".$transition["evenement_evenement_suivant_tacite_lib"]."&action=3\">"; |
320 |
echo mb_strtoupper($transition["evenement_evenement_suivant_tacite_lib"], 'UTF-8'); |
321 |
echo "</a>"; |
322 |
echo "<br/>"; |
323 |
} |
324 |
|
325 |
if ( !empty($transition["evenement_evenement_retour_signature"]) && $transition["evenement_evenement_retour_signature"] != "null"){ |
326 |
echo " ⇒ "; |
327 |
echo _("evenement_retour_signature")." : "; |
328 |
echo "<a href=\"../scr/form.php?obj=evenement&idx=".$transition["evenement_evenement_retour_signature_lib"]."&action=3\">"; |
329 |
echo mb_strtoupper($transition["evenement_evenement_retour_signature_lib"], 'UTF-8'); |
330 |
echo "</a>"; |
331 |
echo "<br/>"; |
332 |
} |
333 |
|
334 |
//Si une restriction existe, on l'affiche |
335 |
if ( !empty($transition["evenement_restriction"]) && $transition["evenement_restriction"] != "null"){ |
336 |
echo " ⇒ "; |
337 |
echo _("restriction")." : ".$transition["evenement_restriction"]; |
338 |
echo "<br/>"; |
339 |
} |
340 |
} |
341 |
echo "</li>"; |
342 |
} |
343 |
|
344 |
// Fermeture de la balise - Onglet 1 |
345 |
echo "\n\t</div>\n"; |
346 |
// Fermeture de la balise - Conteneur d'onglets |
347 |
echo "</div>\n"; |
348 |
|
349 |
?> |