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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 783 - (hide 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 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 fmichon 772
24 mlimic 757 /**#@+
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 fmichon 749
34     /**
35 mlimic 757 * 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 fmichon 749 *
47     */
48 mlimic 783 private function generic(&$data, $type, $contenu_val_verif) {
49 mlimic 711 // check that the type of the message is good
50 mlimic 731 if ($data['type'] != $type) {
51     $this->setMessage('Le type de message n\'est pas correct.');
52 mlimic 711 return $this->BAD_DATA;
53     }
54 mlimic 735
55     // verification que le dossier existe dans la BD
56     $sql = "SELECT dossier FROM ".DB_PREFIXE."dossier";
57     $res = $this->db->query($sql);
58 fmichon 767 // Logger
59 mlimic 783 $this->addToLog("generic(): db->query(\"".$sql."\"", VERBOSE_MODE);
60 fmichon 781 // Si une erreur de base de données se produit sur cette requête
61     // alors on retourne un résultat d'erreur
62 fmichon 767 if ($this->f->isDatabaseError($res, true)) {
63     $this->setMessage("Erreur de base de données.");
64 mlimic 735 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 mlimic 757 // 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 mlimic 735 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 mlimic 757 // creation d'objet qui sera utilise pour sauvegarder les
81     // donnees dans la BD
82 mlimic 731 $this->metier_instance = new dossier_message("]", $this->db, 0);
83 mlimic 711
84 mlimic 757 // verifier que la date est correcte
85 mlimic 731 $date_db = null;
86 mlimic 759 if (!$this->timestampValide($data['date'], $date_db, true)) {
87 mlimic 731 $this->setMessage('Le date n\'est pas correct.');
88 mlimic 711 return $this->BAD_DATA;
89     }
90    
91 mlimic 757 // verifie que le contenu contient tous les elements et prepare l'insertion
92     // du contenu dans la BD
93 mlimic 711 $contenu = '';
94 mlimic 731 $valid_contenu = true;
95 mlimic 757 foreach ($contenu_val_verif as $contenu_str => $possible_vals) {
96 mlimic 731 $value = $data['contenu'][$contenu_str];
97     if (empty($value)) {
98     $valid_contenu = false;
99     break;
100 mlimic 711 }
101 mlimic 731 if ($possible_vals && !in_array(strtolower($value), $possible_vals)) {
102     $valid_contenu = false;
103     break;
104     }
105 mlimic 745 $contenu .= $contenu_str.' : '.$value.'
106 mlimic 757 '; // il faut que cette ligne soit comme ca pour que le \n soit ajoute a la fin the $contenu
107 mlimic 731 }
108     if ($valid_contenu === false) {
109     $this->setMessage('Le contenu du message n\'est pas correct.');
110 mlimic 711 return $this->BAD_DATA;
111     }
112    
113 mlimic 757 // 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 mlimic 711 $data['contenu'] = $contenu;
117     $data['dossier'] = $data['dossier_instruction'];
118 mlimic 757 $data['date_emission'] = $date_db; // le timestamp en format accepte par la BD
119 mlimic 731
120     return $this->OK;
121     }
122    
123 fmichon 749 /**
124 mlimic 757 * Appelle quand ERP voudrait indiquer que le dossier d'instruction est complet
125     * a propos des Accessibilite pour des Hendicapes.
126 mlimic 731 *
127 mlimic 757 * @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 mlimic 731 */
131 mlimic 783 public function completudeDossierACC($data) {
132 fmichon 772
133     // Logger
134     $this->addToLog("completude_dossier_ACC(): start", EXTRA_VERBOSE_MODE);
135    
136     //
137 mlimic 731 $key_val_pairs = array('Complétude ERP ACC' => array('oui', 'non'),
138     'Motivation Complétude ERP ACC' => null);
139 mlimic 783 $ret = $this->generic($data,
140 mlimic 731 $this->TYPE_COMPLETUDE_ACC,
141     $key_val_pairs);
142 mlimic 711
143 mlimic 731 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 mlimic 515 }
150 fmichon 772
151 fmichon 749 /**
152 mlimic 757 * Appelle quand ERP voudrait indiquer que le dossier d'instruction est complet
153     * a propos des securite.
154 mlimic 522 *
155 mlimic 757 * @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 mlimic 522 */
159 mlimic 783 public function completudeDossierSECU($data) {
160 mlimic 731
161 fmichon 772 // Logger
162     $this->addToLog("completude_dossier_SECU(): start", EXTRA_VERBOSE_MODE);
163    
164 mlimic 731 $key_val_pairs = array('Complétude ERP SECU' => array('oui', 'non'),
165     'Motivation Complétude ERP SECU' => null);
166 mlimic 783 $ret = $this->generic($data,
167 mlimic 731 $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 mlimic 515 }
177 fmichon 772
178 fmichon 749 /**
179 mlimic 757 * Appelle quand ERP voudrait qualifier un dossier d'instruction.
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 783 public function qualificationDossier($data) {
186 fmichon 772
187     // Logger
188     $this->addToLog("qualification_dossier(): start", EXTRA_VERBOSE_MODE);
189    
190 mlimic 731 $key_val_pairs = array('Confirmation ERP' => array('oui', 'non'),
191     'Type de dossier ERP' => null,
192     'Catégorie de dossier ERP' => null);
193 mlimic 783 $ret = $this->generic($data,
194 mlimic 731 $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 mlimic 515 }
204    
205 fmichon 749 /**
206 mlimic 757 * Appelle quand ERP voudrait qualifier un dossier d'instruction comme
207     * un dossier a enjeux.
208 mlimic 522 *
209 mlimic 757 * @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 mlimic 522 */
213 mlimic 783 public function dossierEnjeux($data) {
214 fmichon 772
215     // Logger
216     $this->addToLog("dossier_enjeux(): start", EXTRA_VERBOSE_MODE);
217    
218 mlimic 731 $key_val_pairs = array('Dossier à enjeux ERP' => array('oui', 'non'));
219 mlimic 783 $ret = $this->generic($data,
220 mlimic 731 $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 mlimic 515 }
230    
231     }
232    
233     ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26