<?php
// exportar_excel.php
date_default_timezone_set('America/Guayaquil');
require_once "modelo/Db.php";
$bd = new clsbdd();
$bd->ejecutar("SET time_zone = '-05:00'");

// Obtener fechas del GET
$fecha_inicio = $_GET['f_inicio'] ?? date('Y-m-d');
$fecha_fin = $_GET['f_fin'] ?? date('Y-m-d');

// Configuración de cabeceras para Excel
header("Content-Type: application/vnd.ms-excel; charset=utf-8");
header("Content-Disposition: attachment; filename=Reporte_Ventas_$fecha_inicio-al-$fecha_fin.xls");
header("Pragma: no-cache");
header("Expires: 0");

// Consulta de todas las ventas incluyendo la columna ven_entregado para el desglose
$ventas = $bd->ejecutar_array("SELECT v.ven_codigo, v.ven_fecha, v.ven_tipo_pago, v.ven_total, v.ven_entregado, p.pro_nombre 
    FROM sba_ventas v 
    LEFT JOIN sba_profesores p ON v.pro_codigo = p.pro_codigo 
    WHERE DATE(v.ven_fecha) BETWEEN '$fecha_inicio' AND '$fecha_fin' AND v.ven_estado=1 
    ORDER BY v.ven_fecha ASC") ?: [];
?>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<table border="1">
    <thead>
        <tr>
            <th colspan="8" style="background-color: #1c2d3d; color: white; font-size: 16px; padding: 10px;">
                REPORTE DETALLADO DE INGRESOS POR TIPO (<?= $fecha_inicio ?> al <?= $fecha_fin ?>)
            </th>
        </tr>
        <tr style="background-color: #eeeeee;">
            <th>ID Venta</th>
            <th>Fecha/Hora</th>
            <th>Cliente/Docente</th>
            <th>Tipo Original</th>
            <th style="background-color: #d4edda;">Efectivo</th>
            <th style="background-color: #d1ecf1;">Transferencia</th>
            <th style="background-color: #fff3cd;">Crédito</th>
            <th style="background-color: #f8d7da;">Total Ticket</th>
        </tr>
    </thead>
    <tbody>
        <?php 
        $t_efectivo = 0;
        $t_transferencia = 0;
        $t_credito = 0;
        $t_general = 0;

        foreach($ventas as $v): 
            $efectivo = 0;
            $transferencia = 0;
            $credito = 0;
            $tipo = $v['ven_tipo_pago'];
            $total = floatval($v['ven_total']);
            $entregado = floatval($v['ven_entregado']);

            // LÓGICA DE DISTRIBUCIÓN PROPORCIONAL
            switch ($tipo) {
                case 'EFECTIVO':
                    $efectivo = $total;
                    break;
                case 'TRANSFERENCIA':
                    $transferencia = $total;
                    break;
                case 'CREDITO':
                    $credito = $total;
                    break;
                case 'MIXTO_EF_TR':
                    $efectivo = $entregado;
                    $transferencia = $total - $entregado;
                    break;
                case 'MIXTO_EF_CR':
                    $efectivo = $entregado;
                    $credito = $total - $entregado;
                    break;
                case 'MIXTO_TR_CR':
                    $transferencia = $entregado;
                    $credito = $total - $entregado;
                    break;
                default:
                    // Para otros tipos como CORTESIA, se puede manejar aquí
                    $efectivo = ($tipo == 'CORTESIA') ? 0 : $total; 
                    break;
            }

            // Acumular totales para el pie de tabla
            $t_efectivo += $efectivo;
            $t_transferencia += $transferencia;
            $t_credito += $credito;
            $t_general += $total;
        ?>
        <tr>
            <td><?= $v['ven_codigo'] ?></td>
            <td><?= date('d/m/Y H:i', strtotime($v['ven_fecha'])) ?></td>
            <td><?= htmlspecialchars($v['pro_nombre'] ?? 'Consumidor Final') ?></td>
            <td style="font-size: 10px; color: #666;"><?= $v['ven_tipo_pago'] ?></td>
            <td align="right">$<?= number_format($efectivo, 2) ?></td>
            <td align="right">$<?= number_format($transferencia, 2) ?></td>
            <td align="right">$<?= number_format($credito, 2) ?></td>
            <td align="right"><strong>$<?= number_format($total, 2) ?></strong></td>
        </tr>
        <?php endforeach; ?>
    </tbody>
    <tfoot>
        <tr style="background-color: #f8f9fa; font-weight: bold;">
            <td colspan="4" align="right">TOTALES ACUMULADOS:</td>
            <td align="right" style="color: #155724;">$<?= number_format($t_efectivo, 2) ?></td>
            <td align="right" style="color: #0c5460;">$<?= number_format($t_transferencia, 2) ?></td>
            <td align="right" style="color: #856404;">$<?= number_format($t_credito, 2) ?></td>
            <td align="right" style="background-color: #27ae60; color: white;">$<?= number_format($t_general, 2) ?></td>
        </tr>
    </tfoot>
</table>