-- Query para revisar roles y permisos de un usuario
-- Reemplaza 'TU_USUARIO' con el login del usuario que estás probando

SELECT 
    u.id_usua AS 'Login',
    u.no_nombre AS 'Nombre',
    u.us_tipo AS 'Tipo Usuario',
    CASE 
        WHEN u.us_tipo IN (3, 9) THEN 'SÍ (us_tipo = ' || u.us_tipo || ')'
        ELSE 'NO'
    END AS 'Solo Tiempo Real',
    CASE 
        WHEN u.us_tipo IN (4, 6, 10) THEN 'SÍ (us_tipo = ' || u.us_tipo || ')'
        ELSE 'NO'
    END AS 'Solo Gestión',
    CASE 
        WHEN u.us_tipo IN (11, 12) THEN 'SÍ (us_tipo = ' || u.us_tipo || ')'
        ELSE 'NO'
    END AS 'Delivery',
    u.id_emp AS 'ID Empresa',
    u.id_distri AS 'ID Distribuidor',
    e.no_descripcion AS 'Nombre Empresa',
    CASE 
        WHEN u.us_tipo IN (3, 9) THEN 'SOLO TIEMPO REAL - Solo monitoreo'
        WHEN u.us_tipo IN (4, 6, 10) THEN 'SOLO GESTIÓN - Sin administrador'
        WHEN u.us_tipo IN (11, 12) THEN 'DELIVERY - Solo distribución'
        WHEN u.us_tipo = 1 THEN 'ADMINISTRADOR - Todos los permisos'
        WHEN u.us_tipo = 0 THEN 'USUARIO NORMAL - Permisos limitados'
        WHEN u.us_tipo = 2 THEN 'DISTRIBUIDOR'
        WHEN u.us_tipo = 5 THEN 'DISTRIBUIDOR (tipo 5)'
        WHEN u.us_tipo = 8 THEN 'USUARIO ESPECIAL (tipo 8)'
        ELSE CONCAT('TIPO ESPECIAL: ', u.us_tipo)
    END AS 'Rol Detectado',
    CASE 
        WHEN u.us_tipo IN (3, 9) THEN 'operaciones.osm_tiempo_real, operaciones.monitoreo_tiempo_real'
        WHEN u.us_tipo IN (4, 6, 10) THEN 'Operaciones limitadas, Mantenimiento limitado, Panel Monitor, Canbus completo, Distribución, Reportes limitados (SIN Administrador)'
        WHEN u.us_tipo IN (11, 12) THEN 'distribucion.panel_delivery, distribucion.importar_excel, distribucion.reporte_por_dia, panel.distribucion'
        WHEN u.us_tipo = 1 THEN 'TODOS LOS PERMISOS'
        WHEN u.us_tipo = 0 THEN 'Operaciones limitadas, Mantenimiento limitado, Panel Monitor, Canbus, Distribución, Reportes limitados (SIN Administrador)'
        ELSE 'Ver código de permisos.php para tipo específico'
    END AS 'Permisos Esperados'
FROM usuario u
LEFT JOIN empresa e ON u.id_emp = e.id_emp
WHERE u.id_usua = 'jorgep';  -- Usuario: jorgep

-- Query adicional: Ver todos los usuarios con sus roles
SELECT 
    id_usua AS 'Login',
    no_nombre AS 'Nombre',
    us_tipo AS 'Tipo',
    CASE WHEN us_tipo IN (3, 9) THEN 'SÍ' ELSE 'NO' END AS 'TR',
    CASE WHEN us_tipo IN (4, 6, 10) THEN 'SÍ' ELSE 'NO' END AS 'GT',
    CASE WHEN us_tipo IN (11, 12) THEN 'SÍ' ELSE 'NO' END AS 'DL',
    id_emp AS 'Empresa'
FROM usuario
WHERE id_emp != '371'
ORDER BY us_tipo, id_usua
LIMIT 50;
