<?php
require_once "../Utilidades/Conexion_BD.php";
require_once "../Utilidades/Auditoria.php";

session_start();

if (isset($_SESSION['usuario'])) {

    if (isset($_GET['IPV']) && !empty($_GET['IPV'])) {

        $placa_vehiculo = trim($_GET['IPV']);

        $conn = new Conexion_BD();

        // --- OBTENER EL ID DEL VEHÍCULO ---
        $sqlId = "SELECT id FROM vehiculos WHERE placa = ?";
        $stmtId = $conn->prepare($sqlId);
        $stmtId->bind_param("s", $placa_vehiculo);
        $stmtId->execute();
        $resultId = $stmtId->get_result();
        $idVehiculo = 0;

        if ($row = $resultId->fetch_assoc()) {
            $idVehiculo = $row['id'];
        }
        $stmtId->close();

        if ($idVehiculo > 0) {
            // --- VERIFICAR SI TIENE REGISTROS EN control_combustible ---
            $sqlCheck = "SELECT COUNT(*) as total FROM control_combustible WHERE vehiculo_id = ?";
            $stmtCheck = $conn->prepare($sqlCheck);
            $stmtCheck->bind_param("i", $idVehiculo);
            $stmtCheck->execute();
            $resultCheck = $stmtCheck->get_result();
            $rowCheck = $resultCheck->fetch_assoc();
            $totalRegistros = $rowCheck['total'];
            $stmtCheck->close();

            if ($totalRegistros > 0) {
                $_SESSION['error_eliminar_vehiculo'] = "El vehículo con placa $placa_vehiculo no puede ser eliminado porque tiene registros en abastecimiento.";
                header("Location: ../../Vista/Administrador/Adm_Gestion_Vehicular.php");
                exit();
            }

            // --- ELIMINAR VEHÍCULO ---
            $sql = "DELETE FROM vehiculos WHERE placa = ?";
            $stmt = $conn->prepare($sql);

            if ($stmt) {
                $stmt->bind_param("s", $placa_vehiculo);
                $stmt->execute();

                if ($stmt->affected_rows > 0) {
                    // === AUDITORÍA ===
                    $id_usuario = $_SESSION['id_usuario'] ?? 0;
                    $nombre_usuario = $_SESSION['usuario'] ?? 'sistema';
                    $tipo_usuario = $_SESSION['rol'] ?? '';
                    $descripcion = "Se eliminó el vehículo con placa: $placa_vehiculo";

                    registrarAuditoria(
                        'vehiculos',
                        'eliminar',
                        $descripcion,
                        $id_usuario,
                        $nombre_usuario,
                        'vehiculos',
                        $idVehiculo,
                        $tipo_usuario
                    );
                    // ===================

                    $_SESSION['datoplacavehiculo'] = $placa_vehiculo;
                    header("Location: ../../Vista/Administrador/Adm_Gestion_Vehicular.php");
                    exit();
                } else {
                    echo "La eliminación no afectó a ninguna fila (posiblemente el vehículo no existía)";
                }

                $stmt->close();
            } else {
                echo "Error al preparar la consulta: " . $conn->getConnection()->error;
            }
        } else {
            echo "No se encontró el vehículo con placa: $placa_vehiculo";
        }

        $conn->closeConnection();

    } else {
        header("Location: ../../Vista/Administrador/Adm_Gestion_Vehicular.php");
        exit();
    }

} else {
    header("Location: ../../Controlador/Utilidades/Sesion_Destroy.php");
    exit();
}
?>
