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 |
* Fichiers requis |
// |
|
*/ |
|
15 |
require_once "../obj/utils.class.php"; |
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 démandé |
// Si un affichage réglementaire des dossiers est demandé |
23 |
if ( isset($_GET['update']) ){ |
// et que le parametrage est correct (appel en ajax) |
24 |
|
if (isset($_GET['update']) and $aff_obli != "") { |
25 |
$f = new utils("nohtml"); |
// Désactivation des logs car appel en ajax |
26 |
$f->disableLog(); |
$f->disableLog(); |
27 |
$f->addHTMLHeadJs(array("../js/script.js")); |
// 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 |
/*Récupérer la liste des dossiers d'instruction dont l'état dans le wf est |
// dossier a déjà été affiché ou non en récupérant l'id de l'événement qui |
30 |
* "encours"*/ |
// représente l'attestion de l'affichage réglementaire dans le paramétrage. |
31 |
$sql = "SELECT |
$sql = "SELECT dossier.dossier, instruction.instruction |
|
dossier |
|
32 |
FROM |
FROM |
33 |
".DB_PREFIXE."dossier |
".DB_PREFIXE."dossier |
34 |
where |
LEFT JOIN ".DB_PREFIXE."instruction |
35 |
|
ON dossier.dossier=instruction.dossier |
36 |
|
AND instruction.evenement=".$aff_obli." |
37 |
|
WHERE |
38 |
(select |
(select |
39 |
e.statut |
e.statut |
40 |
from |
from |
42 |
where |
where |
43 |
e.etat = dossier.etat |
e.etat = dossier.etat |
44 |
) = 'encours'"; |
) = 'encours'"; |
|
|
|
|
$f->addToLog("edition_reglementaire.php: db->query(\"".$sql."\");", VERBOSE_MODE); |
|
45 |
$res = $f->db->query($sql); |
$res = $f->db->query($sql); |
46 |
|
$f->addToLog("app/affichage_reglementaire_registre.php: db->query(\"".$sql."\");", VERBOSE_MODE); |
47 |
$f->isDatabaseError($res); |
$f->isDatabaseError($res); |
48 |
|
// Boucle sur les dossiers |
49 |
//Pour chaque dossier correspondant, récupérer la liste des instructions |
while ($row =& $res->fetchRow(DB_FETCHMODE_ASSOC)) { |
50 |
while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)) { |
// Si aucune instruction n'a d'événement de type "affichage_obligatoire" |
51 |
|
// on créé une nouvelle instruction avec cet événement. |
52 |
$sql = "SELECT |
if ($row["instruction"] == "") { |
53 |
instruction |
// Récupération de l'identifiant de la lettretype correspondant à |
54 |
FROM |
// l'événement qui représente l'attestion de l'affichage |
55 |
".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 ){ |
|
|
|
|
56 |
$sql = "SELECT |
$sql = "SELECT |
57 |
lettretype |
lettretype |
58 |
FROM |
FROM |
59 |
".DB_PREFIXE."evenement |
".DB_PREFIXE."evenement |
60 |
WHERE |
WHERE |
61 |
evenement = ".$f->getParameter('affichage_obligatoire'); |
evenement = ".$aff_obli; |
62 |
|
$lettretype = $f->db->getone($sql); |
63 |
$f->addToLog("edition_reglementaire.php: db->query(\"".$sql."\");", VERBOSE_MODE); |
$f->addToLog("app/affichage_reglementaire_registre.php: db->getone(\"".$sql."\");", VERBOSE_MODE); |
64 |
$resLT = $f->db->query($sql); |
$f->isDatabaseError($lettretype); |
65 |
$f->isDatabaseError($resLT); |
// Insertion de l'étape d'instruction |
|
|
|
|
$rowLT=& $resLT->fetchRow(DB_FETCHMODE_ASSOC); |
|
|
|
|
|
//Données de la nouvelle instruction |
|
66 |
$valF = array ( |
$valF = array ( |
67 |
"instruction" => $f->db->nextId(DB_PREFIXE."instruction"), |
"instruction" => $f->db->nextId(DB_PREFIXE."instruction"), |
68 |
"destinataire" => $row['dossier'], |
"destinataire" => $row['dossier'], |
69 |
"datecourrier" =>date("Y-m-d"), |
"date_evenement" =>date("Y-m-d"), |
70 |
"evenement" =>$f->getParameter('affichage_obligatoire'), |
"evenement" =>$aff_obli, |
71 |
"lettretype" =>$rowLT['lettretype'], |
"lettretype" =>$lettretype, |
72 |
"complement" => "","complement2" =>"", |
"complement" => "","complement2" =>"", |
73 |
"dossier" =>$row['dossier'],"action" =>"initialisation", |
"dossier" =>$row['dossier'],"action" =>"initialisation", |
74 |
"delai" => "2","etat" =>"notifier", |
"delai" => "2","etat" =>"notifier", |
80 |
"archive_date_decision" =>NULL, "archive_avis" => "", |
"archive_date_decision" =>NULL, "archive_avis" => "", |
81 |
"archive_date_validite" =>NULL,"archive_date_achevement" =>NULL, |
"archive_date_validite" =>NULL,"archive_date_achevement" =>NULL, |
82 |
"archive_date_chantier" =>NULL, "archive_date_conformite" => NULL, |
"archive_date_chantier" =>NULL, "archive_date_conformite" => NULL, |
83 |
|
"archive_date_dernier_depot" => NULL, |
84 |
"complement3" =>"","complement4" =>"", |
"complement3" =>"","complement4" =>"", |
85 |
"complement5" =>"", "complement6" => "", |
"complement5" =>"", "complement6" => "", |
86 |
"complement7" =>"","complement8" =>"", |
"complement7" =>"","complement8" =>"", |
89 |
"complement13" =>"", "complement14" => "", |
"complement13" =>"", "complement14" => "", |
90 |
"complement15" =>"","avis_decision" =>NULL |
"complement15" =>"","avis_decision" =>NULL |
91 |
); |
); |
92 |
|
$resInsertInstr = $f->db->autoExecute(DB_PREFIXE."instruction", $valF, DB_AUTOQUERY_INSERT); |
93 |
//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); |
94 |
$resInsertInstr = |
$f->isDatabaseError($resInsertInstr); |
|
$f->db->autoExecute(DB_PREFIXE."instruction", $valF, DB_AUTOQUERY_INSERT); |
|
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 |
} |
} |
|
//Chargement simple de la page |
|
|
else { |
|
|
|
|
|
$f = new utils(NULL, |
|
|
"edition_reglementaire", |
|
|
_("edition de l'affichage reglementaire des dossiers"), |
|
|
"ico_edition.png", |
|
|
"edition"); |
|
|
$f->addHTMLHeadJs(array("../js/script.js")); |
|
|
|
|
|
//Message informatif de l'utilité de la page |
|
|
echo "<div>"; |
|
|
echo _("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."); |
|
|
echo "</div>"; |
|
|
|
|
|
//Affichage du formulaire |
|
|
echo "<form name='f1' id='f1' action='#'>"; |
|
|
|
|
|
echo "<br/> |
|
|
<div id='bouton-PDF'> |
|
|
<a |
|
|
class='lien' |
|
|
href='javascript:dossier_reglementaire()'> |
|
|
<span |
|
|
class=\"om-icon om-icon-16 om-icon-fix pdf-16\" |
|
|
title=\""._("Edition")."\">". |
|
|
_("Edition"). |
|
|
"</span> |
|
|
". |
|
|
_("PDF")."_"._("affichage")."_"._("reglementaire")."_"._("des")."_"._("dossiers")." |
|
|
</a> |
|
|
</div>"; |
|
|
echo "</form>"; |
|
|
echo "<div id='msg'></div>"; |
|
|
} |
|
|
?> |
|
138 |
|
|
139 |
|
?> |