$evenement_ssr = new CEvenementSSR(); $where = array(); $where["sejour_id"] = " = '{$_sejour->_id}'"; $where["therapeute_id"] = " = '{$_plage_conge->user_id}'"; $where["debut"] = " BETWEEN '{$date_min}' AND '{$date_max}'"; $count_evts["{$_plage_conge->_id}-{$_sejour->_id}"] = $evenement_ssr->countList($where); $_sejour->checkDaysRelative($date); $replacement = $_sejour->loadRefReplacement($_plage_conge->_id); if (!$replacement->_id || $type == "reeducateur") { $sejours_count++; } if ($replacement->_id || $type == "kine") { $replacement->loadRefReplacer()->loadRefFunction(); } if (!$replacement->_id && $type == "kine") { $replacement->_ref_guessed_replacers = CEvenementSSR::getAllTherapeutes($_sejour->patient_id, $kine->function_id); unset($replacement->_ref_guessed_replacers[$kine->_id]); } // Bilan SSR $bilan = $_sejour->loadRefBilanSSR(); // Kine principal /** @var CTechnicien $technicien */ $technicien = $bilan->loadFwdRef("technicien_id"); $technicien->loadRefKine()->loadRefFunction(); // Patient $patient = $_sejour->loadRefPatient(); $patient->loadIPP(); } if (count($_sejours)) { $sejours[$_plage_conge->_id] = $_sejours; }
} // 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) { $_other_sejour->loadRefPatient(); $all_sejours[$_other_sejour->_id] = $_other_sejour; $_other_sejour->loadRefBilanSSR()->loadRefTechnicien(); $therapeutes += CEvenementSSR::getAllTherapeutes($_other_sejour->patient_id, $user->function_id); } } // Chargement des comptes d'événements $evenements_counts = array(); $evenement = new CEvenementSSR(); $where["sejour_id"] = CSQLDataSource::prepareIn(array_keys($all_sejours)); $where["therapeute_id"] = CSQLDataSource::prepareIn(array_keys($therapeutes)); /** @var CEvenementSSR $_evenement */ foreach ($evenement->loadList($where) as $_evenement) { @$evenements_counts[$_evenement->sejour_id][$_evenement->therapeute_id]++; } if (!$replacement->_id) { $replacement->conge_id = $conge_id; $replacement->sejour_id = $sejour_id; }