} } /** @var CSejour[] $sejours */ $sejours = array(); $_sejours = array(); $count_evts = array(); $sejours_count = 0; // Pour chaque plage de conge, recherche foreach ($plages_conge as $_plage_conge) { $kine = $_plage_conge->loadRefUser(); $_sejours = array(); $date_min = max($monday, $_plage_conge->date_debut); $date_max = CMbDT::date("+1 DAY", min($sunday, $_plage_conge->date_fin)); // Cas des remplacements kinés if ($type == "kine" && !$_plage_conge->_activite) { $_sejours = CBilanSSR::loadSejoursSurConges($_plage_conge, $monday, $sunday); } // Cas des transferts de rééducateurs if ($type == "reeducateur") { $evenement = new CEvenementSSR(); $where = array(); $where["debut"] = " BETWEEN '{$date_min}' AND '{$date_max}'"; $where["therapeute_id"] = " = '{$_plage_conge->user_id}'"; /** @var CEvenementSSR[] $evenements */ $evenements = $evenement->loadList($where); foreach ($evenements as $_evenement) { $sejour = $_evenement->loadRefSejour(); $bilan = $sejour->loadRefBilanSSR(); $bilan->loadRefTechnicien(); $_sejours[$sejour->_id] = $sejour; }
} // Séjour unique if ($sejour_id) { // Chargement du séjour $sejour = new CSejour(); $sejour->load($sejour_id); $sejours[$sejour->_id] = $sejour; // Chargement d'un remplacement possible $replacement = $sejour->loadRefReplacement($conge_id); if ($replacement->_id) { $replacement->loadRefsNotes(); $replacement->loadRefReplacer()->loadRefFunction(); } } else { // Chargement des séjours $sejours = CBilanSSR::loadSejoursSurConges($conge, $monday, $sunday); $patients = CMbObject::massLoadFwdRef($sejours, "patient_id"); // Pas de remplacement pour une collection de séjours $replacement = new CReplacement(); } // Chargement des praticiens $user = new CMediusers(); $user->load($conge->user_id); $user->loadRefFunction(); $users = $user->loadUsers(PERM_READ, $user->function_id); // Séjours des patients $therapeutes = array(); $all_sejours = array(); foreach ($sejours as $_sejour) { $patient = $_sejour->loadRefPatient(); foreach ($patient->loadRefsSejours() as $_other_sejour) {