914 lines
24 KiB
PHP
914 lines
24 KiB
PHP
<?php
|
|
|
|
global $app_list_strings, $mod_strings, $db, $sugar_config;
|
|
|
|
$pdf->focus = $this;
|
|
|
|
//$mod_strings = return_module_language($sugar_config['default_language'], 'EcmInvoiceOuts', true);
|
|
$mod_strings = return_module_language($this->ecmlanguage, 'EcmInvoiceOuts', true);
|
|
//$mod_strings2 = return_module_language('en_us', 'EcmInvoiceOuts', true);
|
|
$mod_strings['LBL_PDF_FOOTER_DOCUMENT_NAME'] = 'Proforma';
|
|
|
|
|
|
$address = htmlspecialchars_decode($this->parent_name);//str_replace(array('<', '>'), array('<', '>'), $this->parent_name);
|
|
|
|
if ($this->parent_contact_name) {
|
|
$address .= PHP_EOL . $this->parent_contact_name;
|
|
|
|
if ($this->parent_contact_title) {
|
|
$address .= PHP_EOL . $this->parent_contact_title;
|
|
}
|
|
|
|
$personplus = 5;
|
|
} else {
|
|
$personplus = 0;
|
|
}
|
|
|
|
if ($this->parent_address_street) {
|
|
$address .= PHP_EOL . $this->parent_address_street;
|
|
}
|
|
|
|
if ($this->parent_address_postalcode) {
|
|
$address .= PHP_EOL . $this->parent_address_postalcode;
|
|
}
|
|
|
|
if ($this->parent_address_city) {
|
|
$address .= " " . $this->parent_address_city;
|
|
}
|
|
if ($this->to_vatid) {
|
|
$address .= PHP_EOL . $this->to_vatid;
|
|
}
|
|
|
|
|
|
$qr = 'SELECT iln, to_nip FROM accounts WHERE id = \'' . $this->parent_id . '\'';
|
|
$r = $db->fetchByAssoc($db->query($qr));
|
|
|
|
if ($r['iln']) {
|
|
$address .= "\nILN: " . $r['iln'];
|
|
}
|
|
|
|
//to address
|
|
$old_x = $pdf->GetX();
|
|
$old_y = $pdf->GetY();
|
|
|
|
$pdf->SetXY(10, 53);
|
|
$pdf->SetFont('arialpl', 'B', 8);
|
|
|
|
$pdf->Cell(35, 1, strtoupper($mod_strings['LBL_PDF_SELLER']), 0, 0, 'L', 1);
|
|
|
|
$pdf->Ln(3);
|
|
|
|
$pdf->SetX(10);
|
|
$pdf->SetFont('arialpl', '', 8);
|
|
|
|
$qr = 'SELECT nip FROM accounts WHERE id = \'' . $pdf->edt->account_id . '\'';
|
|
$r = $db->fetchByAssoc($db->query($qr));
|
|
|
|
$wys = $pdf->edt->name . PHP_EOL;
|
|
|
|
if ($pdf->edt->footer_address) {
|
|
$tmp = explode(",", $pdf->edt->footer_address);
|
|
$wys .= $tmp[0] . PHP_EOL . trim($tmp[1]).PHP_EOL;
|
|
}
|
|
|
|
|
|
$wys .= "NIP: PL 525-21-73-990";
|
|
|
|
$qr = 'SELECT index_dbf FROM accounts WHERE id = \'' . $this->parent_id . '\'';
|
|
$r = $db->fetchByAssoc($db->query($qr));
|
|
|
|
if ($r['index_dbf']) {
|
|
$address .= PHP_EOL . $mod_strings['LBL_PDF_INDEX_DBF'] . ": " . $r['index_dbf'];
|
|
}
|
|
|
|
$pdf->MultiCell(60, 4, $wys, 0, 'L');
|
|
|
|
$pdf->SetXY(76, 53);
|
|
$pdf->SetFont('arialpl', 'B', 8);
|
|
|
|
$pdf->Cell(35, 1, strtoupper($mod_strings['LBL_PDF_BUYER']), 0, 0, 'L', 1);
|
|
|
|
$pdf->Ln(3);
|
|
|
|
$pdf->SetX(76);
|
|
$pdf->SetFont('arialpl', '', 8);
|
|
$pdf->MultiCell(60, 4, $address, 0, 'L');
|
|
|
|
$qr = "SELECT * FROM ecmstockdocouts WHERE id='" . $wz_id . "'";
|
|
$r = $db->fetchByAssoc($db->query($qr));
|
|
|
|
if ($r['parent_id'] == $this->parent_id) {
|
|
$qr = "SELECT name as parent_name,shipping_address_street as parent_address_street,shipping_address_city as parent_address_city,shipping_address_postalcode as parent_address_postalcode,shipping_address_country as parent_address_country FROM accounts WHERE id='" . $this->parent_id . "'";
|
|
$r = $db->fetchByAssoc($db->query($qr));
|
|
}
|
|
|
|
|
|
$address = str_replace(array('<', '>'), array('<', '>'), $this->parent_shipping_address_name);
|
|
|
|
if ($this->parent_shipping_address_street) {
|
|
$address .= PHP_EOL . $this->parent_shipping_address_street;
|
|
}
|
|
|
|
if ($this->parent_shipping_address_postalcode) {
|
|
$address .= PHP_EOL . $this->parent_shipping_address_postalcode;
|
|
}
|
|
|
|
if ($this->parent_shipping_address_city) {
|
|
$address .= ' ' . $this->parent_shipping_address_city;
|
|
}
|
|
|
|
|
|
if ($address) {
|
|
$pdf->SetXY(143, 53);
|
|
|
|
$pdf->SetFont('arialpl', 'B', 8);
|
|
$pdf->Cell(35, 1, strtoupper($mod_strings['LBL_PDF_DELIVERY']), 0, 0, 'L', 1);
|
|
|
|
$pdf->Ln(3);
|
|
|
|
$pdf->SetX(143);
|
|
|
|
$pdf->SetFont('arialpl', '', 8);
|
|
$pdf->MultiCell(60, 4, $address, 0, 'L');
|
|
}
|
|
|
|
|
|
$ynew = 53 + 12;
|
|
|
|
$pc = null;
|
|
|
|
if ($this->ecmpaymentcondition_id) {
|
|
require_once("modules/EcmPaymentConditions/EcmPaymentCondition.php");
|
|
$pc = new EcmPaymentCondition();
|
|
$pc->retrieve($this->ecmpaymentcondition_id);
|
|
}
|
|
|
|
$pdf->SetXY(160, $old_y + 15 + $personplus);
|
|
|
|
$table = array();
|
|
|
|
|
|
|
|
$table[1]['date_reg'] = array(
|
|
'width' => 16,
|
|
'value' => $mod_strings['LBL_PDF_DATE_REGISTER'],
|
|
'border' => 0,
|
|
'overflow' => 1,
|
|
'align' => 'L',
|
|
'font-size' => 8,
|
|
);
|
|
|
|
$table[1]['date_reg_value'] = array(
|
|
'width' => 36 + 4,
|
|
'value' => date('d.m.Y'),//$this->register_date,
|
|
'border' => 0,
|
|
'overflow' => 1,
|
|
'align' => 'L',
|
|
'font-style' => 'b',
|
|
'font-size' => 8,
|
|
);
|
|
|
|
|
|
if(true) {
|
|
$table[4]['date_sell'] = array(
|
|
'width' => 16,
|
|
'value' => $mod_strings['LBL_ZAM_NUM'],
|
|
'border' => 0,
|
|
'overflow' => 1,
|
|
'align' => 'L',
|
|
'font-size' => 8,
|
|
);
|
|
$table[6]['parent_document_no'] = array(
|
|
'width' => 16,
|
|
'value' => $mod_strings['LBL_ZAM_KL'],
|
|
'border' => 0,
|
|
'overflow' => 1,
|
|
'align' => 'L',
|
|
'font-size' => 8,
|
|
);
|
|
|
|
$table[6]['parent_document_no_v'] = array(
|
|
'width' => 16,
|
|
'value' => $this->parent_document_no,
|
|
'border' => 0,
|
|
'overflow' => 1,
|
|
'align' => 'L',
|
|
'font-size' => 8,
|
|
'font-style' => 'b',
|
|
);
|
|
|
|
$table[4]['date_sell_value'] = array(
|
|
'width' => 36 + 4,
|
|
'value' => $this->document_no,
|
|
'border' => 0,
|
|
'overflow' => 1,
|
|
'align' => 'L',
|
|
'font-style' => 'b',
|
|
'font-size' => 8,
|
|
'valign' => 'C',
|
|
);
|
|
|
|
$table[5]['date_sell'] = array(
|
|
'width' => 16,
|
|
'value' => $mod_strings['LBL_ZAM_DAT'],
|
|
'border' => 0,
|
|
'overflow' => 1,
|
|
'align' => 'L',
|
|
'font-size' => 8,
|
|
);
|
|
|
|
$table[5]['date_sell_value'] = array(
|
|
'width' => 36 + 4,
|
|
'value' => date('d.m.Y', strtotime($this->date_entered)),
|
|
'border' => 0,
|
|
'overflow' => 1,
|
|
'align' => 'L',
|
|
'font-style' => 'b',
|
|
'font-size' => 8,
|
|
'valign' => 'C',
|
|
);
|
|
}
|
|
|
|
$r = $db->fetchByAssoc($db->query("SELECT so_id FROM ecminvoiceouts WHERE id='" . $this->id . "'"));
|
|
$this->so_id = $r['so_id'];
|
|
|
|
if (!$this->so_id) {
|
|
$this->so_id = $_SESSION['invoice_so_id'];
|
|
}
|
|
|
|
$qr = "SELECT wz_id FROM ecminvoiceouts WHERE id = '" . $this->id . "'";
|
|
$r = $db->fetchByAssoc($db->query($qr));
|
|
|
|
$qr = "SELECT so_id FROM ecmstockdocouts WHERE id = '" . $r['wz_id'] . "'";
|
|
$r = $db->fetchByAssoc($db->query($qr));
|
|
|
|
$qr = "SELECT order_no FROM ecmsales WHERE id = '" . $r['so_id'] . "'";
|
|
$r = $db->fetchByAssoc($db->query($qr));
|
|
|
|
if ($r['order_no'] && $this->type != "correct") {
|
|
$table[8]['order_no'] = array(
|
|
'width' => 20,
|
|
'value' => $mod_strings['LBL_PDF_ORDER_NO'],
|
|
'border' => 0,
|
|
'overflow' => 1,
|
|
'align' => 'L',
|
|
'font-size' => 8,
|
|
);
|
|
$table[8]['order_no_value'] = array(
|
|
'width' => 25,
|
|
'value' => $r['order_no'],
|
|
'border' => 0,
|
|
'overflow' => 1,
|
|
'align' => 'L',
|
|
'font-style' => 'b',
|
|
'font-size' => 8,
|
|
);
|
|
}
|
|
|
|
//if ($this->type != "normal") {
|
|
if (!$this->so_id) {
|
|
$this->so_id = $_SESSION['invoice_so_id'];
|
|
}
|
|
|
|
$qr_so = "SELECT * FROM ecmsales WHERE id='" . $this->so_id . "'";
|
|
$r_so = $db->fetchByAssoc($db->query($qr_so));
|
|
|
|
//}
|
|
|
|
$pdf->SetXY(143, $pdf->tMargin + 20);
|
|
$pdf->DrawTable($table, null, 0.5, 0.5, 3);
|
|
|
|
$pdf->Ln(9);
|
|
|
|
$pdf->SetFont('arialpl', '', '18');
|
|
$pdf->SetXY(60, $pdf->tMargin + 25);
|
|
|
|
//if ($this->type == "normal") {
|
|
$pieces = explode(" ", $this->document_no);
|
|
$pdf->MultiCell(80, 7, "Faktura Proforma " . $pieces[1], 0, 'C');
|
|
$pdf->SetFont('arialpl', 'B', 7);
|
|
$pdf->Ln(3);
|
|
$pdf->SetX(60);
|
|
//} else if ($this->type == "correct") {
|
|
// $pdf->MultiCell(80, 7, $mod_strings['LBL_PDF_DOCUMENT_NAME_CORRECT'] . " " . $this->document_no, 0, 'C');
|
|
// $pdf->SetFont('arialpl', 'B', 7);
|
|
// $pdf->Ln(3);
|
|
// $pdf->SetX(60);
|
|
// $pdf->Cell(80, 1, $mod_strings['LBL_PDF_ORIGINAL_COPY'], 0, 0, 'C', 1);
|
|
//}
|
|
|
|
$this->loadParser();
|
|
|
|
$this->header_text = $this->template->mfp->parseText($this->header_text);
|
|
$this->footer_text = $this->template->mfp->parseText($this->footer_text);
|
|
$this->ads_text = $this->template->mfp->parseText($this->ads_text);
|
|
|
|
$pdf->SetY($ynew);
|
|
|
|
$pdf->SetFont('arialpl', '', '7');
|
|
|
|
$currency = new Currency();
|
|
$currency->retrieve($this->currency_id);
|
|
|
|
$this->currency_symbol = $currency->iso4217;
|
|
$this->currency_value = $currency->conversion_rate;
|
|
|
|
// echo $this->currency_symbol ;
|
|
//if($this->currency_symbol == 'PLN') {
|
|
// $this->currency_symbol = 'zł';
|
|
//}
|
|
|
|
//echo '<pre>' . var_export($this->currency_value, true) . '</pre>'; exit;
|
|
|
|
//$this->currency_value = $currency->conversion_rate;
|
|
|
|
if (!isset($this->position_list) || !is_array($this->position_list)) {
|
|
$this->position_list = $this->getPositionList(true);
|
|
}
|
|
|
|
//blad $calc = $this->calculate_currency($this->position_list, $this->currency_id, $this->currency_value);
|
|
$calc = $this->calculate($this->position_list, false);
|
|
|
|
$this->position_list = $this->formatPositions($this->position_list, $this->currency_id, $this->currency_value);
|
|
//$this->position_list = $this->getPositionList(true);
|
|
|
|
//echo '<pre>'. var_export($calc, true); exit;
|
|
//echo '<pre>'. var_export($this->position_list, true);
|
|
//echo '<pre>'. var_export($this->currency_symbol, true);
|
|
//exit;
|
|
|
|
$calc['total'] .= ' ' . $this->currency_symbol;
|
|
$calc['subtotal'] .= ' ' . $this->currency_symbol;
|
|
|
|
if ($calc['discount']) {
|
|
$calc['total2'] .= ' ' . $this->currency_symbol;
|
|
$calc['discount']['value'] .= ' ' . $this->currency_symbol;
|
|
}
|
|
|
|
if (isset($calc['vats']) && is_array($calc['vats']) && count($calc['vats']) > 0) {
|
|
foreach ($calc['vats'] as $key => $value) {
|
|
$calc['vats'][$key] .= ' ' . $this->currency_symbol;
|
|
}
|
|
}
|
|
|
|
$summary_offset = 118;
|
|
//$calc['discount'] = 0;
|
|
|
|
$widths = array(
|
|
// List.
|
|
'position' => 4,
|
|
'description' => 40,
|
|
'recipient_code' => 10,
|
|
'quantity' => 8,// 7 + 5,
|
|
//'unit' => 5,
|
|
'draw_discount' => 11,
|
|
'unit_price' => 11,
|
|
'unit_price_total' => 11,
|
|
'vat_id' => 5,
|
|
'vat_value' => 11,
|
|
'total' => 11,
|
|
// Summary.
|
|
'fix' => 53,
|
|
'vat_rate' => 10,
|
|
'netto_total' => 11,
|
|
'vat_total' => 16,
|
|
'brutto_total' => 11,
|
|
);
|
|
|
|
|
|
$pdf->Ln(7);
|
|
|
|
//$calc['draw_discount'] = false;
|
|
|
|
if ($calc['draw_discount']) {
|
|
$widths['description'] -= $widths['draw_discount'] - 1;
|
|
$widths['quantity'] -= 1;
|
|
|
|
$widths['vat_rate'] -= 3;
|
|
$widths['netto_total'] += 3;
|
|
}
|
|
|
|
|
|
$list = array();
|
|
|
|
|
|
$list[0]['position'] = array(
|
|
'background' => array(233, 233, 233),
|
|
'width' => $widths['position'],
|
|
'value' => $mod_strings['LBL_PDF_LIST_POSITION'],
|
|
'border' => 1,
|
|
'overflow' => 1,
|
|
'align' => 'C',
|
|
'font-style' => 'b',
|
|
'font-size' => 8,
|
|
);
|
|
|
|
$list[0]['description'] = array(
|
|
'background' => array(233, 233, 233),
|
|
'width' => $widths['description'],
|
|
'value' => $mod_strings['LBL_PDF_LIST_DESCRIPTION'] . PHP_EOL . $mod_strings['LBL_PDF_LIST_INDEX'],
|
|
'border' => 1,
|
|
'overflow' => 1,
|
|
'align' => 'C',
|
|
'font-style' => 'b',
|
|
'font-size' => 7,
|
|
);
|
|
if ($calc['draw_recipient_code']) {
|
|
$list[0]['recipient_code'] = array(
|
|
'background' => array(233, 233, 233),
|
|
'width' => $widths['recipient_code'],
|
|
'value' => $mod_strings['LBL_PDF_RECIPIENT_CODE'],
|
|
'border' => 1,
|
|
'overflow' => 1,
|
|
'align' => 'C',
|
|
'font-style' => 'b',
|
|
'font-size' => 7,
|
|
);
|
|
}
|
|
//$list[0]['tax_code'] = array(
|
|
// 'background' => array(233, 233, 233),
|
|
// 'width' => $widths['tax_code'],
|
|
// 'value' => $mod_strings['LBL_PDF_LIST_TAX_CODE'],
|
|
// 'border' => 1,
|
|
// 'overflow' => 1,
|
|
// 'align' => 'C',
|
|
// 'font-style' => 'b',
|
|
// 'font-size' => 7,
|
|
//);
|
|
//
|
|
//$list[0]['recipient_code'] = array(
|
|
// 'background' => array(233, 233, 233),
|
|
// 'width' => $widths['recipient_code'],
|
|
// 'value' => $mod_strings['LBL_PDF_LIST_TAX_CODE'],
|
|
// 'border' => 1,
|
|
// 'overflow' => 1,
|
|
// 'align' => 'C',
|
|
// 'font-style' => 'b',
|
|
// 'font-size' => 7,
|
|
//);
|
|
|
|
$list[0]['quantity'] = array(
|
|
'background' => array(233, 233, 233),
|
|
'width' => $widths['quantity'],
|
|
'value' => $mod_strings['LBL_PDF_LIST_QUANTITY'] . PHP_EOL . $mod_strings['LBL_PDF_LIST_UNIT'],
|
|
'border' => 1,
|
|
'overflow' => 1,
|
|
'align' => 'C',
|
|
'font-style' => 'b',
|
|
'font-size' => 7,
|
|
);
|
|
|
|
/*
|
|
$list[0]['unit'] = array(
|
|
'background' => array(233, 233, 233),
|
|
'width' => $widths['unit'],
|
|
'value' => $mod_strings['LBL_PDF_LIST_UNIT'],
|
|
'border' => 1,
|
|
'overflow' => 1,
|
|
'align' => 'C',
|
|
'font-style' => 'b',
|
|
'font-size' => 8,
|
|
);
|
|
*/
|
|
|
|
if ($calc['draw_discount']) {
|
|
$list[0]['draw_discount'] = array(
|
|
'background' => array(233, 233, 233),
|
|
'width' => $widths['draw_discount'],
|
|
'value' => 'Cena' . PHP_EOL . $mod_strings['LBL_PDF_LIST_DISCOUNT'],
|
|
'border' => 1,
|
|
'overflow' => 1,
|
|
'align' => 'C',
|
|
'font-style' => 'b',
|
|
'font-size' => 7,
|
|
);
|
|
}
|
|
|
|
$list[0]['unit_price'] = array(
|
|
'background' => array(233, 233, 233),
|
|
'width' => $widths['unit_price'],
|
|
'value' => $mod_strings['LBL_PDF_LIST_UNIT_PRICE'],
|
|
'border' => 1,
|
|
'overflow' => 1,
|
|
'align' => 'C',
|
|
'font-style' => 'b',
|
|
'font-size' => 7,
|
|
);
|
|
|
|
$list[0]['unit_price_total'] = array(
|
|
'background' => array(233, 233, 233),
|
|
'width' => $widths['unit_price_total'],
|
|
'value' => $mod_strings['LBL_PDF_LIST_UNIT_PRICE_TOTAL'],
|
|
'border' => 1,
|
|
'overflow' => 1,
|
|
'align' => 'C',
|
|
'font-style' => 'b',
|
|
'font-size' => 7,
|
|
);
|
|
|
|
//if($calc['draw_vat']) {
|
|
//if ($this->currency_symbol != "USD") {
|
|
|
|
$list[0]['vat_id'] = array(
|
|
'background' => array(233, 233, 233),
|
|
'width' => $widths['vat_id'],
|
|
'value' => $mod_strings['LBL_PDF_LIST_VAT_ID'],
|
|
'border' => 1,
|
|
'overflow' => 1,
|
|
'align' => 'C',
|
|
'font-style' => 'b',
|
|
'font-size' => 7,
|
|
);
|
|
|
|
$list[0]['vat_value'] = array(
|
|
'background' => array(233, 233, 233),
|
|
'width' => $widths['vat_value'],
|
|
'value' => $mod_strings['LBL_PDF_LIST_VAT_VALUE'],
|
|
'border' => 1,
|
|
'overflow' => 1,
|
|
'align' => 'C',
|
|
'font-style' => 'b',
|
|
'font-size' => 7,
|
|
);
|
|
|
|
//}
|
|
//}
|
|
//
|
|
//if ($this->currency_symbol == "USD") {
|
|
// $list[0]['nw'] = array(
|
|
// 'background' => array(233, 233, 233),
|
|
// 'width' => 9,
|
|
// 'value' => "Netto weight",
|
|
// 'border' => 1,
|
|
// 'overflow' => 1,
|
|
// 'align' => 'C',
|
|
// 'font-style' => 'b',
|
|
// 'font-size' => 7,
|
|
// );
|
|
//
|
|
// $list[0]['bw'] = array(
|
|
// 'background' => array(233, 233, 233),
|
|
// 'width' => 9,
|
|
// 'value' => "Brutto weight",
|
|
// 'border' => 1,
|
|
// 'overflow' => 1,
|
|
// 'align' => 'C',
|
|
// 'font-style' => 'b',
|
|
// 'font-size' => 7,
|
|
// );
|
|
//}
|
|
|
|
$list[0]['total'] = array(
|
|
'background' => array(233, 233, 233),
|
|
'width' => $widths['total'],
|
|
'value' => $mod_strings['LBL_PDF_LIST_TOTAL'],
|
|
'border' => 1,
|
|
'overflow' => 1,
|
|
'align' => 'C',
|
|
'font-style' => 'b',
|
|
'font-size' => 7,
|
|
);
|
|
|
|
if ($this->type != "normal") {
|
|
$pdf->SetY(76);
|
|
}
|
|
|
|
$lv = return_app_list_strings_language($this->ecmlanguage);
|
|
|
|
$i = 1;
|
|
$netto_weight = $brutto_weight = 0;
|
|
|
|
$this->position_list = $this->getPositionList(true);
|
|
//$p = array_pop($this->position_list);
|
|
//$this->position_list = array_fill(0, 100, $p);
|
|
|
|
//echo '<pre>' . var_export($this->position_list);exit;
|
|
|
|
foreach ($this->position_list as $key => $position) {
|
|
|
|
|
|
|
|
|
|
$list[$i]['position'] = array(
|
|
'width' => $widths['position'],
|
|
'value' => $i,
|
|
'border' => 1,
|
|
'align' => 'R',
|
|
'font-size' => 7,
|
|
);
|
|
|
|
$code = $position['code'];
|
|
|
|
// Hardcoded. Trust that temporary indexes are in "%s_%s" format.
|
|
|
|
|
|
$list[$i]['description'] = array(
|
|
'width' => $widths['description'],
|
|
'value' => htmlspecialchars_decode($position['name']) . PHP_EOL . $code, //$position['product_code'],
|
|
'border' => 1,
|
|
'align' => 'L',
|
|
'font-size' => 7,
|
|
);
|
|
|
|
$netto_weight += $position['netto_weight'];
|
|
//$brutto_weight += $position['brutto_weight'];
|
|
$brutto_weight += ($position['quantity'] * $position['netto_weight']);
|
|
|
|
|
|
|
|
$list[$i]['quantity'] = array(
|
|
'width' => $widths['quantity'],
|
|
'value' => format_number($position['quantity']) . PHP_EOL . $position['unit_name'],
|
|
'border' => 1,
|
|
'align' => 'R',
|
|
'font-size' => 7,
|
|
);
|
|
|
|
|
|
|
|
$price_total = 0.0;
|
|
|
|
if ($calc['draw_discount']) {
|
|
$tmp = ($position['price']) * (1 - $position['discount'] / 100);
|
|
$price_total = $tmp * $position['quantity'];
|
|
|
|
$list[$i]['draw_discount'] = array(
|
|
'width' => $widths['draw_discount'],
|
|
//'value' => format_number(unformat_number($position['price']) * (1 - $position['discount'] / 100)) . PHP_EOL . format_number($position['discount']),
|
|
'value' => format_number( ($position['price'])) . PHP_EOL . format_number($position['discount']),
|
|
'border' => 1,
|
|
'align' => 'R',
|
|
'font-size' => 7,
|
|
);
|
|
|
|
$list[$i]['unit_price'] = array(
|
|
'width' => $widths['unit_price'],
|
|
'value' => format_number($tmp) . PHP_EOL . $this->currency_symbol,
|
|
'border' => 1,
|
|
'align' => 'R',
|
|
'font-size' => 7,
|
|
);
|
|
} else {
|
|
$price_total = ($position['price']) * $position['quantity'];
|
|
|
|
$list[$i]['unit_price'] = array(
|
|
'width' => $widths['unit_price'],
|
|
'value' => format_number(($position['price'])) . PHP_EOL . $this->currency_symbol,
|
|
'border' => 1,
|
|
'align' => 'R',
|
|
'font-size' => 7,
|
|
);
|
|
}
|
|
|
|
$list[$i]['unit_price_total'] = array(
|
|
'width' => $widths['unit_price_total'],
|
|
'value' => format_number($price_total),
|
|
'border' => 1,
|
|
'align' => 'R',
|
|
'font-size' => 7,
|
|
);
|
|
|
|
$list[$i]['vat_id'] = array(
|
|
'width' => $widths['vat_id'],
|
|
'value' => format_number($position['vat_value']),
|
|
'border' => 1,
|
|
'align' => 'R',
|
|
'font-size' => 7,
|
|
);
|
|
|
|
$vat_value = round($price_total * ($position['vat_value'] / 100), 2);
|
|
// $vat_value = round($position['total'] - $position['subtotal'], 2);
|
|
|
|
$list[$i]['vat_value'] = array(
|
|
'width' => $widths['vat_value'],
|
|
'value' => format_number($vat_value),
|
|
'border' => 1,
|
|
'align' => 'R',
|
|
'font-size' => 7,
|
|
);
|
|
|
|
|
|
|
|
$list[$i]['total'] = array(
|
|
'width' => $widths['total'],
|
|
'value' => format_number($price_total + $vat_value),
|
|
'border' => 1,
|
|
'align' => 'R',
|
|
'font-size' => 7,
|
|
);
|
|
|
|
$totals[$position['vat_id']]['price'] += $price_total;// * (($this->currency_symbol != $position['currency_name']) ? $this->currency_value : 1);
|
|
$totals[$position['vat_id']]['total'] += ($price_total + $vat_value);// * (($this->currency_symbol != $position['currency_name']) ? $this->currency_value : 1);
|
|
$totals[$position['vat_id']]['vat'] += $vat_value;
|
|
$sum_total += ($price_total + $vat_value);// * (($this->currency_symbol != $position['currency_name']) ? $this->currency_value : 1);;
|
|
$sum_netto += $price_total ;//* (($this->currency_symbol != $position['currency_name']) ? $this->currency_value : 1);
|
|
|
|
|
|
|
|
$i++;
|
|
}
|
|
|
|
|
|
|
|
|
|
$pdf->Ln(8);
|
|
|
|
$pdf->setX(10);
|
|
|
|
|
|
|
|
$pdf->DrawTable($list, array(0));
|
|
|
|
|
|
$pdf->Ln(1);
|
|
|
|
$pdf->setX(10);
|
|
|
|
$pdf->Ln(4);
|
|
|
|
$pr = ($pdf->fw - $pdf->lMargin - $pdf->rMargin) / 100;
|
|
|
|
$summary = array();
|
|
|
|
$i = 0;
|
|
/*
|
|
if ($calc['vats']) {
|
|
|
|
|
|
|
|
$summary[$i]['fix'] = array(
|
|
'width' => $widths['fix'],
|
|
'value' => '',
|
|
'border' => 0,
|
|
'overflow' => 1,
|
|
'align' => 'C',
|
|
'font-style' => 'b',
|
|
'font-size' => 7,
|
|
);
|
|
|
|
$summary[$i]['vat_rate'] = array(
|
|
'width' => $widths['vat_rate'],
|
|
'value' => $mod_strings['LBL_PDF_LIST_VAT_RATE'],
|
|
'border' => 1,
|
|
'background' => array(233, 233, 233),
|
|
'overflow' => 1,
|
|
'align' => 'C',
|
|
'font-style' => 'b',
|
|
'font-size' => 7,
|
|
);
|
|
|
|
$summary[$i]['netto_total'] = array(
|
|
'width' => $widths['netto_total'],
|
|
'value' => $mod_strings['LBL_PDF_LIST_NETTO_TOTAL'], //$mod_strings['LBL_PDF_LIST_TOTAL_PRICE'],
|
|
'background' => array(233, 233, 233),
|
|
'border' => 1,
|
|
'overflow' => 1,
|
|
'align' => 'C',
|
|
'font-style' => 'b',
|
|
'font-size' => 7,
|
|
);
|
|
|
|
$summary[$i]['vat_total'] = array(
|
|
'width' => $widths['vat_total'],
|
|
'value' => $mod_strings['LBL_PDF_LIST_VAT_TOTAL'],
|
|
'background' => array(233, 233, 233),
|
|
'border' => 1,
|
|
'overflow' => 1,
|
|
'align' => 'C',
|
|
'font-style' => 'b',
|
|
'font-size' => 7,
|
|
);
|
|
|
|
$summary[$i]['brutto_total'] = array(
|
|
'width' => $widths['brutto_total'],
|
|
'value' => $mod_strings['LBL_PDF_LIST_BRUTTO_TOTAL'],
|
|
'border' => 1,
|
|
'background' => array(233, 233, 233),
|
|
'overflow' => 1,
|
|
'align' => 'C',
|
|
'font-style' => 'b',
|
|
'font-size' => 7,
|
|
);
|
|
|
|
|
|
foreach ($calc['vats'] as $key => $value) {
|
|
$i++;
|
|
|
|
$qr = "SELECT id, name, value FROM ecmvats WHERE id = '" . $key . "'";
|
|
$r = $db->fetchByAssoc($db->query($qr));
|
|
|
|
$summary[$i]['fix'] = array(
|
|
'width' => $widths['fix'],
|
|
'value' => '',
|
|
'border' => 0,
|
|
'overflow' => 1,
|
|
'align' => 'C',
|
|
'font-style' => 'b',
|
|
'font-size' => 7,
|
|
);
|
|
|
|
$summary[$i]['vat_rate'] = array(
|
|
'width' => $widths['vat_rate'],
|
|
'value' => format_number($r['value']),
|
|
'background' => array(255, 255, 255),
|
|
'border' => 1,
|
|
'overflow' => 1,
|
|
'align' => 'R',
|
|
'font-size' => 7,
|
|
);
|
|
|
|
$summary[$i]['netto_total'] = array(
|
|
'width' => $widths['netto_total'],
|
|
'value' => format_number($totals[$r['id']]['price']),
|
|
'background' => array(255, 255, 255),
|
|
'border' => 1,
|
|
'overflow' => 1,
|
|
'align' => 'R',
|
|
'font-size' => 7,
|
|
);
|
|
|
|
$cVatPlnTmp = $totals[$r['id']]['price'] * ($r['value']/100) ;
|
|
$cVatPln += $cVatPlnTmp * $this->currency_value_nbp;
|
|
|
|
// echo '<pre>' . $cVatPlnTmp . '</pre>';
|
|
$summary[$i]['vat_total'] = array(
|
|
'width' => $widths['vat_total'],
|
|
'value' => format_number($cVatPlnTmp),
|
|
'background' => array(255, 255, 255),
|
|
'border' => 1,
|
|
'overflow' => 1,
|
|
'align' => 'R',
|
|
'font-size' => 7,
|
|
);
|
|
|
|
$summary[$i]['brutto_total'] = array(
|
|
'width' => $widths['brutto_total'],
|
|
'value' => format_number($totals[$r['id']]['price']+$cVatPlnTmp),
|
|
'border' => 1,
|
|
'overflow' => 1,
|
|
'align' => 'R',
|
|
'font-size' => 7,
|
|
);
|
|
}
|
|
|
|
}
|
|
*/
|
|
if ($calc['discount']) {
|
|
$disc = floatval(str_replace(",", ".", str_replace(".", "", $this->discount)));
|
|
}
|
|
|
|
|
|
$brutto = $sum_total - $disc;
|
|
$netto = $sum_netto;
|
|
$vvat = $brutto - $netto;
|
|
|
|
$summary[$i]['fix'] = array(
|
|
'width' => $widths['fix'],
|
|
'value' => '',
|
|
'border' => 0,
|
|
'overflow' => 1,
|
|
'align' => 'C',
|
|
'font-style' => 'b',
|
|
'font-size' => 7,
|
|
);
|
|
|
|
|
|
$i++;
|
|
|
|
$summary[$i]['fix'] = array(
|
|
'width' => $widths['fix'],
|
|
'value' => '',
|
|
'border' => 0,
|
|
'overflow' => 1,
|
|
'align' => 'C',
|
|
'font-style' => 'b',
|
|
'font-size' => 7,
|
|
);
|
|
|
|
$summary[$i]['vat_rate'] = array(
|
|
'background' => array(233, 233, 233),
|
|
'width' => $widths['vat_rate'],
|
|
'value' => $mod_strings['LBL_PDF_LIST_SUMMARY_TOTAL'],
|
|
'border' => 1,
|
|
'overflow' => 1,
|
|
'align' => 'C',
|
|
'font-size' => 7,
|
|
'font-style' => 'b',
|
|
);
|
|
|
|
$summary[$i]['netto_total'] = array(
|
|
'background' => array(233, 233, 233),
|
|
'width' => $widths['netto_total'],
|
|
'value' => format_number($netto).' '.$this->currency_symbol,
|
|
'border' => 1,
|
|
'overflow' => 1,
|
|
'align' => 'R',
|
|
'font-size' => 7,
|
|
'font-style' => 'b',
|
|
);
|
|
|
|
|
|
$pdf->SetX(50);
|
|
//$pdf->DrawTable($table);
|
|
$pdf->DrawTable($summary);
|