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 ();
?>