<?php
/**
 * Export Distribution Report to Excel (XLSX compatible)
 */
require_once __DIR__ . '/../config/db.php';
require_once __DIR__ . '/../../includes/auth_admin.php';
$pdo = getDBConnection();

checkAdmin();

$sucursal_id = $_GET['sucursal_id'] ?? null;
$fecha = $_GET['fecha'] ?? null;

try {
    $where = ["t.sucursal_origen = 1"];
    $params = [];

    if ($sucursal_id) {
        $where[] = "t.sucursal_destino = ?";
        $params[] = $sucursal_id;
    }
    if ($fecha) {
        $where[] = "DATE(t.fecha_traslado) = ?";
        $params[] = $fecha;
    }

    $whereSql = implode(" AND ", $where);

    // Fetch distribution data
    $stmt = $pdo->prepare("
        SELECT 
            t.fecha_traslado,
            p.NombreComercial as producto,
            dt.cantidad_unidades_base as cantidad,
            pr.nombre as presentacion,
            s.nombre as sucursal_destino,
            dt.es_facturado
        FROM traslados t
        JOIN detalle_traslados_v2 dt ON t.id = dt.traslado_id
        JOIN productos p ON dt.producto_id = p.id
        JOIN presentaciones pr ON dt.presentacion_id = pr.id
        JOIN sucursales s ON t.sucursal_destino = s.id
        WHERE $whereSql
        ORDER BY t.fecha_traslado DESC
    ");
    $stmt->execute($params);
    $data = $stmt->fetchAll();

    $suffix = $sucursal_id ? "Sucursal_" . $sucursal_id : ($fecha ? "Fecha_" . $fecha : "Completo");
    $filename = "Reporte_Distribucion_" . $suffix . "_" . date('Ymd') . ".xls";

    header("Content-Type: application/vnd.ms-excel; charset=utf-8");
    header("Content-Disposition: attachment; filename=\"$filename\"");
    header("Pragma: no-cache");
    header("Expires: 0");

    echo '<table border="1">';
    echo '<tr><th colspan="6" style="background-color: #4f46e5; color: white;">REPORTE DE DISTRIBUCION - SUFARMA</th></tr>';
    echo '<tr>
            <th style="background-color: #f1f5f9;">Fecha</th>
            <th style="background-color: #f1f5f9;">Producto</th>
            <th style="background-color: #f1f5f9;">Presentación</th>
            <th style="background-color: #f1f5f9;">Cantidad (u. base)</th>
            <th style="background-color: #f1f5f9;">Facturado</th>
            <th style="background-color: #f1f5f9;">Destino</th>
          </tr>';

    foreach ($data as $row) {
        $facLabel = $row['es_facturado'] ? 'Sí' : 'No';
        echo "<tr>
                <td>{$row['fecha_traslado']}</td>
                <td>{$row['producto']}</td>
                <td>{$row['presentacion']}</td>
                <td>{$row['cantidad']}</td>
                <td>{$facLabel}</td>
                <td>{$row['sucursal_destino']}</td>
              </tr>";
    }
    echo '</table>';

} catch (Exception $e) {
    die("Error al generar el reporte: " . $e->getMessage());
}
?>
