204 lines
7.1 KiB
PHP
204 lines
7.1 KiB
PHP
|
|
<?php
|
||
|
|
$account=$_GET['account'];
|
||
|
|
$type=$_GET['type'];
|
||
|
|
|
||
|
|
$date_from=$_GET['date_from'];
|
||
|
|
$date_to=$_GET['date_to'];
|
||
|
|
|
||
|
|
set_include_path('include/PHPExcel/');
|
||
|
|
|
||
|
|
include 'PHPExcel.php';
|
||
|
|
include 'PHPExcel/Writer/Excel2007.php';
|
||
|
|
include 'PHPExcel/IOFactory.php';
|
||
|
|
|
||
|
|
$db = $GLOBALS['db'];
|
||
|
|
|
||
|
|
$objPHPExcel = new PHPExcel();
|
||
|
|
$objPHPExcel->getProperties()->setCreator("E5 CRM");
|
||
|
|
$objPHPExcel->getProperties()->setLastModifiedBy("E5 CRM");
|
||
|
|
$objPHPExcel->getProperties()->setTitle("Office 2007 ORDERED PRODUCTS");
|
||
|
|
$objPHPExcel->getProperties()->setSubject("Office 2007 ORDERED PRODUCTS");
|
||
|
|
$objPHPExcel->getProperties()->setDescription("ORDERED PRODUCTS");
|
||
|
|
|
||
|
|
$alf="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
||
|
|
|
||
|
|
|
||
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(20);
|
||
|
|
|
||
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(20);
|
||
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(20);
|
||
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(20);
|
||
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(20);
|
||
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(20);
|
||
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(20);
|
||
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(20);
|
||
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('I')->setWidth(20);
|
||
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('J')->setWidth(20);
|
||
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('K')->setWidth(20);
|
||
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('L')->setWidth(20);
|
||
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('M')->setWidth(20);
|
||
|
|
$objPHPExcel->getActiveSheet()->getColumnDimension('N')->setWidth(20);
|
||
|
|
|
||
|
|
|
||
|
|
$objPHPExcel->getActiveSheet()->setTitle('Simple');
|
||
|
|
$objPHPExcel->setActiveSheetIndex(0);
|
||
|
|
|
||
|
|
$objPHPExcel->getActiveSheet()->SetCellValue("A1","Invoice No");
|
||
|
|
$objPHPExcel->getActiveSheet()->SetCellValue("B1","Type");
|
||
|
|
$objPHPExcel->getActiveSheet()->SetCellValue("C1","Account");
|
||
|
|
$objPHPExcel->getActiveSheet()->SetCellValue("D1","Register Date");
|
||
|
|
$objPHPExcel->getActiveSheet()->SetCellValue("E1","Total Brutto");
|
||
|
|
$objPHPExcel->getActiveSheet()->SetCellValue("F1","Total Netto");
|
||
|
|
$objPHPExcel->getActiveSheet()->SetCellValue("G1","Cost");
|
||
|
|
$objPHPExcel->getActiveSheet()->SetCellValue("H1","PLN Margin");
|
||
|
|
$objPHPExcel->getActiveSheet()->SetCellValue("I1","PLN Margin %");
|
||
|
|
$objPHPExcel->getActiveSheet()->SetCellValue("J1","Typ");
|
||
|
|
$objPHPExcel->getActiveSheet()->SetCellValue("K1","Total VAT");
|
||
|
|
$objPHPExcel->getActiveSheet()->SetCellValue("L1","TH");
|
||
|
|
$objPHPExcel->getActiveSheet()->SetCellValue("M1","WG");
|
||
|
|
$objPHPExcel->getActiveSheet()->SetCellValue("N1","SUR");
|
||
|
|
|
||
|
|
$i=2;
|
||
|
|
|
||
|
|
$wh[]="deleted='0'";
|
||
|
|
$wh[]="canceled='0'";
|
||
|
|
if($type)$wh[]="type='".$type."'";
|
||
|
|
if($account)$wh[]="parent_id='".$account."'";
|
||
|
|
if($date_from)$wh[]="register_date>='".$date_from."'";
|
||
|
|
if($date_to)$wh[]="register_date<='".$date_to."'";
|
||
|
|
$where=implode(" and ",$wh);
|
||
|
|
|
||
|
|
$z="select id,pdf_type,purchase_price,total, subtotal,document_no,register_date,id,parent_id,parent_name,type,ecminvoiceoutold_id,currency_value from ecminvoiceoutolds where ".$where." order by type desc, register_date asc, name asc";
|
||
|
|
$w=$GLOBALS[db]->query($z);
|
||
|
|
//echo $z;echo mysql_error();
|
||
|
|
$sum_margin=0;
|
||
|
|
$sum_margin_pln=0;
|
||
|
|
$count_total=0;
|
||
|
|
while($r=$GLOBALS[db]->fetchByAssoc($w)){
|
||
|
|
if(!$r['currency_value'])$currency_value=1;
|
||
|
|
else {
|
||
|
|
$currency_value=$r['currency_value'];
|
||
|
|
//echo $currency_value;
|
||
|
|
}
|
||
|
|
$total_netto=$r['subtotal']*$currency_value;
|
||
|
|
$total_pur=$r['purchase_price'];
|
||
|
|
$total_brutto=$r['total']*$currency_value;
|
||
|
|
$total_margin=0;
|
||
|
|
|
||
|
|
if ($r['pdf_type']=='K')
|
||
|
|
$tt = 'Kraj';
|
||
|
|
elseif ($r['pdf_type']=='U')
|
||
|
|
$tt= 'Unia';
|
||
|
|
else
|
||
|
|
$tt = 'Eksport';
|
||
|
|
|
||
|
|
|
||
|
|
if($total_netto-$total_margin>0) {
|
||
|
|
$margin=100*$total_margin/($total_netto-$total_margin);
|
||
|
|
$margin_pln = $total_netto-$total_pur;
|
||
|
|
}
|
||
|
|
else {
|
||
|
|
$margin=0;
|
||
|
|
$margin_pln = 0;
|
||
|
|
}
|
||
|
|
|
||
|
|
//pozycje
|
||
|
|
$th = 0;
|
||
|
|
$wg = 0;
|
||
|
|
$sur = 0;
|
||
|
|
$pozycje = $db->query("
|
||
|
|
select sum(i.subtotal) as subtotal, p.group_ks, sum(i.quantity) as qty from ecminvoiceoutolditems as i
|
||
|
|
inner join ecmproducts as p
|
||
|
|
on p.id=i.ecmproduct_id
|
||
|
|
where i.ecminvoiceoutold_id='".$r['id']."'
|
||
|
|
group by p.group_ks;
|
||
|
|
");
|
||
|
|
while ($tmp = $db->fetchByAssoc($pozycje)) {
|
||
|
|
switch ($tmp['group_ks']) {
|
||
|
|
case '1': $th = $tmp['subtotal']; break;
|
||
|
|
case '2': $wg = $tmp['subtotal']; break;
|
||
|
|
case '3': $sur = $tmp['subtotal']; break;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
if ($r['type']='normal') {
|
||
|
|
$total_margin = (($total_netto-$total_pur)/$total_netto)*100;
|
||
|
|
$count_normal++;
|
||
|
|
$sum_margin+=$margin;
|
||
|
|
$sum_margin_pln+=$margin_pln;
|
||
|
|
}
|
||
|
|
|
||
|
|
if($r['discount']>0){
|
||
|
|
$vr=$total_brutto/$total_netto;
|
||
|
|
$total_brutto=$total_brutto-$r['discount'];
|
||
|
|
$total_netto=$total_brutto/$vr;
|
||
|
|
}
|
||
|
|
|
||
|
|
$objPHPExcel->getActiveSheet()->SetCellValue("A".$i,$r['document_no']);
|
||
|
|
$objPHPExcel->getActiveSheet()->SetCellValue("B".$i,$r['type']);
|
||
|
|
$objPHPExcel->getActiveSheet()->SetCellValue("C".$i,$r['parent_name']);
|
||
|
|
$objPHPExcel->getActiveSheet()->SetCellValue("D".$i,$r['register_date']);
|
||
|
|
$objPHPExcel->getActiveSheet()->SetCellValue("E".$i,$total_brutto);
|
||
|
|
$objPHPExcel->getActiveSheet()->SetCellValue("F".$i,$total_netto);
|
||
|
|
$objPHPExcel->getActiveSheet()->SetCellValue("G".$i,($total_pur));
|
||
|
|
$objPHPExcel->getActiveSheet()->SetCellValue("H".$i,$margin_pln);
|
||
|
|
$objPHPExcel->getActiveSheet()->SetCellValue("I".$i,$total_margin);
|
||
|
|
$objPHPExcel->getActiveSheet()->SetCellValue("J".$i,$tt);
|
||
|
|
$objPHPExcel->getActiveSheet()->SetCellValue("K".$i,$total_brutto-$total_netto);
|
||
|
|
$objPHPExcel->getActiveSheet()->SetCellValue("L".$i,$th);
|
||
|
|
$objPHPExcel->getActiveSheet()->SetCellValue("M".$i,$wg);
|
||
|
|
$objPHPExcel->getActiveSheet()->SetCellValue("N".$i,$sur);
|
||
|
|
|
||
|
|
$sum_total_netto+=$total_netto;
|
||
|
|
$sum_total_pur+=$total_pur;
|
||
|
|
$sum_total_brutto+=$total_brutto;
|
||
|
|
$sum_total_vat+=($total_brutto-$total_netto);
|
||
|
|
|
||
|
|
$i++;
|
||
|
|
}
|
||
|
|
|
||
|
|
$objPHPExcel->getActiveSheet()->SetCellValue("E".$i,$sum_total_brutto);
|
||
|
|
$objPHPExcel->getActiveSheet()->SetCellValue("F".$i,$sum_total_netto);
|
||
|
|
$objPHPExcel->getActiveSheet()->SetCellValue("G".$i,($sum_total_pur));
|
||
|
|
$objPHPExcel->getActiveSheet()->SetCellValue("H".$i,$sum_margin_pln/$count_normal);
|
||
|
|
$objPHPExcel->getActiveSheet()->SetCellValue("I".$i,$sum_margin/$count_total);
|
||
|
|
$objPHPExcel->getActiveSheet()->SetCellValue("K".$i,$sum_total_vat);
|
||
|
|
|
||
|
|
$objPHPExcel->getActiveSheet()->duplicateStyleArray(
|
||
|
|
array(
|
||
|
|
'fill' => array(
|
||
|
|
'type' => PHPExcel_Style_Fill::FILL_SOLID,
|
||
|
|
'color' => array('argb' => 'F0F0F0')
|
||
|
|
),
|
||
|
|
'borders' => array(
|
||
|
|
'bottom' => array('style' => PHPExcel_Style_Border::BORDER_THIN),
|
||
|
|
'right' => array('style' => PHPExcel_Style_Border::BORDER_MEDIUM)
|
||
|
|
)
|
||
|
|
),
|
||
|
|
"A1:J1"
|
||
|
|
);
|
||
|
|
$objPHPExcel->getActiveSheet()->duplicateStyleArray(
|
||
|
|
array(
|
||
|
|
'fill' => array(
|
||
|
|
'type' => PHPExcel_Style_Fill::FILL_SOLID,
|
||
|
|
'color' => array('argb' => 'F0F0F0')
|
||
|
|
),
|
||
|
|
'borders' => array(
|
||
|
|
'bottom' => array('style' => PHPExcel_Style_Border::BORDER_THIN),
|
||
|
|
'right' => array('style' => PHPExcel_Style_Border::BORDER_MEDIUM)
|
||
|
|
)
|
||
|
|
),
|
||
|
|
"A".($i).":J".($i)
|
||
|
|
);
|
||
|
|
|
||
|
|
|
||
|
|
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
|
||
|
|
chmod("cache/upload",0777);
|
||
|
|
$microtime=str_replace(".","",str_replace(" ","",microtime()));
|
||
|
|
$name="cache/upload/DailySales".$microtime.".xlsx";
|
||
|
|
$objWriter->save($name);
|
||
|
|
chmod($name,0777);
|
||
|
|
|
||
|
|
header("Location: ".$name);
|
||
|
|
?>
|