Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
2| Name | Data Type | Length | Description |
|---|---|---|---|
| @accion | varchar | 50 | |
| @user_id | int | 4 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
CREATE OR ALTER PROCEDURE dbo.login_info_hoy
@accion varchar(50),
@user_id int
AS
BEGIN
declare @cliente int = null
set @cliente = (select top 1 cliente
from usuarios_productos
where usuarios_productos.user_id = @user_id
and usuarios_productos.activo = 1 )
if(@accion = 'obtener_productos_cliente')
begin
select distinct
cp.cliente,cp.id_producto,
cp.fecha_desde,cp.fecha_hasta,cp.tipo_paquete,
c.acceso_ci
from clientes_productos cp
inner join clientes c on c.cliente = cp.cliente
/* 29/07/2024: Si el cliente está unificado, veo que el cliente padre esté activo y tenga el producto activo */
left join clientes_union u on u.cliente = c.cliente
left join clientes cu on cu.cliente = u.cliente_union
left join clientes_productos cpu on cpu.cliente = u.cliente_union and cpu.id_producto = cp.id_producto
/**/
where cp.cliente = @cliente
and cp.activo = 1
and c.estado_cliente = 'A'
and cp.id_producto in (select producto from productos where login_interactivo = 1)
/* 29/07/2024: Si el cliente está unificado, veo que el cliente padre esté activo y tenga el producto activo */
and iif(u.cliente_union is not null, iif((cu.estado_cliente = 'A' and cpu.activo = 1),1,0) , 1) = 1
/**/
end
if(@accion = 'obtener_productos_usuario')
begin
select distinct
usuarios_productos.cliente,
usuarios_productos.user_id,
usuarios_productos.id_producto,
usuarios_productos.bloquear_consumo usuario_bloquea_consumo,
usuarios_productos.activo,
clientes_productos.limite_consumo,
clientes_productos.fecha_desde,
clientes_productos.fecha_hasta,
clientes_productos.tipo_paquete,
clientes_productos.bloquear_consumo cliente_bloquea_consumo,
productos.url,
productos.login_interactivo,
productos.nombre_visible as nombre_producto,
productos.icono,
productos.url_method,
productos.orden,
-- users.idioma as userLanguage
idiomas.codigo_iso as userLanguage
from usuarios_productos
inner join productos on productos.producto = usuarios_productos.id_producto
inner join users on usuarios_productos.user_id=users.user_id
left join idiomas on users.idioma = idiomas.idioma
inner join
clientes_productos on clientes_productos.cliente = usuarios_productos.cliente
and clientes_productos.id_producto = usuarios_productos.id_producto
/* 29/07/2024: Si el cliente está unificado, veo que el cliente padre esté activo y tenga el producto activo */
left join clientes_union u on u.cliente = clientes_productos.cliente
left join clientes cu on cu.cliente = u.cliente_union
left join clientes_productos cpu on cpu.cliente = u.cliente_union and cpu.id_producto = clientes_productos.id_producto
/**/
where
usuarios_productos.user_id = @user_id
and usuarios_productos.activo = 1
and estado_producto = 'A'
and login_interactivo = 1
/* 29/07/2024: Si el cliente está unificado, veo que el cliente padre esté activo y tenga el producto activo */
and iif(u.cliente_union is not null, iif((cu.estado_cliente = 'A' and cpu.activo = 1),1,0) , 1) = 1
/**/
order by orden asc
end
END
/*
select * from productos where producto = 10
update productos set url = '/iv/dashboard' where producto = 10
*/
GO
GO
CREATE OR ALTER PROCEDURE dbo.login_info_hoy
@accion varchar(50),
@user_id int
AS
BEGIN
declare @cliente int = null
set @cliente = (select top 1 cliente
from usuarios_productos
where usuarios_productos.user_id = @user_id
and usuarios_productos.activo = 1 )
if(@accion = 'obtener_productos_cliente')
begin
select distinct
cp.cliente,cp.id_producto,
cp.fecha_desde,cp.fecha_hasta,cp.tipo_paquete,
c.acceso_ci
from clientes_productos cp
inner join clientes c on c.cliente = cp.cliente
/* 29/07/2024: Si el cliente está unificado, veo que el cliente padre esté activo y tenga el producto activo */
left join clientes_union u on u.cliente = c.cliente
left join clientes cu on cu.cliente = u.cliente_union
left join clientes_productos cpu on cpu.cliente = u.cliente_union and cpu.id_producto = cp.id_producto
/**/
where cp.cliente = @cliente
and cp.activo = 1
and c.estado_cliente = 'A'
and cp.id_producto in (select producto from productos where login_interactivo = 1)
/* 29/07/2024: Si el cliente está unificado, veo que el cliente padre esté activo y tenga el producto activo */
and iif(u.cliente_union is not null, iif((cu.estado_cliente = 'A' and cpu.activo = 1),1,0) , 1) = 1
/**/
end
if(@accion = 'obtener_productos_usuario')
begin
select distinct
usuarios_productos.cliente,
usuarios_productos.user_id,
usuarios_productos.id_producto,
usuarios_productos.bloquear_consumo usuario_bloquea_consumo,
usuarios_productos.activo,
clientes_productos.limite_consumo,
clientes_productos.fecha_desde,
clientes_productos.fecha_hasta,
clientes_productos.tipo_paquete,
clientes_productos.bloquear_consumo cliente_bloquea_consumo,
productos.url,
productos.login_interactivo,
productos.nombre_visible as nombre_producto,
productos.icono,
productos.url_method,
productos.orden,
-- users.idioma as userLanguage
idiomas.codigo_iso as userLanguage
from usuarios_productos
inner join productos on productos.producto = usuarios_productos.id_producto
inner join users on usuarios_productos.user_id=users.user_id
left join idiomas on users.idioma = idiomas.idioma
inner join
clientes_productos on clientes_productos.cliente = usuarios_productos.cliente
and clientes_productos.id_producto = usuarios_productos.id_producto
/* 29/07/2024: Si el cliente está unificado, veo que el cliente padre esté activo y tenga el producto activo */
left join clientes_union u on u.cliente = clientes_productos.cliente
left join clientes cu on cu.cliente = u.cliente_union
left join clientes_productos cpu on cpu.cliente = u.cliente_union and cpu.id_producto = clientes_productos.id_producto
/**/
where
usuarios_productos.user_id = @user_id
and usuarios_productos.activo = 1
and estado_producto = 'A'
and login_interactivo = 1
/* 29/07/2024: Si el cliente está unificado, veo que el cliente padre esté activo y tenga el producto activo */
and iif(u.cliente_union is not null, iif((cu.estado_cliente = 'A' and cpu.activo = 1),1,0) , 1) = 1
/**/
order by orden asc
end
END
/*
select * from productos where producto = 10
update productos set url = '/iv/dashboard' where producto = 10
*/
GO
Depends On
7Used By
No items found