Subversion Repositories Applications.referentiel

Rev

Rev 26 | Rev 33 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

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