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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 783 - (show annotations)
Tue Nov 20 17:56:37 2012 UTC (12 years, 2 months ago) by mlimic
File size: 8924 byte(s)
Traitement de arrete d'ouverture ERP signe.
Renomage des methodes dans la partie messages de REST, et les modification pour que le nouveau fonctionnement d
e la methode Services::requestMdtrGroup(.)

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

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26