<?php
/**
 * API: Guardar Venta Especial
 * Sistema Sufarma
 */

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

// Obtener ID de sucursal activa
$configSucursal = require '../../config/sucursal_activa.php';
$sucursal_id = $configSucursal['sucursal_id'];

try {
    // Obtener datos del POST
    $data = json_decode(file_get_contents('php://input'), true);

    if (!isset($data['descripcion']) || !isset($data['precio'])) {
        throw new Exception('Faltan datos requeridos');
    }

    $descripcion = trim($data['descripcion']);
    $precio = floatval($data['precio']);

    if (empty($descripcion)) {
        throw new Exception('La descripción no puede estar vacía');
    }

    if ($precio <= 0) {
        throw new Exception('El precio debe ser mayor a 0');
    }

    // Insertar en base de datos
    $sql = "INSERT INTO ventas_especiales (fecha_y_hora, descripcion, precio, sucursal_id) 
            VALUES (NOW(), ?, ?, ?)";
    
    $stmt = $pdo->prepare($sql);
    $stmt->execute([$descripcion, $precio, $sucursal_id]);
    $venta_id = $pdo->lastInsertId();

    // DISPARAR EVENTO SSE
    try {
        require_once '../sync/disparar_evento.php';
        registrar_evento_sync($pdo, 'NUEVA_VENTA', null, ['venta_especial_id' => $venta_id, 'total' => $precio]);
    } catch (Exception $e) {
        error_log("Error SSE Venta Especial: " . $e->getMessage());
    }

    echo json_encode([
        'success' => true,
        'message' => 'Venta especial registrada correctamente',
        'id' => $venta_id
    ]);

} catch (Exception $e) {
    http_response_code(400); // Bad Request
    echo json_encode([
        'success' => false,
        'error' => $e->getMessage()
    ]);
}
