dbo.LN_indicadores_cliente_servicio

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

3
Name Data Type Length Description
@accion varchar 50
@p_cliente int 4
@p_servicio_contratado int 4

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO

CREATE OR ALTER PROCEDURE dbo.LN_indicadores_cliente_servicio 
 @accion  varchar(50),
 @p_cliente int,
 @p_servicio_contratado int = 47
AS
BEGIN

 SET NOCOUNT ON;

 IF (@accion = 'INDICADORES_CLIENTE_SERVICIO') BEGIN

 --SELECT DATA.* FROM (
 SELECT DATA.indicador, DATA.clave_indicador, DATA.familia FROM (
 SELECT distinct LN_productos.producto_id, LN_productos.producto,
     ln_indicadores.indicador, LN_indicadores.nombre_indicador, LN_indicadores.etiqueta as etiqueta_indicador, LN_indicadores.clave_indicador, 
     show_panel = 
      CASE 
      WHEN ISNULL(LN_productos.suscribe_indicadores, 0) > 0 THEN iif(SUSC.indicador IS NOT NULL, 1, 0)
      ELSE 1 END, 
      ln_familias.familia
   FROM LN_productos 
   INNER JOIN LN_cliente_productos ON LN_productos.producto = LN_cliente_productos.producto
   INNER JOIN LN_familia_productos ON LN_cliente_productos.producto = LN_familia_productos.producto
   INNER JOIN LN_familias ON (LN_familia_productos.familia = LN_familias.familia
          AND LN_cliente_productos.cliente = LN_familias.cliente)

   INNER join LN_indicadores ON LN_productos.producto = LN_indicadores.producto

   LEFT OUTER JOIN (SELECT cliente, indicador FROM LN_cliente_indicadores
       WHERE cliente = @p_cliente) SUSC
    ON (LN_cliente_productos.cliente = SUSC.cliente AND LN_indicadores.indicador = SUSC.indicador)


   LEFT OUTER JOIN country ON LN_productos.country_code = country.country_code
   WHERE LN_cliente_productos.cliente = @p_cliente
   AND LN_productos.visible = 1
   AND LN_cliente_productos.activo = 1
   AND LN_familia_productos.activo = 1
   AND LN_familias.visible = 1 AND LN_familias.uso_familia != 'I'
   AND ISNULL(LN_familias.subfamilia, 0) = 0
   AND LN_indicadores.visible = 1
   and LN_productos.servicio_contratado in (0, @p_servicio_contratado)    
   ) DATA

  WHERE DATA.show_panel = 1

 END 


 /*
 
  IF (@accion = 'INDICADORES_FAMILIA_SERVICIO') BEGIN
  SELECT DATA.* FROM (
  SELECT distinct LN_productos.producto_id, LN_productos.producto,
     ln_indicadores.indicador, LN_indicadores.nombre_indicador, LN_indicadores.etiqueta as etiqueta_indicador, LN_indicadores.clave_indicador, 
     show_panel = 
  CASE 
  WHEN ISNULL(LN_productos.suscribe_indicadores, 0) > 0 THEN iif(SUSC.indicador IS NOT NULL, 1, 0)
  ELSE 1 END
  FROM LN_productos 
  INNER JOIN LN_cliente_productos ON LN_productos.producto = LN_cliente_productos.producto
  INNER JOIN LN_familia_productos ON LN_cliente_productos.producto = LN_familia_productos.producto
  INNER JOIN LN_familias ON (LN_familia_productos.familia = LN_familias.familia
  AND LN_cliente_productos.cliente = LN_familias.cliente)
 
  INNER join LN_indicadores ON LN_productos.producto = LN_indicadores.producto
 
  LEFT OUTER JOIN (SELECT cliente, indicador FROM LN_cliente_indicadores
  WHERE cliente = @p_cliente) SUSC
  ON (LN_cliente_productos.cliente = SUSC.cliente AND LN_indicadores.indicador = SUSC.indicador)
 
 
  LEFT OUTER JOIN country ON LN_productos.country_code = country.country_code
  WHERE LN_cliente_productos.cliente = @p_cliente
  AND LN_productos.visible = 1
  AND LN_cliente_productos.activo = 1
  AND LN_familia_productos.activo = 1
  AND LN_familias.visible = 1 AND LN_familias.uso_familia != 'I'
  AND ISNULL(LN_familias.subfamilia, 0) = 0
  AND LN_indicadores.visible = 1
  AND LN_familias.familia = @p_familia
  and LN_productos.servicio_contratado in (0, @p_servicio_contratado) 
  ) DATA
 
  WHERE DATA.show_panel = 1
 
  END 
  */


END 
GO