continue; } $evenement = new CEvenementSSR(); $evenement->equipement_id = $equipement_id; $evenement->debut = "{$_day} {$_heure_deb}"; $evenement->duree = $duree; $evenement->remarque = $remarque; $evenement->therapeute_id = $therapeute_id; $evenement->type_seance = $type_seance; // Transfert kiné référent => kiné remplaçant si disponible if ($therapeute_id == $referent->_id) { $conge = new CPlageConge(); $conge->loadFor($therapeute_id, $_day); // Référent en congés if ($conge->_id) { $replacement = new CReplacement(); $replacement->conge_id = $conge->_id; $replacement->sejour_id = $sejour->_id; $replacement->loadMatchingObject(); if ($replacement->_id) { $evenement->therapeute_id = $replacement->replacer_id; } } } // Transfert kiné remplacant => kiné référant si présent if ($sejour->isReplacer($therapeute_id)) { $conge = new CPlageConge(); $conge->loadFor($referent->_id, $_day); // Référent présent if (!$conge->_id) { $evenement->therapeute_id = $referent->_id;
<?php /** * $Id$ * * @package Mediboard * @subpackage SSR * @author SARL OpenXtrem <*****@*****.**> * @license GNU General Public License, see http://www.gnu.org/licenses/gpl.html * @version $Revision$ */ CCanDo::checkAdmin(); $replacement = new CReplacement(); /** @var CReplacement[] $replacements */ $replacements = $replacement->loadList(); foreach ($replacements as $_replacement) { $_replacement->loadDates(); $_replacement->_ref_conge->loadRefUser(); $_replacement->_ref_sejour->loadRefPatient(); $count = $_replacement->checkCongesRemplacer(); if (!$count) { unset($replacements[$_replacement->_id]); continue; } $replacer = $_replacement->loadRefReplacer(); $replacer->loadRefFunction(); $_replacement->makeFragments(); } // Création du template $smarty = new CSmartyDP(); $smarty->assign("replacements", $replacements);
/** * Cherche si utilisateur est remplacant pour le séjour * * @param ref $replacer_id Filtre sur l'utilisateur * * @return int Nombre de remplacement */ function isReplacer($replacer_id) { $replacement = new CReplacement(); $replacement->sejour_id = $this->_id; $replacement->replacer_id = $replacer_id; return $replacement->countMatchingList(); }
continue; } $all_sejours[] = $_sejour; $_sejour->checkDaysRelative($date); $_sejour->loadRefPatient(1); $_sejour->loadRefBilanSSR()->getDateEnCours($date); } // Blows id keys array_multisort(CMbArray::pluck($sejours, "_ref_patient", "nom"), SORT_ASC, $sejours); // Ajustements services $service = new CService(); $service->load($service_id); $services[$service->_id] = $service; unset($services[""]); // Remplacements $replacement = new CReplacement(); $replacements = $replacement->loadListFor($kine_id, $date); foreach ($replacements as $_replacement) { // Détails des séjours remplacés $_replacement->loadRefSejour(); $sejour =& $_replacement->_ref_sejour; if ($sejour->sortie < $date) { unset($replacements[$_replacement->_id]); continue; } $all_sejours[] = $sejour; $sejour->checkDaysRelative($date); $sejour->loadRefPatient(1); $sejour->loadRefBilanSSR(); // Détail sur le congé $_replacement->loadRefConge()->loadRefUser()->loadRefFunction();
foreach ($plateaux as $_plateau) { foreach ($_plateau->loadRefsTechniciens() as $_technicien) { $_technicien->loadRefCongeDate($date); $_technicien->loadRefKine(); $kine_id = $_technicien->_ref_kine->_id; // Chargement des sejours du technicien $sejours[$_technicien->_id] = CBilanSSR::loadSejoursSSRfor($_technicien->_id, $date); /** @var CSejour $_sejour */ foreach ($sejours[$_technicien->_id] as $_sejour) { $_sejour->checkDaysRelative($date); $_sejour->loadRefPatient(1); $_sejour->loadRefBilanSSR(); $all_sejours[] = $_sejour; } // Chargement de ses remplacements $replacement = new CReplacement(); $replacements[$_technicien->_id] = $replacement->loadListFor($kine_id, $date); /** @var CReplacement $_replacement */ foreach ($replacements[$_technicien->_id] as $_replacement) { // Détail sur le congé $_replacement->loadRefConge(); $_replacement->_ref_conge->loadRefUser(); $_replacement->_ref_conge->_ref_user->loadRefFunction(); // Détails des séjours remplacés $_replacement->loadRefSejour(); $sejour =& $_replacement->_ref_sejour; $sejour->checkDaysRelative($date); $sejour->loadRefPatient(1); $sejour->loadRefBilanSSR(); $all_sejours[] = $sejour; }