1 |
<?php |
<?php |
2 |
/** |
/** |
3 |
* Edition des affichages réglementaire des dossiers |
* 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 |
* @package openfoncier |
11 |
* @version SVN : $Id$ |
* @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 |
/** |
/** |
20 |
* Fichiers requis |
* Gestion des erreurs : vérification du paramétrage |
21 |
*/ |
*/ |
22 |
require_once "../obj/utils.class.php"; |
$erreur = false; |
23 |
|
// Récupération de l'événement correspondant à l'instruction à insérer pour chaque dossier du registre |
24 |
|
$aff_obli = $f->getParameter('affichage_obligatoire'); |
25 |
|
// Si le paramétrage est vide ou pas numérique |
26 |
|
if ($aff_obli == "" or !is_numeric($aff_obli)) { |
27 |
|
$erreur = true; |
28 |
|
} else { |
29 |
|
// Vérification de l'existance de l'événement |
30 |
|
$sql_verif = "SELECT count(*) FROM ".DB_PREFIXE."evenement WHERE evenement = ".$aff_obli; |
31 |
|
$res_verif = $f->db->getOne($sql_verif); |
32 |
|
$f->addToLog("app/affichage_reglementaire_registre.php: db->getOne(\"".$sql_verif."\");", VERBOSE_MODE); |
33 |
|
$f->isDatabaseError($res_verif); |
34 |
|
// Si pas de correspondance d'événement dans la base |
35 |
|
if ($res_verif === '0') { |
36 |
|
$erreur = true; |
37 |
|
} |
38 |
|
} |
39 |
|
// Affichage d'un message si en erreur |
40 |
|
if ($erreur == true) { |
41 |
|
// Affichage de la structure de la page |
42 |
|
$f->setFlag(NULL); |
43 |
|
$f->display(); |
44 |
|
// Affichage de l'erreur et arrêt du script |
45 |
|
$f->displayMessage("error", _("Erreur de parametrage. Contactez votre administrateur.")); |
46 |
|
die(); |
47 |
|
} |
48 |
|
|
49 |
//Si un affichage réglementaire des dossiers est démandé |
// Si un affichage réglementaire des dossiers est demandé (appel en ajax) |
50 |
if ( isset($_GET['update']) ){ |
if (isset($_GET['update'])) { |
51 |
|
// Désactivation des logs car appel en ajax |
|
$f = new utils("nohtml", "edition_reglementaire"); |
|
52 |
$f->disableLog(); |
$f->disableLog(); |
53 |
|
// Récupération de la liste des dossiers d'instruction dont l'état est |
54 |
/*Récupérer la liste des dossiers d'instruction dont l'état dans le wf est |
// "encours". Une jointure avec la table instruction permet de savoir si le |
55 |
* "encours"*/ |
// dossier a déjà été affiché ou non en récupérant l'id de l'événement qui |
56 |
$sql = "SELECT |
// représente l'attestion de l'affichage réglementaire dans le paramétrage. |
57 |
dossier |
$sql = "SELECT dossier.dossier, instruction.instruction |
58 |
FROM |
FROM |
59 |
".DB_PREFIXE."dossier |
".DB_PREFIXE."dossier |
60 |
where |
LEFT JOIN ".DB_PREFIXE."instruction |
61 |
|
ON dossier.dossier=instruction.dossier |
62 |
|
AND instruction.evenement=".$aff_obli." |
63 |
|
WHERE |
64 |
(select |
(select |
65 |
e.statut |
e.statut |
66 |
from |
from |
68 |
where |
where |
69 |
e.etat = dossier.etat |
e.etat = dossier.etat |
70 |
) = 'encours'"; |
) = 'encours'"; |
|
|
|
|
$f->addToLog("edition_reglementaire.php: db->query(\"".$sql."\");", VERBOSE_MODE); |
|
71 |
$res = $f->db->query($sql); |
$res = $f->db->query($sql); |
72 |
|
$f->addToLog("app/affichage_reglementaire_registre.php: db->query(\"".$sql."\");", VERBOSE_MODE); |
73 |
$f->isDatabaseError($res); |
$f->isDatabaseError($res); |
74 |
|
// Boucle sur les dossiers |
75 |
//Pour chaque dossier correspondant, récupérer la liste des instructions |
while ($row =& $res->fetchRow(DB_FETCHMODE_ASSOC)) { |
76 |
while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)) { |
// Si aucune instruction n'a d'événement de type "affichage_obligatoire" |
77 |
|
// on créé une nouvelle instruction avec cet événement. |
78 |
$sql = "SELECT |
if ($row["instruction"] == "") { |
79 |
instruction |
// Récupération de l'identifiant de la lettretype correspondant à |
80 |
FROM |
// l'événement qui représente l'attestion de l'affichage |
81 |
".DB_PREFIXE."instruction |
// réglementaire dans le paramétrage. |
|
WHERE |
|
|
dossier = '".$row['dossier']."' |
|
|
AND evenement = ".$f->getParameter('affichage_obligatoire'); |
|
|
|
|
|
$f->addToLog("edition_reglementaire.php: db->query(\"".$sql."\");", VERBOSE_MODE); |
|
|
$resInstr = $f->db->query($sql); |
|
|
$f->isDatabaseError($resInstr); |
|
|
|
|
|
/* |
|
|
* Si aucune instruction n'a d'événement de type "affichage_obligatoire", |
|
|
* on créé une nouvelle instruction avec cet événement. |
|
|
* */ |
|
|
if ( $resInstr->numrows() == 0 ){ |
|
|
|
|
82 |
$sql = "SELECT |
$sql = "SELECT |
83 |
lettretype |
lettretype |
84 |
FROM |
FROM |
85 |
".DB_PREFIXE."evenement |
".DB_PREFIXE."evenement |
86 |
WHERE |
WHERE |
87 |
evenement = ".$f->getParameter('affichage_obligatoire'); |
evenement = ".$aff_obli; |
88 |
|
$lettretype = $f->db->getone($sql); |
89 |
$f->addToLog("edition_reglementaire.php: db->query(\"".$sql."\");", VERBOSE_MODE); |
$f->addToLog("app/affichage_reglementaire_registre.php: db->getone(\"".$sql."\");", VERBOSE_MODE); |
90 |
$resLT = $f->db->query($sql); |
$f->isDatabaseError($lettretype); |
91 |
$f->isDatabaseError($resLT); |
// Insertion de l'étape d'instruction |
|
|
|
|
$rowLT=& $resLT->fetchRow(DB_FETCHMODE_ASSOC); |
|
|
|
|
|
//Données de la nouvelle instruction |
|
92 |
$valF = array ( |
$valF = array ( |
93 |
"instruction" => $f->db->nextId(DB_PREFIXE."instruction"), |
"instruction" => $f->db->nextId(DB_PREFIXE."instruction"), |
94 |
"destinataire" => $row['dossier'], |
"destinataire" => $row['dossier'], |
95 |
"datecourrier" =>date("Y-m-d"), |
"date_evenement" =>date("Y-m-d"), |
96 |
"evenement" =>$f->getParameter('affichage_obligatoire'), |
"evenement" =>$aff_obli, |
97 |
"lettretype" =>$rowLT['lettretype'], |
"lettretype" =>$lettretype, |
98 |
"complement" => "","complement2" =>"", |
"complement" => "","complement2" =>"", |
99 |
"dossier" =>$row['dossier'],"action" =>"initialisation", |
"dossier" =>$row['dossier'],"action" =>"initialisation", |
100 |
"delai" => "2","etat" =>"notifier", |
"delai" => "2","etat" =>"notifier", |
106 |
"archive_date_decision" =>NULL, "archive_avis" => "", |
"archive_date_decision" =>NULL, "archive_avis" => "", |
107 |
"archive_date_validite" =>NULL,"archive_date_achevement" =>NULL, |
"archive_date_validite" =>NULL,"archive_date_achevement" =>NULL, |
108 |
"archive_date_chantier" =>NULL, "archive_date_conformite" => NULL, |
"archive_date_chantier" =>NULL, "archive_date_conformite" => NULL, |
109 |
|
"archive_date_dernier_depot" => NULL, |
110 |
"complement3" =>"","complement4" =>"", |
"complement3" =>"","complement4" =>"", |
111 |
"complement5" =>"", "complement6" => "", |
"complement5" =>"", "complement6" => "", |
112 |
"complement7" =>"","complement8" =>"", |
"complement7" =>"","complement8" =>"", |
115 |
"complement13" =>"", "complement14" => "", |
"complement13" =>"", "complement14" => "", |
116 |
"complement15" =>"","avis_decision" =>NULL |
"complement15" =>"","avis_decision" =>NULL |
117 |
); |
); |
118 |
|
$resInsertInstr = $f->db->autoExecute(DB_PREFIXE."instruction", $valF, DB_AUTOQUERY_INSERT); |
119 |
//Insertion de la nouvelle instruction |
$f->addToLog("app/affichage_reglementaire_registre.php: db->autoexecute(\"".DB_PREFIXE."instruction\", ".print_r($valF, true).", DB_AUTOQUERY_INSERT);", VERBOSE_MODE); |
120 |
$resInsertInstr = |
$f->isDatabaseError($resInsertInstr); |
|
$f->db->autoExecute(DB_PREFIXE."instruction", $valF, DB_AUTOQUERY_INSERT); |
|
121 |
} |
} |
122 |
} |
} |
123 |
|
} else { // Sinon affichage standard |
124 |
|
// Affichage de la structure de la page |
125 |
|
$f->setFlag(NULL); |
126 |
|
$f->display(); |
127 |
|
// Ouverture de la balise - Conteneur d'onglets |
128 |
|
echo "<div id=\"formulaire\">\n\n"; |
129 |
|
// Affichage de la liste des onglets |
130 |
|
$f->layout->display_tab_lien_onglet1(_("imprimer le registre d'affichage reglementaire")); |
131 |
|
// Ouverture de la balise - Onglet 1 |
132 |
|
echo "\t<div id=\"tabs-1\">\n\n"; |
133 |
|
// Affichage de la description de l'écran |
134 |
|
$f->displayDescription(_("Cet ecran permet d'imprimer le registre d'affichage ". |
135 |
|
"reglementaire des dossiers d'instruction en cours. ". |
136 |
|
"La validation de ce traitement ajoute sur chacun des ". |
137 |
|
"dossiers d'instruction concernes la possibilite ". |
138 |
|
"d'imprimer une attestation d'affichage.")); |
139 |
|
// Ouverture du formulaire |
140 |
|
echo "\t<form"; |
141 |
|
echo " method=\"post\""; |
142 |
|
echo " id=\"affichage_reglementaire_registre_form\""; |
143 |
|
echo " action=\"#\""; |
144 |
|
echo ">\n"; |
145 |
|
// |
146 |
|
echo "<div id=\"msg\"></div>"; |
147 |
|
// Affichage du bouton |
148 |
|
echo "\t<div class=\"formControls\">\n"; |
149 |
|
$f->layout->display_form_button(array("value" => _("Valider"), "onclick" => "affichage_reglementaire_registre(this); return false;", )); |
150 |
|
echo "\t</div>\n"; |
151 |
|
// Fermeture du fomulaire |
152 |
|
echo "\t</form>\n"; |
153 |
|
// Fermeture de la balise - Onglet 1 |
154 |
|
echo "\n\t</div>\n"; |
155 |
|
// Fermeture de la balise - Conteneur d'onglets |
156 |
|
echo "</div>\n"; |
157 |
} |
} |
|
//Chargement simple de la page |
|
|
else { |
|
|
|
|
|
$f = new utils(NULL, |
|
|
"edition_reglementaire", |
|
|
_("edition de l'affichage reglementaire des dossiers"), |
|
|
"ico_edition.png", |
|
|
"edition"); |
|
|
|
|
|
// Layout |
|
|
echo "<div id=\"formulaire\" class=\"ui-tabs ui-widget ui-widget-content ui-corner-all\">"; |
|
|
echo "<ul class=\"ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all\">"; |
|
|
echo "<li class=\"ui-state-default ui-corner-top ui-tabs-selected ui-state-active\"> |
|
|
<a href=\"#tabs-1\" id=\"main\">"._("Edition reglementaire")."</a> |
|
|
</li>"; |
|
|
echo "</ul>"; |
|
|
echo "<div id=\"tabs-1\" class=\"ui-tabs-panel ui-widget-content ui-corner-bottom\">"; |
|
|
echo '<div class="formulaire">'; |
|
|
|
|
|
//Affichage du formulaire |
|
|
echo "\t<form name='f1' id='f1' action='#' class=\"formEntete ui-corner-all\">\n"; |
|
|
|
|
|
echo "<div id='msg'></div>"; |
|
|
|
|
|
// Paramétrage et affichage des champs du formulaire |
|
|
$validation = 0; |
|
|
$maj = 0; |
|
|
$champs = array("message"); |
|
|
|
|
|
require_once '../obj/om_formulaire.class.php'; |
|
|
$form = new formulaire(NULL, $validation, $maj, $champs); |
|
|
|
|
|
$form->setLib("message", _("A partir de cette page, vous allez pouvoir recuperer un PDF contenant la liste des dossiers en cours d'instruction afin de pouvoir en effectuer un affichage reglementaire dans votre mairie.")); |
|
|
$form->setType("message", ""); |
|
|
// |
|
|
$form->entete(); |
|
|
$form->afficher($champs, $validation, false, false); |
|
|
$form->enpied(); |
|
|
|
|
|
//Bouton pour le traitement |
|
|
echo "\t<div id='bouton-PDF' class=\"formControls\">\n"; |
|
|
echo "\t\t<input type=\"button\" value=\""._("Lancer le traitement")."\""; |
|
|
echo " name=\"validation\""; |
|
|
echo " onclick='dossier_reglementaire();'"; |
|
|
echo " />\n"; |
|
|
echo "\t</div>\n"; |
|
|
|
|
|
// Fermeture du formulaire |
|
|
echo "\t</form>\n"; |
|
|
echo "</div>"; |
|
|
echo "</div>"; |
|
|
echo "</div>"; |
|
|
} |
|
|
?> |
|
158 |
|
|
159 |
|
?> |