410 lines
13 KiB
PHP
410 lines
13 KiB
PHP
<?php
|
|
$w = "35"; // first column width
|
|
$w3 = "35";
|
|
$w2 = "25"; // second column width
|
|
if($focus->type=='normal')$text='Faktura nr';
|
|
if($focus->type=='correct')$text='Faktura korygująca nr';
|
|
$content = '<p style="text-align: center;"><b>'.$text.' '.$focus->document_no.'</b></p>
|
|
<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.=$labels['LBL_PDF_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.=$labels['LBL_PDF_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_shipping_address_nip;
|
|
$nip = true;
|
|
}
|
|
if (!is_null($focus->parent_shipping_iln) && $focus->parent_shipping_iln) {
|
|
if ($nip) $content.'<br>'; $nip = false;
|
|
$content.=$labels['LBL_PDF_CONTENT_ILN'].' '.$focus->parent_shipping_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>
|
|
';
|
|
}
|
|
if($focus->ecminvoicecosout_name!=''){
|
|
$corl=$labels['LBL_PDF_CORRECT_TO'];
|
|
}
|
|
$content .= '<br><table width="100%" style="font-size: 7pt;text-align:right;vertical-align:top;">
|
|
<tr><td width="44%" >'.$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="20%"><b>' . $focus->register_date . '</b><br><b>Warszawa</b><br><b>' . $focus->sell_date . '</b><br><b>' . $focus->ecminvoicecosout_name . '</b></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->payment_method!=''){
|
|
$content.=$labels['LBL_PAYMENT_METHOD_PDF'].':<br>';
|
|
}
|
|
$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->payment_method!=''){
|
|
$content.='<b>' . $GLOBALS['app_list_strings']['payment_method_dom'][$focus->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'
|
|
);
|
|
$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';
|
|
$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;
|
|
if($focus->type=='normal'){
|
|
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>';
|
|
}
|
|
} else {
|
|
foreach ( $positions as $pos ) {
|
|
$content .= '<tr>';
|
|
$pos2= formatPDFPositionsCorrect ($focus->getCorrectedPosition($pos['ecminvoicecosoutitem_id']), $focus );
|
|
$pos2['name']='było';
|
|
$pos2['position']='';
|
|
$pos2['product_code']=' ';
|
|
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><tr>';
|
|
// old correct item
|
|
foreach ( $columns as $col ) {
|
|
|
|
$content .= '<td style="border: 0.5 solid black; text-align: ' . $col ['align'] . ';">';
|
|
foreach ( $col ['field'] as $f ) {
|
|
|
|
if (! $pos2 [$f] || $pos2 [$f] == '')
|
|
$pos2 [$f] = '-';
|
|
$content .= $pos2 [$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>';
|
|
}
|
|
// 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).'</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).'</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).'</b>
|
|
</td></tr>';
|
|
$left_to_paid=$focus->total_brutto-$focus->paid_val;
|
|
$content .= '
|
|
</table>
|
|
<table style="font-size: 7pt;">
|
|
<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->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><br><p style="font-size: 7pt;">'.$labels['LBL_PDF_CONTENT_ISSUED_BY'].' <b>'.$user->full_name.'</b></p>
|
|
<br><br>
|
|
' . $focus->pdf_text . '
|
|
';
|
|
|
|
//echo $content; die();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|