dbo.login_info_hoy

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

Used By

No items found