Ejemplo n.º 1
0
 /**
  * Charge les actes Caisse codés
  *
  * @param int $num_facture numéro de la facture concernée
  *
  * @return array
  */
 function loadRefsActesCaisse($num_facture = null)
 {
     $this->_ref_actes_caisse = array();
     $totaux = array("base" => 0, "dh" => 0);
     if (CModule::getActive("tarmed") && CAppUI::conf("tarmed CCodeTarmed use_cotation_tarmed")) {
         //Classement des actes par ordre chonologique et par code
         $where = array();
         $where["acte_caisse.object_class"] = " = '{$this->_class}'";
         $where["acte_caisse.object_id"] = " = '{$this->_id}'";
         if ($num_facture) {
             $where["acte_caisse.num_facture"] = " = '{$num_facture}'";
         }
         $order = "acte_caisse.num_facture, caisse_maladie_id, code ASC";
         $acte_caisse = new CActeCaisse();
         $this->_ref_actes_caisse = $acte_caisse->loadList($where, $order);
         if (null === $this->_ref_actes_caisse) {
             return null;
         }
         $this->_codes_caisse = array();
         foreach ($this->_ref_actes_caisse as $_acte_caisse) {
             /** @var CActeCaisse $_acte_caisse */
             $this->_codes_caisse[] = $_acte_caisse->makeFullCode();
             $_acte_caisse->loadRefExecutant();
             $_acte_caisse->loadRefPrestationCaisse();
             $_acte_caisse->loadRefCaisseMaladie();
             $totaux["base"] += $_acte_caisse->montant_base * $_acte_caisse->quantite;
             $totaux["dh"] += $_acte_caisse->montant_depassement;
         }
         $this->_tokens_caisse = implode("|", $this->_codes_caisse);
     }
     return $totaux;
 }