Files
2025-05-12 15:44:39 +00:00

409 lines
13 KiB
PHP
Executable File

<?php
$w = "35"; // first column width
$w3 = "35";
$w2 = "20"; // second column width
if($_REQUEST['pdf_type']==1){
$content='<p style="text-align: center;font-size: 12pt;"><b>Faktura przedpłatowa '.$focus->document_no.'</b></center>';
}
$content.= '
<table style="width: 100%; font-size: 8pt;">
<tr>
<td style="width: ' . $w . '%">
<b>'.$labels['LBL_PDF_CONTENT_SALE_FOR'].'</b>
</td>
<td style="width: ' . $w3 . '%">';
if($focus->shipping_address_name!=''){
$content.= '<b>'.$labels['LBL_PDF_CONTENT_DELIVERY'].'</b>';
}
$content.= '</td>
<td style="width: ' . $w2 . '%">
</td>
<td style="text-align: right">
</td>
</tr>
<tr>
<td style="width: ' . $w . '%">
' . $focus->parent_name . '
</td>
<td style="width: ' . $w3 . '%">
'.$focus->shipping_address_name.'
</td>
<td style="width: ' . $w2 . '%">
</td>
<td style="text-align: right">
</td>
</tr>
<tr>
<td style="width: ' . $w . '%">
' . $focus->parent_address_street . '
</td>
<td style="width: ' . $w3 . '%">
' . $focus->shipping_address_street . '
</td>
<td style="width: ' . $w2 . '%"></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->shipping_address_postalcode . ' ' . $focus->shipping_address_city;
if (!is_null($focus->shipping_address_country) & $focus->shipping_address_country!='')
$content.=', '.$focus->shipping_address_country;
$content.='
</td>
<td style="width: ' . $w2 . '%">
</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->shipping_nip) && $focus->shipping_nip) {
$content.=$labels['LBL_PDF_CONTENT_NIP'].' '.$focus->shipping_nip;
$nip = true;
}
if (!is_null($focus->shipping_iln) && $focus->shipping_iln) {
if ($nip) $content.'<br>'; $nip = false;
$content.=$labels['LBL_PDF_CONTENT_ILN'].' '.$focus->shipping_iln;
}
$content.='
</td>
<td valign="top" style="width: ' . $w2 . '%"></td>
<td colspan="0" valign="top" style="text-align: right">
</td>
</tr>';
$content.='
</table><br>
';
if ($focus->name && $focus->name != '') {
$content .= '
<table style="width: 100%; text-align: center">
<tr><td>
<b>' . $focus->name . '</b>
</td></tr>
</table>
';
}
if($_REQUEST['pdf_type']==1){
$labels['LBL_PDF_CONTENT_DELIVERY_DATE']='<br>'.$labels['LBL_PDF_CONTENT_DELIVERY_DATE'];
$focus->delivery_date='<br><b>' . $focus->delivery_date . '</b>';
$width='44';
} else {
$labels['LBL_PDF_CONTENT_DELIVERY_DATE']='';
$focus->delivery_date='';
$width='12';
}
$sale=new EcmSale();
$sale->retrieve($focus->ecmsale_id);
$content .= '<table width="100%" style="font-size: 7pt;text-align:left;vertical-align:top;">
<tr><td width="25%">'.$labels['LBL_PDF_CONTENT_REGISTER_DATE'].'</td><td width="25%"><b>'.$focus->register_date.'</b></td>
<td width="25%" style="text-align:right;">Przedpłata do proformy za ZS:</td><td style="text-align:right;" width="25%"><b>'.$sale->document_no.'</b></td></tr>
<td width="25%" style="text-align:right;">Numer zamówienia klienta:</td><td style="text-align:right;" width="25%"><b>'.$sale->parent_document_no.'</b></td></tr>
<tr><td width="25%">'.$labels['LBL_PDF_CONTENT_PAYMENT_DATE'].'</td><td width="25%"><b>'.$focus->payment_date.'</b>
<td width="25%" style="text-align:right;">'.$labels['LBL_PAYMENT_METHOD'].':</td><td style="text-align:right;" width="25%"><b>'.$GLOBALS['app_list_strings']['payment_method_dom'][$focus->payment_method].'</b></td></td>';
$content.='</tr></table>';
$content.='<p style="font-size: 7pt;"><b>'.$labels['LBL_BEFORE_TABLE'].'</b></p>';
// start items table
$columns = array ();
$columns ['position'] = array (
'field' => array (
'position'
),
'label' => $labels['LBL_PDF_CONTENT_LIST_POSITION'],
'align' => 'center'
);
$columns ['name'] = array (
'field' => array (
'name',
'product_code'
),
'label' => $labels['LBL_PDF_CONTENT_LIST_NAME'].'<br>'.$labels['LBL_PDF_CONTENT_LIST_CODE'],
'align' => 'left'
);
$columns ['qty'] = array (
'field' => array (
'quantity',
'unit_name'
),
'label' => $labels['LBL_PDF_CONTENT_LIST_QTY'].'<br>'.$labels['LBL_PDF_CONTENT_LIST_UNIT'],
'align' => 'right'
);
$columns ['ecmvat_name'] = array (
'field' => array (
'ecmvat_name'
),
'label' => $labels['LBL_PDF_CONTENT_LIST_VAT'],
'align' => 'right'
);
$columns ['price_netto'] = array (
'field' => array (
'price_netto'
),
'label' => $labels['LBL_PDF_CONTENT_LIST_PRICE_NETTO'],
'align' => 'right'
);
$columns ['total_netto'] = array (
'field' => array (
'total_netto'
),
'label' => $labels['LBL_PDF_CONTENT_LIST_TOTAL_NETTO'],
'align' => 'right'
);
$columns ['total_vat'] = array (
'field' => array (
'total_vat'
),
'label' => $labels['LBL_PDF_CONTENT_LIST_TOTAL_VAT'],
'align' => 'right'
);
$columns ['total_brutto'] = array (
'field' => array (
'total_brutto'
),
'label' => $labels['LBL_PDF_CONTENT_LIST_TOTAL_BRUTTO'],
'align' => 'right'
);
//set widths
$totals = array();
$columns['position']['width'] = '5';
$columns['name']['width'] = '35';
$columns['qty']['width'] = '8';
$columns['ecmvat_name']['width'] = '6';
$columns['price_netto']['width'] = '10';
$columns['total_netto']['width'] = '12';
$columns['total_vat']['width'] = '12';
$columns['total_brutto']['width'] = '12';
// 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; background: rgb(233,233,233); width: '.$col['width'].'%;">' . $col ['label'] . '</th>
';
}
$content .= '
</tr></thead><tbody>
';
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 ($f == 'image') {
$content.='<img width="40px" src="modules/EcmProducts/upload/images/'.$pos['image'].'"/>';
} else {
if (!$pos[$f] || $pos[$f]=='') $pos[$f]='-';
$content .= $pos [$f] . '<br>';
}
}
$content .= '</td>';
}
$content .= '</tr>';
}
// podsumowanie
$vats = explode(",", $focus->vats_summary);
$vats2 = explode(":", $vats[0]);
$content .= '
<tr style="border: 0; "><td></td>
<td></td>
<td></td>
<td></td>
<td style="border: 0.5 solid black;text-align:right;"><b>Razem:</b></td>
<td style="border: 0.5 solid black;text-align:right;"><b>'.format_number($focus->total_netto).'</b></td>
<td style="border: 0.5 solid black;text-align:right;"><b>'.format_number($vats2[1]).'</b></td>
<td style="border: 0.5 solid black;text-align:right;"><b>'.format_number($focus->total_brutto).'</b></td></tr>
';
$content .= '
</tbody></table>
';
//summary table
//get currency symbol
$c = new Currency();
$c->retrieve($focus->currency_id);
$symbol = $c->symbol;
unset($c);
$content .= '
<br><hr><table style="width:100%" ><tr><td width="50%" style="font-size: 9pt;"><b>Rozliczenie otrzymanej zaliczki wg stawek podatkowych:</b></td><td style="text-align:right">
<table style="font-size: 9pt; border: 0.5 solid black; border-collapse: collapse; width: 300px;">
';
$v = new EcmVat();
$v->retrieve($focus->vat_id);
$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>
';
$content .= '
<tr>
<td style="font-size: 7pt; border: 0.5 solid black; width: 23%;text-align: center;">
'.$v->name.'
</td>
<td style="font-size: 7pt; border: 0.5 solid black; width: 25%;text-align: right;">
'.format_number($focus->prepaid_amount-$focus->total_vat).'
</td>
<td style="font-size: 7pt; border: 0.5 solid black; width: 25%;text-align: right;">
'.format_number($focus->total_vat).'
</td>
<td style="font-size: 7pt; border: 0.5 solid black; width: 27%;text-align: right;">
'.format_number($focus->prepaid_amount).'
</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->prepaid_amount-$focus->total_vat).'</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->prepaid_amount).'</b>
</td></tr>';
$content.='
</table></td></tr></table>';
$content.='<p style="font-size: 7pt;"><b>Do zapłaty: '.format_number($focus->total_brutto).'</b></p>';
$content.='<p style="font-size: 7pt;"><b>Zapłacono przelewem: '.format_number($focus->prepaid_amount).'</b></p><br>';
$content.='<p style="font-size: 7pt;"><b>Konto bankowe numer: ING Bank Śląski S.A. 49 1050 1025 1000 0090 3129 6339 </b></p>';
$z=$GLOBALS['db']->query("select document_no,register_date,prepaid_amount,total_vat,prepaid_amount-total_vat as netto from ecmprepaymentinvoices where ecmsale_id='".$focus->ecmsale_id."' and
document_autoincrement<'".date('Y-m-d H:i:s',strtotime($focus->document_autoincrement)-60*60*2)."'");
if($z->num_rows>0){
$content.='<hr><p style="font-size: 7pt;"><b>Wcześniejsze faktury zaliczkowe</b></p>';
$content .= '
<table style="width: 100%; font-size: 7pt; border: 0.5 solid black; border-collapse: collapse"><thead>
<tr>
';
$content .= '
<th style="border: 0.5 solid black; background: rgb(233,233,233); width: 5%;">Lp.</th>
<th style="border: 0.5 solid black; background: rgb(233,233,233); width: 40%;">Nr faktury</th>
<th style="border: 0.5 solid black; background: rgb(233,233,233); width: 16%;">Data</th>
<th style="border: 0.5 solid black; background: rgb(233,233,233); width: 13%;">Wartość netto</th>
<th style="border: 0.5 solid black; background: rgb(233,233,233); width: 13%;">Wartość VAT</th>
<th style="border: 0.5 solid black; background: rgb(233,233,233); width: 13%;">Wartość brutto</th>
';
$content .= '
</tr></thead>
';$nr=1;
$t_netto=0;
$t_vat=0;
$t_brutto=0;
while($d=$GLOBALS['db']->fetchByAssoc($z)){
$content .= '
<tr><td style="border: 0.5 solid black; width: 5%;text-align:center;">'.$nr.'</td>
<td style="border: 0.5 solid black; width: 40%;">'.$d['document_no'].'</td>
<td style="border: 0.5 solid black; width: 16%;text-align:right;">'.date('d.m.Y',strtotime($d['register_date'])).'</td>
<td style="border: 0.5 solid black; width: 13%;text-align:right;">'.format_number($d['netto']).'</td>
<td style="border: 0.5 solid black; width: 13%;text-align:right;">'.format_number($d['total_vat']).'</td>
<td style="border: 0.5 solid black; width: 13%;text-align:right;">'.format_number($d['prepaid_amount']).'</td></tr>
';
$t_netto+=$d['netto'];
$t_vat+=$d['total_vat'];
$t_brutto+=$d['prepaid_amount'];
$nr++;
}
$content .= '
<tr style="border: 0;">
<td colspan="3" style="border: 0.5 solid black;text-align:right;width: 60%;"><b>Razem wartość wcześniejszych faktur zaliczkowych:</b></td>
<td style="border: 0.5 solid black;text-align:right;"><b>'.format_number($t_netto).'</b></td>
<td style="border: 0.5 solid black;text-align:right;"><b>'.format_number($t_vat).'</b></td>
<td style="border: 0.5 solid black;text-align:right;"><b>'.format_number($t_brutto).'</b></td></tr>
';
$content .= '
</tbody></table>
';
$content .= '
</table>
';
}
$content.='<br><p style="font-size: 7pt;">'.$labels['LBL_PDF_CONTENT_ISSUED_BY'].' <b>'.$user->full_name.'</b></p>';
$content.='<br><br>
'.$focus->pdf_text.'
';
//echo $content; die();