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 |
/**
|
33 |
jpm |
26 |
* Retourne les infos d'un traitement enregistré dans la bdd pour un id donné.
|
|
|
27 |
*
|
|
|
28 |
* @param integer l'id du traitement.
|
|
|
29 |
* @return array le tableau d'infos ou false en cas d'échec.
|
|
|
30 |
*/
|
|
|
31 |
public function getInfos($id_traitement) {
|
|
|
32 |
$url = $this->url."/Info/$id_traitement";
|
|
|
33 |
|
|
|
34 |
$json = $this->envoyerRequeteConsultation($url);
|
|
|
35 |
$infos = json_decode($json, true);
|
|
|
36 |
return $infos;
|
|
|
37 |
}
|
|
|
38 |
|
|
|
39 |
/**
|
38 |
jpm |
40 |
* Retourne l'ensemble des traitements en attente.
|
|
|
41 |
*
|
|
|
42 |
* @param string le code du projet de référentiel.
|
45 |
jpm |
43 |
* @param string le nom du script à lancer en minuscule.
|
38 |
jpm |
44 |
* @return mixed un tableau contenant les informations sur les traitements en attente ou false en cas d'échec.
|
|
|
45 |
*/
|
39 |
jpm |
46 |
public function getTraitementsEnAttente($code_projet, $script) {
|
|
|
47 |
$url = $this->url."/EnAttente/$code_projet/$script";
|
38 |
jpm |
48 |
|
|
|
49 |
$json = $this->envoyerRequeteConsultation($url);
|
|
|
50 |
$traitements = json_decode($json, true);
|
|
|
51 |
return $traitements;
|
|
|
52 |
}
|
|
|
53 |
|
|
|
54 |
/**
|
30 |
jpm |
55 |
* Retourne l'ensemble des traitements en cours.
|
24 |
jpm |
56 |
*
|
26 |
jpm |
57 |
* @param string le code du projet de référentiel.
|
45 |
jpm |
58 |
* @param string le nom du script à lancer en minuscule.
|
30 |
jpm |
59 |
* @return mixed un tableau contenant les informations sur les traitements en cours ou false en cas d'échec.
|
24 |
jpm |
60 |
*/
|
39 |
jpm |
61 |
public function getTraitementsEnCours($code_projet, $script) {
|
|
|
62 |
$url = $this->url."/EnCours/$code_projet/$script";
|
24 |
jpm |
63 |
|
|
|
64 |
$json = $this->envoyerRequeteConsultation($url);
|
|
|
65 |
$traitements = json_decode($json, true);
|
|
|
66 |
return $traitements;
|
|
|
67 |
}
|
|
|
68 |
|
|
|
69 |
/**
|
26 |
jpm |
70 |
* Retourne les ids de l'ensemble des traitements obsolètes.
|
23 |
jpm |
71 |
*
|
26 |
jpm |
72 |
* @param string le code du projet de référentiel.
|
45 |
jpm |
73 |
* @param string le nom du script à lancer en minuscule.
|
30 |
jpm |
74 |
* @return mixed un tableau contenant les ids des traitements obsolètes ou false en cas d'échec.
|
26 |
jpm |
75 |
*/
|
45 |
jpm |
76 |
public function getTraitementsObsoletes($code_projet, $script) {
|
|
|
77 |
$url = $this->url."/Obsolete/$code_projet/$script";
|
26 |
jpm |
78 |
|
|
|
79 |
$json = $this->envoyerRequeteConsultation($url);
|
|
|
80 |
$traitements = json_decode($json, true);
|
|
|
81 |
return $traitements;
|
|
|
82 |
}
|
|
|
83 |
|
|
|
84 |
/**
|
|
|
85 |
* Retourne le dernier traitement demandé et non traité pour un projet donné.
|
|
|
86 |
*
|
|
|
87 |
* @param string le code du projet de référentiel.
|
45 |
jpm |
88 |
* @param string le nom du script à lancer en minuscule.
|
30 |
jpm |
89 |
* @return mixed un tableau contenant les informations sur le dernier traitement demandé et non traité ou false en cas d'échec.
|
26 |
jpm |
90 |
*/
|
45 |
jpm |
91 |
public function getDernierTraitement($code_projet, $script) {
|
|
|
92 |
$url = $this->url."/DerniereDemande/$code_projet/$script";
|
26 |
jpm |
93 |
|
|
|
94 |
$json = $this->envoyerRequeteConsultation($url);
|
|
|
95 |
$traitements = json_decode($json, true);
|
|
|
96 |
return $traitements;
|
|
|
97 |
}
|
|
|
98 |
|
|
|
99 |
/**
|
30 |
jpm |
100 |
* Retourne l'ensemble des traitements terminés.
|
|
|
101 |
*
|
|
|
102 |
* @param string le code du projet de référentiel.
|
45 |
jpm |
103 |
* @param string le nom du script à lancer en minuscule.
|
30 |
jpm |
104 |
* @return mixed un tableau contenant les informations sur les traitements terminés ou false en cas d'échec.
|
|
|
105 |
*/
|
39 |
jpm |
106 |
public function getTraitementsTermines($code_projet, $script) {
|
|
|
107 |
$url = $this->url."/Termines/$code_projet/$script";
|
30 |
jpm |
108 |
|
|
|
109 |
$json = $this->envoyerRequeteConsultation($url);
|
|
|
110 |
$traitements = json_decode($json, true);
|
|
|
111 |
return $traitements;
|
|
|
112 |
}
|
|
|
113 |
|
|
|
114 |
/**
|
26 |
jpm |
115 |
* Ajoute une demande de traitement pour une référentiel donné.
|
|
|
116 |
*
|
23 |
jpm |
117 |
* @param string le code du référentiel.
|
45 |
jpm |
118 |
* @param string le nom du script à lancer en minuscule.
|
23 |
jpm |
119 |
* @return mixed l'id du traitement ou false en cas d'échec.
|
|
|
120 |
*/
|
39 |
jpm |
121 |
public function ajouterTraitement($code_projet, $script) {
|
49 |
jpm |
122 |
return $this->ajouterTraitementParametre($code_projet, null, $script);
|
|
|
123 |
}
|
|
|
124 |
|
|
|
125 |
/**
|
|
|
126 |
* Ajoute une demande de traitement pour une référentiel donné
|
|
|
127 |
* en passant des paramêtres au script.
|
|
|
128 |
*
|
|
|
129 |
* @param string le code du référentiel.
|
|
|
130 |
* @param string les données serialisées.
|
|
|
131 |
* @param string le nom du script à lancer en minuscule.
|
|
|
132 |
* @return mixed l'id du traitement ou false en cas d'échec.
|
|
|
133 |
*/
|
|
|
134 |
public function ajouterTraitementParametre($code_projet, $parametres, $script) {
|
26 |
jpm |
135 |
// Préparation des données à passer par POST
|
23 |
jpm |
136 |
$donnees['referentiel_code'] = $code_projet;
|
39 |
jpm |
137 |
$donnees['script'] = $script;
|
49 |
jpm |
138 |
$donnees['script_parametres'] = (isset($parametres)) ? $parametres : null;
|
23 |
jpm |
139 |
|
|
|
140 |
// Envoie des données et récupération du retour
|
26 |
jpm |
141 |
$json = $this->envoyerRequeteAjout($this->url, $donnees);
|
23 |
jpm |
142 |
$id = json_decode($json, true);
|
|
|
143 |
return $id;
|
|
|
144 |
}
|
26 |
jpm |
145 |
|
|
|
146 |
/**
|
|
|
147 |
* Modifie un traitement pour indiquer qu'il est débuté.
|
|
|
148 |
*
|
|
|
149 |
* @param integer l'id du traitement
|
|
|
150 |
* @return boolean true en cas de succés sinon false.
|
|
|
151 |
*/
|
|
|
152 |
public function debuterTraitement($id_traitement) {
|
|
|
153 |
$url = $this->url."/$id_traitement";
|
|
|
154 |
$donnees['action'] = 'Debuter';
|
|
|
155 |
|
|
|
156 |
// Envoie des données et récupération du retour
|
|
|
157 |
$json = $this->envoyerRequeteModif($url, $donnees);
|
|
|
158 |
$ok = json_decode($json, true);
|
|
|
159 |
return $ok;
|
|
|
160 |
}
|
|
|
161 |
|
|
|
162 |
/**
|
30 |
jpm |
163 |
* Modifie un traitement pour indiquer qu'il est terminé.
|
|
|
164 |
*
|
|
|
165 |
* @param integer l'id du traitement
|
|
|
166 |
* @return boolean true en cas de succés sinon false.
|
|
|
167 |
*/
|
|
|
168 |
public function terminerTraitement($id_traitement) {
|
|
|
169 |
$url = $this->url."/$id_traitement";
|
|
|
170 |
$donnees['action'] = 'Terminer';
|
|
|
171 |
|
|
|
172 |
// Envoie des données et récupération du retour
|
|
|
173 |
$json = $this->envoyerRequeteModif($url, $donnees);
|
|
|
174 |
$ok = json_decode($json, true);
|
|
|
175 |
return $ok;
|
|
|
176 |
}
|
|
|
177 |
|
|
|
178 |
/**
|
26 |
jpm |
179 |
* Supprime des traitments en fonction de leur id.
|
|
|
180 |
*
|
|
|
181 |
* @param array le tableau des id des traitements à supprimer
|
|
|
182 |
* @return boolean true en cas de succès ou false en cas d'échec.
|
|
|
183 |
*/
|
|
|
184 |
public function supprimer(Array $ids) {
|
|
|
185 |
// Préparation de l'url
|
|
|
186 |
$url = $this->url.'/'.implode(',', $ids);
|
|
|
187 |
|
|
|
188 |
// Envoie des données et récupération du retour
|
|
|
189 |
$json = $this->envoyerRequeteSuppression($url);
|
|
|
190 |
$ok = json_decode($json, true);
|
|
|
191 |
return $ok;
|
|
|
192 |
}
|
23 |
jpm |
193 |
}
|
|
|
194 |
?>
|