Atajos de catálogos personalizables

This commit is contained in:
2025-07-03 11:45:26 -06:00
parent 495f908a25
commit 78a48ee596
11 changed files with 1626 additions and 751 deletions

61
catalogos.txt Normal file
View File

@@ -0,0 +1,61 @@
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
);