Ejemplo n.º 1
0
$ljoin["affectation"] = "sejour.sejour_id = affectation.sejour_id";
$where["sejour.entree"] = "<= '{$datetime_max}'";
$where["sejour.sortie"] = " >= '{$datetime_min}'";
if ($service_id == "NP") {
    $where["affectation.affectation_id"] = "IS NULL";
    $where["sejour.group_id"] = "= '{$group->_id}'";
} else {
    $where["affectation.entree"] = "<= '{$datetime_max}'";
    $where["affectation.sortie"] = ">= '{$datetime_min}'";
    $where["affectation.service_id"] = " = '{$service_id}'";
}
/** @var CSejour[] $sejours */
$sejours = $sejour->loadList($where, null, null, "sejour.sejour_id", $ljoin);
CSejour::massLoadCurrAffectation($sejours, $datetime_avg, $service_id);
CStoredObject::massLoadFwdRef($sejours, "praticien_id");
CMbObject::massLoadRefsNotes($sejours);
CSejour::massLoadNDA($sejours);
/** @var CPatient[] $patients */
$patients = CStoredObject::massLoadFwdRef($sejours, "patient_id");
CPatient::massLoadIPP($patients);
foreach ($sejours as $sejour) {
    $patient = $sejour->loadRefPatient();
    $sejour->loadRefPraticien();
    $sejour->checkDaysRelative($date);
    $sejour->loadRefsNotes();
}
$sorter_patient = CMbArray::pluck($sejours, "_ref_patient", "nom");
if ($service_id == "NP") {
    array_multisort($sorter_patient, SORT_ASC, $sejours);
} else {
    $sorter_affectation = CMbArray::pluck($sejours, "_ref_curr_affectation", "_ref_lit", "_view");
Ejemplo n.º 2
0
        $event = new CPlanningEvent($_commentaire->_guid, $debut, $duree, $libelle, "#{$_commentaire->color}", true, null, $_commentaire->_guid, false);
        $event->type = "commentaire_planning";
        $event->draggable = $event->resizable = CCanDo::edit();
        $event->plage["id"] = $_commentaire->_id;
        if ($can_edit) {
            $event->addMenuItem("edit", "Modifier ce commentaire");
            $event->addMenuItem("copy", "Copier ce commentaire");
            $event->addMenuItem("cancel", "Supprimer ce commentaire");
        }
        $planning->addEvent($event);
    }
}
// Ajout des plages, OK
foreach ($plages_by_salle as $salle_id => $_plages) {
    $i = array_search($salle_id, $salles_ids);
    CMbObject::massLoadRefsNotes($_plages);
    CMbObject::massLoadFwdRef($_plages, "chir_id");
    CMbObject::massLoadFwdRef($_plages, "anesth_id");
    CMbObject::massLoadFwdRef($_plages, "spec_id");
    foreach ($_plages as $_plage) {
        $_plage->loadRefsNotes();
        $_plage->loadRefChir()->loadRefFunction();
        $_plage->loadRefSpec();
        $_plage->loadRefAnesth()->loadRefFunction();
        $debut = "{$i} " . CMbDT::time($_plage->debut);
        $duree = CMbDT::minutesRelative(CMbDT::time($_plage->debut), CMbDT::time($_plage->fin));
        //fetch
        $smarty = new CSmartyDP("modules/reservation");
        $smarty->assign("plageop", $_plage);
        $smarty_plageop = $smarty->fetch("inc_planning/libelle_plageop.tpl");
        $smarty_plageop = htmlspecialchars_decode(CMbString::htmlEntities($smarty_plageop, ENT_NOQUOTES), ENT_NOQUOTES);
Ejemplo n.º 3
0
// Destinations : plages des autres praticiens
foreach ($listPlages as $key_prat => $infos_by_prat) {
    foreach ($listPlages as $key_other_prat => $infos_other_prat) {
        if ($infos_by_prat["prat"]->_id != $infos_other_prat["prat"]->_id) {
            foreach ($listPlages[$key_other_prat]["plages"] as $key_plage => $other_plage) {
                $listPlages[$key_prat]["destinations"][] = $other_plage;
            }
        }
    }
}
$nb_attente = 0;
$nb_a_venir = 0;
$patients_fetch = array();
$heure_min = null;
foreach ($listPlages as $key_prat => $infos_by_prat) {
    CMbObject::massLoadRefsNotes($infos_by_prat["plages"]);
    foreach ($infos_by_prat["plages"] as $_plage) {
        $_plage->loadRefsNotes();
        /** @var CPlageconsult $_plage */
        $_plage->_ref_chir = $infos_by_prat["prat"];
        $_plage->loadRefsConsultations($canceled, $finished);
        // Collection par référence susceptible d'être modifiée
        $consultations = $_plage->_ref_consultations;
        if (!$paid || !$immediate) {
            $_consult = new CConsultation();
            foreach ($consultations as $_consult) {
                if (!$paid) {
                    $_consult->loadRefsReglements();
                    if ($_consult->valide == 1 && $_consult->_du_restant_patient == 0) {
                        unset($consultations[$_consult->_id]);
                    }