$plageSel = new CPlageconsult(); if ($plageconsult_id === null && $chirSel && $is_in_period) { $nowTime = CMbDT::time(); $where = array("chir_id = '{$chirSel}' OR remplacant_id = '{$chirSel}' OR pour_compte_id = '{$chirSel}'", "date" => "= '{$today}'", "debut" => "<= '{$nowTime}'", "fin" => ">= '{$nowTime}'"); $plageSel->loadObject($where); } if (!$plageSel->plageconsult_id) { $plageSel->load($plageconsult_id); } else { $plageconsult_id = $plageSel->plageconsult_id; } $plageSel->loadRefChir(); $plageSel->loadRefRemplacant(); $plageSel->loadRefPourCompte(); $plageSel->loadRefsNotes(); $plageSel->loadRefsBack($show_annulees, true, $show_payees); if ($plageSel->_affected && count($plageSel->_ref_consultations)) { $firstconsult = reset($plageSel->_ref_consultations); $_firstconsult_time = substr($firstconsult->heure, 0, 5); $lastconsult = end($plageSel->_ref_consultations); $_lastconsult_time = substr($lastconsult->heure, 0, 5); } $consults = $plageSel->_ref_consultations; CStoredObject::massLoadFwdRef($consults, "sejour_id"); $patients = CMbObject::massLoadFwdRef($consults, "patient_id"); CStoredObject::massCountBackRefs($patients, "notes"); CStoredObject::massLoadFwdRef($consults, "categorie_id"); // Détails sur les consultation affichées foreach ($plageSel->_ref_consultations as $keyConsult => &$consultation) { $consultation->_ref_plageconsult = $plageSel; $consultation->loadRefSejour();
$where["chir_id"] = "= '{$anesth->_id}'"; $where["date"] = "= '{$date}'"; $order = "debut"; $listPlage = $plage->loadList($where, $order); if (count($listPlage)) { $listPlages[$anesth->_id]["plages"] = $listPlage; } else { unset($listPlages[$anesth->_id]); unset($anesthesistes[$anesth->_id]); } } foreach ($listPlages as &$element) { foreach ($element["plages"] as &$plage) { /** @var CPlageconsult $plage */ $plage->_ref_chir =& $element["anesthesiste"]; $plage->loadRefsBack(); foreach ($plage->_ref_consultations as $keyConsult => &$consultation) { if ($consultation->chrono == CConsultation::TERMINE) { unset($plage->_ref_consultations[$keyConsult]); continue; } $consultation->loadRefSejour(); $consultation->loadRefPatient(); $consultation->loadRefCategorie(); $consultation->countDocItems(); } } } // Création du template $smarty = new CSmartyDP(); $smarty->assign("consult", $consult);
// Plage de consultation selectionnée $plageconsult_id = CValue::getOrSession("plageconsult_id", null); $plageSel = new CPlageconsult(); if ($plageconsult_id === null && $chirSel && $is_in_period) { $nowTime = CMbDT::time(); $where = array("chir_id" => "= '{$chirSel}'", "date" => "= '{$today}'", "debut" => "<= '{$nowTime}'", "fin" => ">= '{$nowTime}'"); $plageSel->loadObject($where); } if (!$plageSel->plageconsult_id) { $plageSel->load($plageconsult_id); } else { $plageconsult_id = $plageSel->plageconsult_id; } $plageSel->loadRefsFwd(1); $plageSel->loadRefsNotes(); $plageSel->loadRefsBack(); //check 3333tel if (CModule::getActive("3333tel")) { C3333TelTools::checkPlagesConsult($plageSel, $plageSel->_ref_chir->function_id); } $pause = new CConsultation(); //find the unique pause; if ($plageSel->_id) { $where_p = array(); $where_p["plageconsult_id"] = " = '{$plageSel->_id}' "; $where_p["patient_id"] = " IS NULL"; $list = $pause->loadList($where_p); if (count($list) == 1) { /** @var CConsultation $pause */ $pause = reset($list); $plageSel->_pause = $pause->heure;