<?php
// ../../Controlador/Ctrl_Administrador/MySQL_Borrar_Abastecimiento_Galonera.php
session_start();
require_once '../Utilidades/Conexion_BD.php';
require_once '../Utilidades/Auditoria.php';

// Solo por GET con ?IAG=ID (tal como lo usas en la vista)
if (!isset($_GET['IAG']) || !ctype_digit($_GET['IAG'])) {
    header("Location: ../../Vista/Administrador/Adm_Gestion_Abastecimientos.php");
    exit;
}

$id = (int)$_GET['IAG'];

$conn      = new Conexion_BD();
$conexion  = $conn->getConnection();

// Manejo de errores de mysqli con excepciones
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

try {
    // Borra el registro de control_abastecimiento_galonera
    $sql  = "DELETE FROM control_abastecimiento_galonera WHERE id = ?";
    $stmt = $conexion->prepare($sql);
    if (!$stmt) {
        throw new Exception("Error al preparar la consulta: " . $conexion->error);
    }

    $stmt->bind_param("i", $id);
    $stmt->execute();

    if ($stmt->affected_rows > 0) {
        // ======= AUDITORÍA =======
        $id_usuario     = $_SESSION['id_usuario'] ?? 0;
        $nombre_usuario = $_SESSION['nombre'] ?? ($_SESSION['usuario'] ?? 'sistema');
        $tipo_usuario   = $_SESSION['rol'] ?? '';
        $descripcion    = "Se eliminó el abastecimiento de GALONERA con ID: $id";

        registrarAuditoria(
            'control_abastecimiento_galonera',  // módulo
            'eliminar',                         // acción
            $descripcion,                       // descripción
            $id_usuario,                        // id_usuario
            $nombre_usuario,                    // nombre_usuario
            'control_abastecimiento_galonera',  // tabla_afectada
            $id,                                // id_registro_afectado
            $tipo_usuario                       // tipo_usuario
        );
        // ==========================

        // Guarda el ID eliminado en sesión para la notificación (clave propia de galonera)
        $_SESSION['abastecimiento_id_galonera'] = $id;
    } else {
        // Si no afectó filas, podría no existir: opcionalmente setear un mensaje
        $_SESSION['error_abastecimiento_galonera'] = "No se encontró el registro a eliminar.";
    }
    $stmt->close();

} catch (Throwable $e) {
    $_SESSION['error_abastecimiento_galonera'] = "No se pudo eliminar el registro: " . $e->getMessage();
} finally {
    $conn->closeConnection();
}

// Vuelve a la gestión
header("Location: ../../Vista/Administrador/Adm_Gestion_Abastecimientos.php");
exit;
