/[openfoncier]/trunk/services/metier/messagesmanager.php
ViewVC logotype

Annotation of /trunk/services/metier/messagesmanager.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 757 - (hide annotations)
Mon Nov 19 17:10:59 2012 UTC (12 years, 2 months ago) by mlimic
File size: 9071 byte(s)
Ajout de log pour la requete sql, commentaires.

1 mlimic 515 <?php
2 fmichon 749 /**
3     * Ce fichier permet de déclarer la classe MessagesManager, qui effectue les
4     * traitements pour la ressource 'messages'.
5 mlimic 522 *
6 fmichon 749 * @package openfoncier
7     * @version SVN : $Id$
8 mlimic 522 */
9    
10 fmichon 749 // Inclusion de la classe de base MetierManager
11     require_once("./metier/metiermanager.php");
12    
13     // Inclusion de la classe métier dossier_message
14 mlimic 731 include_once('../obj/dossier_message.class.php');
15 fmichon 749
16     /**
17     * Cette classe hérite de la classe MetierManager. Elle permet d'effectuer des
18     * traitements pour la ressource 'messages'.
19     *
20     * @todo XXX Traduire et commenter toutes les méthodes
21     */
22 mlimic 515 class MessagesManager extends MetierManager {
23 mlimic 757
24     /**#@+
25     * @access static
26     * @var string
27 fmichon 749 */
28 mlimic 711 var $TYPE_COMPLETUDE_ACC = 'Mise à jour de complétude ERP ACC';
29     var $TYPE_COMPLETUDE_SECU = 'Mise à jour de complétude ERP SECU';
30 mlimic 731 var $TYPE_QUALIFICATION_ERP = 'Mise à jour de qualification';
31     var $TYPE_DOSSIER_ENJEUX = 'Dossier à enjeux ERP';
32 mlimic 757 /**#@-*/
33    
34 fmichon 749
35     /**
36     * Constructeur
37 mlimic 522 *
38 mlimic 757 * Fait appel au constructeur de son parent.
39 fmichon 749 * @todo XXX Ajouter la description des attributs
40 mlimic 522 */
41 mlimic 526 public function __construct() {
42 fmichon 749
43     // Appel du constructeur parent
44 mlimic 515 parent::__construct();
45 fmichon 749
46 mlimic 515 }
47 fmichon 749
48 mlimic 757
49 fmichon 749 /**
50     * Destructeur
51 mlimic 757 *
52     * Fait appel au destructeur de son parent.
53 mlimic 522 */
54 mlimic 526 public function __destruct() {
55 fmichon 749
56     // Appel du destructeur parent
57 mlimic 515 parent::__destruct();
58 fmichon 749
59 mlimic 515 }
60    
61 mlimic 757
62    
63 fmichon 749 /**
64 mlimic 757 * Utilise par plusieurs fonctions pour faire le traitement generique
65     * d'une demande arrive par REST
66     * @param mixed $data Le tableau contenant des donnees arrivees par le
67     * service REST.
68     * @param string $type Le type du message
69     * @param mixed $contenu_val_verif Le tableau associatif. Les clefs sont
70     * des clefs qui peuvent etre trouvees dans le tableau $data. Les valeurs
71     * sont des valeurs qui peuvent etre trouvees comme les valeurs dans le
72     * tableau $data.
73     * @return En cas de success on retourne 'OK'. Si les donnees sont
74     * erronees, on retourne 'BAD_DATA'. En cas d'echec on retourne 'KO'.
75 fmichon 749 *
76     */
77 mlimic 757 public function generic(&$data, $type, $contenu_val_verif) {
78 mlimic 711 // check that the type of the message is good
79 mlimic 731 if ($data['type'] != $type) {
80     $this->setMessage('Le type de message n\'est pas correct.');
81 mlimic 711 return $this->BAD_DATA;
82     }
83 mlimic 735
84     // verification que le dossier existe dans la BD
85     $sql = "SELECT dossier FROM ".DB_PREFIXE."dossier";
86 mlimic 757 logger::instance()->log("REST request class ".get_class($this).
87     " - : db->query(.".$sql.")");
88 mlimic 735 $res = $this->db->query($sql);
89     if ($this->checkDBError($res, 'Erreur lors de recuperation des dossiers')) {
90 mlimic 757 logger::instance()->log("REST request class ".
91     get_class($this)." - ".$this->getMessage(), $type);
92 mlimic 735 return $this->KO;
93     }
94    
95     $this->dossiers = array();
96     while ($row =& $res->fetchRow(DB_FETCHMODE_ORDERED)) {
97     $this->dossiers[$row[0]] = $row[1];
98     }
99     $res->free();
100    
101 mlimic 757 // verification que la decision recu dans le message est une des
102     // decisions acceptables (c'est a dire que elle existe dans la BD)
103 mlimic 735 if (!in_array($data['dossier_instruction'], array_keys($this->dossiers))) {
104     $this->setMessage("Le dossier spécifié dans le message n'existe pas");
105     return $this->KO;
106     }
107    
108 mlimic 757 // creation d'objet qui sera utilise pour sauvegarder les
109     // donnees dans la BD
110 mlimic 731 $this->metier_instance = new dossier_message("]", $this->db, 0);
111 mlimic 711
112 mlimic 757 // verifier que la date est correcte
113 mlimic 731 $date_db = null;
114     if (!$this->timestampValid($data['date'], $date_db, true)) {
115     $this->setMessage('Le date n\'est pas correct.');
116 mlimic 711 return $this->BAD_DATA;
117     }
118    
119 mlimic 757 // verifie que le contenu contient tous les elements et prepare l'insertion
120     // du contenu dans la BD
121 mlimic 711 $contenu = '';
122 mlimic 731 $valid_contenu = true;
123 mlimic 757 foreach ($contenu_val_verif as $contenu_str => $possible_vals) {
124 mlimic 731 $value = $data['contenu'][$contenu_str];
125     if (empty($value)) {
126     $valid_contenu = false;
127     break;
128 mlimic 711 }
129 mlimic 731 if ($possible_vals && !in_array(strtolower($value), $possible_vals)) {
130     $valid_contenu = false;
131     break;
132     }
133 mlimic 745 $contenu .= $contenu_str.' : '.$value.'
134 mlimic 757 '; // il faut que cette ligne soit comme ca pour que le \n soit ajoute a la fin the $contenu
135 mlimic 731 }
136     if ($valid_contenu === false) {
137     $this->setMessage('Le contenu du message n\'est pas correct.');
138 mlimic 711 return $this->BAD_DATA;
139     }
140    
141 mlimic 757 // ecrasement de contenu avec le contenu formate et duplication des
142     // quelques valeurs parce que les valeurs dans setvalF sont cherches
143     // par les clefs predefinies
144 mlimic 711 $data['contenu'] = $contenu;
145     $data['dossier'] = $data['dossier_instruction'];
146 mlimic 757 $data['date_emission'] = $date_db; // le timestamp en format accepte par la BD
147 mlimic 731
148     return $this->OK;
149     }
150    
151    
152 fmichon 749 /**
153 mlimic 757 * Appelle quand ERP voudrait indiquer que le dossier d'instruction est complet
154     * a propos des Accessibilite pour des Hendicapes.
155 mlimic 731 *
156 mlimic 757 * @param mixed $data Les donnees recus par une demande arrive par REST.
157     * @return string En cas de success on retourne 'OK' sur success, et on retourne
158     * 'KO' autrement.
159 mlimic 731 */
160     public function completude_dossier_ACC($data) {
161 mlimic 711
162 mlimic 731 $key_val_pairs = array('Complétude ERP ACC' => array('oui', 'non'),
163     'Motivation Complétude ERP ACC' => null);
164     $ret = $this->generic($data,
165     $this->TYPE_COMPLETUDE_ACC,
166     $key_val_pairs);
167 mlimic 711
168 mlimic 731 if ($ret != $this->OK) {
169     return $ret;
170     }
171     return parent::ajouter($data,
172     "Mise à jour de complétude ERP ACC à été faite avec success",
173     "Echec dans la mise à jour de complétude ERP ACC");
174 mlimic 515 }
175    
176    
177 fmichon 749 /**
178 mlimic 757 * Appelle quand ERP voudrait indiquer que le dossier d'instruction est complet
179     * a propos des securite.
180 mlimic 522 *
181 mlimic 757 * @param mixed $data Les donnees recus par une demande arrive par REST.
182     * @return string En cas de success on retourne 'OK' sur success, et on retourne
183     * 'KO' autrement.
184 mlimic 522 */
185 mlimic 526 public function completude_dossier_SECU($data) {
186 mlimic 731
187     $key_val_pairs = array('Complétude ERP SECU' => array('oui', 'non'),
188     'Motivation Complétude ERP SECU' => null);
189     $ret = $this->generic($data,
190     $this->TYPE_COMPLETUDE_SECU,
191     $key_val_pairs);
192    
193     if ($ret != $this->OK) {
194     return $ret;
195     }
196     return parent::ajouter($data,
197     "Mise à jour de complétude ERP SECU à été faite avec success",
198     "Echec dans la mise à jour de complétude ERP SECU");
199 mlimic 515 }
200    
201    
202 fmichon 749 /**
203 mlimic 757 * Appelle quand ERP voudrait qualifier un dossier d'instruction.
204 mlimic 522 *
205 mlimic 757 * @param mixed $data Les donnees recus par une demande arrive par REST.
206     * @return string En cas de success on retourne 'OK' sur success, et on retourne
207     * 'KO' autrement.
208 mlimic 522 */
209 mlimic 526 public function qualification_dossier($data) {
210 mlimic 731 $key_val_pairs = array('Confirmation ERP' => array('oui', 'non'),
211     'Type de dossier ERP' => null,
212     'Catégorie de dossier ERP' => null);
213     $ret = $this->generic($data,
214     $this->TYPE_QUALIFICATION_ERP,
215     $key_val_pairs);
216    
217     if ($ret != $this->OK) {
218     return $ret;
219     }
220     return parent::ajouter($data,
221     "Mise à jour de la qualification ERP à été faite avec success",
222     "Echec dans la mise à jour de la qualification ERP");
223 mlimic 515 }
224    
225    
226 fmichon 749 /**
227 mlimic 757 * Appelle quand ERP voudrait qualifier un dossier d'instruction comme
228     * un dossier a enjeux.
229 mlimic 522 *
230 mlimic 757 * @param mixed $data Les donnees recus par une demande arrive par REST.
231     * @return string En cas de success on retourne 'OK' sur success, et on retourne
232     * 'KO' autrement.
233 mlimic 522 */
234 mlimic 526 public function dossier_enjeux($data) {
235 mlimic 731 $key_val_pairs = array('Dossier à enjeux ERP' => array('oui', 'non'));
236     $ret = $this->generic($data,
237     $this->TYPE_DOSSIER_ENJEUX,
238     $key_val_pairs);
239    
240     if ($ret != $this->OK) {
241     return $ret;
242     }
243     return parent::ajouter($data,
244     "Mise à jour du dossier \"Dossier à enjeux ERP\" à été faite avec success",
245     "Echec dans la mise à jour du dossier \"Dossier à enjeux ERP\"");
246 mlimic 515 }
247    
248     }
249    
250     ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26