CREATE TABLE preferencias_catalogos_usuario ( id_preferencia INT IDENTITY(1,1) NOT NULL, id_usuario INT NOT NULL, locaciones BIT DEFAULT 0, vinculacion BIT DEFAULT 0, transportistas BIT DEFAULT 0, transportes BIT DEFAULT 0, choferes BIT DEFAULT 0, proveedores BIT DEFAULT 0, productos_frecuentes BIT DEFAULT 0, solicitudes_importacion BIT DEFAULT 0, expediente_electronico BIT DEFAULT 0, configuracion BIT DEFAULT 0, cerrar_sesion BIT DEFAULT 0, FOREIGN KEY (id_usuario) REFERENCES usuarios_sistema(id_usuario) ); ALTER TABLE usuarios_sistema ADD [preferencias_catalogos] BIT DEFAULT 1; CREATE TABLE tipos_catalogos ( id INT PRIMARY KEY IDENTITY, tipo_usuario VARCHAR(20) NOT NULL, nombre VARCHAR(255) NOT NULL, descripcion VARCHAR(500) NULL, color VARCHAR(20) NOT NULL, ruta VARCHAR(100) NOT NULL, accion VARCAHR(50) NOT NULL ); INSERT INTO tipos_catalogos (tipo_usuario, nombre, descripcion, color, ruta, accion) VALUES ('importador', 'Locaciones', 'Visualiza las locaciones registradas.', 'lime', '/IMPORTADORES/importadores/lista', 'Ver locaciones'), ('importador', 'Vinculación', 'Visualiza o establece nuevas vinculaciones con agencias aduanales.', 'teal', '/IMPORTADORES/viculaciones/vinculacionesUsuario', 'Ver vinculaciones'), ('importador', 'Transportistas', 'Agrega o consulta los choferes que colaboran contigo.', 'success', '/IMPORTADORES/transportistas/lista', 'Ver transportistas'), ('importador', 'Transportes', 'Gestiona y carga tus unidades de transporte.', 'info', '/IMPORTADORES/transportes/lista', 'Ver transportes'), ('importador', 'Choferes', 'Gestiona y carga a tus choferes.', 'cyan', '/IMPORTADORES/choferes/lista', 'Ver choferes'), ('importador', 'Proveedores', 'Agrega tus proveedores.', 'primary', '/IMPORTADORES/proveedores/crear', 'Nuevo proveedor'), ('importador', 'Productos frecuentes', 'Agrega productos frecuentes de tu interez.', 'violet', '/IMPORTADORES/productos_frecuentes/alta', 'Nuevo producto'), ('importador', 'Solicitudes importación', 'Inicia nuevas solicitudes de pedimentos.', 'indigo', '/IMPORTADORES/solicitud_importacion/crear', 'Nueva solicitud'), ('importador', 'Expediente electrónico', 'Revisa el expediente electrónico para tus solicitudes.', 'orange', '/IMPORTADORES/expediente/index', 'Ver expediente'), ('importador', 'Configuración', 'Administra los datos de tu empresa y preferencias.', 'warning', '/IMPORTADORES/configuracion', 'Ir a configuración'), ('importador', 'Cerrar sesión', 'Salir del sistema de forma segura.', 'danger', '/IMPORTADORES/sistemas/logout', 'Cerrar sesión'); UPDATE usuarios_sistema SET preferencias_catalogos = 1 WHERE preferencias_catalogos IS NULL OR preferencias_catalogos = 0; -- 2. Insertar en preferencias_catalogos_usuario solo para los que aún no tienen registro INSERT INTO preferencias_catalogos_usuario ( id_usuario, locaciones, vinculacion, transportistas, transportes, choferes, proveedores, productos_frecuentes, solicitudes_importacion, expediente_electronico, configuracion, cerrar_sesion ) SELECT u.id_usuario, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 FROM usuarios_sistema u WHERE u.tipo_usuario = 'importador' AND NOT EXISTS ( SELECT 1 FROM preferencias_catalogos_usuario p WHERE p.id_usuario = u.id_usuario );