Files
crm.e5.pl/modules/templates/EcmReceiptOuts/invoice_pl2/subheader.php
2024-04-27 09:23:34 +02:00

237 lines
13 KiB
PHP
Executable File

<?
/*
$pdf->Ln(10);
//$this->SetY($this->tMargin);
//from address
$this->template->setAccount();
$address = $this->template->account->name;
if($this->template->account->billing_address_street) $address .= " - ".$this->template->account->billing_address_street;
if($this->template->account->billing_address_postalcode) $address .= " - ".$this->template->account->billing_address_postalcode;
if($this->template->account->billing_address_city) $address .= " ".$this->template->account->billing_address_city;
$pdf->SetFont('arialpl', 'u', 8);
$pdf->Ln(10);
$pdf->MultiCell(0,5,$address,0,'L');
*/
$pdf->Ln(2);
//to address
$address = $this->parent_name;
if($this->parent_contact_name) {
$address .= "\n".$this->parent_contact_name;
if($this->parent_contact_title) $address .= "\n".$this->parent_contact_title;
}
if($this->parent_address_street) $address .= "\n".$this->parent_address_street;
if($this->parent_address_postalcode) $address .= "\n\n".$this->parent_address_postalcode;
if($this->parent_address_city) $address .= " ".$this->parent_address_city;
if($this->to_vatid) $address .= "\n\n".$mod_strings['LBL_PDF_VATID']." ".$this->to_vatid;
$pdf->SetFont('arialpl', '', 10);
$pdf->Ln(2);
$current = $pdf->GetY();
$pdf->MultiCell(0,4,$address,0,'L');
$current2 = $pdf->GetY();
$pdf->SetXY($pdf->fw-$pdf->rMargin-30,$current);
$table = array();
$table [0]['data'] = array('width' => 30, 'value' => $mod_strings['LBL_PDF_NUMBER'], 'border' => 0, 'overflow' => 1, 'align' => 'L', 'font-style' => 'b', 'font-size' => 9);
$table [1]['data'] = array('width' => 30, 'value' => $this->document_no, 'border' => 0, 'overflow' => 1, 'align' => 'L');
$table [2]['data'] = array('width' => 30, 'value' => $mod_strings['LBL_PDF_DATE_REGISTER'], 'border' => 0, 'overflow' => 1, 'align' => 'L', 'font-style' => 'b', 'font-size' => 9);
$table [3]['data'] = array('width' => 30, 'value' => $this->register_date, 'border' => 0, 'overflow' => 1, 'align' => 'L');
$table [4]['data'] = array('width' => 30, 'value' => $mod_strings['LBL_PDF_OWNER'], 'border' => 0, 'overflow' => 1, 'align' => 'L', 'font-style' => 'b', 'font-size' => 9);
$table [5]['data'] = array('width' => 30, 'value' => $this->setUser()->full_name, 'border' => 0, 'overflow' => 1, 'align' => 'L');
$pdf->DrawTable($table, null, 0.5, 0.5, 3);
$pdf->SetY($current2);
$pdf->Ln(12);
$pdf->SetFont('arialpl','','24');
if($this->type == "normal")
$pdf->MultiCell(0,3,$mod_strings['LBL_PDF_DOCUMENT_NAME'],0,'L');
else if($this->type == "correct") {
$pdf->MultiCell(0,3,$mod_strings['LBL_PDF_DOCUMENT_NAME_CORRECT'],0,'L');
$this->loadEcmInvoiceOut();
$this->ecminvoiceout->format_all_fields();
$pdf->Ln(5);
$pdf->SetFont('arialpl','','18');
$pdf->MultiCell(0,3,$mod_strings['LBL_PDF_DOCUMENT_NAME_CORRECT_TO'].' '.$this->ecminvoiceout->document_no);
}
$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);
//header text
$pdf->Ln(12);
$pdf->SetFont('arialpl','','10');
$pdf->MultiCell(0,4,$this->header_text,0,'J');
$pdf->Ln(10);
if($this->type == "correct") {
$pdf->SetFont('arialpl','b','10');
$pdf->MultiCell(0,4,$mod_strings['LBL_PDF_DOCUMENT_BEFORE_CORRECT']);
$pdf->Ln(3);
$this->ecminvoiceout->DrawPositions($pdf);
$pdf->SetFont('arialpl','b','10');
$pdf->Ln(4);
$pdf->MultiCell(0,4,$mod_strings['LBL_PDF_DOCUMENT_AFTER_CORRECT']);
$pdf->Ln(3);
}
$pdf->SetFont('arialpl','','7');
global $mod_strings;
$currency = new Currency();
$currency->retrieve($this->currency_id);
$this->currency_symbol=$currency->iso4217;
if(!isset($this->position_list) || !is_array($this->position_list))
$this->position_list = $this->getPositionList(true);
$calc = $this->calculate($this->position_list,true);
//$this->position_list = $this->formatPositions($this->position_list);
$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;
$name_w = 17;
//if($calc['draw_discount']) $name_w -= 8;
//if($calc['draw_vat']) $name_w -= 8;
$table = array();
$table [0]['position'] = array('width' => 4, 'value' => $mod_strings['LBL_PDF_LIST_POSITION'], 'border' => 1, 'overflow' => 1, 'align' => 'C', 'font-style' => 'b', 'font-size' => 8);
$table [0]['description'] = array('width' => $name_w, 'value' => $mod_strings['LBL_PDF_LIST_DESCRIPTION'],'border' => 1, 'overflow' => 1, 'align' => 'C', 'font-style' => 'b', 'font-size' => 7);
$table [0]['tax_code'] = array('width' => 8, 'value' => $mod_strings['LBL_PDF_LIST_TAX_CODE'],'border' => 1, 'overflow' => 1, 'align' => 'C', 'font-style' => 'b', 'font-size' => 7);
$table [0]['quantity'] = array('width' => 7, 'value' => $mod_strings['LBL_PDF_LIST_QUANTITY'],'border' => 1, 'overflow' => 1, 'align' => 'C', 'font-style' => 'b', 'font-size' => 7);
$table [0]['unit'] = array('width' => 5, 'value' => $mod_strings['LBL_PDF_LIST_UNIT'], 'border' => 1, 'overflow' => 1, 'align' => 'C', 'font-style' => 'b', 'font-size' => 8);
$table [0]['unit_price'] = array('width' => 10, 'value' => $mod_strings['LBL_PDF_LIST_PRICE'],'border' => 1, 'overflow' => 1, 'align' => 'C', 'font-style' => 'b', 'font-size' => 7);
$table [0]['unit_price_total'] = array('width' => 12, 'value' => $mod_strings['LBL_PDF_LIST_TOTAL_PRICE'],'border' => 1, 'overflow' => 1, 'align' => 'C', 'font-style' => 'b', 'font-size' => 7);
//if($calc['draw_discount'])
$table [0]['discount'] = array('width' => 5, 'value' => $mod_strings['LBL_PDF_LIST_DISCOUNT'], 'border' => 1, 'overflow' => 1, 'align' => 'C', 'font-style' => 'b', 'font-size' => 7);
//if($calc['draw_vat']) {
$table [0]['vat_id'] = array('width' => 5, 'value' => $mod_strings['LBL_PDF_LIST_VAT'],'border' => 1, 'overflow' => 1, 'align' => 'C', 'font-style' => 'b', 'font-size' => 7);
$table [0]['vat_value'] = array('width' => 13, 'value' => $mod_strings['LBL_PDF_LIST_VAT_VALUE'],'border' => 1, 'overflow' => 1, 'align' => 'C', 'font-style' => 'b', 'font-size' => 7);
//}
$table [0]['total'] = array('width' => 14, 'value' => $mod_strings['LBL_PDF_LIST_TOTAL'],'border' => 1, 'overflow' => 1, 'align' => 'C', 'font-style' => 'b', 'font-size' => 7);
$pdf->DrawTable($table,array(0));
$pdf->Ln(0);
$i = 1;
$lv=return_app_list_strings_language($this->ecmlanguage);
$table=array();
if($this->position_list != '')
foreach($this->position_list as $p) {
$table [$i]['position'] = array('width' => 4, 'value' => $i, 'border' => 1, 'align' => 'R', 'font-size' => 7 );
$table [$i]['description'] = array('width' => $name_w, 'value' => htmlspecialchars_decode($p['name']), 'border' => 1, 'align' => 'L', 'font-size' => 7 );
$table [$i]['tax_code'] = array('width' => 8, 'value' => $p['tax_code'],'border' => 1, 'align' => 'C', 'font-size' => 7);
$table [$i]['quantity'] = array('width' => 7, 'value' => $p['quantity'], 'border' => 1, 'align' => 'C', 'font-size' => 7 );
$table [$i]['unit'] = array('width' => 5, 'value' => $lv['ecmproducts_unit_dom'][$p['unit_id']], 'border' => 1, 'align' => 'C', 'font-size' => 7 );
$table [$i]['unit_price'] = array('width' => 10, 'value' => format_number($p['price']).' '.$this->currency_symbol, 'border' => 1, 'align' => 'R', 'font-size' => 7 );
$price_total=($p['price']-($p['price']*$p['discount']/100))*$p['quantity'];
$table [$i]['unit_price_total'] = array('width' => 12, 'value' => format_number($price_total).' '.$this->currency_symbol, 'border' => 1, 'align' => 'R', 'font-size' => 7 );
//if($calc['draw_discount'])
$table [$i]['discount'] = array('width' => 5, 'value' => $p['discount'], 'border' => 1, 'align' => 'R', 'font-size' => 7 );
//if($calc['draw_vat']){
$table [$i]['vat_id'] = array('width' => 5, 'value' => format_number($p['vat_value']), 'border' => 1, 'align' => 'R', 'font-size' => 7 );
$vat_value=$p['vat_value']/100*$p['price']*$p['quantity'];
$table [$i]['vat_value'] = array('width' => 13, 'value' => format_number($vat_value).' '.$this->currency_symbol, 'border' => 1, 'align' => 'R', 'font-size' => 7 );
//}
$table [$i]['total'] = array('width' => 14, 'value' => format_number($price_total+$vat_value).' '.$this->currency_symbol, 'border' => 1, 'align' => 'R', 'font-size' => 7 );
$totals[$p['vat_id']]['price']+=$price_total;
$totals[$p['vat_id']]['total']+=$price_total+$vat_value;
$totals[$p['vat_id']]['vat']+=$vat_value;
$i++;
}
$pdf->DrawTable($table,array(0));
//total, vat, subtotal
$pdf->Ln(4);
$pr = ($pdf->fw-$pdf->lMargin-$pdf->rMargin)/100;
//$pdf->SetX($pdf->fw-$pdf->rMargin-$pr*34);
$table = array();
if($calc['vats']) {
/*$table [] = array(
'subtotal1' => array('width' => 42, 'value' => $mod_strings['LBL_PDF_TOTAL'], 'background' => array(255,255,255), 'border' => 1, 'overflow' => 1, 'align' => 'L', 'font-size' => 7),
'subtotal2' => array('width' => 14, 'value' => $calc['subtotal'].' '.$this->currency_symbol, 'border' => 1, 'overflow' => 1, 'align' => 'R', 'font-size' => 7), );
*/
foreach($calc['vats'] as $key => $value){
$r=mysql_fetch_array(mysql_query("select id,name,value from ecmvats where id='".$key."'"));
$vvn=$r['name'];
$table [] = array(
'vat1' => array('width' => 10, 'value' => $mod_strings['LBL_PDF_VAT'].' ('.$vvn.')', 'background' => array(255,255,255), 'border' => 1, 'overflow' => 1, 'align' => 'L', 'font-size' => 7),
'netto_total' => array('width' => 12, 'value' => format_number($totals[$r['id']]['price']).' '.$this->currency_symbol, 'background' => array(255,255,255), 'border' => 1, 'overflow' => 1, 'align' => 'R', 'font-size' => 7),
'vat_rate' => array('width' => 5, 'value' => format_number($r['value']), 'background' => array(255,255,255), 'border' => 1, 'overflow' => 1, 'align' => 'R', 'font-size' => 7),
'vat_total' => array('width' => 13, 'value' => format_number($totals[$r['id']]['vat']).' '.$this->currency_symbol, 'background' => array(255,255,255), 'border' => 1, 'overflow' => 1, 'align' => 'R', 'font-size' => 7),
'vat2' => array('width' => 14, 'value' => format_number($totals[$r['id']]['total']).' '.$this->currency_symbol, 'border' => 1, 'overflow' => 1, 'align' => 'R', 'font-size' => 7), );
}
}
if(isset($calc['discount'])) {
$table [] = array(
'total21' => array('width' => 66, 'value' => $mod_strings['LBL_PDF_TOTAL'], 'background' => array(255,255,255), 'border' => 0, 'overflow' => 1, 'align' => 'L', 'font-size' => 7, 'font-style' => 'b'),
'total22' => array('width' => 34, 'value' => $calc['total2'].' '.$this->currency_symbol, 'border' => 0, 'overflow' => 1, 'align' => 'R' , 'font-size' => 7), );
$table [] = array(
'discount1' => array('width' => 86, 'value' => $mod_strings['LBL_PDF_DISCOUNT'].' '.$calc['discount']['procent'], 'background' => array(255,255,255), 'border' => 0, 'overflow' => 1, 'align' => 'L', 'font-size' => 7, 'font-style' => 'b'),
'discount2' => array('width' => 14, 'value' => $calc['discount']['value'].' '.$this->currency_symbol, 'border' => 0, 'overflow' => 1, 'align' => 'R' , 'font-size' => 7), );
}
$table [] = array(
'total1' => array('width' => 40, 'value' => $mod_strings['LBL_PDF_END_TOTAL'], 'border' => 1, 'overflow' => 1, 'align' => 'L', 'font-size' => 7, 'font-style' => 'b'),
'total2' => array('width' => 14, 'value' => $calc['total'], 'border' => 1, 'overflow' => 1, 'align' => 'R' , 'font-size' => 7, 'font-style' => 'b'), );
$pdf->SetX(103);
$pdf->DrawTable($table);
$pdf->Ln(1);
//$table=array();
//$pdf->DrawTable($table);
?>