/[openfoncier]/trunk/app/affichage_reglementaire_registre.php
ViewVC logotype

Diff of /trunk/app/affichage_reglementaire_registre.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

trunk/app/edition_reglementaire.php revision 1114 by vpihour, Fri Dec 21 15:18:42 2012 UTC trunk/app/affichage_reglementaire_registre.php revision 1635 by nhaye, Mon Apr 8 17:34:25 2013 UTC
# Line 1  Line 1 
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
# Line 30  if ( isset($_GET['update']) ){ Line 68  if ( isset($_GET['update']) ){
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",
# Line 87  if ( isset($_GET['update']) ){ Line 106  if ( isset($_GET['update']) ){
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" =>"",
# Line 95  if ( isset($_GET['update']) ){ Line 115  if ( isset($_GET['update']) ){
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    ?>

Legend:
Removed from v.1114  
changed lines
  Added in v.1635

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26