id = $id + 0; $this->fetch_data(); } protected function fetch_data() { $this->num_notice = 0; $this->num_bulletin = 0; $this->date_creation = ''; $this->formatted_date_creation = ''; $this->type_transfert = 0; $this->etat_transfert = ''; $this->origine = 0; $this->origine_comp = ''; $this->source = 0; $this->destinations = ''; $this->date_retour = ''; $this->formatted_date_retour = ''; $this->motif = ''; $this->transfert_ask_user_num = 0; $this->transfert_send_user_num = 0; $this->transfert_ask_date = ''; $this->transfert_ask_formatted_date = ''; if($this->id) { $query = "select * from transferts INNER JOIN transferts_demande ON id_transfert=num_transfert INNER JOIN exemplaires ON num_expl=expl_id where id_transfert = ".$this->id; $result = pmb_mysql_query($query); $row = pmb_mysql_fetch_object($result); $this->num_notice = $row->num_notice; $this->num_bulletin = $row->num_bulletin; $this->date_creation = $row->date_creation; $this->formatted_date_creation = formatdate($row->date_creation); $this->type_transfert = $row->type_transfert; $this->etat_transfert = $row->etat_transfert; $this->origine = $row->origine; $this->origine_comp = $row->origine_comp; $this->source = $row->source; $this->destinations = $row->destinations; $this->date_retour = $row->date_retour; $this->formatted_date_retour = formatdate($row->date_retour); $this->motif = $row->motif; $this->transfert_ask_user_num = $row->transfert_ask_user_num; $this->transfert_send_user_num = $row->transfert_send_user_num; $this->transfert_ask_date = $row->transfert_ask_date; $this->transfert_ask_formatted_date = formatdate($row->transfert_ask_date); $this->num_exemplaire = $row->expl_id; $this->exemplaire = new exemplaire('', $row->expl_id); if($row->id_transfert_demande) { $this->transfert_demande = new transfert_demande($row->id_transfert_demande); } } } //******************************************************************************************** public function _creer_transfert( $id_expl, $src, $dest, $t_trans, $date_ret='', $origine=0, $ori_comp ='', $motif='', $sens=0, $etat=0, $ask_date='') { //on recupere le no de notice $rqt = "SELECT expl_notice, expl_bulletin, expl_statut, expl_section FROM exemplaires WHERE expl_id=".$id_expl; $res = pmb_mysql_query( $rqt ); $expl = pmb_mysql_fetch_object($res); //$id_notice = pmb_mysql_result( $res, 0 ); // verif si déjà existrant $rqt = "Select * from transferts ,transferts_demande where num_transfert=id_transfert and num_expl=$id_expl and num_notice=".$expl->expl_notice." and num_bulletin=".$expl->expl_bulletin." and type_transfert=$t_trans and etat_transfert=0 and origine=$origine and origine_comp ='".addslashes($ori_comp)."' and source=$src and destinations =$dest "; $res=pmb_mysql_query( $rqt ); if (pmb_mysql_num_rows($res)) { $obj_data = pmb_mysql_fetch_object($res); $num=$obj_data->id_transfert; } else { if(!$ask_date)$ask_date=" NOW() "; else $ask_date=" '".$ask_date."' "; //on cree l'enregistrement dans la table transferts $rqt = "INSERT INTO transferts ( num_notice, num_bulletin, date_creation, type_transfert, etat_transfert, origine, origine_comp, source, destinations, date_retour, motif, transfert_ask_date ) VALUES (". $expl->expl_notice . ", " . $expl->expl_bulletin . ", NOW(),". $t_trans . ", 0, ". $origine . ", '" . addslashes($ori_comp) . "',". $src . ", '" . $dest . "', '" . $date_ret . "', '" .addslashes($motif) . "', ".$ask_date.")"; pmb_mysql_query( $rqt ); //on recupere l'id du transfert crée $num = pmb_mysql_insert_id(); } $rqt = "Select * from transferts_demande where num_transfert=$num and sens_transfert=$sens and num_location_source=$src and num_location_dest=$dest and num_expl=$id_expl "; $res=pmb_mysql_query( $rqt ); if (!pmb_mysql_num_rows($res)) { //la table transferts_demande $rqt = "INSERT INTO transferts_demande ( num_transfert, date_creation, sens_transfert, num_location_source, num_location_dest, num_expl, statut_origine, section_origine, etat_demande ) VALUES (". $num . ", NOW(), ". $sens . ", " . $src . ", ". $dest . ", " . $id_expl . ", ". $expl->expl_statut . ", " . $expl->expl_section . ", ". $etat .")"; pmb_mysql_query( $rqt ); } return $num; } //change le statut d'un exemplaire protected function _change_statut_exemplaire( $id_expl, $id_statut ) { $id_expl += 0; $id_statut += 0; if ($id_statut && $id_expl) { $rqt = "UPDATE exemplaires SET transfert_statut_origine = expl_statut WHERE expl_id=".$id_expl; pmb_mysql_query( $rqt ); //changement du statut $rqt = "UPDATE exemplaires SET expl_statut=".$id_statut." WHERE expl_id=".$id_expl; pmb_mysql_query( $rqt ); } } //change la localisation d'un exemplaire protected static function _change_localisation_exemplaire( $id_expl, $id_localisation, $sauve_loc = false ) { //sauvegarde de la localisation if ($sauve_loc) { $query = "UPDATE exemplaires SET transfert_location_origine = expl_location WHERE expl_id=".$id_expl; pmb_mysql_query($query); } //changement de la localisation $query = "UPDATE exemplaires SET expl_location=".$id_localisation." WHERE expl_id=".$id_expl; pmb_mysql_query($query); } //retourne le no de transfert à partir de son no d'exemplaire public function _explcb_2_transid($cbEx, $etat, $sens) { global $deflt_docs_location; global $transferts_statut_transferts; //on recupere l'id de l'exemplaire* if($sens) { $loc_req= " AND num_location_dest=".$deflt_docs_location ; } else { $loc_req= " AND num_location_source=".$deflt_docs_location ; } $rqt = "SELECT id_transfert FROM transferts INNER JOIN transferts_demande ON id_transfert=num_transfert INNER JOIN exemplaires ON num_expl=expl_id WHERE etat_transfert=0 AND expl_cb='".$cbEx."' AND etat_demande=".$etat. " $loc_req " ; $res = pmb_mysql_query( $rqt ); if (pmb_mysql_num_rows($res)) { return pmb_mysql_result( $res, 0 ); }elseif($etat == 1) { // pour l'envoi seulement, chercher si cet exemplaire peut convenir à une demande de transfert de la meme notice // Cela évite d'envoyer l'exemplaire rangé, alors que celui-ci est dans la main... $rqt = "SELECT expl_notice, expl_bulletin, expl_id, expl_statut, transfert_flag FROM exemplaires INNER JOIN docs_statut ON expl_statut=idstatut WHERE expl_cb='".$cbEx."'"; $res = pmb_mysql_query( $rqt ); $expl = pmb_mysql_fetch_object($res); // on verifie que le transfert est autorisé if ($expl->transfert_flag==0) return 0; // on verifie que pas en pret $rqt = "SELECT COUNT(1) FROM pret WHERE pret_idexpl=".$expl->expl_id; $res = pmb_mysql_query( $rqt ); if (pmb_mysql_result( $res, 0 ) )return 0; // on verifie que pas reservé, validé $rqt = "SELECT COUNT(1) FROM resa WHERE resa_cb='".$cbEx."' and resa_confirmee=1"; $res = pmb_mysql_query( $rqt ); if (pmb_mysql_result( $res, 0 ) )return 0; $rqt = "SELECT id_transfert, id_transfert_demande, num_expl as origine_num_expl FROM transferts INNER JOIN transferts_demande ON id_transfert=num_transfert WHERE etat_transfert=0 and num_notice=".$expl->expl_notice." and num_bulletin=".$expl->expl_bulletin." and etat_demande=".$etat. " $loc_req " ; $res = pmb_mysql_query( $rqt ); if (pmb_mysql_num_rows($res)){ $row = pmb_mysql_fetch_object($res); // restauration du statut de l'exemplaire demandé à l'origine, puisqu'il reste en rayon $rqt = "UPDATE exemplaires SET expl_statut=transfert_statut_origine WHERE expl_id=".$row->origine_num_expl; pmb_mysql_query( $rqt ); // remplacement de l'exemplaire demandé à l'origine, par celui qui va partir $rqt = "UPDATE transferts_demande SET num_expl='".$expl->expl_id."' WHERE id_transfert_demande=".$row->id_transfert_demande; pmb_mysql_query( $rqt ); // Sauvegarde du statut de celui qui va partir $rqt = "UPDATE exemplaires SET transfert_statut_origine = expl_statut WHERE expl_id=".$expl->expl_id; pmb_mysql_query( $rqt ); // Changement du statut de celui qui va partir $rqt = "UPDATE exemplaires SET expl_statut=".$transferts_statut_transferts." WHERE expl_id=".$expl->expl_id; pmb_mysql_query( $rqt ); return $row->id_transfert; } } return 0; } //retourne le no de transfert à partir de son no d'exemplaire protected function _transid_2_explcb($transId, $etat) { //on recupere l'id de l'exemplaire $rqt = "SELECT expl_cb FROM transferts INNER JOIN transferts_demande ON id_transfert=num_transfert INNER JOIN exemplaires ON num_expl=expl_id WHERE id_transfert=".$transId." AND etat_demande=".$etat; $res = pmb_mysql_query( $rqt ); if (pmb_mysql_num_rows($res)) return pmb_mysql_result( $res, 0 ); else return 0; } //retourne le no de transfert à partir de son no d'exemplaire protected function _transid_2_explid($transId, $etat) { //on recupere l'id de l'exemplaire $rqt = "SELECT num_expl FROM transferts INNER JOIN transferts_demande ON id_transfert=num_transfert WHERE id_transfert=".$transId." AND etat_demande=".$etat; $res = pmb_mysql_query( $rqt ); if (pmb_mysql_num_rows($res)) return pmb_mysql_result( $res, 0 ); else return 0; } //restaure le statut de l'exemplaire protected function _restaure_statut($idTrans) { //Récupération des informations d'origine $rqt = "SELECT statut_origine, num_expl FROM transferts INNER JOIN transferts_demande ON id_transfert=num_transfert WHERE id_transfert=".$idTrans." AND sens_transfert=0"; $res = pmb_mysql_query($rqt); if($res && pmb_mysql_num_rows($res)) { $obj_data = pmb_mysql_fetch_object($res); //on met à jour $rqt = "UPDATE exemplaires SET expl_statut=".$obj_data->statut_origine." WHERE expl_id=".$obj_data->num_expl; pmb_mysql_query( $rqt ); } } //reception - la section est-elle visible sur ce site ? protected function _available_section($idTrans) { global $deflt_docs_location; $available_section=false; //Récupération de la section exemplaire courante $rqt = "SELECT expl_section FROM transferts, transferts_demande, exemplaires WHERE id_transfert=num_transfert AND num_expl=expl_id AND id_transfert=".$idTrans." AND sens_transfert=1"; $res = pmb_mysql_query($rqt); if(pmb_mysql_num_rows($res)){ $obj_data = pmb_mysql_fetch_object($res); $section_id = $obj_data->expl_section; if($section_id){ //est-elle dispo ici ? $rqt = "SELECT num_section FROM docsloc_section WHERE num_location=".$deflt_docs_location." AND num_section=".$section_id; $res = pmb_mysql_query($rqt); if(pmb_mysql_num_rows($res)){ $available_section=true; } } } return $available_section; } //restaure la section de l'exemplaire protected function _restaure_section($idTrans) { global $deflt_docs_location; //Récupération des informations d'origine $rqt = "SELECT num_expl, transfert_section_origine FROM transferts, transferts_demande, exemplaires WHERE id_transfert=num_transfert AND num_expl=expl_id AND id_transfert=".$idTrans." AND sens_transfert=1"; $res = pmb_mysql_query($rqt); if(pmb_mysql_num_rows($res)){ $obj_data = pmb_mysql_fetch_object($res); $expl_id = $obj_data->num_expl; $section_origine_id = $obj_data->transfert_section_origine; $ok_section=false; if($section_origine_id){ //est-elle toujours dispo dans la loc ? $rqt = "SELECT num_section FROM docsloc_section WHERE num_location=".$deflt_docs_location." AND num_section=".$section_origine_id; $res = pmb_mysql_query($rqt); if(pmb_mysql_num_rows($res)){ $ok_section=true; } } if(!$ok_section){ //on va chercher la première dispo $rqt = "SELECT idsection FROM docs_section INNER JOIN docsloc_section ON idsection=num_section WHERE num_location=".$deflt_docs_location." LIMIT 1"; $res = pmb_mysql_query($rqt); $section_origine_id = pmb_mysql_result($res,0); } //on met à jour if($section_origine_id){ $rqt = "UPDATE exemplaires SET expl_section=".$section_origine_id.", transfert_section_origine=".$section_origine_id." WHERE expl_id=".$expl_id; pmb_mysql_query( $rqt ); } } } //restaure la localisation de l'exemplaire protected function _restaure_localisation($idTrans) { //Récupération des informations d'origine $rqt = "SELECT source, num_expl FROM transferts INNER JOIN transferts_demande ON id_transfert=num_transfert WHERE id_transfert=".$idTrans." AND sens_transfert=0"; $res = pmb_mysql_query($rqt); $obj_data = pmb_mysql_fetch_object($res); //on met à jour $rqt = "UPDATE exemplaires SET expl_location=".$obj_data->source." WHERE expl_id=".$obj_data->num_expl; pmb_mysql_query( $rqt ); /* $rqt = "UPDATE exemplaires " . "SET expl_location = transfert_location_origine " . "WHERE expl_id = " . $idExpl; pmb_mysql_query( $rqt ); */ } //******************************************************************************************** // pour le retour de pret d'exemplaires //******************************************************************************************** //sur un retour d'exemplaire on change la localisation public function retour_exemplaire_change_localisation($expl_id) { global $transferts_retour_change_localisation; global $deflt_docs_location; $rqt = "SELECT expl_location FROM exemplaires WHERE expl_id=".$expl_id; $res = pmb_mysql_query( $rqt ); $locOri = pmb_mysql_result( $res, 0 ); static::_change_localisation_exemplaire($expl_id, $deflt_docs_location, ($transferts_retour_change_localisation == "1")); $rqt = "SELECT idsection FROM exemplaires INNER JOIN docs_section ON expl_section=idsection INNER JOIN docsloc_section ON idsection=num_section WHERE expl_id=".$expl_id." AND num_location=".$deflt_docs_location; $res = pmb_mysql_query($rqt); if (pmb_mysql_num_rows($res)==0) { //la section n'existe pas pour cette localisation ! //on cherche la premiere section dispo $rqt = "SELECT idsection FROM docs_section INNER JOIN docsloc_section ON idsection=num_section WHERE num_location=".$deflt_docs_location." LIMIT 1"; $res = pmb_mysql_query($rqt); $id_section = pmb_mysql_result($res,0); } else $id_section = pmb_mysql_result($res,0); //changement de la localisation $rqt = "UPDATE exemplaires SET expl_section=".$id_section." WHERE expl_id=" . $expl_id; pmb_mysql_query($rqt); return $locOri; } public static function is_retour_exemplaire_loc_origine($expl_id) { global $deflt_docs_location; $rqt = "SELECT expl_location,expl_cb, transfert_location_origine,transfert_statut_origine, expl_section FROM exemplaires WHERE expl_id=".$expl_id; $res = pmb_mysql_query( $rqt ); $expl = pmb_mysql_fetch_object( $res ); $rqt = "SELECT id_transfert FROM transferts INNER JOIN transferts_demande ON id_transfert=num_transfert INNER JOIN exemplaires ON num_expl=expl_id WHERE etat_transfert=0 AND expl_cb='".$expl->expl_cb."' AND etat_demande=3 AND num_location_source=".$deflt_docs_location ; $res = pmb_mysql_query( $rqt ); if (pmb_mysql_num_rows($res)) return pmb_mysql_result( $res, 0 ); else return 0; } //sur un retour d'exemplaire sur sa localisation d'origine alors qu'il était localisé ailleur (par un transfert) // il faut donc cloturer le retour programmé et rétablir la localisation, section cet exemplaire public function retour_exemplaire_loc_origine($expl_id) { global $deflt_docs_location; $rqt = "SELECT expl_location,expl_cb, transfert_location_origine,transfert_statut_origine, expl_section FROM exemplaires WHERE expl_id=".$expl_id; $res = pmb_mysql_query( $rqt ); $expl = pmb_mysql_fetch_object( $res ); $loc_req= " AND num_location_source=".$deflt_docs_location ; $rqt = "SELECT id_transfert FROM transferts INNER JOIN transferts_demande ON id_transfert=num_transfert INNER JOIN exemplaires ON num_expl=expl_id WHERE etat_transfert=0 AND expl_cb='".$expl->expl_cb."' AND etat_demande=3 AND num_location_source=".$deflt_docs_location ; $res = pmb_mysql_query( $rqt ); if (pmb_mysql_num_rows($res)) $idTrans= pmb_mysql_result( $res, 0 ); else return 0; $this->enregistre_retour ( $idTrans ); $rqt = "SELECT location_libelle FROM transferts_demande,docs_location WHERE num_location_source=idlocation and num_transfert=".$idTrans." AND etat_demande=5"; $res = pmb_mysql_query( $rqt ); $value = pmb_mysql_fetch_array( $res ); $this->new_location_libelle=$value[0]; $num = $this->enregistre_reception_cb($expl->expl_cb, 0,0); //purge les restes de transfert intermédiaire... $rqt = "update transferts,transferts_demande, exemplaires set etat_transfert=1 WHERE id_transfert=num_transfert and num_expl=expl_id and etat_transfert=0 AND expl_cb='".$expl->expl_cb."' " ; pmb_mysql_query( $rqt ); return $num; } //sur un retour d'exemplaire on genere un transfert de retour public function retour_exemplaire_genere_transfert_retour($expl_id) { global $transferts_retour_etat_transfert; global $transferts_retour_motif_transfert; global $deflt_docs_location; //on recupere la localisation de l'exemplaire //elle va servir pour la destination du transfert $rqt = "SELECT expl_location FROM exemplaires WHERE expl_id=".$expl_id; $res = pmb_mysql_query( $rqt ); $dest_id = pmb_mysql_result( $res, 0 ); //création du transfert $num = $this->_creer_transfert( $expl_id, $deflt_docs_location, $dest_id, 0, '', 3, '', $transferts_retour_motif_transfert, 1, 0); $this->enregistre_validation($num); $rqt = "update exemplaires set expl_location= $deflt_docs_location WHERE expl_id=".$expl_id; pmb_mysql_query( $rqt ); if ($transferts_retour_etat_transfert == "1") $this->enregistre_envoi($num); return $num; } public function retour_exemplaire_genere_transfert_retour_origine($expl_id) { global $transferts_retour_etat_transfert; global $transferts_retour_motif_transfert; global $deflt_docs_location; $dest_id = $this->get_origine($expl_id); /* * #103430 - 26/02/21 - Pourquoi tenir compte du paramètre nb_jours_alerte ici ? * N'empêchons pas le transfert vers le site d'origine if($dest_id != $deflt_docs_location) { // l'exemplaire n'est pas a sa bonne localisation d'origine // Si c'est un transfert suite à une résa, le document est immédiatement transférable, // sinon il est en dépôt jusqu'à la date d'alerte $rqt = "SELECT id_transfert, sens_transfert, num_location_source, num_location_dest,expl_location FROM transferts, transferts_demande, exemplaires WHERE id_transfert=num_transfert and num_expl=expl_id and num_expl='".$expl_id."' AND etat_demande=3 and etat_transfert=0 AND resa_trans=0 AND IF(origine=3, DATE_ADD(date_retour,INTERVAL - ".$transferts_nb_jours_alerte." DAY) > CURDATE(), 1)"; $res = pmb_mysql_query( $rqt ); if (pmb_mysql_num_rows($res)){ // L'exemplaire reste un certain temps ici, rien a faire de plus return 0; } } */ $rqt_loc = "SELECT location_libelle FROM docs_location WHERE idlocation=".$dest_id ; $res_loc = pmb_mysql_query( $rqt_loc ); $obj_loc = pmb_mysql_fetch_object($res_loc); $this->location_libelle_origine = $obj_loc->location_libelle; // on cloture le transfert en cours $rqt = "update transferts,transferts_demande set etat_transfert=1 WHERE id_transfert=num_transfert and etat_transfert=0 and num_expl=".$expl_id; pmb_mysql_query( $rqt ); if($dest_id == $deflt_docs_location) { // l'exemplaire est sur son site d'origine, rien a faire de plus return 0; } // création du transfert pour le retourner sur son site d'origine $num = $this->_creer_transfert( $expl_id, $deflt_docs_location, $dest_id, 0, '', 3, '', $transferts_retour_motif_transfert, 1, 0); $this->enregistre_validation($num); if ($transferts_retour_etat_transfert == "1") { $this->enregistre_envoi($num); } return $num; } // memorise la loc d'origine de l'exemplaire public function memo_origine($expl_id) { //on recupere la localisation de l'exemplaire $rqt = "SELECT trans_source_numloc FROM transferts_source WHERE trans_source_numexpl=$expl_id "; $res = pmb_mysql_query( $rqt ); if (pmb_mysql_num_rows($res)) { $origine_id = pmb_mysql_result( $res, 0 ); if($origine_id) return $origine_id; } //on recupere la localisation de l'exemplaire du premier transfert ouvert de cet exemplaire $rqt = "SELECT source FROM transferts,transferts_demande WHERE id_transfert= num_transfert and etat_transfert=0 and num_expl=$expl_id order by id_transfert limit 1"; $res = pmb_mysql_query( $rqt ); if (pmb_mysql_num_rows($res)) { $origine_id = pmb_mysql_result( $res, 0 ); if($origine_id){ $rqt = "insert transferts_source SET trans_source_numloc=".$origine_id." , trans_source_numexpl=".$expl_id; pmb_mysql_query( $rqt ); return $origine_id; } } if(!$origine_id){ $rqt = "SELECT expl_location FROM exemplaires WHERE expl_id=".$expl_id; $res = pmb_mysql_query( $rqt ); $origine_id = pmb_mysql_result($res,0); } // delete au cas ou trans_source_numloc=0 $rqt = "DELETE FROM transferts_source WHERE trans_source_numexpl=".$expl_id ; pmb_mysql_query( $rqt ); $rqt = "insert transferts_source SET trans_source_numloc=".$origine_id." , trans_source_numexpl=".$expl_id; pmb_mysql_query( $rqt ); return $origine_id; } // reset la loc d'origine de l'exemplaire par $deflt_docs_location public function reset_origine($expl_id) { global $deflt_docs_location; $rqt = "DELETE FROM transferts_source WHERE trans_source_numexpl=".$expl_id ; pmb_mysql_query( $rqt ); $rqt = "insert transferts_source SET trans_source_numloc=".$deflt_docs_location." , trans_source_numexpl=".$expl_id; pmb_mysql_query( $rqt ); } // retourne la loc d'origine de l'exemplaire public function get_origine($expl_id) { // on teste s'il y a un transfert actif sur l'exemplaire $rqt = "SELECT * FROM transferts, transferts_demande WHERE id_transfert = num_transfert AND etat_transfert=0 AND num_expl=".$expl_id; $res = pmb_mysql_query( $rqt ); if (!pmb_mysql_num_rows($res)) { //On nettoie le champ exemplaire transfert_location_origine car certains cas de figure anciens ont pu générer un décalage de localisation d'origine pmb_mysql_query("UPDATE exemplaires SET transfert_location_origine=expl_location WHERE expl_id=".$expl_id); //On retourne la localisation de l'exemplaire. $rqt = "SELECT expl_location FROM exemplaires WHERE expl_id=".$expl_id; $res = pmb_mysql_query( $rqt ); return pmb_mysql_result($res, 0); } // on recupere la localisation d'origine de l'exemplaire, priorité table 'transferts_source' $rqt = "SELECT trans_source_numloc FROM transferts_source WHERE trans_source_numexpl=".$expl_id; $res = pmb_mysql_query( $rqt ); if (pmb_mysql_num_rows($res)) { $origine_id = pmb_mysql_result($res, 0); if($origine_id){ return $origine_id; } } // on recupere la localisation d'origine de l'exemplaire $rqt = "SELECT transfert_location_origine FROM exemplaires WHERE expl_id=".$expl_id; $res = pmb_mysql_query( $rqt ); $origine_id = pmb_mysql_result($res, 0); if($origine_id){ return $origine_id; } // si pas de transfert_location_origine, on retourne expl_location $rqt = "SELECT expl_location FROM exemplaires WHERE expl_id=".$expl_id; $res = pmb_mysql_query( $rqt ); return pmb_mysql_result($res, 0); } //restaure la localisation apres une sauvegarde public function retour_exemplaire_restaure_localisation($expl_id, $loc_id) { $rqt = "UPDATE exemplaires SET expl_location=".$loc_id." WHERE expl_id=".$expl_id; pmb_mysql_query( $rqt ); } //on supprime le transfert généré public function retour_exemplaire_supprime_transfert($expl_id, $idTrans) { $this->_restaure_statut($idTrans); $rqt = "DELETE FROM transferts WHERE id_transfert=" . $idTrans; pmb_mysql_query( $rqt ); $rqt = "DELETE FROM transferts_demande WHERE num_transfert=" . $idTrans; pmb_mysql_query( $rqt ); } //******************************************************************************************** // pour la circulation //******************************************************************************************** //enregistre la validation d'un exemplaire à partir de son cb public function enregistre_validation_cb($cbEx) { $idTrans = $this->_explcb_2_transid ( $cbEx, 0,0 ); if ($idTrans != 0) { $this->enregistre_validation ( $idTrans ); $rqt = "SELECT location_libelle FROM transferts_demande,docs_location WHERE num_location_dest=idlocation and num_transfert=".$idTrans." AND etat_demande=1"; $res = pmb_mysql_query( $rqt ); $value = pmb_mysql_fetch_array( $res ); $this->new_location_libelle=$value[0]; return $cbEx; } else return false; } //enregistre la validation d'une liste de transferts public function enregistre_validation($listeTransferts) { global $transferts_statut_validation; $tabTrans = explode ( ",", $listeTransferts ); foreach ( $tabTrans as $transId ) { //pour chacun des transferts sélectionnés //on met a jour l'etat de la demande => on passe en validé $rqt = "UPDATE transferts INNER JOIN transferts_demande ON id_transfert=num_transfert SET etat_demande=1, date_visualisee = NOW() WHERE id_transfert=".$transId." AND etat_demande=0 "; pmb_mysql_query( $rqt ); //on recupere l'id de l'exemplaire $idExpl = $this->_transid_2_explid ( $transId, 1 ); //on change le statut de l'exemplaire if ($transferts_statut_validation) { $this->_change_statut_exemplaire( $idExpl, $transferts_statut_validation); } if($this->validation_send_event) { // Publication d'un évenement (transfert validé) $evt_handler = events_handler::get_instance(); $event = new event_transfert("transfert", "validated"); $event->set_id_transfert($transId); $evt_handler->send($event); } } // foreach } //enregistre le refus sur une liste de transfert public function enregistre_refus($listeTransferts, $motif) { $tabTrans = explode ( ",", $listeTransferts ); foreach ( $tabTrans as $transId ) { //pour chacun des transferts sélectionnés //on met a jour l'etat de la demande => on passe en validé $rqt = "UPDATE transferts INNER JOIN transferts_demande ON id_transfert=num_transfert SET etat_demande = 4, date_visualisee = NOW(), motif_refus = '".$motif."' WHERE id_transfert=".$transId." AND etat_demande<2 "; pmb_mysql_query( $rqt ); //on restaure le statut au cas ou il aurais été modifié... $this->_restaure_statut($transId); } } //valide l'envoi d'un exemplaire public function enregistre_envoi_cb($cbEx) { $idTrans = $this->_explcb_2_transid ( $cbEx, 1 ,0); if ($idTrans != 0) { $this->enregistre_envoi ( $idTrans ); $rqt = "SELECT location_libelle FROM transferts_demande,docs_location WHERE num_location_dest=idlocation and num_transfert=".$idTrans." AND etat_demande=2"; $res = pmb_mysql_query( $rqt ); $value = pmb_mysql_fetch_array( $res ); $this->new_location_libelle=$value[0]; return $cbEx; } else return false; } //valide l'envoi d'une liste de transferts public function enregistre_envoi($listeTransferts) { global $transferts_statut_transferts; global $transferts_validation_actif; global $transferts_statut_validation, $PMBuserid; $tabTrans = explode ( ",", $listeTransferts ); foreach ( $tabTrans as $transId ) { //pour chacun des transferts sélectionnés $idExpl = $this->_transid_2_explid ( $transId, 1 ,0); if ( ($transferts_validation_actif == "1") && ($transferts_statut_validation != "0") ) //si la validation est active et le changement de statut activé //on restaure le statut sauvegardé $this->_restaure_statut($transId); //on change le statut et on le sauvegarde $this->_change_statut_exemplaire($idExpl, $transferts_statut_transferts); //on met a jour l'etat de la demande => on passe en envoyé $rqt = "UPDATE transferts INNER JOIN transferts_demande ON id_transfert=num_transfert SET etat_demande=2, date_envoyee=NOW(), transfert_send_user_num= '".$PMBuserid."' WHERE id_transfert=".$transId." AND etat_demande = 1"; pmb_mysql_query( $rqt ); } } //effectue la reception d'un exemplaire public function enregistre_reception_cb($cbEx, $idStatut, $idSection,&$info=array()) { $idTrans = $this->_explcb_2_transid ( $cbEx, 2 ,1); if ($idTrans != 0) { $this->enregistre_reception ( $idTrans, $idStatut, $idSection,$info ); return $idTrans; } else return false; } /*Autorise ou pas le prêt, et si transfert, on valide la reception retourne: 1: Prêt interdit 2: prêt forcable 0: prêt ok */ public function check_pret($cbEx,$force=0) { global $transferts_pret_statut_transfert,$msg; global $deflt_docs_location; $this->check_pret_error_message=''; //on recupere l'id de l'exemplaire $rqt = "SELECT id_transfert, sens_transfert, num_location_source, num_location_dest FROM transferts, transferts_demande, exemplaires WHERE id_transfert=num_transfert and num_expl=expl_id and expl_cb='".$cbEx."' AND etat_demande=2" ; $res = pmb_mysql_query( $rqt ); if (pmb_mysql_num_rows($res)){ $obj_data = pmb_mysql_fetch_object($res); $rqt_loc = "SELECT location_libelle FROM transferts_demande,docs_location WHERE num_location_source=idlocation and num_transfert=".$obj_data->id_transfert; $res_loc = pmb_mysql_query( $rqt_loc ); $value = pmb_mysql_fetch_array( $res_loc ); $location_source_libelle=$value[0]; $rqt_loc = "SELECT location_libelle FROM transferts_demande,docs_location WHERE num_location_dest=idlocation and num_transfert=".$obj_data->id_transfert; $res_loc = pmb_mysql_query( $rqt_loc ); $value = pmb_mysql_fetch_array( $res_loc ); $location_dest_libelle=$value[0]; if(!$obj_data->sens_transfert && ($deflt_docs_location == $obj_data->num_location_source)) { // c'est un envoi, coté du propriétaire: l'exemplaire aurai dû partir... if(!$transferts_pret_statut_transfert) { // prêt interdit $this->check_pret_error_message=str_replace("!!dest_location!!",$location_dest_libelle, $msg["transferts_check_pret_erreur_envoi"]); return 1; } else { // forçable en prêt, on le laisse en transfert ? $this->check_pret_error_message=str_replace("!!dest_location!!",$location_dest_libelle, $msg["transferts_check_pret_erreur_envoi"]); return 2; } } if(!$obj_data->sens_transfert && ($deflt_docs_location == $obj_data->num_location_dest)) { // c'est un envoi, coté destinataire: l'exemplaire aurai dû être réceptionné avant un prêt... if($force) { $res_rcp = $this->enregistre_reception_cb($cbEx, 0, 0); $this->_restaure_statut($obj_data->id_transfert); if ($res_rcp==false) return 1; } else { $this->check_pret_error_message=str_replace("!!source_location!!",$location_source_libelle, $msg["transferts_check_pret_erreur_reception"]); return 2; } } if($obj_data->sens_transfert && ($deflt_docs_location == $obj_data->num_location_source)) { // c'est un retour, coté destinataire: l'exemplaire aurai du être retourné et non prêté... if(!$transferts_pret_statut_transfert) { // prêt interdit $this->check_pret_error_message=str_replace("!!dest_location!!",$location_source_libelle, $msg["transferts_check_pret_erreur_envoi"]); return 1; } else { // forçable en prêt, on le laisse en transfert ? $this->check_pret_error_message=str_replace("!!dest_location!!",$location_source_libelle, $msg["transferts_check_pret_erreur_envoi"]); return 2; } } if($obj_data->sens_transfert && ($deflt_docs_location == $obj_data->num_location_dest)) { // c'est un retour, coté du propriétaire: l'exemplaire aurai dû être réceptionné avant un prêt... if($force) { $res_rcp = $this->enregistre_reception_cb($cbEx, 0, 0); $this->_restaure_statut($obj_data->id_transfert); if ($res_rcp==false) return 1; } else { $this->check_pret_error_message=str_replace("!!source_location!!",$location_dest_libelle, $msg["transferts_check_pret_erreur_reception"]); return 2; } } } return 0; } //effectue la reception d'une liste de transferts public function enregistre_reception($listeTransferts, $idStatut, $listeSections,&$info=array()) { global $deflt_docs_location; $tabTrans = explode ( ",", $listeTransferts ); $tabSections = explode ( ",", $listeSections ); $idSection = current($tabSections); $nb=0; foreach ( $tabTrans as $transId ) { //on recupere l'id de l'exemplaire $noEx = $this->_transid_2_explid ( $transId, 2 ); $info[$nb]=array(); //le sens du transfert $rqt = "SELECT sens_transfert, type_transfert, origine, origine_comp, motif FROM transferts INNER JOIN transferts_demande ON id_transfert=num_transfert WHERE id_transfert=".$transId." AND etat_demande = 2"; $res = pmb_mysql_query( $rqt ); $value = pmb_mysql_fetch_array( $res ); $sensTrans = $value[0]; $typeTrans = $value[1]; $origine = $value[2]; $origineComp = $value[3]; $info[$nb]["motif"] = $value[4]; if ($sensTrans == 1) { //c'est un retour ! //on cloture le transfert $rqt = "UPDATE transferts SET etat_transfert=1 WHERE id_transfert=".$transId; pmb_mysql_query( $rqt ); if(!exemplaire::purge_ghost($noEx)){ if ($typeTrans == 1) { //si c'est un aller/retour //on restaure la localisation sauvegardé de l'exemplaire $this->_restaure_localisation($transId); } if($idSection){ $rqt = "UPDATE exemplaires INNER JOIN transferts_demande ON num_expl=expl_id INNER JOIN transferts ON id_transfert=num_transfert SET expl_section=".$idSection.", transfert_section_origine=".$idSection." WHERE id_transfert=".$transId." AND etat_demande = 2"; pmb_mysql_query( $rqt ); } else { //Section après réception : section identique //on conserve la section - est-elle visible ici ? if(!$this->_available_section($transId)) { //sinon on restaure le section sauvegardé de l'exemplaire $this->_restaure_section($transId); } } if($idStatut) { //on met à jour le statut et la localisation de l'exemplaire $rqt = "UPDATE exemplaires INNER JOIN transferts_demande ON num_expl=expl_id INNER JOIN transferts ON id_transfert=num_transfert SET expl_statut=".$idStatut.", transfert_statut_origine=".$idStatut.", expl_location = num_location_dest WHERE id_transfert=".$transId." AND etat_demande = 2"; pmb_mysql_query( $rqt ); } else { //on restaure le statut sauvegardé de l'exemplaire $this->_restaure_statut($transId); } //Même en retour de transfert, on teste s'il y a une résa à satisfaire //on recupere le cb $rqt = "SELECT expl_cb FROM exemplaires WHERE expl_id=".$noEx; $res = pmb_mysql_query($rqt); $value = pmb_mysql_fetch_array($res); $explcb = $value[0]; //résa validable ? $id_resa_validee = affecte_cb($explcb,0); if ($id_resa_validee) { //on genere la lettre de confirmation alert_empr_resa($id_resa_validee); } } } else { //c'est un transfert // aller simple ? if ($typeTrans == 0) { //on cloture le transfert => pas de gestion du retour $rqt = "UPDATE transferts SET etat_transfert=1 WHERE id_transfert=".$transId; pmb_mysql_query( $rqt ); } else { //c'est l'aller donc if ($origine==4 ) { //c'est un transfert suite a une resa donc //on recupere le cb pour $explcb = $this->_transid_2_explcb($transId,2); } $id_section = $idSection; if ($idSection==0) { //chercher la meme section dans le nouveau site $rqt = "SELECT idsection FROM exemplaires INNER JOIN docs_section ON expl_section=idsection INNER JOIN docsloc_section ON idsection=num_section WHERE expl_id=".$noEx." AND num_location=".$deflt_docs_location; $res = pmb_mysql_query($rqt); if (pmb_mysql_num_rows($res)==0) { //la section n'existe pas pour cette localisation ! //on cherche la premiere section dispo $rqt = "SELECT idsection FROM docs_section INNER JOIN docsloc_section ON idsection=num_section WHERE num_location=".$deflt_docs_location." LIMIT 1"; $res = pmb_mysql_query($rqt); $id_section = pmb_mysql_result($res,0); } else $id_section = pmb_mysql_result($res,0); } $rqt = "UPDATE exemplaires INNER JOIN transferts_demande ON num_expl=expl_id INNER JOIN transferts ON id_transfert=num_transfert SET expl_section=".$id_section." WHERE id_transfert=".$transId." AND etat_demande = 2"; pmb_mysql_query( $rqt ); } //fin du else de if ($typeTrans == 0) //on met à jour le statut et la localisation de l'exemplaire if($idStatut) { $rqt = "UPDATE exemplaires INNER JOIN transferts_demande ON num_expl=expl_id INNER JOIN transferts ON id_transfert=num_transfert SET expl_statut=".$idStatut.", expl_location = num_location_dest WHERE id_transfert=".$transId." AND etat_demande = 2"; pmb_mysql_query( $rqt ); }else { //on restaure le statut sauvegardé de l'exemplaire $this->_restaure_statut($transId); } // Traitement de la résa if ($origine==4 && $typeTrans) { //c'est un transfert suite a une resa donc //valider la resa $id_resa_validee = affecte_cb($explcb,$origineComp); //on genere la lettre de confirmation alert_empr_resa($id_resa_validee); } } //fin du else de if ($sensTrans == 0) //on met a jour l'etat de la demande => on passe en receptionné et terminer $rqt = "UPDATE transferts INNER JOIN transferts_demande ON id_transfert=num_transfert SET etat_demande=3, date_reception=NOW() WHERE id_transfert=".$transId." AND etat_demande = 2"; pmb_mysql_query( $rqt ); //on passe à la section suivante $idSection = next($tabSections); $nb++; } //fin du while } //lance le retour d'un exemplaire public function enregistre_retour_cb($cbEx) { $idTrans = $this->_explcb_2_transid ( $cbEx, 3, 1 ); if ($idTrans != 0) { $this->enregistre_retour ( $idTrans ); $rqt = "SELECT location_libelle FROM transferts_demande,docs_location WHERE num_location_source=idlocation and num_transfert=".$idTrans." AND etat_demande=5"; $res = pmb_mysql_query( $rqt ); $value = pmb_mysql_fetch_array( $res ); $this->new_location_libelle=$value[0]; return $cbEx; } else return false; } //effectue le retour d'une liste de transferts public function enregistre_retour($listeTransferts) { global $transferts_statut_transferts; $tabTrans = explode ( ",", $listeTransferts ); foreach ( $tabTrans as $transId ) { //on met a jour l'etat de la demande => on passe en receptionné et terminer $rqt = "UPDATE transferts INNER JOIN transferts_demande ON id_transfert=num_transfert SET etat_demande=5 WHERE id_transfert=".$transId." AND etat_demande=3"; pmb_mysql_query( $rqt ); //on recupere les infos de la demande de l'aller $rqt = "SELECT num_location_source, num_location_dest, num_expl, statut_origine, section_origine FROM transferts_demande WHERE num_transfert=".$transId." AND etat_demande=5"; $res = pmb_mysql_query( $rqt ); $value = pmb_mysql_fetch_array( $res ); //on insert l'information d'envoi du retour $rqt = "INSERT INTO transferts_demande (num_transfert, date_creation, sens_transfert, num_location_source, num_location_dest, num_expl, etat_demande, date_visualisee, date_envoyee, statut_origine, section_origine) VALUES (". $transId.", NOW(), 1, $value[1], $value[0], $value[2], 2, NOW(), NOW(), $value[3], $value[4])"; pmb_mysql_query( $rqt ); //on met à jour le statut de l'exemplaire avec l'etat défini pour la validation $rqt = "UPDATE exemplaires SET expl_statut=".$transferts_statut_transferts." WHERE expl_id=".$value[2]; pmb_mysql_query( $rqt ); } } //change la date de retour d'un transfert static function change_date_retour($idTransfert,$date_retour) { $rqt = "UPDATE transferts SET date_retour='".$date_retour."' WHERE id_transfert=".$idTransfert; pmb_mysql_query( $rqt ); } //cloture un ou plusieurs transferts public function cloture_transferts($listeTransferts) { global $transferts_statut_transferts; $tabTrans = explode ( ",", $listeTransferts ); foreach ( $tabTrans as $transId ) { //on cloture le transfert $rqt = "UPDATE transferts SET etat_transfert=1 WHERE id_transfert=".$transId; pmb_mysql_query( $rqt ); } } /* function ajoute_demande($transId, $source, $motif, $dateRetour) { global $deflt_docs_location; global $transferts_validation_actif; //on met a jour l'etat de la demande => on passe en refus traité et la date de retour souhaitée $rqt = "UPDATE transferts INNER JOIN transferts_demande ON id_transfert=num_transfert SET etat_demande=6, date_retour='".$dateRetour."', motif='$motif' WHERE id_transfert=".$transId." AND etat_demande=4"; pmb_mysql_query( $rqt ); //recuperation des informations pour déterminer le nouveau no d'exemplaire $rqt = "SELECT num_notice, num_bulletin FROM transferts WHERE id_transfert=".$transId; $res = pmb_mysql_query( $rqt ); $value = pmb_mysql_fetch_array( $res ); //on a besoin du no d'exemplaire pour la source donnée $rqt = "SELECT expl_id FROM exemplaires WHERE expl_notice=".$value[0]." AND expl_bulletin=".$value[1]." AND expl_location=".$source; $id_expl = pmb_mysql_result(pmb_mysql_query($rqt),0); //la table transferts_demande $rqt = "INSERT INTO transferts_demande (num_transfert, date_creation, sens_transfert, num_location_source, num_location_dest, num_expl, etat_demande) VALUES (".$transId.", NOW(), 0, ".$source.", ".$deflt_docs_location.", ".$id_expl.", 0)"; pmb_mysql_query( $rqt ); // $num pas initialisé ????????????? if ($transferts_validation_actif == "0") //pas d'étape de validation => etape d'envoi direct $this->enregistre_validation($num); } */ public function ajoute_demande($transId, $id_expl, $motif, $dateRetour) { global $deflt_docs_location; global $transferts_validation_actif; $rqt = "SELECT expl_location from exemplaires WHERE expl_id=".$id_expl; $res=pmb_mysql_query( $rqt ); $value = pmb_mysql_fetch_object( $res ); $source=$value->expl_location; //on met a jour l'etat de la demande => on passe en refus traité et la date de retour souhaitée $rqt = "UPDATE transferts INNER JOIN transferts_demande ON id_transfert=num_transfert SET etat_demande=6, source= ".$source.", date_retour='".$dateRetour."', motif='$motif' WHERE id_transfert=".$transId." AND etat_demande=4"; pmb_mysql_query( $rqt ); //la table transferts_demande $rqt = "INSERT INTO transferts_demande (num_transfert, date_creation, sens_transfert, num_location_source, num_location_dest, num_expl, etat_demande) VALUES (".$transId.", NOW(), 0, ".$source.", ".$deflt_docs_location.", ".$id_expl.", 0)"; pmb_mysql_query( $rqt ); } //******************************************************************************************** // pour les réservations //******************************************************************************************** public function transfert_pour_resa($cb_expl,$dest,$resa_id) { global $transferts_resa_etat_transfert; global $transferts_resa_motif_transfert; global $transferts_nb_jours_pret_defaut; global $transferts_pret_demande_statut,$transferts_statut_validation,$PMBuserid; //récuperation des infos de l'exemplaire $rqt = "SELECT expl_id, expl_location FROM exemplaires WHERE expl_cb='".$cb_expl."'"; $res = pmb_mysql_query($rqt); $obj_expl = pmb_mysql_fetch_object($res); //generation de la date de retour par défaut $date_retour = mktime(0, 0, 0, date("m"), date("d")+$transferts_nb_jours_pret_defaut, date("Y")); $date_retour_mysql = date("Y-m-d", $date_retour); //génération du transfert $num = $this->_creer_transfert( $obj_expl->expl_id, $obj_expl->expl_location, $dest, 1, $date_retour_mysql, 4, $resa_id, $transferts_resa_motif_transfert); // lier la résa au transfert $rqt = "UPDATE transferts_demande SET resa_trans=$resa_id WHERE num_transfert=$num and num_expl='".$obj_expl->expl_id."' "; pmb_mysql_query( $rqt ); $rqt = "UPDATE transferts SET transfert_ask_user_num='".$PMBuserid."' WHERE id_transfert=$num "; pmb_mysql_query( $rqt ); //mémo de resa archive $rqt = "SELECT resa_arc FROM resa WHERE id_resa='".$resa_id."'"; $res = pmb_mysql_query($rqt); $obj_resa = pmb_mysql_fetch_object($res); $rqt = "UPDATE transferts_demande SET resa_arc_trans=".$obj_resa->resa_arc." WHERE num_transfert=$num and num_expl='".$obj_expl->expl_id."' "; pmb_mysql_query( $rqt ); if ($transferts_resa_etat_transfert == "1") //on valide $this->enregistre_validation($num); elseif($transferts_pret_demande_statut){ if ($transferts_statut_validation) { $this->_change_statut_exemplaire( $obj_expl->expl_id, $transferts_statut_validation); } } return $num; } //******************************************************************************************** // pour l'affichage des exemplaires //******************************************************************************************** // dit si un exemplaire est transférable. public static function est_transferable($expl) { global $deflt_docs_location; global $transferts_transfert_transfere_actif; global $PMBuserid; $rqt = "SELECT expl_location, transfert_location_origine, transfert_flag FROM exemplaires INNER JOIN docs_statut ON expl_statut=idstatut WHERE expl_id=".$expl; $res = pmb_mysql_query($rqt) or die (pmb_mysql_error()."

".$rqt); $value = pmb_mysql_fetch_array($res); $loc_expl = $value[0]; $loc_expl_ori = $value[1]; $trans_aut = $value[2]; //on verifie que le pret est autorisé if ($trans_aut==0) return false; // si l'exemplaire est ici: pas transférable if ($deflt_docs_location == $loc_expl) return false; /* //on verifie que l'exemplaire n'est pas déja sur le site de l'utilisateur if ($deflt_docs_location != $loc_expl) { //si les transferts d'exemplaires deja transféré ne sont pas autorisés if ($transferts_transfert_transfere_actif == "0") { //si ce n'est pas la localisation d'origine if ($loc_expl != $loc_expl_ori) { //si la localisation d'origine n'a pas la valeure par défaut(0) if ($loc_expl_ori != 0) return false; } } } else return false; */ $rqt = "SELECT COUNT(1) FROM pret WHERE pret_idexpl=".$expl; $res = pmb_mysql_query( $rqt ); if (pmb_mysql_result( $res, 0 ) )return false; //on verifie qu'un transfert n'est pas déja demande $rqt = "SELECT COUNT(1) FROM transferts INNER JOIN transferts_demande ON id_transfert=num_transfert WHERE etat_transfert=0 AND num_expl=".$expl." AND etat_demande<4"; $res = pmb_mysql_query( $rqt ); $nbTrans = pmb_mysql_result( $res, 0 ); if ($nbTrans != 0) return false; return true; } // dit si un exemplaire est doit faire l'objet d'un retour public function est_retournable($expl) { global $deflt_docs_location; global $msg,$transferts_nb_jours_alerte; $dest_id = $this->get_origine($expl); $rqt_loc = "SELECT location_libelle FROM docs_location WHERE idlocation=".$dest_id ; $res_loc = pmb_mysql_query( $rqt_loc ); $obj_loc = pmb_mysql_fetch_object($res_loc); $this->location_libelle_source=$obj_loc->location_libelle; $this->location_origine=$dest_id; if($deflt_docs_location != $dest_id)return(true); } //genere une demande de transfert public function creer_transfert_catalogue($expl_id, $dest_id, $date_ret, $motif,$ask_date='') { global $transferts_validation_actif; if(!$expl_id) return 0; //on recupere les informations manquantes sur l'exemplaire $rqt = "SELECT expl_location FROM exemplaires WHERE expl_id=".$expl_id; $res = pmb_mysql_query( $rqt ); $src_id = pmb_mysql_result($res,0); //on creer le transfert $num = $this->_creer_transfert( $expl_id, $src_id, $dest_id, 1, $date_ret, 3, '', $motif, 0, 0 ,$ask_date); if ($transferts_validation_actif == "0") //pas d'étape de validation => etape d'envoi $this->enregistre_validation($num); return $num; } public function get_id() { return $this->id; } public function get_num_notice() { return $this->num_notice; } public function get_num_bulletin() { return $this->num_bulletin; } public function get_formatted_date_creation() { return $this->formatted_date_creation; } public function get_date_retour() { return $this->date_retour; } public function get_formatted_date_retour() { return $this->formatted_date_retour; } public function get_motif() { return $this->motif; } public function get_transfert_ask_user_num() { return $this->transfert_ask_user_num; } public function get_transfert_send_user_num() { return $this->transfert_send_user_num; } public function get_transfert_ask_date() { return $this->transfert_ask_date; } public function get_transfert_ask_formatted_date() { return $this->transfert_ask_formatted_date; } public function get_exemplaire() { return $this->exemplaire; } public function get_transfert_demande() { return $this->transfert_demande; } } ?>