File "utilidades_excel.php"

Full path: /home/wwwitravel/public_html/sistema/vistas/utilidades_excel.php
File size: 0.01 KB (15.02 KB bytes)
MIME-type: text/x-php
Charset: utf-8

Download   Open   Edit   Advanced Editor   Back

<?php
require_once "../clases/config.php";
require_once '../clases/PHPExcel.php';
 
$conexion= mysqli_connect(HOST,USER,PASS, DBNAME) or die ("could not connect to mysql"); 
$conexion->set_charset("utf8");

$vendedor='';
$fini='';
$fterm='';

if(isset($_GET['fini_excel'])){$fini=$_GET['fini_excel'];}
if(isset($_GET['fter_excel'])){$fterm=$_GET['fter_excel'];}
if(isset($_GET['vende_excel'])){$vendedor=$_GET['vende_excel'];}

$buscar ="";
if($vendedor!=""){
	$buscar = $buscar."f.id=".$vendedor." AND ";//OK
}

if($fini!='' && $fterm!=''){
	$buscar = $buscar."a.f_ingreso_neg BETWEEN DATE('".$fini."') AND DATE('".$fterm."') AND ";//OK
}

if($fini!='' && $fterm==''){
		
	$buscar = $buscar."a.f_ingreso_neg>=DATE('".$fini."') AND ";
}

if($fini=='' && $fterm!=''){
	$buscar = $buscar."a.f_termino<=DATE('".$fterm."') AND ";
}

$sql="SELECT CONCAT(YEAR(a.f_ingreso_neg),'-',MONTH(a.f_ingreso_neg)) as mesano,a.id,CONCAT(f.nombre,' ',f.apepat) as vendedor,CONCAT(b.nombre,' ',b.apepat,' ',b.rut) as cliente,a.destino,a.tipo_cuenta,a.tipo_cliente,a.f_ingreso_neg,if(a.tipo_cambio='DOLAR',a.precio*a.valor_tipo_cambio,a.precio) as precio_viaje,e.valor_servicios,c.pago_servicios,d.pago_cliente,g.pago_cliente_contrans,h.cargo_transbank FROM negocios as a LEFT JOIN usuarios as f ON a.id_us_crea=f.id LEFT JOIN clientes as b ON a.id_cliente=b.id LEFT JOIN (SELECT aa.id_servicio,bb.id_negocio as id_negocio ,SUM(if(aa.tipo_moneda='DOLAR',aa.monto*bb.valor_tipo_cambio,aa.monto)) as pago_servicios FROM pagos_serv as aa RIGHT JOIN servicios_negocios as bb ON aa.id_servicio=bb.id GROUP BY bb.id_negocio) as c ON c.id_negocio = a.id LEFT JOIN (SELECT aa.id_negocio,SUM(if(aa.tipo_moneda='DOLAR',aa.monto*bb.valor_tipo_cambio,aa.monto)) as pago_cliente FROM pagos_negocio_cli as aa LEFT JOIN negocios as bb ON aa.id_negocio=bb.id GROUP BY aa.id_negocio) as d ON d.id_negocio = a.id LEFT JOIN (SELECT id_negocio,SUM(if(tipo_cambio='DOLAR',valor*valor_tipo_cambio,valor)) as valor_servicios FROM servicios_negocios GROUP BY id_negocio) as e ON e.id_negocio = a.id LEFT JOIN (SELECT aa.id_negocio,SUM(if(aa.n_cuotas='' OR  aa.n_cuotas IS NOT NULL, if(aa.tipo_moneda='DOLAR',(aa.total_cuota*aa.n_cuotas)*bb.valor_tipo_cambio,aa.total_cuota*aa.n_cuotas),if(aa.tipo_moneda='DOLAR',aa.monto*bb.valor_tipo_cambio,aa.monto))) as pago_cliente_contrans FROM pagos_negocio_cli as aa LEFT JOIN negocios as bb ON aa.id_negocio=bb.id GROUP BY aa.id_negocio) as g ON g.id_negocio = a.id LEFT JOIN (SELECT aa.id_negocio,SUM(if(aa.n_cuotas='' OR  aa.n_cuotas IS NOT NULL,if(aa.tipo_moneda='DOLAR',aa.cargo_transbank*bb.valor_tipo_cambio,aa.cargo_transbank),'')) as cargo_transbank FROM pagos_negocio_cli as aa LEFT JOIN negocios as bb ON aa.id_negocio=bb.id GROUP BY aa.id_negocio)  as h ON h.id_negocio = a.id WHERE ".$buscar." a.id IS NOT NULL GROUP BY a.id ORDER BY a.id DESC;";
//$sql="SELECT CONCAT(YEAR(a.f_ingreso_neg),'-',MONTH(a.f_ingreso_neg)) as mesano,a.id,CONCAT(f.nombre,' ',f.apepat) as vendedor,CONCAT(b.nombre,' ',b.apepat,' ',b.rut) as cliente,a.destino,a.tipo_cuenta,a.tipo_cliente,a.f_ingreso_neg,if(a.tipo_cambio='DOLAR',a.precio*a.valor_tipo_cambio,a.precio) as precio_viaje,e.valor_servicios,c.pago_servicios,d.pago_cliente FROM negocios as a LEFT JOIN usuarios as f ON a.id_us_crea=f.id LEFT JOIN clientes as b ON a.id_cliente=b.id LEFT JOIN (SELECT aa.id_servicio,bb.id_negocio as id_negocio ,SUM(if(aa.tipo_moneda='DOLAR',aa.monto*bb.valor_tipo_cambio,aa.monto)) as pago_servicios FROM pagos_serv as aa LEFT JOIN servicios_negocios as bb ON aa.id_servicio=bb.id GROUP BY aa.id_servicio) as c ON c.id_negocio = a.id LEFT JOIN (SELECT aa.id_negocio,SUM(if(aa.tipo_moneda='DOLAR',aa.monto*bb.valor_tipo_cambio,aa.monto)) as pago_cliente FROM pagos_negocio_cli as aa LEFT JOIN negocios as bb ON aa.id_negocio=bb.id GROUP BY aa.id_negocio) as d ON d.id_negocio = a.id LEFT JOIN (SELECT id_negocio,SUM(if(tipo_cambio='DOLAR',valor*valor_tipo_cambio,valor)) as valor_servicios FROM servicios_negocios GROUP BY id_negocio) as e ON e.id_negocio = a.id WHERE ".$buscar." a.id IS NOT NULL GROUP BY a.id ORDER BY a.id DESC;";

//$sql = "SELECT a.f_inicio,a.f_termino,CONCAT(YEAR(a.f_crea),'-',MONTH(a.f_crea)) as mesano,a.id,f.id,f.nombre,f.apepat,b.nombre,b.apepat,b.rut,a.destino,a.tipo_cuenta,a.tipo_cliente,a.f_crea,if(a.tipo_cambio='DOLAR',a.precio*a.valor_tipo_cambio,a.precio) as precio_viaje,e.valor_servicios,c.pago_servicios,d.pago_cliente FROM negocios as a LEFT JOIN usuarios as f ON a.id_us_crea=f.id LEFT JOIN clientes as b ON a.id_cliente=b.id LEFT JOIN (SELECT aa.id_servicio,bb.id_negocio as id_negocio ,SUM(if(aa.tipo_moneda='DOLAR',aa.monto*bb.valor_tipo_cambio,aa.monto)) as pago_servicios FROM pagos_serv as aa LEFT JOIN servicios_negocios as bb ON aa.id_servicio=bb.id GROUP BY bb.id_negocio) as c ON c.id_negocio = a.id LEFT JOIN (SELECT aa.id_negocio,SUM(if(aa.tipo_moneda='DOLAR',aa.monto*bb.valor_tipo_cambio,aa.monto)) as pago_cliente FROM pagos_negocio_cli as aa LEFT JOIN negocios as bb ON aa.id_negocio=bb.id GROUP BY aa.id_negocio) as d ON d.id_negocio = a.id LEFT JOIN (SELECT id_negocio,SUM(if(tipo_cambio='DOLAR',valor*valor_tipo_cambio,valor)) as valor_servicios FROM servicios_negocios GROUP BY id_negocio) as e ON e.id_negocio = a.id WHERE ".$buscar." a.id IS NOT NULL GROUP BY a.id ORDER BY a.id DESC;";


$resultado=mysqli_query($conexion, $sql) or die(mysql_error());   
$registros = mysqli_num_rows ($resultado);
$fecha=date('d-m-Y'); 
 
 if ($registros > 0) {
   $objPHPExcel = new PHPExcel();
   
   //Informacion del excel
   $objPHPExcel->
    getProperties()
        ->setCreator("I-travel Administrador")
        ->setLastModifiedBy("I-travel Administrador")
        ->setTitle("UTILIDADES")
        ->setSubject("Hoja 1")
        ->setDescription("Documento generado con PHPExcel")
        ->setKeywords("phpexcel")
        ->setCategory("utilidades");    

   $i = 1;    	
		$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A'.$i, 'ID');
		$objPHPExcel->setActiveSheetIndex(0)->setCellValue('B'.$i, 'FECHA');
		$objPHPExcel->setActiveSheetIndex(0)->setCellValue('C'.$i, 'VENDEDOR');
		$objPHPExcel->setActiveSheetIndex(0)->setCellValue('D'.$i, 'CLIENTE');
		$objPHPExcel->setActiveSheetIndex(0)->setCellValue('E'.$i, 'DESTINO');
		$objPHPExcel->setActiveSheetIndex(0)->setCellValue('F'.$i, 'TIPO CUENTA');
		$objPHPExcel->setActiveSheetIndex(0)->setCellValue('G'.$i, 'TIPO_CLIENTE');
		$objPHPExcel->setActiveSheetIndex(0)->setCellValue('H'.$i, 'PRECIO');
		$objPHPExcel->setActiveSheetIndex(0)->setCellValue('I'.$i, 'TOTAL SERVICIOS');
		$objPHPExcel->setActiveSheetIndex(0)->setCellValue('J'.$i, 'TOTAL PAGO SERVICIOS');
		$objPHPExcel->setActiveSheetIndex(0)->setCellValue('K'.$i, 'TOTAL PAGO CLIENTE');
		$objPHPExcel->setActiveSheetIndex(0)->setCellValue('L'.$i, 'CARGO TRANSBANK');
		$objPHPExcel->setActiveSheetIndex(0)->setCellValue('M'.$i, 'UTILIDAD SISTEMA');
		$objPHPExcel->setActiveSheetIndex(0)->setCellValue('N'.$i, 'UTILIDAD CON CARGO TRANS.');
		
   $i++;
   
   while ($registro = mysqli_fetch_object ($resultado)) {
      //$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A'.$i, $registro->nombre);
		$utilidad=$registro->precio_viaje-$registro->valor_servicios;
		$utilidadcontrans=($registro->precio_viaje-$registro->valor_servicios)-$registro->cargo_transbank;

	  
		$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A'.$i, strtoupper($registro->id));
		$objPHPExcel->setActiveSheetIndex(0)->setCellValue('B'.$i, strtoupper($registro->f_ingreso_neg));
		$objPHPExcel->setActiveSheetIndex(0)->setCellValue('C'.$i, strtoupper($registro->vendedor));
		$objPHPExcel->setActiveSheetIndex(0)->setCellValue('D'.$i, strtoupper($registro->cliente));
		$objPHPExcel->setActiveSheetIndex(0)->setCellValue('E'.$i, strtoupper($registro->destino));
		$objPHPExcel->setActiveSheetIndex(0)->setCellValue('F'.$i, strtoupper($registro->tipo_cuenta));
		$objPHPExcel->setActiveSheetIndex(0)->setCellValue('G'.$i, strtoupper($registro->tipo_cliente));
		$objPHPExcel->setActiveSheetIndex(0)->setCellValue('H'.$i, strtoupper($registro->precio_viaje));
		$objPHPExcel->setActiveSheetIndex(0)->setCellValue('I'.$i, strtoupper($registro->valor_servicios));
		$objPHPExcel->setActiveSheetIndex(0)->setCellValue('J'.$i, strtoupper($registro->pago_servicios));
		$objPHPExcel->setActiveSheetIndex(0)->setCellValue('K'.$i, strtoupper($registro->pago_cliente));
		$objPHPExcel->setActiveSheetIndex(0)->setCellValue('L'.$i, strtoupper($registro->cargo_transbank));
		$objPHPExcel->setActiveSheetIndex(0)->setCellValue('M'.$i, strtoupper($utilidad));
		$objPHPExcel->setActiveSheetIndex(0)->setCellValue('N'.$i, strtoupper($utilidadcontrans));
      $i++;
      
   }
}

foreach(range('A','N') as $columnID) { 
	$objPHPExcel->getActiveSheet()->getColumnDimension($columnID) ->setAutoSize(true);
};

$objPHPExcel->getActiveSheet()->setTitle('DETALLE');




		$sql = "";	
		$sql=$sql." SELECT";
		$sql=$sql." CONCAT(YEAR(a.f_ingreso_neg),'-',LPAD(MONTH(a.f_ingreso_neg), 2, '0')) as mesano,";
		$sql=$sql." SUM(if(a.tipo_cambio='DOLAR',a.precio*a.valor_tipo_cambio,a.precio)) as precio_viaje,";
		$sql=$sql." SUM(e.valor_servicios) as valor_servicios,";
		$sql=$sql." SUM(c.pago_servicios) as pago_servicio,";
		$sql=$sql." SUM(d.pago_cliente) as pago_cliente,";
		$sql=$sql." SUM(g.pago_cliente_contrans) as pago_cliente_con_trans,";
		$sql=$sql." SUM(h.cargo_transbank) as cargo_trans";
		$sql=$sql." FROM negocios as a";
		$sql=$sql." LEFT JOIN usuarios as f ON a.id_us_crea=f.id";
		$sql=$sql." LEFT JOIN clientes as b ON a.id_cliente=b.id";
		$sql=$sql." LEFT JOIN (SELECT aa.id_servicio,bb.id_negocio as id_negocio ,SUM(if(aa.tipo_moneda='DOLAR',aa.monto*bb.valor_tipo_cambio,aa.monto)) as pago_servicios FROM pagos_serv as aa";
		$sql=$sql." LEFT JOIN servicios_negocios as bb ON aa.id_servicio=bb.id WHERE bb.id_negocio is not null GROUP BY bb.id_negocio) as c ON c.id_negocio = a.id";
		$sql=$sql." LEFT JOIN (SELECT aa.id_negocio,SUM(if(aa.tipo_moneda='DOLAR',aa.monto*bb.valor_tipo_cambio,aa.monto)) as pago_cliente";
		$sql=$sql." FROM pagos_negocio_cli as aa LEFT JOIN negocios as bb ON aa.id_negocio=bb.id GROUP BY aa.id_negocio) as d ON d.id_negocio = a.id";
		$sql=$sql." LEFT JOIN (SELECT id_negocio,SUM(if(tipo_cambio='DOLAR',valor*valor_tipo_cambio,valor)) as valor_servicios";
		$sql=$sql." FROM servicios_negocios GROUP BY id_negocio) as e ON e.id_negocio = a.id";
		$sql=$sql." LEFT JOIN (SELECT aa.id_negocio,SUM(if(aa.n_cuotas='' OR aa.n_cuotas IS NOT NULL, if(aa.tipo_moneda='DOLAR',(aa.total_cuota*aa.n_cuotas)*bb.valor_tipo_cambio,aa.total_cuota*aa.n_cuotas),if(aa.tipo_moneda='DOLAR',aa.monto*bb.valor_tipo_cambio,aa.monto))) as pago_cliente_contrans FROM pagos_negocio_cli as aa LEFT JOIN negocios as bb ON aa.id_negocio=bb.id GROUP BY aa.id_negocio) as g ON g.id_negocio = a.id";
		$sql=$sql." LEFT JOIN (SELECT aa.id_negocio,SUM(if(aa.n_cuotas='' OR aa.n_cuotas IS NOT NULL,if(aa.tipo_moneda='DOLAR',aa.cargo_transbank*bb.valor_tipo_cambio,aa.cargo_transbank),'')) as cargo_transbank FROM pagos_negocio_cli as aa LEFT JOIN negocios as bb ON aa.id_negocio=bb.id GROUP BY aa.id_negocio) as h ON h.id_negocio = a.id";
		$sql=$sql." WHERE ".$buscar." a.id IS NOT NULL";
		$sql=$sql." GROUP BY YEAR(a.f_ingreso_neg),MONTH(a.f_ingreso_neg)";
		$sql=$sql." ORDER BY a.f_ingreso_neg DESC;";		


//$sql = "SELECT a.f_inicio,a.f_termino,CONCAT(YEAR(a.f_crea),'-',MONTH(a.f_crea)) as mesano,a.id,f.id,f.nombre,f.apepat,b.nombre,b.apepat,b.rut,a.destino,a.tipo_cuenta,a.tipo_cliente,a.f_crea,if(a.tipo_cambio='DOLAR',a.precio*a.valor_tipo_cambio,a.precio) as precio_viaje,e.valor_servicios,c.pago_servicios,d.pago_cliente FROM negocios as a LEFT JOIN usuarios as f ON a.id_us_crea=f.id LEFT JOIN clientes as b ON a.id_cliente=b.id LEFT JOIN (SELECT aa.id_servicio,bb.id_negocio as id_negocio ,SUM(if(aa.tipo_moneda='DOLAR',aa.monto*bb.valor_tipo_cambio,aa.monto)) as pago_servicios FROM pagos_serv as aa LEFT JOIN servicios_negocios as bb ON aa.id_servicio=bb.id GROUP BY bb.id_negocio) as c ON c.id_negocio = a.id LEFT JOIN (SELECT aa.id_negocio,SUM(if(aa.tipo_moneda='DOLAR',aa.monto*bb.valor_tipo_cambio,aa.monto)) as pago_cliente FROM pagos_negocio_cli as aa LEFT JOIN negocios as bb ON aa.id_negocio=bb.id GROUP BY aa.id_negocio) as d ON d.id_negocio = a.id LEFT JOIN (SELECT id_negocio,SUM(if(tipo_cambio='DOLAR',valor*valor_tipo_cambio,valor)) as valor_servicios FROM servicios_negocios GROUP BY id_negocio) as e ON e.id_negocio = a.id WHERE ".$buscar." a.id IS NOT NULL GROUP BY a.id ORDER BY a.id DESC;";


$resultado=mysqli_query($conexion, $sql) or die(mysql_error());   
$registros = mysqli_num_rows ($resultado);
$fecha=date('d-m-Y'); 
 $objPHPExcel->createSheet(1);
 if ($registros > 0) {
   
   //Informacion del excel
   $objPHPExcel->
    getProperties()
        ->setCreator("I-travel Administrador")
        ->setLastModifiedBy("I-travel Administrador")
        ->setTitle("UTILIDADES")
        ->setSubject("Hoja 2")
        ->setDescription("Documento generado con PHPExcel")
        ->setKeywords("phpexcel")
        ->setCategory("utilidades");    

   $i = 1;    	
		$objPHPExcel->setActiveSheetIndex(1)->setCellValue('A'.$i, 'Fecha');
		$objPHPExcel->setActiveSheetIndex(1)->setCellValue('B'.$i, 'PAGOS CLIENTES');
		$objPHPExcel->setActiveSheetIndex(1)->setCellValue('C'.$i, 'VALOR SERVICIOS');
		$objPHPExcel->setActiveSheetIndex(1)->setCellValue('D'.$i, 'SERVICIOS PAGADOS');
		$objPHPExcel->setActiveSheetIndex(1)->setCellValue('E'.$i, 'UTILIDADES SISTEMA');
		$objPHPExcel->setActiveSheetIndex(1)->setCellValue('F'.$i, 'CARGO TRANSBANK');
		$objPHPExcel->setActiveSheetIndex(1)->setCellValue('G'.$i, 'UTILIDADES CON CARGO TRANSBANK');
   $i++;
   
   
   
   while ($registro = mysqli_fetch_object ($resultado)) {
	   $total_utilidades=$registro->precio_viaje-$registro->valor_servicios-$registro->cargo_trans;
	   $util=$registro->precio_viaje-$registro->valor_servicios;
	   
		$objPHPExcel->setActiveSheetIndex(1)->setCellValue('A'.$i, strtoupper($registro->mesano));
		$objPHPExcel->setActiveSheetIndex(1)->setCellValue('B'.$i, strtoupper($registro->pago_cliente));
		$objPHPExcel->setActiveSheetIndex(1)->setCellValue('C'.$i, strtoupper($registro->valor_servicios));
		$objPHPExcel->setActiveSheetIndex(1)->setCellValue('D'.$i, strtoupper($registro->pago_servicio));
		$objPHPExcel->setActiveSheetIndex(1)->setCellValue('E'.$i, strtoupper($util));
		$objPHPExcel->setActiveSheetIndex(1)->setCellValue('F'.$i, strtoupper($registro->cargo_trans));
		$objPHPExcel->setActiveSheetIndex(1)->setCellValue('G'.$i, strtoupper($total_utilidades));
      $i++;
      
   }
}

foreach(range('A','G') as $columnID) { 
	$objPHPExcel->getActiveSheet()->getColumnDimension($columnID) ->setAutoSize(true);
};


$objPHPExcel->getActiveSheet()->setTitle('POR RANGO FECHA');
$objPHPExcel->setActiveSheetIndex(0);

header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="utilidades'.$fecha.'.xlsx"');
header('Cache-Control: max-age=0');

$objWriter=PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel2007');
$objWriter->save('php://output');
exit;
mysqli_close ();
?>