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);
Exemple #3
0
 /**
  * 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;
        }