fix change intracommu
This commit is contained in:
parent
9d29beecfb
commit
25b27a7f32
@ -5465,11 +5465,12 @@ COMMENTAIRES: ".$comment;
|
|||||||
if($isFactureForSingleClient) {
|
if($isFactureForSingleClient) {
|
||||||
$client = $this->getClientById($factureData['fk_client_id']);
|
$client = $this->getClientById($factureData['fk_client_id']);
|
||||||
$hasTva = ($client && isset($client['tva'])) ? ($client['tva'] == 1) : true;
|
$hasTva = ($client && isset($client['tva'])) ? ($client['tva'] == 1) : true;
|
||||||
|
$groupClient = $this->getTvaItracomuIdClient($factureData['fk_client_id']);
|
||||||
} else {
|
} else {
|
||||||
$client = $this->getClientById($devis['id_client']);
|
$client = $this->getClientById($devis['id_client']);
|
||||||
$hasTva = ($client && isset($client['tva'])) ? ($client['tva'] == 1) : true;
|
$hasTva = ($client && isset($client['tva'])) ? ($client['tva'] == 1) : true;
|
||||||
|
$groupClient = $this->getTvaItracomuIdClient($devis['id_client']);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Déterminer le taux de TVA global pour l'affichage
|
// Déterminer le taux de TVA global pour l'affichage
|
||||||
$globalTvaValue = $defaultTvaValue;
|
$globalTvaValue = $defaultTvaValue;
|
||||||
|
|
||||||
@ -5498,7 +5499,6 @@ COMMENTAIRES: ".$comment;
|
|||||||
} else {
|
} else {
|
||||||
$factureDevisList = $this->getDevisDataGroupByFactureId($factureId, $devisMentionFilters);
|
$factureDevisList = $this->getDevisDataGroupByFactureId($factureId, $devisMentionFilters);
|
||||||
}
|
}
|
||||||
|
|
||||||
$factureIncrement = 0;
|
$factureIncrement = 0;
|
||||||
$productsCount = 0;
|
$productsCount = 0;
|
||||||
$totalHt = 0;
|
$totalHt = 0;
|
||||||
@ -5610,6 +5610,7 @@ COMMENTAIRES: ".$comment;
|
|||||||
$factureData["productsCount"] = $productsCount;
|
$factureData["productsCount"] = $productsCount;
|
||||||
$factureData["totalPrices"] = $totaPricesArray;
|
$factureData["totalPrices"] = $totaPricesArray;
|
||||||
$factureData["template_type_key"] = $templateType;
|
$factureData["template_type_key"] = $templateType;
|
||||||
|
$factureData["client_tva_intracommu"] = $groupClient["tva_intracommu"];
|
||||||
return $factureData;
|
return $factureData;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -5701,4 +5702,25 @@ COMMENTAIRES: ".$comment;
|
|||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getTvaItracomuIdClient($clientId)
|
||||||
|
{
|
||||||
|
$sql = "SELECT
|
||||||
|
gf.tva_intracommu
|
||||||
|
FROM ".$this->tableprefix."client_group_facturation AS gf
|
||||||
|
LEFT JOIN ".$this->tableprefix."client AS gc
|
||||||
|
ON gc.fk_client_group_facturation_id = gf.id
|
||||||
|
WHERE gc.id = ?;";
|
||||||
|
|
||||||
|
$data = $this->execSQLNoJsonReturn(
|
||||||
|
$sql,
|
||||||
|
[$clientId]
|
||||||
|
);
|
||||||
|
|
||||||
|
if(!empty($data)) {
|
||||||
|
return $data[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -67,6 +67,16 @@ class InvoiceGroupPdfHandler extends FPDF
|
|||||||
$this->DrawInvoiceCompanyAndClientInfo();
|
$this->DrawInvoiceCompanyAndClientInfo();
|
||||||
$this->DrawInvoiceInfoTable();
|
$this->DrawInvoiceInfoTable();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function SafeTextForPdf($text)
|
||||||
|
{
|
||||||
|
if (empty($text)) {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
$text = html_entity_decode($text, ENT_QUOTES | ENT_HTML401, 'UTF-8');
|
||||||
|
return iconv('UTF-8', 'ISO-8859-1//IGNORE', $text);
|
||||||
|
}
|
||||||
|
|
||||||
public function AddWatermark()
|
public function AddWatermark()
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
@ -117,16 +127,16 @@ class InvoiceGroupPdfHandler extends FPDF
|
|||||||
$this->SetY(-34);
|
$this->SetY(-34);
|
||||||
$this->SetFont('Arial', '', 7);
|
$this->SetFont('Arial', '', 7);
|
||||||
|
|
||||||
$this->MultiCell(0, 4, utf8_decode(html_entity_decode('Tout retard de paiement entraînera de plein droit une pénalité de retard de 3 fois le taux légal ')));
|
$this->MultiCell(0, 4, $this->SafeTextForPdf('Tout retard de paiement entraînera de plein droit une pénalité de retard de 3 fois le taux légal '));
|
||||||
$this->MultiCell(0, 4, utf8_decode(html_entity_decode('(Loi 2008-776 du 4 août 2008) et une indemnité forfaitaire de 40 EUR pour frais de recouvrement sera appliquée.')));
|
$this->MultiCell(0, 4, $this->SafeTextForPdf('(Loi 2008-776 du 4 août 2008) et une indemnité forfaitaire de 40 EUR pour frais de recouvrement sera appliquée.'));
|
||||||
|
|
||||||
$this->Ln(1);
|
$this->Ln(1);
|
||||||
$this->MultiCell(0, 4, utf8_decode(html_entity_decode('Si les frais de recouvrement sont supérieurs à ce montant forfaitaire, une indemnisation complémentaire')));
|
$this->MultiCell(0, 4, $this->SafeTextForPdf('Si les frais de recouvrement sont supérieurs à ce montant forfaitaire, une indemnisation complémentaire'));
|
||||||
$this->MultiCell(0, 4, utf8_decode(html_entity_decode('sera due sur présentation de justificatifs (articles L.441-3 et L.441-6 du code de commerce).')));
|
$this->MultiCell(0, 4, $this->SafeTextForPdf('sera due sur présentation de justificatifs (articles L.441-3 et L.441-6 du code de commerce).'));
|
||||||
|
|
||||||
$this->SetY(-10);
|
$this->SetY(-10);
|
||||||
$this->SetFont('Arial', '', 7);
|
$this->SetFont('Arial', '', 7);
|
||||||
$this->Cell(0, 10, utf8_decode(html_entity_decode($this->factureData['configuration']->legal_one)), 0, 0, 'C');
|
$this->Cell(0, 10, $this->SafeTextForPdf($this->factureData['configuration']->legal_one), 0, 0, 'C');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function InvoicePdfFactory(array $factureData, $logo = null)
|
public function InvoicePdfFactory(array $factureData, $logo = null)
|
||||||
@ -266,7 +276,7 @@ class InvoiceGroupPdfHandler extends FPDF
|
|||||||
// Sans TVA : afficher N° TVA intracommunautaire
|
// Sans TVA : afficher N° TVA intracommunautaire
|
||||||
$clientInfoYAxis += $this->interLigneHeader;
|
$clientInfoYAxis += $this->interLigneHeader;
|
||||||
$this->SetXY($clientInfoXAxis, $clientInfoYAxis);
|
$this->SetXY($clientInfoXAxis, $clientInfoYAxis);
|
||||||
$tvaIntracommu = isset($this->factureData['group_tva_intracommu']) ? $this->factureData['group_tva_intracommu'] : '';
|
$tvaIntracommu = isset($this->factureData['client_tva_intracommu']) ? $this->factureData['client_tva_intracommu'] : '';
|
||||||
$this->Cell(0, $this->interLigneHeader, 'TVA intracom : ' . $tvaIntracommu);
|
$this->Cell(0, $this->interLigneHeader, 'TVA intracom : ' . $tvaIntracommu);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -293,7 +303,7 @@ class InvoiceGroupPdfHandler extends FPDF
|
|||||||
|
|
||||||
$this->SetFont('Arial', '', 10);
|
$this->SetFont('Arial', '', 10);
|
||||||
$this->Cell(25, 7, $factureDatePaiement, 1, 0, 'C');
|
$this->Cell(25, 7, $factureDatePaiement, 1, 0, 'C');
|
||||||
$this->Cell(104, 7, utf8_decode(html_entity_decode($this->factureData['group_name'])), 1, 0, 'C');
|
$this->Cell(104, 7, $this->SafeTextForPdf($this->factureData['group_name']), 1, 0, 'C');
|
||||||
$this->Cell(39, 7, $this->factureData['num'], 1, 0, 'C');
|
$this->Cell(39, 7, $this->factureData['num'], 1, 0, 'C');
|
||||||
$this->Cell(36, 7, $factureDateEcheance, 1, 1, 'C');
|
$this->Cell(36, 7, $factureDateEcheance, 1, 1, 'C');
|
||||||
|
|
||||||
@ -460,8 +470,8 @@ class InvoiceGroupPdfHandler extends FPDF
|
|||||||
$startOfYAfterMainTable = 239;
|
$startOfYAfterMainTable = 239;
|
||||||
$this->SetY($startOfYAfterMainTable);
|
$this->SetY($startOfYAfterMainTable);
|
||||||
$this->SetFont('Arial', '', 8);
|
$this->SetFont('Arial', '', 8);
|
||||||
$this->MultiCell(0, 4, utf8_decode(html_entity_decode("Paiement à votre convenance par chèque à l'ordre de " . $this->factureData['configuration']->entreprise)));
|
$this->MultiCell(0, 4, $this->SafeTextForPdf("Paiement à votre convenance par chèque à l'ordre de " . $this->factureData['configuration']->entreprise));
|
||||||
$this->MultiCell(0, 4, utf8_decode(html_entity_decode("en indiquant le numéro de facture, ou par virement :")));
|
$this->MultiCell(0, 4, $this->SafeTextForPdf("en indiquant le numéro de facture, ou par virement :"));
|
||||||
|
|
||||||
$this->Ln(1);
|
$this->Ln(1);
|
||||||
//Table IBAN
|
//Table IBAN
|
||||||
|
|||||||
@ -57,6 +57,15 @@ class InvoicePdfHandler extends FPDF
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function SafeTextForPdf($text)
|
||||||
|
{
|
||||||
|
if (empty($text)) {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
$text = html_entity_decode($text, ENT_QUOTES | ENT_HTML401, 'UTF-8');
|
||||||
|
return iconv('UTF-8', 'ISO-8859-1//IGNORE', $text);
|
||||||
|
}
|
||||||
|
|
||||||
public function AddWatermark()
|
public function AddWatermark()
|
||||||
{
|
{
|
||||||
$this->SetAlpha(0.2);
|
$this->SetAlpha(0.2);
|
||||||
@ -96,15 +105,15 @@ class InvoicePdfHandler extends FPDF
|
|||||||
$this->SetY(-34);
|
$this->SetY(-34);
|
||||||
$this->SetFont('ComicSans', '', 7);
|
$this->SetFont('ComicSans', '', 7);
|
||||||
|
|
||||||
$this->MultiCell(0, 4, utf8_decode(html_entity_decode('Tout retard de paiement entraînera de plein droit une pénalité de retard de 3 fois le taux légal ')));
|
$this->MultiCell(0, 4, $this->SafeTextForPdf('Tout retard de paiement entraînera de plein droit une pénalité de retard de 3 fois le taux légal '));
|
||||||
$this->MultiCell(0, 4, utf8_decode(html_entity_decode('(Loi 2008-776 du 4 août 2008) et une indemnité forfaitaire de 40 EUR pour frais de recouvrement sera appliquée.')));
|
$this->MultiCell(0, 4, $this->SafeTextForPdf('(Loi 2008-776 du 4 août 2008) et une indemnité forfaitaire de 40 EUR pour frais de recouvrement sera appliquée.'));
|
||||||
$this->Ln(1);
|
$this->Ln(1);
|
||||||
$this->MultiCell(0, 4, utf8_decode(html_entity_decode('Si les frais de recouvrement sont supérieurs à ce montant forfaitaire, une indemnisation complémentaire')));
|
$this->MultiCell(0, 4, $this->SafeTextForPdf('Si les frais de recouvrement sont supérieurs à ce montant forfaitaire, une indemnisation complémentaire'));
|
||||||
$this->MultiCell(0, 4, utf8_decode(html_entity_decode('sera due sur présentation de justificatifs (articles L.441-3 et L.441-6 du code de commerce).')));
|
$this->MultiCell(0, 4, $this->SafeTextForPdf('sera due sur présentation de justificatifs (articles L.441-3 et L.441-6 du code de commerce).'));
|
||||||
|
|
||||||
$this->SetY(-10);
|
$this->SetY(-10);
|
||||||
$this->SetFont('ComicSans', '', 7);
|
$this->SetFont('ComicSans', '', 7);
|
||||||
$this->Cell(0, 10, utf8_decode(html_entity_decode($this->factureData['configuration']->legal_one)), 0, 0, 'C');
|
$this->Cell(0, 10, $this->SafeTextForPdf($this->factureData['configuration']->legal_one), 0, 0, 'C');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function InvoicePdfFactory(array $factureData, $logo = null)
|
public function InvoicePdfFactory(array $factureData, $logo = null)
|
||||||
@ -212,7 +221,7 @@ class InvoicePdfHandler extends FPDF
|
|||||||
$this->Cell(0, $this->interLigneHeader, 'Siret: ' . $this->factureData['siret']);
|
$this->Cell(0, $this->interLigneHeader, 'Siret: ' . $this->factureData['siret']);
|
||||||
} else {
|
} else {
|
||||||
// Sans TVA : afficher N° TVA intracommunautaire
|
// Sans TVA : afficher N° TVA intracommunautaire
|
||||||
$tvaIntracommu = isset($this->factureData['group_tva_intracommu']) ? $this->factureData['group_tva_intracommu'] : '';
|
$tvaIntracommu = isset($this->factureData['client_tva_intracommu']) ? $this->factureData['client_tva_intracommu'] : '';
|
||||||
$this->Cell(0, $this->interLigneHeader, 'TVA intracom : ' . $tvaIntracommu);
|
$this->Cell(0, $this->interLigneHeader, 'TVA intracom : ' . $tvaIntracommu);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -248,7 +257,7 @@ class InvoicePdfHandler extends FPDF
|
|||||||
|
|
||||||
$this->SetFont('ComicSans', '', 10);
|
$this->SetFont('ComicSans', '', 10);
|
||||||
$this->Cell(25, 7, $factureDatePaiement, 1, 0, 'C');
|
$this->Cell(25, 7, $factureDatePaiement, 1, 0, 'C');
|
||||||
$this->Cell(104, 7, utf8_decode(html_entity_decode($this->factureData['client_nom'])), 1, 0, 'C');
|
$this->Cell(104, 7, $this->SafeTextForPdf($this->factureData['client_nom']), 1, 0, 'C');
|
||||||
$this->Cell(39, 7, $this->factureData['num'], 1, 0, 'C');
|
$this->Cell(39, 7, $this->factureData['num'], 1, 0, 'C');
|
||||||
$this->Cell(36, 7, $factureDateEcheance, 1, 1, 'C');
|
$this->Cell(36, 7, $factureDateEcheance, 1, 1, 'C');
|
||||||
|
|
||||||
@ -362,7 +371,7 @@ class InvoicePdfHandler extends FPDF
|
|||||||
$this->Cell(5, 6, $dateValue, 0, 0);
|
$this->Cell(5, 6, $dateValue, 0, 0);
|
||||||
|
|
||||||
$this->SetXY(30, $yValue);
|
$this->SetXY(30, $yValue);
|
||||||
$this->MultiAlignCell($maxDescriptionWidth, 6, utf8_decode(html_entity_decode($productDescription)), 0, '0', );
|
$this->MultiAlignCell($maxDescriptionWidth, 6, $this->SafeTextForPdf($productDescription), 0, '0', );
|
||||||
|
|
||||||
$this->SetXY(144, $yValue);
|
$this->SetXY(144, $yValue);
|
||||||
$this->Cell(20, 6, number_format($valueHt, 2, '.', '') . chr(128), 0, 0, 'C');
|
$this->Cell(20, 6, number_format($valueHt, 2, '.', '') . chr(128), 0, 0, 'C');
|
||||||
@ -401,8 +410,8 @@ class InvoicePdfHandler extends FPDF
|
|||||||
$startOfYAfterMainTable = 236;
|
$startOfYAfterMainTable = 236;
|
||||||
$this->SetY($startOfYAfterMainTable);
|
$this->SetY($startOfYAfterMainTable);
|
||||||
$this->SetFont('ComicSans', '', 8);
|
$this->SetFont('ComicSans', '', 8);
|
||||||
$this->MultiCell(0, 4, utf8_decode(html_entity_decode("Paiement à votre convenance par chèque à l'ordre de " . $this->factureData['configuration']->entreprise)));
|
$this->MultiCell(0, 4, $this->SafeTextForPdf("Paiement à votre convenance par chèque à l'ordre de " . $this->factureData['configuration']->entreprise));
|
||||||
$this->MultiCell(0, 4, utf8_decode(html_entity_decode("en indiquant le numéro de facture, ou par virement :")));
|
$this->MultiCell(0, 4, $this->SafeTextForPdf("en indiquant le numéro de facture, ou par virement :"));
|
||||||
|
|
||||||
$this->Ln(1);
|
$this->Ln(1);
|
||||||
$startOftable = 3;
|
$startOftable = 3;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user