/** * Chargement de tous les séjours de la facture * * @return object **/ function loadRefsSejour() { if (count($this->_ref_sejours)) { return $this->_ref_sejours; } if (CModule::getActive("dPfacturation")) { $ljoin = array(); $ljoin["facture_liaison"] = "facture_liaison.object_id = sejour.sejour_id"; $where = array(); $where["facture_liaison.facture_id"] = " = '{$this->_id}'"; $where["facture_liaison.facture_class"] = " = '{$this->_class}'"; $where["facture_liaison.object_class"] = " = 'CSejour'"; $sejour = new CSejour(); $this->_ref_sejours = $sejour->loadList($where, "sejour_id", null, "sejour_id", $ljoin); // Chargement des actes de séjour foreach ($this->_ref_sejours as $sejour) { /** @var CSejour $sejour*/ $sejour->loadRefsOperations(); foreach ($sejour->_ref_operations as $op) { $op->loadRefsActes($this->numero, 1); $this->rangeActes($op); } $sejour->loadRefsActes($this->numero, 1); $this->rangeActes($sejour); } } if (count($this->_ref_sejours) > 0) { $this->_ref_last_sejour = end($this->_ref_sejours); $this->_ref_first_sejour = reset($this->_ref_sejours); $this->_ref_last_sejour->loadRefLastOperation(); $this->_ref_last_sejour->_ref_last_operation->loadRefAnesth(); } else { $this->_ref_last_sejour = new CSejour(); $this->_ref_first_sejour = new CSejour(); } return $this->_ref_sejours; }
*/ CCanDo::checkEdit(); $consult_id = CValue::get("consult_id", 0); $sejour_id = CValue::get("sejour_id", 0); $chir_id = CValue::get("chir_id", 0); $sejour = new CSejour(); $sejour->load($sejour_id); if ($sejour->_id) { $chir = new CMediusers(); if ($chir_id) { $chir->load($chir_id); } else { $chir->load($sejour->praticien_id); } $sejour->loadRefPraticien(); $sejour->loadRefsActes(); $sejour->updateFormFields(); $sejour->_datetime = CMbDT::dateTime(); // Récupération des tarifs /** @var CTarif $tarif */ $tarif = new CTarif(); $tarifs = array(); $order = "description"; $where = array(); $where["chir_id"] = "= '{$chir->_id}'"; $tarifs["user"] = $tarif->loadList($where, $order); foreach ($tarifs["user"] as $_tarif) { /**@var CTarif $_tarif */ $_tarif->getPrecodeReady(); } $where = array();
$ljoin["bloc_operatoire"] = "bloc_operatoire.bloc_operatoire_id = sallesbloc.bloc_id"; $where2["operations.salle_id"] = " IS NOT NULL"; $where2["bloc_operatoire.bloc_operatoire_id"] = " = '{$bloc_id}'"; } $sejours_consult_ngap = $sejour->loadList($where2, null, null, "sejour_id", $ljoin); foreach ($sejours_consult_ngap as $_sejour_consult_ngap) { if (!isset($sejours[$_sejour_consult_ngap->_id])) { $sejours[$_sejour_consult_ngap->_id] = $_sejour_consult_ngap; } } foreach ($sejours as $sejour) { /* @var CSejour $sejour*/ $sejour->loadRefPatient(); $sejour->loadRefsOperations(); $sejour->loadRefsConsultations(); $sejour->loadRefsActes(null, 1); $sejour->loadRefsFactureEtablissement(); foreach ($sejour->_ref_operations as $op) { $op->loadRefsActes(null, 1); if (!count($op->_ref_actes)) { unset($sejour->_ref_operations[$op->_id]); } } foreach ($sejour->_ref_consultations as $consult) { $consult->loadRefsActes(null, 1); if (!count($consult->_ref_actes)) { unset($sejour->_ref_consultations[$consult->_id]); } } if (!count($sejour->_ref_actes) && !count($sejour->_ref_operations) && !count($sejour->_ref_consultations)) { unset($sejours[$sejour->_id]);