Subversion Repositories Applications.referentiel

Rev

Rev 54 | Blame | Compare with Previous | Last modification | View Log | RSS feed

<?php
// declare(encoding='UTF-8');
/**
 * DAO des résultats des traitements.
 *
 * @package             Referentiel
 * @category    Php 5.2
 * @author              Jean-Pascal MILCENT <jpm@tela-botanica.org>
 * @copyright   2010 Tela-Botanica
 * @license             http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
 * @license             http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
 * @version             $Id$
 *
 */
class ResultatDao extends Dao {
        const SERVICE = 'Resultat';
        
        private $url = null;
        
        public function __construct() {
                parent::__construct();
                $this->url = $this->url_jrest.self::SERVICE;
        }
        
        /**
         * Retourne les infos d'un résultat enregistré dans la bdd pour un traitement donné.
         * 
         * @param integer l'id du résultat.
         * @return array le tableau d'infos ou false en cas d'échec.
         */
        public function getInfos($id_resultat) {
                $url = $this->url."/Info/$id_resultat";
                
                $json = $this->envoyerRequeteConsultation($url);
                $infos = json_decode($json, true);
                return $infos;
        }
        
        /**
         * Retourne des infos partielles des résultats (id, nom, resultat) d'un traitement donné.
         * 
         * @param integer l'id du traitement.
         * @return mixed le tableau de tableau d'infos ou false en cas d'échec.
         */
        public function getResultatsTraitement($id_traitement) {
                $url = $this->url."/Traitement/$id_traitement";
                
                $json = $this->envoyerRequeteConsultation($url);
                $infos = json_decode($json, true);
                return $infos;
        }
        
        /**
         * Retourne le nombre de résultat enregistré dans la bdd pour un traitement donné.
         * 
         * @param integer l'id du traitement.
         * @return mixed le nombre de résultat ou false en cas d'échec.
         */
        public function getNombre($id_traitement) {
                $url = $this->url."/Nombre/$id_traitement";
                
                $json = $this->envoyerRequeteConsultation($url);
                $traitements = json_decode($json, true);
                return $traitements;
        }
        
        /**
         * Ajoute un résultat de traitement pour une référentiel donné.
         * 
         * @param integer l'id du traitement en cours.
         * @param array un tableau contenant les clés 'nom', 'message', 'description' et 'resultat'.
         *  
         * @return mixed l'id du résultat ou false en cas d'échec.
         */
        public function ajouter($id_traitement, Array $resultat) {
                // Préparation des données à passer par POST
                $donnees = $resultat;
                $donnees['id_traitement'] = $id_traitement;
                
                // Envoie des données et récupération du retour
                $json = $this->envoyerRequeteAjout($this->url, $donnees);
                $id = json_decode($json, true);
                
                return $id;
        }
        
}
?>