/** * Création du second type d'en-tête possible d'un justificatif, celui-ci étant plus léger * * @param int $nb le numéro de la page * * @return void */ function ajoutEntete2($nb) { $this->pdf->setFont($this->fontb, '', 12); $this->pdf->WriteHTML("<h4>Justificatif de remboursement</h4>"); $this->pdf->setFont($this->font, '', 8); $this->pdf->SetFillColor(255, 255, 255); $this->pdf->SetDrawColor(0); $this->pdf->Rect(10, 18, 180, 20); $auteur = substr($this->auteur["adresse1"], 0, 29) . " " . $this->auteur["cp"] . " " . $this->auteur["ville"]; $presta = $this->fourn_presta; $presta_adresse = substr($presta["adresse1"], 0, 29) . " " . $presta["0"]->cp . " " . $presta["0"]->ville; $lignes = array(array("Document", "Identification", $this->facture->_id . " " . CMbDT::format(null, "%d.%m.%Y %H:%M:%S"), "", "Page {$nb}"), array("Auteur", "N° EAN(B)", $this->auteur["EAN"], $this->auteur["nom"], " Tél: " . $this->auteur["tel"]), array("Facture", "N° RCC(B)", $this->auteur["RCC"], $auteur, "Fax: " . $this->auteur["fax"]), array("Four.de", "N° EAN(P)", $presta["EAN"], $presta["nom_dr"], " Tél: " . $presta["0"]->tel), array("prestations", "N° RCC(B)", $presta["RCC"], $presta_adresse, "Fax: " . $presta["0"]->fax)); $this->pdf->setXY(10, $this->pdf->getY() - 4); foreach ($lignes as $ligne) { $this->pdf->setXY(10, $this->pdf->getY() + 4); foreach ($ligne as $key => $value) { $this->pdf->Cell($this->colonnes[$key], "", $value); } } }
/** * Edition du journal des paiements * * @return void */ function editPaiements() { $colonnes = array("Date" => 10, "Nom" => 25, "Garant" => 25, "Libellé" => 25, "Facture" => 15, "Débit" => 15, "Crédit C/C" => 15, "R" => 5, "Solde fact." => 15); $this->editTableau($colonnes, 5, 25); $colonnes_x = array(125, 205, 235); $debut_lignes = 30; $ligne = 0; $debiteur_nom = ""; $total_reglement = $totaux_reglement = 0.0; $totaux = array(); foreach ($this->reglements as $reglement) { $reglement->_ref_facture->loadRefsReglements(); $reglement->_ref_facture->loadRefsRelances(); $reglement->loadRefDebiteur(); if (!$reglement->_ref_debiteur->nom) { $reglement->_ref_debiteur->nom = " "; } if (!strstr($debiteur_nom, $reglement->_ref_debiteur->nom)) { $debiteur_nom = $reglement->_ref_debiteur->numero . " - " . $reglement->_ref_debiteur->nom; $totaux[$debiteur_nom] = array("Débit" => 0.0, "Crédit" => 0.0, "Solde" => 0.0); if ($ligne != 0) { $ligne += 2; $pos_ligne = $debut_lignes + $ligne * 4; $this->editCell($colonnes_x[0], $pos_ligne, 45, "Total contre-partie", "L"); $this->editCell($colonnes_x[1], $pos_ligne, 15, "0.00", "R"); $this->editCell($colonnes_x[2], $pos_ligne, 15, sprintf("%.2f", $total_reglement), "R"); $total_reglement = 0.0; $ligne = $this->ajoutPage($colonnes); } $this->pdf->setFont($this->font, '', 10); $this->editCell(80, 15, 160, $debiteur_nom, "C"); $this->pdf->setFont($this->font, '', 8); } $this->pdf->setX(5); $ligne++; $restant = $reglement->_ref_facture->_du_restant_patient; $valeurs = array("Date" => CMbDT::transform("", $reglement->date, '%d/%m/%Y'), "Nom" => $reglement->_ref_facture->_ref_patient->nom . " " . $reglement->_ref_facture->_ref_patient->prenom, "Garant" => $this->loadGarant($reglement->_ref_facture), "Libellé" => $reglement->mode, "Facture" => $reglement->_ref_facture->_view, "Débit" => "", "Crédit C/C" => sprintf("%.2f", $reglement->montant), "R" => count($reglement->_ref_facture->_ref_relances), "Solde fact." => sprintf("%.2f", $restant < "0.05" ? 0 : $restant)); $totaux[$debiteur_nom]["Débit"] += 0.0; $totaux[$debiteur_nom]["Crédit"] += sprintf("%.2f", $reglement->montant); $totaux[$debiteur_nom]["Solde"] += sprintf("%.2f", $reglement->montant); if ($reglement->debiteur_desc) { $valeurs["Libellé"] .= " ({$reglement->debiteur_desc})"; } $x = 0; foreach ($colonnes as $key => $value) { $cote = $key == "Crédit C/C" || $key == "Solde fact." || $key == "Débit" ? "R" : "L"; $this->editCell($this->pdf->getX() + $x, $debut_lignes + $ligne * 4, $value, $valeurs[$key], $cote); $x = $value; } $total_reglement += sprintf("%.2f", $reglement->montant); $totaux_reglement += sprintf("%.2f", $reglement->montant); if ($debut_lignes + $ligne * 4 >= 200) { $ligne = $this->ajoutPage($colonnes); } } $ligne += 2; $pos_ligne = $debut_lignes + $ligne * 4; $this->editCell($colonnes_x[0], $pos_ligne, 45, "Total contre-partie", "L"); $this->editCell($colonnes_x[1], $pos_ligne, 15, "0.00", "R"); $this->editCell($colonnes_x[2], $pos_ligne, 15, sprintf("%.2f", $total_reglement), "R"); $ligne += 2; $pos_ligne = $debut_lignes + $ligne * 4; $this->editCell($colonnes_x[0], $pos_ligne, 45, "Total général", "L"); $this->editCell($colonnes_x[1], $pos_ligne, 15, "0.00", "R"); $this->editCell($colonnes_x[2], $pos_ligne, 15, sprintf("%.2f", $totaux_reglement), "R"); $colonnes = array("Contre-partie comptable" => 80, "Débit" => 25, "Crédit" => 25, "Solde" => 25); $colonnes_x = array(5, 125, 215, 245); $this->editEntete(); $this->pdf->setXY(5, 25); $this->editCell($this->pdf->getX(), 25, 80, "Contre-partie comptable"); $this->editCell($this->pdf->getX() + 80, 25, 25, "Débit", "R"); $this->editCell($this->pdf->getX() + 25, 25, 25, "Crédit", "R"); $this->editCell($this->pdf->getX() + 25, 25, 25, "Solde", "R"); $this->pdf->setFont($this->font, '', 10); $this->editCell(80, 15, 160, "Récapitulatif par contre-parties", "C"); $this->pdf->setFont($this->font, '', 9); $ligne = 0; foreach ($totaux as $compte => $valeurs) { $ligne++; $pos_ligne = $debut_lignes + $ligne * 4; $this->editCell($colonnes_x[0], $pos_ligne, 80, $compte, "L"); $x = 80; foreach ($valeurs as $key => $value) { $cote = $key == "Contre-partie comptable" ? "L" : "R"; $this->editCell($this->pdf->getX() + $x, $pos_ligne, $colonnes[$key], sprintf("%.2f", $value), $cote); $x = $colonnes[$key]; } } $ligne += 2; $pos_ligne = $debut_lignes + $ligne * 4; $this->editCell(5, $pos_ligne, 80, "Total général", "L"); $this->editCell(165, $pos_ligne, 25, "0.00", "R"); $this->editCell(215, $pos_ligne, 25, sprintf("%.2f", $totaux_reglement), "R"); $this->editCell(265, $pos_ligne, 25, sprintf("%.2f", $totaux_reglement), "R"); }