<?php
session_start();
require_once('../../conexion.php');
require_once('../../include/sesiones.php');
require  ('vendor/autoload.php');
$fecha_desde=$_GET['fecha_desde'];
$hora_desde=$_GET['hora_desde'];
$fecha_hasta=$_GET['fecha_hasta'];
$hora_hasta=$_GET['hora_hasta'];
$sucursal_form=$_GET['sucursal_form'];

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:J1');/*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('A1:J1', 'BDBDBD'); 
$sheet->setCellValue('A1', 'REPORTE VENTAS DETALLADAS DESDE '.$fecha_desde.' HASTA '.$fecha_hasta);

$sheet->getColumnDimension('A')->setWidth(10);   
$sheet->getColumnDimension('B')->setWidth(20);  
$sheet->getColumnDimension('C')->setWidth(40); 
$sheet->getColumnDimension('D')->setWidth(20); 
$sheet->getColumnDimension('E')->setWidth(10);
$sheet->getColumnDimension('F')->setWidth(40);
$sheet->getColumnDimension('G')->setWidth(10);
$sheet->getColumnDimension('H')->setWidth(10);
$sheet->getColumnDimension('I')->setWidth(10);
$sheet->getColumnDimension('J')->setWidth(15);

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

if($facturador=='si') { 
    $ven_tipo = implode("','", $_GET["ven_tipo"]);
    $query=mysqli_query($con,"SELECT * FROM ventas where  TIMESTAMP(ven_fecha,ven_hora) 
between TIMESTAMP('$fecha_desde','$hora_desde') and TIMESTAMP('$fecha_hasta','$hora_hasta') and sucursal='$sucursal_form' and empresa='$empresa' and ven_estado<>'anulada' and ven_tipo  IN('".$ven_tipo."') order by ven_id desc");
}
else
{
    $query=mysqli_query($con,"SELECT * FROM ventas where  TIMESTAMP(ven_fecha,ven_hora) 
between TIMESTAMP('$fecha_desde','$hora_desde') and TIMESTAMP('$fecha_hasta','$hora_hasta') and sucursal='$sucursal_form' and empresa='$empresa' and ven_estado<>'anulada' order by ven_id desc");
}
     
while ($roww=mysqli_fetch_array($query))    
{
    $ven_id=$roww['ven_id'];
    $ven_prefijo=$roww['ven_prefijo'];
    $ven_n_venta=$roww['ven_n_venta'];
    $ven_nombre=$roww['ven_nombre'];
    $ven_cc=$roww['ven_cc'];
    $ven_forma_de_pago=$roww['ven_forma_de_pago'];
    $ven_fecha=$roww['ven_fecha'];


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


    /* color a las celdas con funsion*/            
    cellColor('A'.$cel.':D'.$cel, 'FF4D00');

    $sheet->setCellValue($a, $ven_prefijo.$ven_n_venta)
    ->setCellValue($b, $ven_nombre)
    ->setCellValue($c, $ven_cc)
    ->setCellValue($d, $ven_forma_de_pago);

    $sumador_combo=0;
    $sumador_total=0;

    $neto=0;
    $total_descuento=0;
    $total_iva=0;
    $total_retencion=0;
    $sumador_articulos=0;
   
    $ret_porcentaje=0;

    $det=4;

    $aa="A".$det;
    $ba="B".$det;
    $ca="C".$det;
    $da="D".$det;
    $ea="E".$det;
    
    $sheet
    ->setCellValue($aa, 'PRODUCTOS')
    ->setCellValue($ba, 'CANTIDAD')
    ->setCellValue($ca, 'PRECIO')
    ->setCellValue($da, 'DESC %')
    ->setCellValue($ea, 'TOTAL');

    $sqld=mysqli_query($con, "SELECT * from venta_detalle where ventas_ven_id='$ven_id'");
        while ($rowd=mysqli_fetch_array($sqld))
        { 
            $vend_id=$rowd['vend_id'];
            $vend_referencia=$rowd['vend_referencia'];
            $vend_nombre=$rowd['vend_nombre'];
            $vend_cantidad=$rowd['vend_cantidad'];
            $vend_precio=$rowd['vend_precio'];
            $vend_iva=$rowd['vend_iva'];
            $vend_descuento=$rowd['vend_desc'];
            $vend_precio_real=$rowd['vend_precio_real'];
            
            $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;
        
        

              
                $ab="A".$det;
                $bb="B".$det;
                $cb="C".$det;
                $db="D".$det;
                $eb="E".$det;
               
                // Agregar datos
                $sheet

                ->setCellValue($ab, $vend_nombre)
                ->setCellValue($bb, $vend_cantidad)
                ->setCellValue($cb, number_format($vend_precio))
                ->setCellValue($db, $vend_descuento)
                ->setCellValue($eb, number_format($precio_total_item,0));
                
                $det+=1;

        }

    $cel+=1+$det;

}


header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="REPORTE VENTAS DETALLADAS.xlsx"');
header('Cache-Control: max-age=0');
header('Cache-Control: max-age=1');

$writer = new Xlsx($spread);
$writer->save('php://output');
exit;
?>