<?php
session_start();
require_once('../../conexion.php');
require_once('../../include/sesiones.php');
// Declaramos la librería
require  ('vendor/autoload.php');

$desde=$_GET['desde'];
$hasta=$_GET['hasta'];


use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;

$spread = new Spreadsheet();

$sheet = $spread->getActiveSheet();
$sheet->getStyle('A:Z')->getAlignment()->setHorizontal('center');/* centar contenido de celdas */
$sheet->mergeCells('A1:E1')->mergeCells('A2:E2');/*combinas celdas*/

function cellColor($cells,$color)/* FUNSION PARA COLORES DE CELDA*/
{
    global $sheet;

    $sheet->getStyle($cells)->getFill()
    ->setFillType(\PhpOffice\PhpSpreadsheet\Style\Fill::FILL_SOLID)
    ->getStartColor()
    ->setARGB($color);
}

cellColor('A2:E2', 'BDBDBD'); 
cellColor('A1:E1', 'BDBDBD'); 
cellColor('A3:E3', 'FF4D00'); 

        $sheet->setCellValue('A1', 'REPORTE DE CAJA MOVIMIENTOS MEDIO DE PAGO ')
                    ->setCellValue('A2', 'DESDE '.$desde.' HASTA '.$hasta)
                    ->setCellValue('A3', 'FECHA')
                    ->setCellValue('B3', 'MOVIMIENTO')
                    ->setCellValue('C3', 'DETALLE')
                    ->setCellValue('D3', 'USUARIO')
                    ->setCellValue('E3', 'VALOR');

                    //Ancho de las columnas
        $sheet->getColumnDimension('A')->setWidth(20);   
        $sheet->getColumnDimension('B')->setWidth(20);  
        $sheet->getColumnDimension('C')->setWidth(30); 
        $sheet->getColumnDimension('D')->setWidth(20); 
        $sheet->getColumnDimension('E')->setWidth(20);
 
      

$hasta1 = strtotime($hasta."+ 1 days");
date("Y-m-d",$hasta1) . "\n";
$hastaf=date("Y-m-d",$hasta1) . "\n";

$medio_pago=$_GET['medio_pago'];

$cel=4;//Numero de fila donde empezara a crear  el reporte

if ($medio_pago<>'0') 
{
 


        $sumador_cxc=0; 
    $query=mysqli_query($con, "SELECT * FROM ventas v, venta_abonos va
            where v.ven_id=va.ventas_ven_id and ven_estado<>'anulada' and va.medio_pago='$medio_pago' AND va.veab_fecha BETWEEN '$desde' AND '$hastaf' and va.empresa='$empresa' order by va.veab_fecha ASC");
    while ($reg=mysqli_fetch_array($query))    
    {
        $ventas_ven_id=$reg['ventas_ven_id'];
        $veab_fecha=$reg['veab_fecha'];
        $veab_abono=$reg['veab_abono'];
        $sumador_cxc+=$veab_abono;
        $usuario=$reg['usuario']; 
        $datos1=mysqli_query($con,"SELECT *, LEFT(usu_nombre,18) as usu_nombre FROM usuario WHERE usu_id='$usuario'");
        $fila1=mysqli_fetch_array( $datos1 );
        $usu_nombre=$fila1['usu_nombre'];


        $ven=mysqli_query($con,"SELECT * FROM ventas WHERE ven_id='$ventas_ven_id'");
        $ven=mysqli_fetch_array( $ven );
        $ven_prefijo=$ven['ven_prefijo'];
        $ven_n_venta=$ven['ven_n_venta'];
            
                $a="A".$cel;
                $b="B".$cel;
                $c="C".$cel;
                $d="D".$cel;
                $e="E".$cel;
                
                 $sheet->setCellValue($a, $veab_fecha)
                ->setCellValue($b, 'Factura de Venta')
                ->setCellValue($c, 'Pago a la factura # '.$ven_prefijo. $ven_n_venta)
                ->setCellValue($d, $usu_nombre)
                ->setCellValue($e, number_format($veab_abono,0));

              
            $cel+=1;
        }

        $sumador_apartado=0; 
        $query=mysqli_query($con, "SELECT * FROM venta_apartada_abonos
            where medio_pago='$medio_pago' AND veaa_fecha BETWEEN '$desde' AND '$hastaf' and empresa='$empresa' order by veaa_fecha ASC");
        while ($reg=mysqli_fetch_array($query))    
        {
            $ventas_apartadas_vena_id=$reg['ventas_apartadas_vena_id'];
            $veaa_fecha=$reg['veaa_fecha'];
            $veaa_abono=$reg['veaa_abono'];
            $sumador_apartado+=$veaa_abono; 
            $usuario=$reg['usuario']; 
            $datos1=mysqli_query($con,"SELECT *, LEFT(usu_nombre,18) as usu_nombre FROM usuario WHERE usu_id='$usuario'");
            $fila1=mysqli_fetch_array( $datos1 );
            $usu_nombre=$fila1['usu_nombre'];

            $ven=mysqli_query($con,"SELECT * FROM ventas_apartadas WHERE vena_id='$ventas_apartadas_vena_id'");
            $ven=mysqli_fetch_array( $ven );
            $vena_n_venta=$ven['vena_n_venta'];


                $a="A".$cel;
                $b="B".$cel;
                $c="C".$cel;
                $d="D".$cel;
                $e="E".$cel;
                
                 $sheet->setCellValue($a, $veaa_fecha)
                ->setCellValue($b, 'Abono Apartado')
                ->setCellValue($c, 'Pago al Apartado # '.$vena_n_venta)
                ->setCellValue($d, $usu_nombre)
                ->setCellValue($e, number_format($veaa_abono,0));

              
            $cel+=1;

         
        }

        $sumador_orden=0; 
        $query=mysqli_query($con, "SELECT * FROM orden_abonos
            where medio_pago='$medio_pago' AND ord_fecha BETWEEN '$desde' AND '$hastaf' and empresa='$empresa' order by ord_fecha ASC");
        while ($reg=mysqli_fetch_array($query))    
        {
            $orden_servicios_ord_id=$reg['orden_servicios_ord_id'];
            $ord_fecha=$reg['ord_fecha'];
            $ord_abono=$reg['ord_abono'];
            $sumador_orden+=$ord_abono; 
            $usuario=$reg['usuario']; 
            $datos1=mysqli_query($con,"SELECT *, LEFT(usu_nombre,18) as usu_nombre FROM usuario WHERE usu_id='$usuario'");
            $fila1=mysqli_fetch_array( $datos1 );
            $usu_nombre=$fila1['usu_nombre'];

            $ven=mysqli_query($con,"SELECT * FROM orden_servicios WHERE ord_id='$orden_servicios_ord_id'");
            $ven=mysqli_fetch_array( $ven );
            $ord_numero=$ven['ord_numero'];

                $a="A".$cel;
                $b="B".$cel;
                $c="C".$cel;
                $d="D".$cel;
                $e="E".$cel;
                
                 $sheet->setCellValue($a, $ord_fecha)
                ->setCellValue($b, 'Orden de Servicio')
                ->setCellValue($c, 'Pago de la orden # '.$ord_numero)
                ->setCellValue($d, $usu_nombre)
                ->setCellValue($e, number_format($ord_abono,0));

                  $cel+=1;
        }

        $sumador_adelanto=0; 
        $query=mysqli_query($con, "SELECT * FROM abono_adelantado
            where abo_medio_pago='$medio_pago' AND abo_fecha BETWEEN '$desde' AND '$hastaf' and empresa='$empresa' order by abo_fecha ASC");
        while ($reg=mysqli_fetch_array($query))    
        {
            $abo_fecha=$reg['abo_fecha'];
            $abo_valor=$reg['abo_valor'];
            $abo_concepto=$reg['abo_concepto'];
            $sumador_adelanto+=$abo_valor; 


                $a="A".$cel;
                $b="B".$cel;
                $c="C".$cel;
                $d="D".$cel;
                $e="E".$cel;
                
                 $sheet->setCellValue($a, $abo_fecha)
                ->setCellValue($b, 'Abono Adelantado')
                ->setCellValue($c, $abo_concepto)
                ->setCellValue($d, '')
                ->setCellValue($e, number_format($abo_valor,0));
           
             $cel+=1;
        }   

        $sumador_total=$sumador_cxc+$sumador_apartado+$sumador_orden+$sumador_adelanto;

        $d="D".$cel;
        $e="E".$cel;

        // Agregar datos
        $sheet->mergeCells("A".($cel).":C".($cel))
        ->setCellValue($d, 'TOTAL')
        ->setCellValue($e,  number_format($sumador_total,0));

        cellColor('A'.$cel.':E'.$cel, 'BDBDBD');
        $cel+=1;
         // Agregar datos
    $sheet->mergeCells("A".($cel).":E".($cel));
   
    cellColor('A'.$cel.':E'.$cel, 'FFFFFF');
     $cel+=1;


        $sumador_egreso=0; 
        $query=mysqli_query($con, "SELECT * FROM egresos
                where banco='$medio_pago' AND fecha BETWEEN '$desde' AND '$hastaf' and empresa='$empresa' order by fecha ASC");
        while ($reg=mysqli_fetch_array($query))    
        {
            $fecha=$reg['fecha'];
            $total=$reg['total'];
            $concepto=$reg['concepto'];
            $sumador_egreso+=$total; 
            $usuario=$reg['usuario']; 
            $datos1=mysqli_query($con,"SELECT *, LEFT(usu_nombre,18) as usu_nombre FROM usuario WHERE usu_id='$usuario'");
            $fila1=mysqli_fetch_array( $datos1 );
            $usu_nombre=$fila1['usu_nombre'];

                $a="A".$cel;
                $b="B".$cel;
                $c="C".$cel;
                $d="D".$cel;
                $e="E".$cel;
                
                 $sheet->setCellValue($a, $fecha)
                ->setCellValue($b, 'Egreso')
                ->setCellValue($c, $concepto)
                ->setCellValue($d, $usu_nombre)
                ->setCellValue($e, number_format($total,0));
           
             $cel+=1;

        }
        if($sumador_egreso>0){
       
        $d="D".$cel;
        $e="E".$cel;

        // Agregar datos
        $sheet->mergeCells("A".($cel).":C".($cel))
        ->setCellValue($d, 'TOTAL')
        ->setCellValue($e,  number_format($sumador_egreso,0));

        cellColor('A'.$cel.':E'.$cel, 'FF0000');
        }



}

else
{

    $sumador_cxc=0; 
    $query=mysqli_query($con, "SELECT * FROM ventas v, venta_abonos va
            where v.ven_id=va.ventas_ven_id and ven_estado<>'anulada'  AND va.veab_fecha BETWEEN '$desde' AND '$hastaf' and va.empresa='$empresa' order by va.veab_fecha ASC");
    while ($reg=mysqli_fetch_array($query))    
    {
        $ventas_ven_id=$reg['ventas_ven_id'];
        $veab_fecha=$reg['veab_fecha'];
        $veab_abono=$reg['veab_abono'];
        $sumador_cxc+=$veab_abono;
        $usuario=$reg['usuario']; 
        $datos1=mysqli_query($con,"SELECT *, LEFT(usu_nombre,18) as usu_nombre FROM usuario WHERE usu_id='$usuario'");
        $fila1=mysqli_fetch_array( $datos1 );
        $usu_nombre=$fila1['usu_nombre'];


        $ven=mysqli_query($con,"SELECT * FROM ventas WHERE ven_id='$ventas_ven_id'");
        $ven=mysqli_fetch_array( $ven );
        $ven_prefijo=$ven['ven_prefijo'];
        $ven_n_venta=$ven['ven_n_venta'];


            $a="A".$cel;
            $b="B".$cel;
            $c="C".$cel;
            $d="D".$cel;
            $e="E".$cel;

             $sheet->setCellValue($a, $veab_fecha)
            ->setCellValue($b, 'Factura de Venta')
            ->setCellValue($c, 'Pago a la factura # '.$ven_prefijo.$ven_n_venta)
            ->setCellValue($d, $usu_nombre)
            ->setCellValue($e, number_format($veab_abono,0));

            $cel+=1;
    }


    $sumador_apartado=0; 
    $query=mysqli_query($con, "SELECT * FROM venta_apartada_abonos
            where veaa_fecha BETWEEN '$desde' AND '$hastaf' and empresa='$empresa' order by veaa_fecha ASC");
    while ($reg=mysqli_fetch_array($query))    
    {
        $ventas_apartadas_vena_id=$reg['ventas_apartadas_vena_id'];
        $veaa_fecha=$reg['veaa_fecha'];
        $veaa_abono=$reg['veaa_abono'];
        $sumador_apartado+=$veaa_abono; 
        $usuario=$reg['usuario']; 
        $datos1=mysqli_query($con,"SELECT *, LEFT(usu_nombre,18) as usu_nombre FROM usuario WHERE usu_id='$usuario'");
        $fila1=mysqli_fetch_array( $datos1 );
        $usu_nombre=$fila1['usu_nombre'];

        $ven=mysqli_query($con,"SELECT * FROM ventas_apartadas WHERE vena_id='$ventas_apartadas_vena_id'");
        $ven=mysqli_fetch_array( $ven );
        $vena_n_venta=$ven['vena_n_venta'];

            $a="A".$cel;
            $b="B".$cel;
            $c="C".$cel;
            $d="D".$cel;
            $e="E".$cel;

             $sheet->setCellValue($a, $veaa_fecha)
            ->setCellValue($b, 'Abono Apartado')
            ->setCellValue($c, 'Pago al Apartado # '.$vena_n_venta)
            ->setCellValue($d, $usu_nombre)
            ->setCellValue($e, number_format($veaa_abono,0));

            $cel+=1;

        
    }


    $sumador_orden=0; 
    $query=mysqli_query($con, "SELECT * FROM orden_abonos
            where ord_fecha BETWEEN '$desde' AND '$hastaf' and empresa='$empresa' order by ord_fecha ASC");
    while ($reg=mysqli_fetch_array($query))    
    {
        $orden_servicios_ord_id=$reg['orden_servicios_ord_id'];
        $ord_fecha=$reg['ord_fecha'];
        $ord_abono=$reg['ord_abono'];
        $sumador_orden+=$ord_abono; 
        $usuario=$reg['usuario']; 
        $datos1=mysqli_query($con,"SELECT *, LEFT(usu_nombre,18) as usu_nombre FROM usuario WHERE usu_id='$usuario'");
        $fila1=mysqli_fetch_array( $datos1 );
        $usu_nombre=$fila1['usu_nombre'];

        $ven=mysqli_query($con,"SELECT * FROM orden_servicios WHERE ord_id='$orden_servicios_ord_id'");
        $ven=mysqli_fetch_array( $ven );
        $ord_numero=$ven['ord_numero'];


            $a="A".$cel;
            $b="B".$cel;
            $c="C".$cel;
            $d="D".$cel;
            $e="E".$cel;

             $sheet->setCellValue($a, $ord_fecha)
            ->setCellValue($b, 'Orden de Servicio')
            ->setCellValue($c, 'Pago de la orden # '.$ord_numero)
            ->setCellValue($d, $usu_nombre)
            ->setCellValue($e, number_format($ord_abono,0));

            $cel+=1;

    }

    $sumador_adelanto=0; 
    $query=mysqli_query($con, "SELECT * FROM abono_adelantado
            where abo_fecha BETWEEN '$desde' AND '$hastaf' and empresa='$empresa' order by abo_fecha ASC");
    while ($reg=mysqli_fetch_array($query))    
    {
        $abo_fecha=$reg['abo_fecha'];
        $abo_valor=$reg['abo_valor'];
        $abo_concepto=$reg['abo_concepto'];
        $sumador_adelanto+=$abo_valor; 

            $a="A".$cel;
            $b="B".$cel;
            $c="C".$cel;
            $d="D".$cel;
            $e="E".$cel;

             $sheet->setCellValue($a, $abo_fecha)
            ->setCellValue($b, 'Abono Adelantado')
            ->setCellValue($c, $abo_concepto)
            ->setCellValue($d, '')
            ->setCellValue($e, number_format($abo_valor,0));

            $cel+=1;
    }

    $sumador_total=$sumador_cxc+$sumador_apartado+$sumador_orden+$sumador_adelanto;
   
    $d="D".$cel;
    $e="E".$cel;

    // Agregar datos
    $sheet->mergeCells("A".($cel).":C".($cel))
    ->setCellValue($d, 'TOTAL')
    ->setCellValue($e,  number_format($sumador_total,0));

    cellColor('A'.$cel.':E'.$cel, 'BDBDBD');

    $cel+=1;

    // Agregar datos
    $sheet->mergeCells("A".($cel).":E".($cel));
   
    cellColor('A'.$cel.':E'.$cel, 'FFFFFF');
     $cel+=1;

    $sumador_egreso=0; 
    $query=mysqli_query($con, "SELECT * FROM egresos
            where fecha BETWEEN '$desde' AND '$hastaf' and empresa='$empresa' order by fecha ASC");
    while ($reg=mysqli_fetch_array($query))    
    {
        $fecha=$reg['fecha'];
        $total=$reg['total'];
        $concepto=$reg['concepto'];
        $sumador_egreso+=$total; 
        $usuario=$reg['usuario']; 
        $datos1=mysqli_query($con,"SELECT *, LEFT(usu_nombre,18) as usu_nombre FROM usuario WHERE usu_id='$usuario'");
        $fila1=mysqli_fetch_array( $datos1 );
        $usu_nombre=$fila1['usu_nombre'];

        $a="A".$cel;
        $b="B".$cel;
        $c="C".$cel;
        $d="D".$cel;
        $e="E".$cel;

         $sheet->setCellValue($a, $fecha)
        ->setCellValue($b, 'Egreso')
        ->setCellValue($c, $concepto)
        ->setCellValue($d, $usu_nombre)
        ->setCellValue($e, number_format($total,0));

        $cel+=1;
    }
        if($sumador_egreso>0){
   
        $d="D".$cel;
        $e="E".$cel;

        // Agregar datos
        $sheet->mergeCells("A".($cel).":C".($cel))
        ->setCellValue($d, 'TOTAL')
        ->setCellValue($e,  number_format($sumador_egreso,0));

        cellColor('A'.$cel.':E'.$cel, 'FF0000');
    }

    

}
             /*   $j="J".$cel;
                $k="K".$cel;
                $l="L".$cel;

                // Agregar datos
                $sheet->mergeCells("A".($cel).":I".($cel))
                ->setCellValue($j, 'TOTAL GENERAL')
                ->setCellValue($k,  number_format($sumador_total,0))
                ->setCellValue($l,  '');

                  cellColor('A'.$cel.':L'.$cel, 'BDBDBD');*/


// Redirigir la salida al navegador web de un cliente ( Excel5 )
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="REPORTE DE CAJA MOVIMIENTOS MEDIO DE PAGO.xlsx"');
header('Cache-Control: max-age=0');
// Si usted está sirviendo a IE 9 , a continuación, puede ser necesaria la siguiente
header('Cache-Control: max-age=1');

$writer = new Xlsx($spread);
$writer->save('php://output');
exit;
/*
$fileName="Descarga_excel.xlsx";
# Crear un "escritor"
$writer = new Xlsx($spread);
# Le pasamos la ruta de guardado

header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment; filename="'. urlencode($fileName).'"');
$writer->save('php://output');
?>*/
?>