<?php


// Construir salida Excel
header("Content-Type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=reporte_ventas_por_hora.xls");


include ("../conexion.php");	
setlocale(LC_TIME, 'es_ES.UTF-8', 'spanish');

       $parametros = "SELECT * FROM web_0000 ";
       $result_parametros = $mysqli->query($parametros);
       $row_para = $result_parametros->fetch_array();
     
	   $NombreComercial =  $row_para["NOMCOM"];
	   $Razon          =  $row_para["RAZSOC"];
	   $Direccion       =  $row_para["DIREMP"];
	   $Cedula          =  $row_para["CEDJUR"];
	   $Telefono        =  $row_para["NUMTEL"];
  



	 $fecini    = $_GET["fechainicio"];
	 $fecfin    = $_GET["fechafin"];
	 $cdgtipven = $_GET["combotipoventa"];
	 $cdgcaj    = $_GET["cdgcaj"];
	 $cdgcli    = $_GET["cdgcli"];
	 $dsccli    = $_GET["dsccli"];
	 
	 
 $fechainicio= implode("-", array_reverse(explode("-", $fecini))); 
 $fechafin= implode("-", array_reverse(explode("-", $fecfin))); 
 
 	 if ( $cdgtipven==2){ $tipo=" CREDITO"; };
	 if ( $cdgtipven==1){ $tipo=" CONTADO"; };
	 if ( $cdgtipven==""){ $tipo=" TODAS"; };
 
  if ($cdgcaj=="") {
	 
	 $nomcomusu="TODOS LOS CAJEROS";
	 
	     } else {


	   $query_codcaj="SELECT * FROM usuarios  WHERE codusu=$cdgcaj ";
       $resultado = $mysqli->query( $query_codcaj);
       $row = $resultado->fetch_array();
        
		$nomcomusu    = $row["nomcomusu"];
     }
	 
	 
	 
$where="1=1";

	 	 	 /////////////////        where para facturas ********************
	if ($cdgtipven <> "") { $where.=" AND cdgtipven='$cdgtipven'"; }
	if ($cdgcaj <> "") { $where.=" AND cdgcaj='$cdgcaj'"; }
	if ($cdgcli<> "") { $where.=" AND cdgcli='$cdgcli'"; }
	if ($dsccli<> "") { $where.=" AND dsccli like '%$dsccli%'"; }	
	 //$where.=" ORDER BY numfactura ASC";
	 
	 
	 if (($fechainicio<>"") and ($fechafin<>"")) {
	 $where.=" AND fecha BETWEEN '".$fechainicio."' AND '".$fechafin."'";
} else {
	if ($fechainicio<>"") {
	 	$where.=" AND fecha>='".$fechainicio."'";
	} else {
		if ($fechafin<>"") {
		$where.=" AND fecha<='".$fechafin."'";
		}
	}
}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Reporte Analitico de Compras </title>
<style type="text/css">
<!--
.Estilo1 {color: #CCCCCC}
.Estilo4 {font-size: medium}
.Estilo5 {color: #000000}
-->
</style>
</head>
<body>
<table width="92%" border="0" cellspacing="0" cellpadding="0">
    
    <tr>
      <td><div align="center"></div></td>
      <td colspan="20"  ><div align="center"><font size=8 ><?php echo $NombreComercial?></font></div>
      <div align="center"></div><div align="center"></div></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td colspan="20" ><div align="center"><font size="3" ><?php echo $Razon?></font></div></td>
    </tr>
    <tr>
      <td><div align="center"></div></td>
      <td colspan="20" ><div align="center"><font size="2" ><?php echo $Cedula; ?></font></div></td>
    </tr>
    <tr>
      <td><div align="center"></div></td>
      <td colspan="20" ><div align="center"><font size="2" ><?php echo $Direccion; ?></font></div></td>
    </tr>
    <tr>
      <td><div align="center"></div></td>
      <td colspan="20" ><div align="center"><font size="2" ><?php echo $Telefono; ?></font></div></td>
    </tr>
    <tr>
      <td><span class="Estilo1"></span></td>
      <td colspan="20" ><span class="Estilo1"></span></td>
    </tr>
  <tr>
     <td></td>
 <td colspan="20"  bgcolor="skyblue"><div align="center"><strong><font size="3" >Reporte del Comportamiento de Ventas Diario</font>  </div></td>
  </tr>
     
     <tr>
       <td></td>
       <td colspan="20"   border="1"><div align="center"><font size="3" >Desde el  <?php echo $fecini; ?> al <?php echo $fecfin; ?> -  <?php echo $nomcomusu; ?>  -  <?php echo $tipo ; ?> </font></div></td>
     </tr>
        <tr>

</table>















<?php
// Consulta de ventas agrupadas por fecha y hora
 $consulta = "
    SELECT 
        DATE(fecha) AS dia,
        HOUR(horfac) AS hora,
        SUM(totvennet) AS total
    FROM facturas
    WHERE  " .$where. "
      AND borrado = '0'
    GROUP BY dia, hora
    ORDER BY dia, hora;
";
$resultado2 = $mysqli->query($consulta);

// Organizar datos
$ventas = []; //arreglo para ventas por fecha y hora.
$totalesPorHora = [];//suma por hora (inicializado de 7 a 23 con valor 0).
$totalesPorDia = [];//suma por día.
$granTotal = 0;//suma de todo el período.

while ($fila = $resultado2->fetch_assoc()) {
    $dia = $fila['dia'];
    $hora = (int)$fila['hora'];
    $monto = (float)$fila['total'];

    $ventas[$dia][$hora] = $monto;
    $totalesPorHora[$hora] = ($totalesPorHora[$hora] ?? 0) + $monto;
    $totalesPorDia[$dia] = ($totalesPorDia[$dia] ?? 0) + $monto;
    $granTotal += $monto;
}



$horas = range(5, 23); //// De 7:00 AM a 11:00 PM
$totalColumnas = count($horas) + 3; // +1 por columna vacía, +1 por fecha, +1 por total

echo "<table border='0'>";
//echo "<tr><th colspan='" . $totalColumnas  . "'>Reporte del Comportamiento de Ventas Diario</th></tr>";
//echo "<tr><th colspan='" . $totalColumnas  . "'>Desde el $fecini al $fecfin</th></tr>";
echo "<tr><th></th><th  align='center' bgcolor='skyblue' > <span class='Estilo4'><strong>Fecha</strong></font></span> </th>";
//echo "<tr><th>Fecha</th>";
foreach ($horas as $h) {
    echo "<th align='center' bgcolor='skyblue'><span class='Estilo4'><strong>" . date('g A', strtotime("$h:00")) . "</strong></font></span></th>";
}
echo "<th align='center' bgcolor='skyblue'><span class='Estilo4'><strong>Total Dia</strong></font></span></th></tr>";

foreach ($ventas as $dia => $horasData) {
	
		echo "<tr><td></td><td>" . mb_strtoupper(strftime('%d-%b-%Y', strtotime($dia)), 'UTF-8') . "</td>";
		//echo mb_strtoupper(strftime('%d-%b-%Y', strtotime($dia)), 'UTF-8');
		$sumaDia = 0;
		foreach ($horas as $h) {
			$monto = isset($horasData[$h]) ? $horasData[$h] : 0;
			$sumaDia += $monto;
		   // echo "<td align='right'>" . ($monto > 0 ? number_format($monto, 0) : '') . "</td>";
			echo "<td align='right'>" . number_format($monto, 2) . "</td>";
		}
		echo "<td align='right'><strong>" . number_format($sumaDia, 2) . "</strong></td></tr>";
}

// Fila de totales por hora y total general
//echo "<tr><th>TOTALES</th>";

echo "<tr><td colspan='$totalColumnas'>&nbsp;</td></tr>";

echo "<tr><th></th><th>TOTALES</th>";


foreach ($horas as $h) {
    $total = isset($totalesPorHora[$h]) ? number_format($totalesPorHora[$h], 2) : '';
    echo "<th align='right'>$total</th>";
}
echo "<th align='right'><strong>" . number_format($granTotal, 2) . "</strong></th></tr>";
echo "</table>";
?>
