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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 789 - (hide annotations)
Wed Nov 21 11:25:04 2012 UTC (12 years, 2 months ago) by mlimic
File size: 8662 byte(s)
Recuperation du dossier d'autorisation et enregistrement des information d'une arrete ERP signe.
Fichiers : services/metier/dossierautorisationmanager.php, services/REST/dossier_autorisation.php, obj/dossier_autorisation.class.php

1 mlimic 515 <?php
2 fmichon 750 /**
3     * Ce fichier permet de déclarer la classe MessagesManager, qui effectue les
4     * traitements pour la ressource 'messages'.
5 mlimic 522 *
6 fmichon 750 * @package openfoncier
7     * @version SVN : $Id$
8 mlimic 522 */
9    
10 fmichon 750 // Inclusion de la classe de base MetierManager
11     require_once("./metier/metiermanager.php");
12 mlimic 769 require_once("../obj/dossier_autorisation.class.php");
13 mlimic 515
14 fmichon 750 /**
15     * Cette classe hérite de la classe MetierManager. Elle permet d'effectuer des
16     * traitements pour la ressource 'messages'.
17     *
18     * @todo XXX Traduire et commenter toutes les méthodes
19     */
20 mlimic 515 class DossierAutorisationManager extends MetierManager {
21 mlimic 522
22 fmichon 750 /**
23 mlimic 783 * Extraire le contenu d'un dossier d'autorisation depuis de la BD.
24     *
25     * @param string $id L'identifiant du dossier d'autorisation
26     * @return En cas de success on retourne 'OK'. Si les donnees sont
27     * erronees, on retourne 'BAD_DATA'. En cas d'echec au niveau de BD,
28     * 'KO' est retourne.
29     */
30     private function generic($id) {
31    
32 mlimic 789 // verifie que l'ID passe existe et a le bon format
33     if ($id == null || empty($id) || !is_numeric($id)) {
34     $this->setMessage(_('L\'identifiant du dossier d\'autorisation '.
35     'manque ou n\'est pas dans le bon format'));
36     return $this->BAD_DATA;
37     }
38    
39 mlimic 783 $this->metier_instance = new dossier_autorisation($id, $this->db, 0);
40    
41     // verifie que on n'a pas eu une bogue de BD
42     if (isset($this->metier_instance->errors['db_debuginfo'])
43     && !empty($this->metier_instance->errors['db_debuginfo'])) {
44     $this->setMessage(_('Probleme pendent la recuperation du dossier '.
45     'd\'autorisation.'));
46     return $this->KO;
47     }
48    
49     // verifie que le dossier etait bien trouve
50     if (empty($this->metier_instance->valF['dossier_autorisation'])) {
51     $this->setMessage(_('Le dossier d\'autorisation '. $id
52     .' n\'etait pas trouve'));
53     return $this->BAD_DATA;
54     }
55    
56     return $this->OK;
57     }
58    
59     /**
60 mlimic 769 * Appelle quand ERP voudrait attribuer un numero du batiment
61     * a un dossier d'autorisation.
62 mlimic 522 *
63 mlimic 769 * @param mixed $data Le tableau contenant les donnees arrivees par
64     * le service web
65     * @param string $id L'identifiant du dossier d'autorisation
66     * @return bool En cas de success on retourne 'OK'. En cas de
67     * mauvaises donnees on retourne 400. En cas de echec pendant la
68     * modification du dossier on retourne 'KO'
69 mlimic 522 */
70 mlimic 783 public function setERPBuildingNumber($data, $id) {
71 mlimic 789
72 mlimic 769 // verifie que le numero erp existe
73     if (empty($data['numero_erp']) || !is_numeric($data['numero_erp'])) {
74     $this->setMessage(_('Le numero ERP du batiment n\'existe pas ou '.
75     'est dans le mauvais format'));
76     return $this->BAD_DATA;
77     }
78    
79 mlimic 783 // recupere le dossier depuis de la base
80     $ret = $this->generic($id);
81     if ($ret != $this->OK){
82     return $ret;
83 mlimic 769 }
84 mlimic 783
85 mlimic 769 // stocke la valeur de numero ERP dans l'objet
86     $this->metier_instance->valF['erp_numero_batiment'] = $data['numero_erp'];
87    
88     return parent::modifier($this->metier_instance->valF,
89     _('Numero ERP du batiment etait assigne au dossier '.
90     'd\'autorisation '. $id),
91     _('L\'attribution de la numero ERP du batiment pour le dossier '.
92     'd\'autorisation '.$id.' a echoue'));
93 mlimic 515 }
94 fmichon 750
95 mlimic 769
96 fmichon 750 /**
97 mlimic 789 * Appelle quand ERP voudrait notifier qu'un arrete d'ouverture
98     * d'un batiment ERP au publique est signe.
99 mlimic 522 *
100 mlimic 783 * @param mixed $data Le tableau contenant les donnees arrivees par
101     * le service web
102     * @param string $id L'identifiant du dossier d'autorisation
103     * @return bool En cas de success on retourne 'OK'. En cas de
104     * mauvaises donnees on retourne 400. En cas de echec pendant la
105     * modification du dossier on retourne 'KO'
106 mlimic 522 */
107 mlimic 783 public function orderERPOpenedIsSigned($data, $id) {
108 mlimic 789
109 mlimic 783 // verifie que la date est correcte
110     $date_db = null;
111     if (!$this->timestampValide($data['date_arrete'], $date_db)) {
112     $this->setMessage('Le date n\'est pas correct.');
113     return $this->BAD_DATA;
114     }
115    
116 mlimic 789 // verifie que le champ erp_ouvert contient un des valeurs permises
117 mlimic 783 if (strtolower($data['erp_ouvert']) != 'oui'
118     && strtolower($data['erp_ouvert']) != 'non') {
119     $this->setMessage('La valeur du erp_ouvert n\'est pas valide');
120     return $this->BAD_DATA;
121     }
122    
123     // recupere le dossier depuis de la base
124     $ret = $this->generic($id);
125     if ($ret != $this->OK) {
126     return $ret;
127     }
128    
129     // stocke les valeurs d'erp_ouvert et d'erp_date_ouverture
130     $this->metier_instance->valF['erp_ouvert'] = $data['erp_ouvert'];
131     $this->metier_instance->valF['erp_date_ouverture'] = $data['date_arrete'];
132    
133     return parent::modifier($this->metier_instance->valF,
134 mlimic 789 _('Signature de l\'ouverture ERP au publique etait enregistre '.
135     'pour le dossier d\'autorisation '. $id),
136 mlimic 783 _('Echec dans l\'enregistrement de la signature de l\'ouverture '.
137 mlimic 789 'ERP au publique pour le dossier d\'autorisation '.$id.
138     ' a echoue'));
139 mlimic 515 }
140 mlimic 522
141 mlimic 783
142 fmichon 750 /**
143 mlimic 522 * Called when the ERP services would like to obtain information
144     * on a dossier.
145     *
146 mlimic 789 * @todo Pour l'instant on envoi seulement le contenu de la table
147     * dossier_autorisation, et apres on doit ajouter les evenements,
148     * les contraintes, ...
149     *
150 mlimic 522 * @param string $id The ID of the dossier.
151     * @return bool 'OK'
152     */
153 mlimic 783 public function consultDossier($id) {
154 mlimic 789
155     // recupere le dossier depuis de la base
156     $ret = $this->generic($id);
157     if ($ret != $this->OK) {
158     return $ret;
159     }
160    
161     // les donnees du dossier sont recuperation avec success
162 mlimic 515 return $this->OK;
163     }
164 fmichon 750
165 mlimic 789
166 fmichon 750 /**
167 mlimic 789 * Appelle quand ERP voudrait notifier qu'un arrete d'ouverture
168     * d'un batiment ERP est signe. Ca ne dit pas que le batiment
169     * est ouvert encore.
170 mlimic 522 *
171 mlimic 789 * @param mixed $data Le tableau contenant les donnees arrivees par
172     * le service web
173     * @param string $id L'identifiant du dossier d'autorisation
174     * @return bool En cas de success on retourne 'OK'. En cas de
175     * mauvaises donnees on retourne 400. En cas de echec pendant la
176     * modification du dossier on retourne 'KO'
177 mlimic 522 */
178 mlimic 783 public function orderERPDecisionIsSigned($data, $id) {
179 mlimic 789
180    
181     // verifie que la date est correcte
182     $date_db = null;
183     if (!$this->timestampValide($data['date_arrete'], $date_db)) {
184     $this->setMessage('Le date n\'est pas correct.');
185     return $this->BAD_DATA;
186     }
187    
188     // verifie que le champ arrete_effectue contient un des valeurs permises
189     if (strtolower($data['arrete_effectue']) != 'oui'
190     && strtolower($data['arrete_effectue']) != 'non') {
191     $this->setMessage('La valeur du arrete_effectue n\'est pas valide');
192     return $this->BAD_DATA;
193     }
194    
195     // recupere le dossier depuis de la base
196     $ret = $this->generic($id);
197     if ($ret != $this->OK) {
198     return $ret;
199     }
200    
201     // stocke les valeurs d'erp_ouvert et d'erp_date_ouverture
202     $this->metier_instance->valF['erp_arrete_decision'] = $data['arrete_effectue'];
203     $this->metier_instance->valF['erp_date_arrete_decision'] = $data['date_arrete'];
204    
205     return parent::modifier($this->metier_instance->valF,
206     _('Signature de l\'ouverture ERP etait enregistre '.
207     'pour le dossier d\'autorisation '. $id),
208     _('Echec dans l\'enregistrement de la signature de l\'ouverture '.
209     'ERP pour le dossier d\'autorisation '.$id.' a echoue'));
210 mlimic 515 }
211 fmichon 750
212     /**
213 mlimic 789 * Retourne la representation de dossier d'autorisation
214     * comme un tableau.
215     *
216     * Cette methode est utilisee pour recuperer le contenu
217     * d'un dossier d'autorisation apres l'appel de la methode
218     * $this->consultDossier
219     * @return mixed Le contenu du tableau valF d'une instance
220     * de la classe dossier_autorisation
221 mlimic 522 */
222 mlimic 526 public function getDossierArrayRepresentation() {
223 mlimic 789 return $this->metier_instance->valF;
224 mlimic 515 }
225 fmichon 750
226 mlimic 515 }
227    
228     ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26