where=$_POST['where']; if(!$_POST['start'])$vc->limit="0,".$vc->pp; else $vc->limit=$_POST['start'].",".$vc->pp; if($_POST['order_by'])$vc->order_by=$_POST['order_by']; else $vc->order_by="purchaseorder.duedate"; if($_POST['sorder'])$vc->sorder=$_POST['sorder']; else $vc->sorder="desc"; $vc->getData(); $vc->getCount(); $data=$vc->data=$_SESSION['EcmProductReportsData']; set_include_path('include/PHPExcel/'); include 'PHPExcel.php'; include 'PHPExcel/Writer/Excel2007.php'; include 'PHPExcel/IOFactory.php'; $objPHPExcel = new PHPExcel(); $objPHPExcel->getProperties()->setCreator("E5 CRM"); $objPHPExcel->getProperties()->setLastModifiedBy("E5 CRM"); $objPHPExcel->getProperties()->setTitle("Office 2007 PRICEBOOK"); $objPHPExcel->getProperties()->setSubject("Office 2007 PRICEBOOK"); $objPHPExcel->getProperties()->setDescription("PRICEBOOK"); $objPHPExcel->getActiveSheet()->duplicateStyleArray( array( 'fill' => array( 'type' => PHPExcel_Style_Fill::FILL_SOLID, 'color' => array('argb' => 'FFCCFFCC') ), 'borders' => array( 'bottom' => array('style' => PHPExcel_Style_Border::BORDER_THIN), 'right' => array('style' => PHPExcel_Style_Border::BORDER_MEDIUM) ) ), "A1:N1" ); $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()->SetCellValue('A1','Product'); $objPHPExcel->getActiveSheet()->SetCellValue('B1','Code'); $objPHPExcel->getActiveSheet()->SetCellValue('C1','Order Id');/* $objPHPExcel->getActiveSheet()->SetCellValue('D1','Avg price last 3 m'); $objPHPExcel->getActiveSheet()->SetCellValue('E1','Avg price last 6 m'); $objPHPExcel->getActiveSheet()->SetCellValue('F1','Qty last 3 m'); $objPHPExcel->getActiveSheet()->SetCellValue('G1','Qty last 6 m');*/ $objPHPExcel->getActiveSheet()->SetCellValue('D1','Quantity'); $objPHPExcel->getActiveSheet()->SetCellValue('E1','Inventory'); //$objPHPExcel->getActiveSheet()->SetCellValue('J1','Inv value'); $objPHPExcel->getActiveSheet()->SetCellValue('F1','CBM'); //$objPHPExcel->getActiveSheet()->SetCellValue('L1','Status'); $objPHPExcel->getActiveSheet()->SetCellValue('G1','Due Date'); $objPHPExcel->getActiveSheet()->SetCellValue('H1','Delivery Time'); //$objPHPExcel->getActiveSheet()->SetCellValue('O1','List Price'); $objPHPExcel->getActiveSheet()->SetCellValue('I1','Tracking No'); $j=0; for($i=0;$igetIdByCode($data[$i]['productcode']); $duedate=$data[$i]['duedate']; $exp=explode("-",$duedate); $dtime=date("Y-m-d",@mktime(0,0,0,$exp[1],$exp[2],$exp[0])+37*24*3600); $w=mysql_query("select ecmproducts_fk_list.price as price,ecmproducts_fk_list.quantity as quantity,ecmproducts_fk_list.no as no,ecmproducts_fk_list.date as date from ecmproducts_fk_list where ecmproducts_fk_list.code like '".$data[$i]['productcode']."'"); //echo mysql_num_rows();mysql_error();die(); while($r=mysql_fetch_array($w)){ $sale+=$r['price']*$r['quantity']; $qty+=$r['quantity']; $aq[$r['no']]+=$r['quantity']; $date=date("Y-m"); $m=(int)date("m"); $date1=date("Y-m",mktime(0,0,0,($m-1),1,date("Y"))); $date2=date("Y-m",mktime(0,0,0,($m-2),1,date("Y"))); $date3=date("Y-m",mktime(0,0,0,($m-3),1,date("Y"))); $date4=date("Y-m",mktime(0,0,0,($m-4),1,date("Y"))); $date5=date("Y-m",mktime(0,0,0,($m-5),1,date("Y"))); $date6=date("Y-m",mktime(0,0,0,($m-6),1,date("Y"))); $d=explode("-",$r['date']); $dd=$d[0]."-".$d[1]; if($dd==$date || $dd==$date1){ $sale30+=$r['price']*$r['quantity']; $qty30+=$r['quantity']; $aq30[$r['no']]+=$r['quantity']; } if($dd==$date || $dd==$date1 || $dd==$date2 || $dd==$date3){ $sale90+=$r['price']*$r['quantity']; $qty90+=$r['quantity']; $aq390[$r['no']]+=$r['quantity']; } if($dd==$date || $dd==$date1 || $dd==$date2 || $dd==$date3 || $dd==$date4 || $dd==$date5 || $dd==$date6){ $sale180+=$r['price']*$r['quantity']; $qty180+=$r['quantity']; $aq180[$r['no']]+=$r['quantity']; } } $objPHPExcel->getActiveSheet()->SetCellValue('A'.($j+2),$data[$i]['productname']); $objPHPExcel->getActiveSheet()->SetCellValue('B'.($j+2),$data[$i]['productcode']); $objPHPExcel->getActiveSheet()->SetCellValue('C'.($j+2),$data[$i]['purchaseorderid']); if($qty90>0){ $saleqtysum90+=($sale90/$qty90); $v=number_format(($sale90/$qty90),2,",","."); } //$objPHPExcel->getActiveSheet()->SetCellValue('D'.($j+2),$v); if($qty180>0){ $saleqtysum180+=($sale180/$qty180); $v=number_format(($sale180/$qty180),2,",","."); } //$objPHPExcel->getActiveSheet()->SetCellValue('E'.($j+2),$v); //$objPHPExcel->getActiveSheet()->SetCellValue('F'.($j+2),number_format(($qty90/3),2,",",".")); $qtysum90+=($qty90/3); //$objPHPExcel->getActiveSheet()->SetCellValue('G'.($j+2),number_format(($qty180/6),2,",",".")); $qtysum180+=($qty180/6); $objPHPExcel->getActiveSheet()->SetCellValue('D'.($j+2),number_format($data[$i]['quantity'],0,"","")); $qtyo+=$data[$i]['quantity']; $rrrr=mysql_fetch_array(mysql_query("select ems_qty_in_stock,ems_price,carton_volume_meter,pieces_per_carton from ecmproducts where code='".$data[$i]['productcode']."'")); $objPHPExcel->getActiveSheet()->SetCellValue('E'.($j+2),number_format($rrrr['ems_qty_in_stock'],0,"","")); $emsqtyinstock+=$rrrr['ems_qty_in_stock']; //$objPHPExcel->getActiveSheet()->SetCellValue('J'.($j+2),number_format(($rrrr['ems_price']*$rrrr['ems_qty_in_stock']),2,",",".")); $emsqtyinstockinv+=($rrrr['ems_price']*$rrrr['ems_qty_in_stock']); if($rrrr['pieces_per_carton']>0)$cbmv=number_format((($rrrr['ems_qty_in_stock']*$rrrr['carton_volume_meter'])/$rrrr['pieces_per_carton']),2,",","."); else $cbmv="0,00"; $objPHPExcel->getActiveSheet()->SetCellValue('F'.($j+2),$cbmv); if($rrrr['pieces_per_carton']>0)$cbm+=(($rrrr['ems_qty_in_stock']*$rrrr['carton_volume_meter'])/$rrrr['pieces_per_carton']); //$objPHPExcel->getActiveSheet()->SetCellValue('L'.($j+2),$data[$i]['postatus']); $objPHPExcel->getActiveSheet()->SetCellValue('G'.($j+2),$vc->timeDate($duedate)); $objPHPExcel->getActiveSheet()->SetCellValue('H'.($j+2),$vc->timeDate($dtime)); //$objPHPExcel->getActiveSheet()->SetCellValue('O'.($j+2),$vc->formatNumber($data[$i]['listprice'])); $objPHPExcel->getActiveSheet()->SetCellValue('I'.($j+2),$data[$i]['tracking_no']); $listprice+=$data[$i]['listprice']; $j++; } $objPHPExcel->getActiveSheet()->duplicateStyleArray( array( 'fill' => array( 'type' => PHPExcel_Style_Fill::FILL_SOLID, 'color' => array('argb' => 'E6E6E6') ), ), "A".($j+2).":N".($j+2) ); $cnt=count($data); //$objPHPExcel->getActiveSheet()->SetCellValue('D'.($j+2),number_format($saleqtysum90/$cnt,2,",",".")); //$objPHPExcel->getActiveSheet()->SetCellValue('E'.($j+2),number_format($saleqtysum180/$cnt,2,",",".")); //$objPHPExcel->getActiveSheet()->SetCellValue('F'.($j+2),number_format($qtysum90/$cnt,2,",",".")); //$objPHPExcel->getActiveSheet()->SetCellValue('G'.($j+2),number_format($qtysum180/$cnt,2,",",".")); $objPHPExcel->getActiveSheet()->SetCellValue('D'.($j+2),number_format($qtyo,0,"","")); $objPHPExcel->getActiveSheet()->SetCellValue('E'.($j+2),number_format($emsqtyinstock,0,"","")); //$objPHPExcel->getActiveSheet()->SetCellValue('J'.($j+2),number_format($emsqtyinstockinv,2,",",".")); //$objPHPExcel->getActiveSheet()->SetCellValue('F'.($j+2),number_format($cbm,2,",",".")); //$objPHPExcel->getActiveSheet()->SetCellValue('N'.($j+2),number_format($listprice/$cnt,2,",",".")); $objPHPExcel->getActiveSheet()->setTitle('Simple'); $objPHPExcel->setActiveSheetIndex(0); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); chmod("cache/upload",0777); $microtime=str_replace(".","",str_replace(" ","",microtime())); $name="cache/upload/ProductReport".$microtime.".xlsx"; $objWriter->save($name); chmod($name,0777); header("Location: ".$name); ?>