<?php

include 'conexion.php'; // Conexión existente

// Verificar si se proporciona una fecha en la solicitud
$fecha = isset($_GET['fecha']) ? $_GET['fecha'] : date("Y-m-d");

// Consulta para verificar si existen ventas en la fecha seleccionada
$sql_verificar = "SELECT COUNT(*) AS total FROM ventas WHERE DATE(fecha_venta) = ?";
$stmt_verificar = $conexionBD->prepare($sql_verificar);
$stmt_verificar->bind_param("s", $fecha);
$stmt_verificar->execute();
$result_verificar = $stmt_verificar->get_result();
$row_verificar = $result_verificar->fetch_assoc();
$stmt_verificar->close();

// Si no hay ventas, devolver un mensaje vacío
if ($row_verificar['total'] == 0) {
    echo json_encode([]);
    exit;
}

// Consulta principal para obtener ventas por concierto
$sql = "SELECT c.nombre_concierto, v.fecha_venta, COUNT(v.id_venta) AS boletos_vendidos, SUM(b.precio) AS total_ganado, v.id_concierto
        FROM ventas v
        JOIN boletos b ON v.id_boleto = b.id_boleto
        JOIN conciertos c ON v.id_concierto = c.id_concierto
        WHERE DATE(v.fecha_venta) = ?
        GROUP BY c.nombre_concierto, v.fecha_venta, v.id_concierto";

$stmt = $conexionBD->prepare($sql);
$stmt->bind_param("s", $fecha);
$stmt->execute();
$result = $stmt->get_result();
$data = [];

while ($row = $result->fetch_assoc()) {
    $id_concierto = $row['id_concierto'];

    // Consulta para obtener los boletos vendidos por zona
    $sql_zonas = "SELECT z.nombre_zona, COUNT(b.id_boleto) AS boletos_vendidos
                  FROM boletos b
                  JOIN zonas z ON b.id_zona = z.id_zona
                  WHERE b.id_concierto = ?
                  GROUP BY z.nombre_zona";

    $stmt_zonas = $conexionBD->prepare($sql_zonas);
    $stmt_zonas->bind_param("i", $id_concierto);
    $stmt_zonas->execute();
    $result_zonas = $stmt_zonas->get_result();

    $zonas = [];
    while ($zona = $result_zonas->fetch_assoc()) {
        $zonas[] = $zona;
    }

    $row['zonas'] = $zonas;
    $data[] = $row;
}

// Cerrar consultas
$stmt->close();
$stmt_zonas->close();

// Enviar la respuesta en formato JSON
echo json_encode($data);
exit;
?>