1 |
<?php |
2 |
/** |
3 |
* Ce script permet de gérer le registre de l'affichage réglementaire : |
4 |
* - interface pour déclencher le traitement : lien vers une fonction javascript |
5 |
* qui permet l'appel en ajax du traitement et l'appel à l'édition, |
6 |
* - appel en ajax : traitement mise à jour de tous les dossiers en cours pour |
7 |
* ajouter une étape d'instruction qui correspond à l'événement attestation |
8 |
* d'affichage si l'élément n'en possède pas déjà un. |
9 |
* |
10 |
* @package openfoncier |
11 |
* @version SVN : $Id$ |
12 |
*/ |
13 |
|
14 |
// |
15 |
require_once "../obj/utils.class.php"; |
16 |
$f = new utils("nohtml", "affichage_reglementaire_registre", |
17 |
_("guichet unique")." -> "._("affichage reglementaire")." -> "._("registre")); |
18 |
|
19 |
// Récupération du paramétrage pour le tester |
20 |
$aff_obli = $f->getParameter('affichage_obligatoire'); |
21 |
|
22 |
// Si un affichage réglementaire des dossiers est demandé |
23 |
// et que le parametrage est correct (appel en ajax) |
24 |
if (isset($_GET['update']) and $aff_obli != "") { |
25 |
// Désactivation des logs car appel en ajax |
26 |
$f->disableLog(); |
27 |
// Récupération de la liste des dossiers d'instruction dont l'état est |
28 |
// "encours". Une jointure avec la table instruction permet de savoir si le |
29 |
// dossier a déjà été affiché ou non en récupérant l'id de l'événement qui |
30 |
// représente l'attestion de l'affichage réglementaire dans le paramétrage. |
31 |
$sql = "SELECT dossier.dossier, instruction.instruction |
32 |
FROM |
33 |
".DB_PREFIXE."dossier |
34 |
LEFT JOIN ".DB_PREFIXE."instruction |
35 |
ON dossier.dossier=instruction.dossier |
36 |
AND instruction.evenement=".$aff_obli." |
37 |
WHERE |
38 |
(select |
39 |
e.statut |
40 |
from |
41 |
".DB_PREFIXE."etat e |
42 |
where |
43 |
e.etat = dossier.etat |
44 |
) = 'encours'"; |
45 |
$res = $f->db->query($sql); |
46 |
$f->addToLog("app/affichage_reglementaire_registre.php: db->query(\"".$sql."\");", VERBOSE_MODE); |
47 |
$f->isDatabaseError($res); |
48 |
// Boucle sur les dossiers |
49 |
while ($row =& $res->fetchRow(DB_FETCHMODE_ASSOC)) { |
50 |
// Si aucune instruction n'a d'événement de type "affichage_obligatoire" |
51 |
// on créé une nouvelle instruction avec cet événement. |
52 |
if ($row["instruction"] == "") { |
53 |
// Récupération de l'identifiant de la lettretype correspondant à |
54 |
// l'événement qui représente l'attestion de l'affichage |
55 |
// réglementaire dans le paramétrage. |
56 |
$sql = "SELECT |
57 |
lettretype |
58 |
FROM |
59 |
".DB_PREFIXE."evenement |
60 |
WHERE |
61 |
evenement = ".$aff_obli; |
62 |
$lettretype = $f->db->getone($sql); |
63 |
$f->addToLog("app/affichage_reglementaire_registre.php: db->getone(\"".$sql."\");", VERBOSE_MODE); |
64 |
$f->isDatabaseError($lettretype); |
65 |
// Insertion de l'étape d'instruction |
66 |
$valF = array ( |
67 |
"instruction" => $f->db->nextId(DB_PREFIXE."instruction"), |
68 |
"destinataire" => $row['dossier'], |
69 |
"date_evenement" =>date("Y-m-d"), |
70 |
"evenement" =>$aff_obli, |
71 |
"lettretype" =>$lettretype, |
72 |
"complement" => "","complement2" =>"", |
73 |
"dossier" =>$row['dossier'],"action" =>"initialisation", |
74 |
"delai" => "2","etat" =>"notifier", |
75 |
"accord_tacite" =>"Oui","delai_notification" =>"1", |
76 |
"archive_delai" => "0","archive_date_complet" =>NULL, |
77 |
"archive_date_rejet" =>NULL,"archive_date_limite" =>NULL, |
78 |
"archive_date_notification_delai" => NULL, |
79 |
"archive_accord_tacite" =>"Non","archive_etat" =>"initialiser", |
80 |
"archive_date_decision" =>NULL, "archive_avis" => "", |
81 |
"archive_date_validite" =>NULL,"archive_date_achevement" =>NULL, |
82 |
"archive_date_chantier" =>NULL, "archive_date_conformite" => NULL, |
83 |
"archive_date_dernier_depot" => NULL, |
84 |
"complement3" =>"","complement4" =>"", |
85 |
"complement5" =>"", "complement6" => "", |
86 |
"complement7" =>"","complement8" =>"", |
87 |
"complement9" =>"", "complement10" => "", |
88 |
"complement11" =>"","complement12" =>"", |
89 |
"complement13" =>"", "complement14" => "", |
90 |
"complement15" =>"","avis_decision" =>NULL |
91 |
); |
92 |
$resInsertInstr = $f->db->autoExecute(DB_PREFIXE."instruction", $valF, DB_AUTOQUERY_INSERT); |
93 |
$f->addToLog("app/affichage_reglementaire_registre.php: db->autoexecute(\"".DB_PREFIXE."instruction\", ".print_r($valF, true).", DB_AUTOQUERY_INSERT);", VERBOSE_MODE); |
94 |
$f->isDatabaseError($resInsertInstr); |
95 |
} |
96 |
} |
97 |
} else { // Sinon affichage standard |
98 |
// Affichage de la structure de la page |
99 |
$f->setFlag(NULL); |
100 |
// Affichage de l'erreur de paramétrage si besoin |
101 |
if($aff_obli == "") { |
102 |
$f->addToMessage("error",_("Erreur de parametrage. Contactez votre administrateur.")); |
103 |
} |
104 |
$f->display(); |
105 |
// Ouverture de la balise - Conteneur d'onglets |
106 |
echo "<div id=\"formulaire\">\n\n"; |
107 |
// Affichage de la liste des onglets |
108 |
$f->layout->display_tab_lien_onglet1(_("imprimer le registre d'affichage reglementaire")); |
109 |
// Ouverture de la balise - Onglet 1 |
110 |
echo "\t<div id=\"tabs-1\">\n\n"; |
111 |
// Affichage de la description de l'écran |
112 |
$f->displayDescription(_("Cet ecran permet d'imprimer le registre d'affichage ". |
113 |
"reglementaire des dossiers d'instruction en cours. ". |
114 |
"La validation de ce traitement ajoute sur chacun des ". |
115 |
"dossiers d'instruction concernes la possibilite ". |
116 |
"d'imprimer une attestation d'affichage.")); |
117 |
// Ouverture du formulaire |
118 |
echo "\t<form"; |
119 |
echo " method=\"post\""; |
120 |
echo " id=\"affichage_reglementaire_registre_form\""; |
121 |
echo " action=\"#\""; |
122 |
echo ">\n"; |
123 |
// |
124 |
echo "<div id=\"msg\"></div>"; |
125 |
// Affichage du bouton si pas d'erreur de paramétrage |
126 |
if($aff_obli != "") { |
127 |
echo "\t<div class=\"formControls\">\n"; |
128 |
$f->layout->display_form_button(array("value" => _("Valider"), "onclick" => "affichage_reglementaire_registre(this); return false;", )); |
129 |
echo "\t</div>\n"; |
130 |
} |
131 |
// Fermeture du fomulaire |
132 |
echo "\t</form>\n"; |
133 |
// Fermeture de la balise - Onglet 1 |
134 |
echo "\n\t</div>\n"; |
135 |
// Fermeture de la balise - Conteneur d'onglets |
136 |
echo "</div>\n"; |
137 |
} |
138 |
|
139 |
?> |