<?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:H1')->mergeCells('A2:H2');/*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:H2', 'BDBDBD'); 
cellColor('A1:H1', 'BDBDBD'); 
cellColor('A3:H3', 'FF4D00'); 


$sheet->setCellValue('A1', 'REPORTE COMPRAS DOCUMENTO SOPORTE')
            ->setCellValue('A2', 'DESDE '.$desde.' HASTA '.$hasta);

            //Ancho de las columnas
$sheet->getColumnDimension('A')->setWidth(10);   
$sheet->getColumnDimension('B')->setWidth(40);  
$sheet->getColumnDimension('C')->setWidth(16); 
$sheet->getColumnDimension('D')->setWidth(10); 
$sheet->getColumnDimension('E')->setWidth(50);
$sheet->getColumnDimension('F')->setWidth(10);
$sheet->getColumnDimension('G')->setWidth(15);
$sheet->getColumnDimension('H')->setWidth(10);

    $cel=3;//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";


$total_global=0;
$query=mysqli_query($con, "SELECT * FROM dian_documento_soporte where docs_fecha BETWEEN '$desde' AND '$hasta' and empresa='$empresa' order by docs_fecha desc");
       
        while ($roww=mysqli_fetch_array($query))    
        {


            $a="A".$cel;
            $b="B".$cel;
            $c="C".$cel;
            $d="D".$cel;
            $e="E".$cel;
            $f="F".$cel;
            $g="G".$cel;
            $h="H".$cel;
            
           
            // Agregar datos
            $sheet
            ->setCellValue($a, 'N°')
            ->setCellValue($b, 'PROVEEDOR')
            ->setCellValue($c, 'DOCUMENTO')
            ->setCellValue($d, 'FECHA')
            ->setCellValue($e, 'DESCRIPCIÓN')
            ->setCellValue($f, 'CANT.')
            ->setCellValue($g, 'PRECIO U.')
            ->setCellValue($h, 'TOTAL');
            

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

          
            $cel+=1;

            $docs_id=$roww['docs_id'];
           
            $docs_proveedor=$roww['docs_proveedor'];
            $can=mysqli_query($con,"SELECT * FROM proveedor where pro_id=$docs_proveedor") or die(mysqli_error($con));
            $dato1=mysqli_fetch_array($can);
            $pro_nombre=$dato1['pro_nombre'];
            $pro_nit=$dato1['pro_nit'];
            $pro_dv=$dato1['pro_dv'];

            $sumador_total=0;
            $can7=mysqli_query($con,"SELECT * FROM dian_documento_detalle where documento_id='$docs_id'") or die(mysqli_error($con));  
            while($row=mysqli_fetch_array($can7))
            {
                $sopd_nombre=$row['sopd_nombre'];
                $sopd_cantidad=$row['sopd_cantidad'];
                $sopd_precio=$row['sopd_precio'];
                $total=$sopd_precio*$sopd_cantidad;
                $sumador_total+= $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;
                       
                       
                        // Agregar datos
                        $sheet
                        ->setCellValue($a, $roww['docs_prefijo'].$roww['docs_numero'])
                        ->setCellValue($b, $pro_nombre)
                        ->setCellValue($c, $pro_nit.$pro_dv)
                        ->setCellValue($d, $roww['docs_fecha'])
                        ->setCellValue($e, $sopd_nombre)
                        ->setCellValue($f, $sopd_cantidad)
                        ->setCellValue($g, number_format($sopd_precio))
                        ->setCellValue($h, number_format( $total));
                       
                        
                         $cel+=1;

            }
           

                    $g="G".$cel;
                    $h="H".$cel;
                   
                    // Agregar datos
                    $sheet->mergeCells("A".($cel).":F".($cel))
                    ->setCellValue($g, 'TOTAL')
                    ->setCellValue($h, number_format($sumador_total));


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

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

    $cel+=1;

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


    cellColor('A'.$cel.':H'.$cel, 'DA8869');



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