<?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'];
$horadesde=$_GET['horadesde'];
$horahasta=$_GET['horahasta'];
$empleadoo=$_GET['vendedores'];
$total=0;

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:I1')->mergeCells('A2:I2');/*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:I2', 'BDBDBD'); 


$sheet->setCellValue('A1', 'VENTAS POR EMPLEADO CON DETALLE')
            ->setCellValue('A2', 'FECHA DESDE  '.$desde .'  HASTA  '.$hasta);
                    

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


/*Extraer datos de MYSQL*/
    # conectare la base de datos
    $cel=4;//Numero de fila donde empezara a crear  el reporte


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

if($empleadoo==0)
{
    $query=mysqli_query($con,"SELECT * FROM ventas where TIMESTAMP(ven_fecha,ven_hora) 
         between TIMESTAMP('$desde','$horadesde') 
                 and TIMESTAMP('$hasta','$horahasta') and sucursal='$sucursal' and empresa='$empresa' and ven_estado<>'anulada' order by ven_n_venta asc") or die(mysqli_error($con));
}
else
{
    $query=mysqli_query($con,"SELECT * FROM ventas where vendedor='$empleadoo' and TIMESTAMP(ven_fecha,ven_hora) 
         between TIMESTAMP('$desde','$horadesde') 
                 and TIMESTAMP('$hasta','$horahasta') and sucursal='$sucursal' and empresa='$empresa' and ven_estado<>'anulada' order by ven_id asc") or die(mysqli_error($con));
  
}
    
while ($roww=mysqli_fetch_array($query))    
{
    $Cliente_clie_id=$roww['Cliente_clie_id'];
    $ven_n_venta=$roww['ven_n_venta'];
    $ven_fecha=$roww['ven_fecha'];
    $ven_nombre=$roww['ven_nombre'];
    $ven_cc=$roww['ven_cc'];

    $dir=mysqli_query($con,"SELECT * FROM cliente  where clie_id='$Cliente_clie_id'") or die(mysqli_error($con)); 
    $dire=mysqli_fetch_array($dir);
    $clie_direccion=$dire['clie_direccion'];


            $a="A".$cel;
            $b="B".$cel;
            $c="C".$cel;
            $d="D".$cel;
            $e="E".$cel;
            $f="F".$cel;
            $g="G".$cel;
            $h="H".$cel;
            $i="I".$cel;
           
 
    // Agregar datos
    $sheet->setCellValue($a, '# VENTA')
            ->setCellValue($b, 'FECHA')
            ->setCellValue($c, 'DOC - CLIENTE')
            ->setCellValue($d, 'REF')
            ->setCellValue($e, 'PRODUCTOS')
            ->setCellValue($f, 'CANTIDAD')
            ->setCellValue($g, 'VALOR')
            ->setCellValue($h, 'DESC %')
            ->setCellValue($i, 'TOTAL');
   
            /* color a las celdas con funsion*/            
            cellColor('A'.$cel.':I'.$cel, 'FF4D00');

             $cel+=1;
            $ven_id=$roww['ven_id'];

            $ven_n_venta=$roww['ven_n_venta'];
            $ven_nombre=$roww['ven_nombre'];
            $ven_fecha=$roww['ven_fecha'];

     $sumador_combo=0;
    $sumador_total=0;

    $neto=0;
    $neto_combo=0;
    $total_descuento=0;
    $total_iva=0;
    $total_retencion=0;
    $sumador_articulos=0;
    $descuento_combo_total=0;
    $total_retencion=0;
    $desc=0;
    $sumador_articulos=0;
           $desc=0;
    $sumador_articulos=0;
    $ret=mysqli_query($con, "SELECT * FROM retencion_venta where ventas_ven_id='$ven_id' ") or die(mysqli_error($con)); 
            $rets=mysqli_fetch_array($ret);
           
            if(isset($rets['porcentaje']))
                {
                    $ret_porcentaje=$rets['porcentaje'];
                }
                else
                {
                    $ret_porcentaje=0;
                }
    $sql=mysqli_query($con, "SELECT * from venta_detalle where ventas_ven_id='$ven_id'");
    while ($row=mysqli_fetch_array($sql))
    {
        $vend_referencia=$row['vend_referencia'];
        $vend_nombre=$row['vend_nombre'];
        $vend_cantidad=$row['vend_cantidad'];
        $vend_precio=$row['vend_precio'];
        $vend_iva=$row['vend_iva'];
        $vend_descuento=$row['vend_desc'];
        $iva0=$vend_iva/100; //0.19
        $iva1=1+$iva0; //1.19

        $precio_total_item=$vend_precio*$vend_cantidad;//precio normal 1.000.000
        $precio_total_sin_iva_item=($vend_precio/$iva1)*$vend_cantidad; //precio sin iva  840.336
        $descuento_item=($vend_descuento/100)*$precio_total_sin_iva_item; //descuento_item 84.033
        $total_iva_item=$precio_total_sin_iva_item*$iva0; // total iva  159.336

        $neto+=$precio_total_sin_iva_item;
        $total_descuento+=$descuento_item;
        $total_iva+=$total_iva_item;

        $sumador_articulos=($neto+$total_iva)-$total_descuento;

            

                $a="A".$cel;
                $b="B".$cel;
                $c="C".$cel;
                $d="D".$cel;
                $e="E".$cel;
                $f="F".$cel;
                $g="G".$cel;
                $h="H".$cel;
                $i="I".$cel;



        $sheet->setCellValue($a, $ven_n_venta)
                ->setCellValue($b, $ven_fecha)
                ->setCellValue($c, $ven_nombre.' - '.$ven_cc)
                ->setCellValue($d, $vend_referencia)
                ->setCellValue($e, $vend_nombre)
                ->setCellValue($f, $vend_cantidad)
                ->setCellValue($g, number_format($vend_precio,0))
                ->setCellValue($h, $vend_descuento)
                ->setCellValue($i, number_format($precio_total_item,0));
                
                 $cel+=1;

    }


         $sumador_combos=0;
                $sql=mysqli_query($con, "SELECT * from venta_detalle_combo where ven_id='$ven_id'");
                while ($row1=mysqli_fetch_array($sql))
                {
                    $combo_cantidad=$row1["combo_cantidad"];
                    $combo_precio=$row1['combo_precio'];
                    $combo_nombre=$row1['combo_nombre']; 
                    $combo_desc=$row1['combo_desc'];

                    $precio_total=$combo_cantidad*$combo_precio;
                    $descuento_combo_total+=($combo_desc/100)*$precio_total;

                    $neto_combo+=$precio_total;
                    $sumador_combo=$neto_combo-$descuento_combo_total;



                        $a="A".$cel;
                        $b="B".$cel;
                        $c="C".$cel;
                        $d="D".$cel;
                        $e="E".$cel;
                        $f="F".$cel;
                        $g="G".$cel;
                        $h="H".$cel;
                        $i="I".$cel;

                 $sheet->setCellValue($a, $ven_n_venta)
                        ->setCellValue($b, $ven_nombre)
                        ->setCellValue($c, $combo_nombre.' - '.$ven_cc)
                        ->setCellValue($d, '')
                        ->setCellValue($e, $ven_fecha)
                        ->setCellValue($f, $combo_cantidad)
                        ->setCellValue($g, $combo_precio,0)
                        ->setCellValue($h, $combo_desc)
                        ->setCellValue($i, $precio_total,0);
                        
                      
                        $cel+=1;
              
                }


                $total_retencion+=($neto+$sumador_combo-$total_descuento)*($ret_porcentaje/100);
                $sumador_total=$sumador_articulos+$sumador_combo-$total_retencion;

                $total+=$sumador_total;


                    $h="H".$cel;
                    $i="I".$cel;
                   
                    // Agregar datos
                    $sheet->mergeCells("A".($cel).":F".($cel))
                    ->setCellValue($h, 'TOTAL')
                    ->setCellValue($i, number_format($sumador_articulos+$sumador_combo));


                    cellColor('H'.$cel.':I'.$cel, 'BDBDBD');
                      $cel+=1;
                                           
    } 

     $h="H".$cel;
                    $i="I".$cel;
                      // Agregar datos
                     $sheet->mergeCells("A".($cel).":I".($cel))
                    ->setCellValue($h, '')
                    ->setCellValue($i, '');


                    cellColor('a'.$cel.':I'.$cel, 'FFFFFF');
                     $cel+=1;

                    $h="H".$cel;
                    $i="I".$cel;
                      // Agregar datos
                     $sheet->mergeCells("A".($cel).":F".($cel))
                    ->setCellValue($h, 'TOTAL GENERAL')
                    ->setCellValue($i, number_format($total));


                    cellColor('a'.$cel.':I'.$cel, 'BFBFBF');
                    

        
// Redirigir la salida al navegador web de un cliente ( Excel5 )
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="REPORTE VENTAS CON DETALLE.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');
?>*/
?>