Subversion Repositories Applications.referentiel

Rev

Rev 33 | Rev 39 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 33 Rev 38
1
<?php
1
<?php
2
// declare(encoding='UTF-8');
2
// declare(encoding='UTF-8');
3
/**
3
/**
4
 * DAO des traitements à réaliser sur les référentiels.
4
 * DAO des traitements à réaliser sur les référentiels.
5
 *
5
 *
6
 * @package		Referentiel
6
 * @package		Referentiel
7
 * @category	Php 5.2
7
 * @category	Php 5.2
8
 * @author		Jean-Pascal MILCENT <jpm@tela-botanica.org>
8
 * @author		Jean-Pascal MILCENT <jpm@tela-botanica.org>
9
 * @copyright	2010 Tela-Botanica
9
 * @copyright	2010 Tela-Botanica
10
 * @license		http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
10
 * @license		http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
11
 * @license		http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
11
 * @license		http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
12
 * @version		$Id$
12
 * @version		$Id$
13
 *
13
 *
14
 */
14
 */
15
class TraitementDao extends Dao {
15
class TraitementDao extends Dao {
16
	const SERVICE = 'Traitement';
16
	const SERVICE = 'Traitement';
17
	
17
	
18
	private $url = null;
18
	private $url = null;
19
	
19
	
20
	public function __construct() {
20
	public function __construct() {
21
		parent::__construct();
21
		parent::__construct();
22
		$this->url = $this->url_jrest.self::SERVICE;
22
		$this->url = $this->url_jrest.self::SERVICE;
23
	}
23
	}
24
	
24
	
25
	/**
25
	/**
26
	 * Retourne les infos d'un traitement enregistré dans la bdd pour un id donné.
26
	 * Retourne les infos d'un traitement enregistré dans la bdd pour un id donné.
27
	 * 
27
	 * 
28
	 * @param integer l'id du traitement.
28
	 * @param integer l'id du traitement.
29
	 * @return array le tableau d'infos ou false en cas d'échec.
29
	 * @return array le tableau d'infos ou false en cas d'échec.
30
	 */
30
	 */
31
	public function getInfos($id_traitement) {
31
	public function getInfos($id_traitement) {
32
		$url = $this->url."/Info/$id_traitement";
32
		$url = $this->url."/Info/$id_traitement";
33
		
33
		
34
		$json = $this->envoyerRequeteConsultation($url);
34
		$json = $this->envoyerRequeteConsultation($url);
35
		$infos = json_decode($json, true);
35
		$infos = json_decode($json, true);
36
		return $infos;
36
		return $infos;
37
	}
37
	}
38
	
38
	
39
	/**
39
	/**
-
 
40
	 * Retourne l'ensemble des traitements en attente.
-
 
41
	 * 
-
 
42
	 * @param string le code du projet de référentiel.
-
 
43
	 * @return mixed un tableau contenant les informations sur les traitements en attente ou false en cas d'échec.
-
 
44
	 */
-
 
45
	public function getTraitementsEnAttente($code_projet) {
-
 
46
		$url = $this->url."/EnAttente/$code_projet";
-
 
47
		
-
 
48
		$json = $this->envoyerRequeteConsultation($url);
-
 
49
		$traitements = json_decode($json, true);
-
 
50
		return $traitements;
-
 
51
	}
-
 
52
	
-
 
53
	/**
40
	 * Retourne l'ensemble des traitements en cours.
54
	 * Retourne l'ensemble des traitements en cours.
41
	 * 
55
	 * 
42
	 * @param string le code du projet de référentiel.
56
	 * @param string le code du projet de référentiel.
43
	 * @return mixed un tableau contenant les informations sur les traitements en cours ou false en cas d'échec.
57
	 * @return mixed un tableau contenant les informations sur les traitements en cours ou false en cas d'échec.
44
	 */
58
	 */
45
	public function getTraitementsEnCours($code_projet) {
59
	public function getTraitementsEnCours($code_projet) {
46
		$url = $this->url."/EnCours/$code_projet";
60
		$url = $this->url."/EnCours/$code_projet";
47
		
61
		
48
		$json = $this->envoyerRequeteConsultation($url);
62
		$json = $this->envoyerRequeteConsultation($url);
49
		$traitements = json_decode($json, true);
63
		$traitements = json_decode($json, true);
50
		return $traitements;
64
		return $traitements;
51
	}
65
	}
52
	
66
	
53
	/**
67
	/**
54
	 * Retourne les ids de l'ensemble des traitements obsolètes.
68
	 * Retourne les ids de l'ensemble des traitements obsolètes.
55
	 * 
69
	 * 
56
	 * @param string le code du projet de référentiel.
70
	 * @param string le code du projet de référentiel.
57
	 * @return mixed un tableau contenant les ids des traitements obsolètes ou false en cas d'échec.
71
	 * @return mixed un tableau contenant les ids des traitements obsolètes ou false en cas d'échec.
58
	 */
72
	 */
59
	public function getTraitementsObsoletes($code_projet) {
73
	public function getTraitementsObsoletes($code_projet) {
60
		$url = $this->url."/Obsolete/$code_projet";
74
		$url = $this->url."/Obsolete/$code_projet";
61
		
75
		
62
		$json = $this->envoyerRequeteConsultation($url);
76
		$json = $this->envoyerRequeteConsultation($url);
63
		$traitements = json_decode($json, true);
77
		$traitements = json_decode($json, true);
64
		return $traitements;
78
		return $traitements;
65
	}
79
	}
66
	
80
	
67
	/**
81
	/**
68
	 * Retourne le dernier traitement demandé et non traité pour un projet donné.
82
	 * Retourne le dernier traitement demandé et non traité pour un projet donné.
69
	 * 
83
	 * 
70
	 * @param string le code du projet de référentiel.
84
	 * @param string le code du projet de référentiel.
71
	 * @return mixed un tableau contenant les informations sur le dernier traitement demandé et non traité ou false en cas d'échec.
85
	 * @return mixed un tableau contenant les informations sur le dernier traitement demandé et non traité ou false en cas d'échec.
72
	 */
86
	 */
73
	public function getDernierTraitement($code_projet) {
87
	public function getDernierTraitement($code_projet) {
74
		$url = $this->url."/DerniereDemande/$code_projet";
88
		$url = $this->url."/DerniereDemande/$code_projet";
75
		
89
		
76
		$json = $this->envoyerRequeteConsultation($url);
90
		$json = $this->envoyerRequeteConsultation($url);
77
		$traitements = json_decode($json, true);
91
		$traitements = json_decode($json, true);
78
		return $traitements;
92
		return $traitements;
79
	}
93
	}
80
	
94
	
81
	/**
95
	/**
82
	 * Retourne l'ensemble des traitements terminés.
96
	 * Retourne l'ensemble des traitements terminés.
83
	 * 
97
	 * 
84
	 * @param string le code du projet de référentiel.
98
	 * @param string le code du projet de référentiel.
85
	 * @return mixed un tableau contenant les informations sur les traitements terminés ou false en cas d'échec.
99
	 * @return mixed un tableau contenant les informations sur les traitements terminés ou false en cas d'échec.
86
	 */
100
	 */
87
	public function getTraitementsTermines($code_projet) {
101
	public function getTraitementsTermines($code_projet) {
88
		$url = $this->url."/Termines/$code_projet";
102
		$url = $this->url."/Termines/$code_projet";
89
		
103
		
90
		$json = $this->envoyerRequeteConsultation($url);
104
		$json = $this->envoyerRequeteConsultation($url);
91
		$traitements = json_decode($json, true);
105
		$traitements = json_decode($json, true);
92
		return $traitements;
106
		return $traitements;
93
	}
107
	}
94
	
108
	
95
	/**
109
	/**
96
	 * Ajoute une demande de traitement pour une référentiel donné.
110
	 * Ajoute une demande de traitement pour une référentiel donné.
97
	 * 
111
	 * 
98
	 * @param string le code du référentiel.
112
	 * @param string le code du référentiel.
99
	 * @return mixed l'id du traitement ou false en cas d'échec.
113
	 * @return mixed l'id du traitement ou false en cas d'échec.
100
	 */
114
	 */
101
	public function ajouterTraitement($code_projet) {
115
	public function ajouterTraitement($code_projet) {
102
		// Préparation des données à passer par POST
116
		// Préparation des données à passer par POST
103
		$donnees['referentiel_code'] = $code_projet;
117
		$donnees['referentiel_code'] = $code_projet;
104
		
118
		
105
		// Envoie des données et récupération du retour
119
		// Envoie des données et récupération du retour
106
		$json = $this->envoyerRequeteAjout($this->url, $donnees);
120
		$json = $this->envoyerRequeteAjout($this->url, $donnees);
107
		$id = json_decode($json, true);
121
		$id = json_decode($json, true);
108
		return $id;
122
		return $id;
109
	}
123
	}
110
	
124
	
111
	/**
125
	/**
112
	 * Modifie un traitement pour indiquer qu'il est débuté.
126
	 * Modifie un traitement pour indiquer qu'il est débuté.
113
	 * 
127
	 * 
114
	 * @param integer l'id du traitement
128
	 * @param integer l'id du traitement
115
	 * @return boolean true en cas de succés sinon false.
129
	 * @return boolean true en cas de succés sinon false.
116
	 */
130
	 */
117
	public function debuterTraitement($id_traitement) {
131
	public function debuterTraitement($id_traitement) {
118
		$url = $this->url."/$id_traitement";
132
		$url = $this->url."/$id_traitement";
119
		$donnees['action'] = 'Debuter';
133
		$donnees['action'] = 'Debuter';
120
		
134
		
121
		// Envoie des données et récupération du retour
135
		// Envoie des données et récupération du retour
122
		$json = $this->envoyerRequeteModif($url, $donnees);
136
		$json = $this->envoyerRequeteModif($url, $donnees);
123
		$ok = json_decode($json, true);
137
		$ok = json_decode($json, true);
124
		return $ok;
138
		return $ok;
125
	}
139
	}
126
	
140
	
127
	/**
141
	/**
128
	 * Modifie un traitement pour indiquer qu'il est terminé.
142
	 * Modifie un traitement pour indiquer qu'il est terminé.
129
	 * 
143
	 * 
130
	 * @param integer l'id du traitement
144
	 * @param integer l'id du traitement
131
	 * @return boolean true en cas de succés sinon false.
145
	 * @return boolean true en cas de succés sinon false.
132
	 */
146
	 */
133
	public function terminerTraitement($id_traitement) {
147
	public function terminerTraitement($id_traitement) {
134
		$url = $this->url."/$id_traitement";
148
		$url = $this->url."/$id_traitement";
135
		$donnees['action'] = 'Terminer';
149
		$donnees['action'] = 'Terminer';
136
		
150
		
137
		// Envoie des données et récupération du retour
151
		// Envoie des données et récupération du retour
138
		$json = $this->envoyerRequeteModif($url, $donnees);
152
		$json = $this->envoyerRequeteModif($url, $donnees);
139
		$ok = json_decode($json, true);
153
		$ok = json_decode($json, true);
140
		return $ok;
154
		return $ok;
141
	}
155
	}
142
	
156
	
143
	/**
157
	/**
144
	 * Supprime des traitments en fonction de leur id.
158
	 * Supprime des traitments en fonction de leur id.
145
	 * 
159
	 * 
146
	 * @param array le tableau des id des traitements à supprimer
160
	 * @param array le tableau des id des traitements à supprimer
147
	 * @return boolean true en cas de succès ou false en cas d'échec.
161
	 * @return boolean true en cas de succès ou false en cas d'échec.
148
	 */
162
	 */
149
	public function supprimer(Array $ids) {
163
	public function supprimer(Array $ids) {
150
		// Préparation de l'url
164
		// Préparation de l'url
151
		$url = $this->url.'/'.implode(',', $ids);
165
		$url = $this->url.'/'.implode(',', $ids);
152
		
166
		
153
		// Envoie des données et récupération du retour
167
		// Envoie des données et récupération du retour
154
		$json = $this->envoyerRequeteSuppression($url);
168
		$json = $this->envoyerRequeteSuppression($url);
155
		$ok = json_decode($json, true);
169
		$ok = json_decode($json, true);
156
		return $ok;
170
		return $ok;
157
	}
171
	}
158
}
172
}
159
?>
173
?>