} if ($numero && !CAppUI::conf("dPfacturation Other use_search_easy") && ($etat_relance || $search_easy == 7)) { $where["facture_relance.numero"] = " = '{$numero}'"; } if ($search_easy == 5) { $where["annule"] = " = '1'"; } if ($search_easy == 1) { $where["definitive"] = " = '1'"; } if ($xml_etat != "") { $where["facture"] = " = '{$xml_etat}' "; } $facture = new CFactureEtablissement(); $total_factures = $facture->countList($where, null, $ljoin); $factures = $facture->loadList($where, "ouverture ASC, numero", "{$page}, 25", "facture_id", $ljoin); //Affichage uniquement des factures qui contiennent des séjours foreach ($factures as $key => $_facture) { /** @var CFacture $_facture*/ $_facture->loadRefPatient(); $_facture->loadRefsItems(); $_facture->loadRefsObjects(); $nb_tarmed = count($_facture->_ref_actes_tarmed); $nb_caisse = count($_facture->_ref_actes_caisse); $nb_ngap = count($_facture->_ref_actes_ngap); $nb_ccam = count($_facture->_ref_actes_ccam); if (!count($_facture->_ref_sejours) && !count($_facture->_ref_consults)) { unset($factures[$key]); } elseif ($nb_tarmed == 0 && $nb_caisse == 0 && $nb_ngap == 0 && $nb_ccam == 0 && !$etat_cotation && $search_easy != 4 && $search_easy != 0) { unset($factures[$key]); } elseif (($nb_tarmed != 0 || $nb_caisse != 0 || $nb_ngap != 0 || $nb_ccam != 0) && $search_easy == 4) {
$where["date"] = "BETWEEN '{$date_min}' AND '{$date_max}'"; $where["object_class"] = " = 'CFactureEtablissement'"; $relance = new CRelance(); $journal_pdf->relances = $relance->loadList($where, "statut, poursuite"); foreach ($journal_pdf->relances as $_relance) { /** @var CRelance $_relance */ $fact = $_relance->loadRefFacture(); $fact->loadRefsObjects(); $fact->loadRefPatient(); $fact->loadRefPraticien(); $fact->loadRefsReglements(); $fact->isRelancable(); if (!$fact->_id) { unset($journal_pdf->relances[$_relance->_id]); } } } if ($type == "debiteur") { $where["cloture"] = "BETWEEN '{$date_min}' AND '{$date_max}'"; $facture = new CFactureEtablissement(); $journal_pdf->factures = $facture->loadList($where); foreach ($journal_pdf->factures as $fact) { /** @var CFacture $fact */ $fact->loadRefsObjects(); $fact->loadRefPatient(); $fact->loadRefPraticien(); $fact->loadRefsReglements(); $fact->isRelancable(); } } $journal_pdf->editJournal();
$filter->_date_max = CValue::getOrSession("_date_max", CMbDT::date("+ 0 day")); // Filtre sur les praticiens $chir_id = CValue::getOrSession("chir"); $prat = new CMediusers(); $prat->load($chir_id); $listPrat = CConsultation::loadPraticiensCompta($chir_id); $where = array(); $where["cloture"] = "BETWEEN '{$filter->_date_min}' AND '{$filter->_date_max}'"; $where["praticien_id"] = CSQLDataSource::prepareIn(array_keys($listPrat)); if (CAppUI::conf("dPfacturation CFactureCabinet view_bill")) { $facture = new CFactureCabinet(); } if (CAppUI::conf("dPfacturation CFactureEtablissement view_bill")) { $facture = new CFactureEtablissement(); } $factures = $facture->loadList($where, "cloture, praticien_id"); $total_retrocession = 0; $total_montant = 0; foreach ($factures as $_facture) { $_facture->loadRefPatient(); $_facture->loadRefPraticien(); $_facture->loadRefsObjects(); $_facture->loadRefsReglements(); $_facture->updateMontantRetrocession(); $total_retrocession += $_facture->_montant_retrocession; $total_montant += $_facture->_montant_avec_remise; } // Création du template $smarty = new CSmartyDP(); $smarty->assign("print", CValue::get("print", 0)); $smarty->assign("prat", $prat);
/** * Récupération des factures du séjour * * @return null|CFactureEtablissement[] */ function loadRefsFactureEtablissement() { if (CModule::getActive("dPfacturation") && CAppUI::conf("dPplanningOp CFactureEtablissement use_facture_etab")) { $ljoin = array(); $ljoin["facture_liaison"] = "facture_liaison.facture_id = facture_etablissement.facture_id"; $where = array(); $where["facture_liaison.facture_class"] = " = 'CFactureEtablissement'"; $where["facture_liaison.object_class"] = " = 'CSejour'"; $where["facture_liaison.object_id"] = " = '{$this->_id}'"; $facture = new CFactureEtablissement(); $this->_ref_factures = $facture->loadList($where, "ouverture ASC", null, "facture_id", $ljoin); if (count($this->_ref_factures) > 0) { $this->_ref_last_facture = end($this->_ref_factures); $this->_ref_last_facture->loadRefsReglements(); foreach ($this->_ref_factures as $_facture) { /* @var CFacture $_facture */ $_facture->loadRefAssurance(); } } else { $this->_ref_last_facture = new CFactureEtablissement(); } return $this->_ref_factures; } return null; }