420 lines
14 KiB
PHP
420 lines
14 KiB
PHP
|
|
<?php
|
||
|
|
$w = "35"; // first column width
|
||
|
|
$w3 = "35";
|
||
|
|
$w2 = "25"; // second column width
|
||
|
|
|
||
|
|
|
||
|
|
$content = '
|
||
|
|
<table style="width: 100%; font-size: 8pt;">
|
||
|
|
<tr>
|
||
|
|
<td style="width: ' . $w . '%">
|
||
|
|
<b>' . $labels['LBL_PDF_CONTENT_INVOICE_FOR'] . '</b>
|
||
|
|
</td>
|
||
|
|
<td style="width: ' . $w3 . '%">';
|
||
|
|
if ($focus->parent_shipping_address_name != '') {
|
||
|
|
$content .= '<b>' . $labels['LBL_PDF_CONTENT_DELIVERY'] . '</b>';
|
||
|
|
}
|
||
|
|
|
||
|
|
$content .= '</td>
|
||
|
|
<td style="width: ' . $w2 . '%">';
|
||
|
|
if ($focus->parent_payer_address_name != '') {
|
||
|
|
$content .= '<b>' . $labels['LBL_PDF_CONTENT_PAYER'] . '</b>';
|
||
|
|
}
|
||
|
|
$content .= '</td>
|
||
|
|
<td style="text-align: right"></td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td style="width: ' . $w . '%">
|
||
|
|
' . $focus->parent_name . '
|
||
|
|
</td>
|
||
|
|
<td style="width: ' . $w3 . '%">
|
||
|
|
' . $focus->parent_shipping_address_name . '
|
||
|
|
</td>
|
||
|
|
<td style="width: ' . $w2 . '%">' . $focus->parent_payer_address_name . '</td>
|
||
|
|
<td style="text-align: right"></td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td style="width: ' . $w . '%">
|
||
|
|
' . $focus->parent_address_street . '
|
||
|
|
</td>
|
||
|
|
<td style="width: ' . $w3 . '%">
|
||
|
|
' . $focus->parent_shipping_address_street . '
|
||
|
|
</td>
|
||
|
|
<td style="width: ' . $w2 . '%">
|
||
|
|
' . $focus->parent_payer_address_street . '
|
||
|
|
</td>
|
||
|
|
<td style="text-align: right">
|
||
|
|
</td>
|
||
|
|
</tr>
|
||
|
|
<tr>
|
||
|
|
<td style="width: ' . $w . '%">
|
||
|
|
' . $focus->parent_address_postalcode . ' ' . $focus->parent_address_city;
|
||
|
|
if (!is_null($focus->parent_address_country) & $focus->parent_address_country != '')
|
||
|
|
$content .= ', ' . $focus->parent_address_country;
|
||
|
|
$content .= '
|
||
|
|
</td>
|
||
|
|
<td style="width: ' . $w3 . '%">
|
||
|
|
' . $focus->parent_shipping_address_postalcode . ' ' . $focus->parent_shipping_address_city;
|
||
|
|
if (!is_null($focus->parent_shipping_address_country) & $focus->parent_shipping_address_country != '')
|
||
|
|
$content .= ', ' . $focus->parent_shipping_address_country;
|
||
|
|
$content .= '
|
||
|
|
</td>
|
||
|
|
<td style="width: ' . $w2 . '%">
|
||
|
|
' . $focus->parent_payer_address_postalcode . ' ' . $focus->parent_payer_address_city;
|
||
|
|
if (!is_null($focus->parent_payer_address_country) & $focus->parent_payer_address_country != '')
|
||
|
|
$content .= ', ' . $focus->parent_payer_address_country;
|
||
|
|
$content .= '
|
||
|
|
</td>
|
||
|
|
<td style="text-align: right">
|
||
|
|
|
||
|
|
</td>
|
||
|
|
</tr>';
|
||
|
|
$content .= '
|
||
|
|
<tr>
|
||
|
|
<td valign="top" style="width: ' . $w . '%">';
|
||
|
|
if (!is_null($focus->parent_nip) && $focus->parent_nip) {
|
||
|
|
$content .= $labels['LBL_PDF_CONTENT_NIP'] . ' ' . $focus->parent_nip;
|
||
|
|
$nip = true;
|
||
|
|
}
|
||
|
|
if (!is_null($focus->parent_iln) && $focus->parent_iln) {
|
||
|
|
if ($nip) $content .= '<br>';
|
||
|
|
$nip = false;
|
||
|
|
$content .= 'ILN: ' . $focus->parent_iln;
|
||
|
|
}
|
||
|
|
$content .= '
|
||
|
|
</td>';
|
||
|
|
$content .= '
|
||
|
|
<td valign="top" style="width: ' . $w3 . '%">';
|
||
|
|
if (!is_null($focus->parent_shipping_address_nip) && $focus->parent_shipping_address_nip) {
|
||
|
|
$content .= $labels['LBL_PDF_CONTENT_NIP'] . ' ' . $focus->parent_shipping_address_nip;
|
||
|
|
$nip = true;
|
||
|
|
}
|
||
|
|
if (!is_null($focus->parent_shipping_iln) && $focus->parent_shipping_iln) {
|
||
|
|
if ($nip) $content .= '<br>';
|
||
|
|
$nip = false;
|
||
|
|
$content .= 'ILN: ' . $focus->parent_shipping_iln;
|
||
|
|
}
|
||
|
|
$content .= '
|
||
|
|
</td>';
|
||
|
|
$content .= '
|
||
|
|
<td valign="top" style="width: ' . $w3 . '%">';
|
||
|
|
if (!is_null($focus->parent_payer_address_nip) && $focus->parent_payer_address_nip) {
|
||
|
|
$content .= $labels['LBL_PDF_CONTENT_NIP'] . ' ' . $focus->parent_payer_address_nip;
|
||
|
|
$nip = true;
|
||
|
|
}
|
||
|
|
if (!is_null($focus->parent_payer_iln) && $focus->parent_payer_iln) {
|
||
|
|
if ($nip) $content .= '<br>';
|
||
|
|
$nip = false;
|
||
|
|
$content .= 'ILN: ' . $focus->parent_payer_iln;
|
||
|
|
}
|
||
|
|
$content .= '</td>
|
||
|
|
<td colspan="0" valign="top" style="text-align: right">
|
||
|
|
|
||
|
|
</td>
|
||
|
|
</tr>';
|
||
|
|
$content .= '
|
||
|
|
</table>
|
||
|
|
';
|
||
|
|
if ($focus->name && $focus->name != '') {
|
||
|
|
$content .= '
|
||
|
|
<table style="width: 100%; text-align: center">
|
||
|
|
<tr><td>
|
||
|
|
<b>' . $focus->name . '</b>
|
||
|
|
</td></tr>
|
||
|
|
</table>
|
||
|
|
';
|
||
|
|
}
|
||
|
|
|
||
|
|
$content .= '<br><table width="100%" style="font-size: 7pt;text-align:left;vertical-align:top;">
|
||
|
|
<tr><td width="18%" >' . $labels['LBL_PDF_CONTENT_REGISTER_DATE'] . '<br>' . $labels['LBL_PLACE_PDF'] . '<br>' . $labels['LBL_PDF_CONTENT_SELL_DATE'] . '<br>' . $corl . '</td>
|
||
|
|
<td style="text-align: left;" width="35%"><b>' . $focus->register_date . '</b><br><b>Warszawa</b><br><b>' . $focus->sell_date . '</b>' . $korekta . '</td>
|
||
|
|
<td rowspan="2" style="text-align: left;vertical-align:top;">';
|
||
|
|
if ($focus->wz_name != '') {
|
||
|
|
$content .= $labels['LBL_PDF_CONTENT_PARENT_DOCUMENT_WZ'] . ':<br>';
|
||
|
|
}
|
||
|
|
if ($focus->order_no != '') {
|
||
|
|
$content .= $labels['LBL_PDF_CONTENT_PARENT_DOCUMENT_NO'] . ':<br>';
|
||
|
|
}
|
||
|
|
if ($focus->supplier_code != '') {
|
||
|
|
$content .= $labels['LBL_SUPPLIER_CODE'] . ':<br>';
|
||
|
|
}
|
||
|
|
if ($focus->payment_date != '') {
|
||
|
|
$content .= $labels['LBL_PAYMENT_DATE_PDF'] . ':<br>';
|
||
|
|
}
|
||
|
|
if ($focus->ecmpaymentcondition_id != '') {
|
||
|
|
$content .= $labels['LBL_PAYMENT_METHOD_PDF'] . ':<br>';
|
||
|
|
}
|
||
|
|
|
||
|
|
$pay = new EcmPaymentCondition();
|
||
|
|
|
||
|
|
$pay->retrieve($focus->ecmpaymentcondition_id);
|
||
|
|
|
||
|
|
$content .= '</td>
|
||
|
|
<td rowspan="2" style="vertical-align:top;">';
|
||
|
|
if ($focus->wz_name != '') {
|
||
|
|
$content .= '<b>' . $focus->wz_name . '</b><br>';
|
||
|
|
}
|
||
|
|
if ($focus->order_no != '') {
|
||
|
|
$content .= '<b>' . $focus->order_no . '</b><br>';
|
||
|
|
}
|
||
|
|
if ($focus->supplier_code != '') {
|
||
|
|
$content .= '<b>' . $focus->supplier_code . '</b><br>';
|
||
|
|
}
|
||
|
|
if ($focus->payment_date != '') {
|
||
|
|
$content .= '<b>' . date('d.m.Y', strtotime($focus->payment_date)) . '</b><br>';
|
||
|
|
}
|
||
|
|
if ($focus->ecmpaymentcondition_id != '') {
|
||
|
|
$content .= '<b>' . $GLOBALS['app_list_strings']['ecmpaymentconditions_payment_method_dom'][$pay->payment_method] . '</b><br>';
|
||
|
|
}
|
||
|
|
$content .= '</td></tr></table><br>';
|
||
|
|
// start items table
|
||
|
|
$columns = array();
|
||
|
|
|
||
|
|
$columns['position'] = array(
|
||
|
|
'field' => array(
|
||
|
|
'position'
|
||
|
|
),
|
||
|
|
'label' => 'Lp.',
|
||
|
|
'align' => 'center'
|
||
|
|
);
|
||
|
|
|
||
|
|
$columns['name'] = array(
|
||
|
|
'field' => array(
|
||
|
|
'name',
|
||
|
|
'product_code'
|
||
|
|
),
|
||
|
|
'label' => 'Nazwa<br>Indeks',
|
||
|
|
'align' => 'left'
|
||
|
|
);
|
||
|
|
if ($recipient_code == 1) {
|
||
|
|
$columns['recipient_code'] = array(
|
||
|
|
'field' => array(
|
||
|
|
'recipient_code'
|
||
|
|
),
|
||
|
|
'label' => 'Kod Tow.',
|
||
|
|
'align' => 'center'
|
||
|
|
);
|
||
|
|
}
|
||
|
|
$columns['qty'] = array(
|
||
|
|
'field' => array(
|
||
|
|
'quantity',
|
||
|
|
'unit_name'
|
||
|
|
),
|
||
|
|
'label' => 'Ilość<br>J.m.',
|
||
|
|
'align' => 'right'
|
||
|
|
);
|
||
|
|
|
||
|
|
$columns['price_netto'] = array(
|
||
|
|
'field' => array(
|
||
|
|
'price_netto'
|
||
|
|
),
|
||
|
|
'label' => 'Cena netto',
|
||
|
|
'align' => 'right'
|
||
|
|
);
|
||
|
|
|
||
|
|
$columns['total_netto'] = array(
|
||
|
|
'field' => array(
|
||
|
|
'total_netto'
|
||
|
|
),
|
||
|
|
'label' => 'Wartość<br>netto',
|
||
|
|
'align' => 'right'
|
||
|
|
);
|
||
|
|
$columns['ecmvat_name'] = array(
|
||
|
|
'field' => array(
|
||
|
|
'ecmvat_name'
|
||
|
|
),
|
||
|
|
'label' => 'VAT<br>(%)',
|
||
|
|
'align' => 'center'
|
||
|
|
);
|
||
|
|
$columns['total_vat'] = array(
|
||
|
|
'field' => array(
|
||
|
|
'total_vat'
|
||
|
|
),
|
||
|
|
'label' => 'Wartość<br>VAT',
|
||
|
|
'align' => 'right'
|
||
|
|
);
|
||
|
|
|
||
|
|
$columns['total_brutto'] = array(
|
||
|
|
'field' => array(
|
||
|
|
'total_brutto'
|
||
|
|
),
|
||
|
|
'label' => 'Wartość<br>brutto',
|
||
|
|
'align' => 'right'
|
||
|
|
);
|
||
|
|
// set widths
|
||
|
|
$totals = array();
|
||
|
|
|
||
|
|
$columns['position']['width'] = '5';
|
||
|
|
$columns['name']['width'] = '41';
|
||
|
|
if ($recipient_code == 1) {
|
||
|
|
$columns['recipient_code']['width'] = '10';
|
||
|
|
}
|
||
|
|
$columns['qty']['width'] = '10';
|
||
|
|
$columns['price_netto']['width'] = '10';
|
||
|
|
$columns['total_netto']['width'] = '10';
|
||
|
|
$columns['ecmvat_name']['width'] = '4';
|
||
|
|
$columns['total_vat']['width'] = '10';
|
||
|
|
$columns['total_brutto']['width'] = '10';
|
||
|
|
|
||
|
|
// rysujemy :)
|
||
|
|
$content .= '
|
||
|
|
<table style="width: 100%; font-size: 7pt; border: 0.5 solid black; border-collapse: collapse;"><thead>
|
||
|
|
<tr>
|
||
|
|
';
|
||
|
|
|
||
|
|
foreach ($columns as $col) {
|
||
|
|
$content .= '
|
||
|
|
<th style="border: 0.5 solid black; width: ' . $col['width'] . '%;background-color: #E9E9E9;">' . $col['label'] . '</th>
|
||
|
|
';
|
||
|
|
}
|
||
|
|
$content .= '
|
||
|
|
</tr></thead><tbody>
|
||
|
|
';
|
||
|
|
$counter = 1;
|
||
|
|
|
||
|
|
foreach ($positions as $pos) {
|
||
|
|
$content .= '<tr>';
|
||
|
|
foreach ($columns as $col) {
|
||
|
|
|
||
|
|
$content .= '<td style="border: 0.5 solid black; text-align: ' . $col['align'] . ';">';
|
||
|
|
foreach ($col['field'] as $f) {
|
||
|
|
|
||
|
|
if (!$pos[$f] || $pos[$f] == '')
|
||
|
|
$pos[$f] = '-';
|
||
|
|
$content .= $pos[$f] . '<br>';
|
||
|
|
}
|
||
|
|
$content .= '</td>';
|
||
|
|
}
|
||
|
|
$content .= '</tr>';
|
||
|
|
}
|
||
|
|
$content .= '
|
||
|
|
</tbody></table>
|
||
|
|
';
|
||
|
|
// summary table
|
||
|
|
// get currency symbol
|
||
|
|
$c = new Currency();
|
||
|
|
$c->retrieve($focus->currency_id);
|
||
|
|
$symbol = $c->symbol;
|
||
|
|
unset($c);
|
||
|
|
$content .= '
|
||
|
|
<br>
|
||
|
|
<table style="font-size: 9pt; border: 0.5 solid black; border-collapse: collapse; width: 300px; margin-left: 60%">
|
||
|
|
';
|
||
|
|
|
||
|
|
$content .= '
|
||
|
|
<tr>
|
||
|
|
<td style="font-size: 7pt; border: 0.5 solid black; width: 23%;text-align: center;">
|
||
|
|
<b>VAT (%)</b>
|
||
|
|
</td>
|
||
|
|
<td style="font-size: 7pt; border: 0.5 solid black; width: 25%;text-align: center;">
|
||
|
|
<b>Wartość netto</b>
|
||
|
|
</td>
|
||
|
|
<td style="font-size: 7pt; border: 0.5 solid black; width: 25%;text-align: center;">
|
||
|
|
<b>Wartość VAT</b>
|
||
|
|
</td>
|
||
|
|
<td style="font-size: 7pt; border: 0.5 solid black; width: 27%;text-align: center;">
|
||
|
|
<b>Wartość brutto</b>
|
||
|
|
</td>';
|
||
|
|
|
||
|
|
$content .= '</tr>
|
||
|
|
';
|
||
|
|
$vats = explode(",", $focus->vats_summary);
|
||
|
|
foreach ($vats as $v) {
|
||
|
|
if ($v == '') continue;
|
||
|
|
$v2 = explode(":", $v);
|
||
|
|
$content .= '
|
||
|
|
<tr>
|
||
|
|
<td style="font-size: 7pt; border: 0.5 solid black; width: 23%;text-align: center;">
|
||
|
|
' . $v2[0] . '
|
||
|
|
</td>
|
||
|
|
<td style="font-size: 7pt; border: 0.5 solid black; width: 25%;text-align: right;">
|
||
|
|
' . format_number($v2[1]) . '
|
||
|
|
</td>
|
||
|
|
<td style="font-size: 7pt; border: 0.5 solid black; width: 25%;text-align: right;">
|
||
|
|
' . format_number($v2[2]) . '
|
||
|
|
</td>
|
||
|
|
<td style="font-size: 7pt; border: 0.5 solid black; width: 27%;text-align: right;">
|
||
|
|
' . format_number($v2[3]) . '
|
||
|
|
</td></tr>';
|
||
|
|
}
|
||
|
|
$total_paid_vat = 0;
|
||
|
|
$total_paid_netto = 0;
|
||
|
|
if ($focus->prepaid != '') {
|
||
|
|
|
||
|
|
$vat_value = substr($k,0,-1)+'';
|
||
|
|
if (strlen($vat_value) == 1) $vat_value = '0'.$vat_value;
|
||
|
|
$paid_netto = round($focus->prepaid / 1.23,2);
|
||
|
|
$paid_vat = $focus->prepaid - $paid_netto;
|
||
|
|
$total_paid_netto += $paid_netto;
|
||
|
|
$total_paid_vat += $paid_vat;
|
||
|
|
$content .= '
|
||
|
|
<tr>
|
||
|
|
<td style="font-size: 7pt; border: 0.5 solid black; width: 23%;text-align: center;">
|
||
|
|
23%
|
||
|
|
</td>
|
||
|
|
<td style="font-size: 7pt; border: 0.5 solid black; width: 25%;text-align: right;">
|
||
|
|
-' .format_number($paid_netto). '
|
||
|
|
</td>
|
||
|
|
<td style="font-size: 7pt; border: 0.5 solid black; width: 25%;text-align: right;">
|
||
|
|
-' .format_number($paid_vat). '
|
||
|
|
</td>
|
||
|
|
<td style="font-size: 7pt; border: 0.5 solid black; width: 27%;text-align: right;">
|
||
|
|
-' . format_number($focus->prepaid) . '
|
||
|
|
</td></tr>';
|
||
|
|
}
|
||
|
|
// totals
|
||
|
|
$content .= '
|
||
|
|
<tr>
|
||
|
|
<td style="font-size: 6.5pt; border: 0.5 solid black; width: 23%;text-align: center;background-color: #E9E9E9;">
|
||
|
|
<b>Razem</b>
|
||
|
|
</td>
|
||
|
|
<td style="font-size: 6.5pt; border: 0.5 solid black; width: 25%;text-align: right;background-color: #E9E9E9;">
|
||
|
|
<b>' . format_number($focus->total_netto-$total_paid_netto) . '</b>
|
||
|
|
</td>
|
||
|
|
<td style="font-size: 6.5pt; border: 0.5 solid black; width: 25%;text-align: right;background-color: #E9E9E9;">
|
||
|
|
<b>' . format_number($focus->total_vat-$total_paid_vat) . '</b>
|
||
|
|
</td>
|
||
|
|
<td style="font-size: 6.5pt; border: 0.5 solid black; width: 27%;text-align: right;background-color: #E9E9E9;">
|
||
|
|
<b>' . format_number($focus->total_brutto-$focus->prepaid) . '</b>
|
||
|
|
</td></tr>';
|
||
|
|
$left_to_paid = $focus->total_brutto - $focus->paid_val - $focus->prepaid;
|
||
|
|
$content .= '
|
||
|
|
</table>
|
||
|
|
<table style="font-size: 7pt;">';
|
||
|
|
if ($focus->prepaid != '') {
|
||
|
|
$content .= '<tr><td>FV przedpłatowa:</td><td style="text-align: right;"><b>' . $focus->prepaid_nr . '</b></td><td style="text-align:left;"></td></tr>';
|
||
|
|
}
|
||
|
|
$content .= '<tr><td>' . $labels['LBL_PDF_TO_PAY'] . '</td><td style="text-align: right;"><b>' . format_number($focus->total_brutto) . ' ' . $symbol . '</b></td><td></td></tr>';
|
||
|
|
if ($focus->prepaid != '') {
|
||
|
|
$content .= '<tr><td>Przedpłata</td><td style="text-align: right;"><b>' . format_number($focus->prepaid) . ' ' . $symbol . '</b></td><td style="text-align:left;"></td></tr>';
|
||
|
|
}
|
||
|
|
if ($focus->paid_val != '') {
|
||
|
|
if ($focus->paid_val != 0) $pay_text = $GLOBALS['app_list_strings']['ecmpaymentconditions_payment_method_dom'][$focus->payment_method_paid];
|
||
|
|
$content .= '<tr><td>' . $labels['LBL_PDF_PAID'] . '</td><td style="text-align: right;"><b>' . format_number($focus->paid_val) . ' ' . $symbol . '</b></td><td style="text-align:left;">' . $pay_text . '</td></tr>';
|
||
|
|
}
|
||
|
|
|
||
|
|
if ($focus->ecmpaymentcondition_id != '') {
|
||
|
|
|
||
|
|
$q = $db->query("select name from ecmpaymentconditions where id='$focus->ecmpaymentcondition_id'");
|
||
|
|
$r = $db->fetchByAssoc($q);
|
||
|
|
//$paid_text='w Terminie <b>'.$r['name'].'</b> do <b>'.date('d.m.Y',strtotime($focus->payment_date)).'</b> '.$GLOBALS['app_list_strings']['payment_method_dom'][$focus->payment_method];
|
||
|
|
} else {
|
||
|
|
if ($focus->payment_date != '') {
|
||
|
|
|
||
|
|
$dni = (strtotime($focus->payment_date) - strtotime($focus->sell_date)) / (3600 * 24);
|
||
|
|
//$paid_text='w Terminie <b>'.$dni.' dni</b> do <b>'.date('d.m.Y',strtotime($focus->payment_date)).'</b> '.$GLOBALS['app_list_strings']['payment_method_dom'][$focus->payment_method];
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
$content .= '<tr><td>' . $labels['LBL_PDF_LEFT_TO_PAID'] . '</td><td style="text-align: right;"><b>' . format_number($left_to_paid) . ' ' . $symbol . '</b></td><td style="text-align:left;">' . $paid_text . '</td></tr>
|
||
|
|
</table>';
|
||
|
|
if ($focus->currency_id != 'PLN') {
|
||
|
|
//get currency date
|
||
|
|
$dd = $GLOBALS['db']->fetchByAssoc($GLOBALS['db']->query("SELECT date, value FROM currency_nbp_archive WHERE currency_id='" . $focus->currency_id . "' AND nbp_table_name='" . $focus->currency_table . "' "));
|
||
|
|
$content .= "<p style='font-size: 7pt;'>Wartość VAT w zł: " . format_number(($focus->total_vat * $dd['value'])) . ". Przeliczowo wg. kursu NBP (" . $focus->currency_table . ": " . format_number($dd['value'], 4, 4) . " zł) z dnia " . $dd['date'] . '</p>';
|
||
|
|
}
|
||
|
|
$content .= '<p style="font-size: 7pt;">' . $labels['LBL_PDF_CONTENT_ISSUED_BY'] . ' <b>' . $user->full_name . '</b></p>
|
||
|
|
<br><br>
|
||
|
|
' . $focus->pdf_text . '
|
||
|
|
';
|