<?php
/**
 * API Endpoint: Obtener resumen de ventas del día actual
 * Retorna las ventas normales, ventas especiales y total para la sucursal activa
 */

header('Content-Type: application/json');
require_once '../../db_connection.php';
require_once '../../includes/functions/inventario_helpers.php';

try {
    $sucursalActiva = obtenerSucursalActiva();
    
    // OPTIMIZACIÓN: Usar rango de fechas en lugar de DATE() para aprovechar índices
    $hoyInicio = date('Y-m-d') . ' 00:00:00';
    $hoyFin = date('Y-m-d') . ' 23:59:59';
    
    // Consulta optimizada con BETWEEN (aprovecha índices)
    $sql = "SELECT 
                COALESCE((SELECT SUM(total) FROM ventas WHERE sucursal_id = :sucursal_id1 AND fecha_y_hora BETWEEN :inicio1 AND :fin1), 0) as ventas_normales,
                COALESCE((SELECT SUM(precio) FROM ventas_especiales WHERE sucursal_id = :sucursal_id2 AND fecha_y_hora BETWEEN :inicio2 AND :fin2), 0) as ventas_especiales";
    
    $stmt = $pdo->prepare($sql);
    $stmt->bindValue(':sucursal_id1', $sucursalActiva, PDO::PARAM_INT);
    $stmt->bindValue(':inicio1', $hoyInicio, PDO::PARAM_STR);
    $stmt->bindValue(':fin1', $hoyFin, PDO::PARAM_STR);
    $stmt->bindValue(':sucursal_id2', $sucursalActiva, PDO::PARAM_INT);
    $stmt->bindValue(':inicio2', $hoyInicio, PDO::PARAM_STR);
    $stmt->bindValue(':fin2', $hoyFin, PDO::PARAM_STR);
    $stmt->execute();
    $result = $stmt->fetch(PDO::FETCH_ASSOC);
    
    $ventasNormales = (float)$result['ventas_normales'];
    $ventasEspeciales = (float)$result['ventas_especiales'];
    $total = $ventasNormales + $ventasEspeciales;
    
    echo json_encode([
        'success' => true,
        'ventas_normales' => floatval($ventasNormales),
        'ventas_especiales' => floatval($ventasEspeciales),
        'total' => floatval($total),
        'fecha' => date('Y-m-d'),
        'sucursal_id' => $sucursalActiva
    ]);
    
} catch (PDOException $e) {
    http_response_code(500);
    echo json_encode([
        'success' => false,
        'error' => 'Error al obtener resumen de ventas: ' . $e->getMessage()
    ]);
}
?>
