Ejemplo n.º 1
0
}
if (!$uniq_checklist) {
    $factures = $journal->loadRefsFacture();
    if (count($factures)) {
        $printer_justif = new CPrinter();
        $printer_justif->function_id = $user->function_id;
        $printer_justif->label = "justif";
        $printer_justif->loadMatchingObject();
        if (!$printer_justif->_id) {
            CAppUI::setMsg("Les imprimantes ne sont pas paramétrées", UI_MSG_ERROR);
            echo CAppUI::getMsg();
            return false;
        }
        $file = new CFile();
        foreach ($factures as $facture) {
            $facture_pdf = new CEditPdf();
            $facture_pdf->factures = array($facture);
            $pdf = "";
            $pdf = $facture_pdf->editFactureBVR(false, "S");
            $file_path = tempnam("tmp", "facture");
            $file->_file_path = $file_path;
            file_put_contents($file_path, $pdf);
            $printer_bvr->loadRefSource()->sendDocument($file);
            unlink($file_path);
            $pdf = "";
            $pdf = $facture_pdf->editJustificatif(false, "S");
            $file_path = tempnam("tmp", "facture");
            $file->_file_path = $file_path;
            file_put_contents($file_path, $pdf);
            $printer_justif->loadRefSource()->sendDocument($file);
            unlink($file_path);
Ejemplo n.º 2
0
$factures = array();
$facture = new $facture_class();
//si on a une facture_id on la charge
if ($facture_id) {
    $factures[$facture_id] = $facture->load($facture_id);
} elseif (count($factures_id)) {
    $where = array();
    $where["facture_id"] = CSQLDataSource::prepareIn(array_keys($factures_id));
    $factures = $facture->loadList($where);
} else {
    $where = array();
    $where["praticien_id"] = " = '{$prat_id}'";
    $where["cloture"] = "BETWEEN '{$date_min}' AND '{$date_max}'";
    $factures = $facture->loadList($where, "facture_id DESC", null, "facture_id");
}
$facture_pdf = new CEditPdf();
$facture_pdf->factures = $factures;
if ($type_pdf == "bvr") {
    $facture_pdf->editFactureBVR();
}
if ($type_pdf == "bvr_TS") {
    $facture_pdf->editFactureBVR("TS");
}
if ($type_pdf == "justificatif") {
    $facture_pdf->editJustificatif();
}
if ($type_pdf == "bvr_justif") {
    $facture_pdf->editFactureBVRJustif();
}
if ($type_pdf == "impression") {
    $facture_pdf->printBill($tiers_soldant);
Ejemplo n.º 3
0
$tiers_soldant = CValue::get("tiers_soldant", 0);
$uniq_checklist = CValue::get("uniq_checklist", 0);
$date_min = CValue::get("_date_min");
$date_max = CValue::get("_date_max");
if ($factures_id) {
    $factures_id = explode("|", $factures_id);
}
// Factures qui viennent d'être imprimées
$factures = array();
$facture = new $facture_class();
if (count($factures_id)) {
    $where = array();
    $where["facture_id"] = CSQLDataSource::prepareIn(array_values($factures_id));
    $factures = $facture->loadList($where);
    //Impression des factures et justificatifs pdf
    $facture_pdf = new CEditPdf();
    $facture_pdf->factures = $factures;
    $facture_pdf->printBill($tiers_soldant);
    $journal_pdf = new CEditJournal();
    $journal_pdf->type_pdf = "debiteur";
    $journal_pdf->factures = $factures;
    foreach ($journal_pdf->factures as $fact) {
        /** @var CFacture $fact */
        $fact->loadRefsObjects();
        $fact->loadRefPatient();
        $fact->loadRefPraticien();
        $fact->loadRefsReglements();
        $fact->isRelancable();
    }
    if (!$uniq_checklist) {
        $journal_pdf->editJournal(false);
Ejemplo n.º 4
0
     $_facture->load($facture_id);
     $_facture->loadRefPatient();
     $_facture->loadRefsObjects();
     $_facture->loadRefsReglements();
     $_facture->loadRefsRelances();
     $_facture->isRelancable();
     $not_exist_objets = !count($_facture->_ref_consults) && !count($_facture->_ref_sejours);
     if (!$_facture->_is_relancable || count($_facture->_ref_relances) + 1 < $type_relance || $not_exist_objets) {
         //mbTrace("echec");
     } else {
         $factures[$facture_id] = $_facture;
     }
 }
 if (count($factures)) {
     $nb_generate_pdf_relance = CAppUI::conf("dPfacturation CRelance nb_generate_pdf_relance");
     $facture_pdf = new CEditPdf();
     $facture_pdf->pdf = new CMbPdf('P', 'mm');
     $facture_pdf->pdf->setPrintHeader(false);
     $facture_pdf->pdf->setPrintFooter(false);
     $facture_pdf->font = "vera";
     $facture_pdf->fontb = $facture_pdf->font . "b";
     $nb_fact = 0;
     foreach ($factures as $_facture) {
         $nb_fact++;
         if ($nb_fact > $nb_generate_pdf_relance) {
             continue;
         }
         $relance = new CRelance();
         $relance->object_id = $_facture->_id;
         $relance->object_class = $_facture->_class;
         if ($msg = $relance->store()) {
Ejemplo n.º 5
0
 /**
  * Impression des factures
  *
  * @param bool $ts tiers soldant
  *
  * @return void
  */
 function printBill($ts = false)
 {
     if (count($this->factures)) {
         $user = CMediusers::get();
         $printer_bvr = new CPrinter();
         $printer_bvr->function_id = $user->function_id;
         $printer_bvr->label = "bvr";
         $printer_bvr->loadMatchingObject();
         $printer_justif = new CPrinter();
         $printer_justif->function_id = $user->function_id;
         $printer_justif->label = "justif";
         $printer_justif->loadMatchingObject();
         if (!$printer_bvr->_id || !$printer_justif->_id) {
             CAppUI::setMsg("Les imprimantes ne sont pas paramétrées", UI_MSG_ERROR);
             echo CAppUI::getMsg();
             return false;
         }
         $file = new CFile();
         foreach ($this->factures as $facture) {
             $facture_pdf = new CEditPdf();
             $facture_pdf->factures = array($facture);
             $pdf = "";
             $pdf = $facture_pdf->editFactureBVR($ts, "S");
             $file_path = tempnam("tmp", "facture");
             $file->_file_path = $file_path;
             file_put_contents($file_path, $pdf);
             $printer_bvr->loadRefSource()->sendDocument($file);
             unlink($file_path);
             $pdf = "";
             $pdf = $facture_pdf->editJustificatif($ts, "S");
             $file_path = tempnam("tmp", "facture");
             $file->_file_path = $file_path;
             file_put_contents($file_path, $pdf);
             $printer_justif->loadRefSource()->sendDocument($file);
             unlink($file_path);
         }
     }
 }