Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
12| Name | Data Type | Length | Description |
|---|---|---|---|
| @accion | varchar | 50 | |
| @p_cliente | int | 4 | |
| @p_country_code | varchar | 2 | |
| @p_familia | int | 4 | |
| @p_contraparte | int | 4 | |
| @p_clave_indicador | varchar | 50 | |
| @p_score | float | 8 | |
| @p_valor_numerico | float | 8 | |
| @p_valor_texto | varchar | 100 | |
| @p_valor_memo | text | -1 | |
| @p_user_id | int | 4 | |
| @p_visible | tinyint | 1 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
/*
CAMBIADO
exec ln_dashboard_cliente 'PRODUCTOS_GRILLA',1750864950
*/
-- Description: <Description,,>
-- =============================================
/*
exec LN_dashboard_cliente_fidelitasprod 'VALORES_GRILLA_EXT', 42014167, null,null, null
exec LN_dashboard_cliente_fidelitasprod 'PRODUCTOS_INDICADORES', 5546348, null,null, null
exec LN_dashboard_cliente_fidelitasprod 'VALORES_GRILLA_EXT', 5546348, null,null, null
exec LN_dashboard_cliente_fidelitasprod 'VALORES_GRILLA_EXT', 2254875, null,null, null
*/
CREATE OR ALTER PROCEDURE dbo.LN_dashboard_cliente_fidelitasprod_DEV
-- Add the parameters for the stored procedure here
@accion varchar(50),
@p_cliente int,
@p_country_code varchar(2),
@p_familia int,
@p_contraparte int,
/* Este parámetro opcional para obtener por clave un indicador específico de una contraparte
cuando @accion = 'indicadores_contraparte' */
@p_clave_indicador varchar(50) = NULL,
/* Parámetro para asentar el score manual o cuando se consulta mediante API */
@p_score float = NULL,
/* Estos tres parámetros para asentar indicadores varios en tabla LN_contraparte_indicadores */
@p_valor_numerico float = null,
@p_valor_texto varchar(100) = null,
@p_valor_memo text = null,
@p_user_id int = null,
@p_visible tinyint = 1
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
DECLARE @color_fondo varchar(10), @color_texto varchar(10)
IF (@accion = 'VALORES_GRILLA_EXT') BEGIN
SELECT LOWER(identificadores.country_code) AS 'PAIS', padrones.nombre_persona AS 'RAZON_SOCIAL', padrones.identificacion,
LN_familias.nombre_familia AS 'FAMILIA', LN_contrapartes.contraparte,
LN_indicadores.clave_indicador, LN_productos.producto_id,
iif(LN_productos.producto_id = 'balances',
CASE
WHEN LN_indicadores.clave_indicador = 'VALORACION_BAL' THEN
CASE
WHEN LN_contraparte_indicadores.valor_texto = 'P' THEN '1'
WHEN LN_contraparte_indicadores.valor_texto = 'U' THEN '2'
WHEN LN_contraparte_indicadores.valor_texto = 'E' THEN '3'
WHEN LN_contraparte_indicadores.valor_texto = 'D' THEN '4'
WHEN LN_contraparte_indicadores.valor_texto = 'N' THEN '5'
END
WHEN LN_indicadores.clave_indicador = 'SCORE_BAL' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, LTRIM(format(LN_contraparte_indicadores.valor_numerico, '##0')), NULL)
WHEN LN_indicadores.clave_indicador = 'FECHA_BALANCE' THEN iif(LN_contraparte_indicadores.valor_fecha IS NOT NULL, substring(replace(convert(varchar(7), LN_contraparte_indicadores.valor_fecha, 121),'-',''),3,10), '')
WHEN (LN_indicadores.clave_indicador = 'BAL_ACTIVO_CORRIENTE'
OR LN_indicadores.clave_indicador = 'BAL_ACTIVO_NO_CORRIENTE'
OR LN_indicadores.clave_indicador = 'BAL_ACTIVO_TOTAL'
OR LN_indicadores.clave_indicador = 'BAL_PASIVO_CORRIENTE'
OR LN_indicadores.clave_indicador = 'BAL_PASIVO_NO_CORRIENTE'
OR LN_indicadores.clave_indicador = 'BAL_PASIVO_TOTAL'
OR LN_indicadores.clave_indicador = 'BAL_PATRIMONIO_NETO'
OR LN_indicadores.clave_indicador = 'BAL_VENTAS'
OR LN_indicadores.clave_indicador = 'BAL_RESULTADO'
OR LN_indicadores.clave_indicador = 'BAL_CAPITAL_TRABAJO'
OR LN_indicadores.clave_indicador = 'BAL_EBITDA') THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, LTRIM(format(ROUND(LN_contraparte_indicadores.valor_numerico/1000, 0), '#############0')), NULL)
ELSE iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, LTRIM(format(LN_contraparte_indicadores.valor_numerico, '################0.00')), NULL)
/*WHEN LN_indicadores.clave_indicador = 'BAL_ACTIVO_CORRIENTE' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_ACTIVO_NO_CORRIENTE' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_ACTIVO_TOTAL' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_PASIVO_CORRIENTE' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_PASIVO_NO_CORRIENTE' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_PASIVO_TOTAL' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_PATRIMONIO_NETO' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_VENTAS' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_RESULTADO' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_SOLVENCIA_PATRIMONIAL' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_ENDEUDAMIENTO_TOTAL' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_ENDEUDAMIENTO_CORRIENTE' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_CAPITAL_TRABAJO' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_CAPITAL_CORRIENTE_ACTIVO' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_LIQUIDEZ_CORRIENTE' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_LIQUIDEZ_SECA' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_ROTACION_CREDITOS' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_ROTACION_INVENTARIOS' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_ROTACION_ACTIVOS' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_ROTACION_ACTIVO_FIJO' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_PRESTAMOS_PATRIMONIO_NETO' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_MESES_DEUDA' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_DIAS_DEUDA' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_MARGEN_BRUTO' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_MARGEN_NETO' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_MARGEN_OPERATIVO' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_MARGEN_SOBRE_PATRIMONIO' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_MARGEN_SOBRE_ACTIVO' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_EBITDA' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_EBITDA_PASIVO' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_EBITDA_VENTAS' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_EBITDA_INTERESES' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_GASTOS_FINANCIEROS_VENTAS' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_GASTOS_COMERCIALES_VENTAS' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_GASTOS_ADMINISTRACION_VENTAS' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_GASTOS_TOTALES_VENTAS' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_INVERSIONES_BIENES_USO' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_VIDA_RESTANTE_BIENES_USO' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_ROTACION_PASIVO_CORRIENTE' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
*/
END,
/* else: no balances */
iif(LN_indicadores.clave_indicador = 'NIVEL_RIESGO',
CASE
WHEN LN_contraparte_indicadores.valor_texto = 'BR' THEN '1'
WHEN LN_contraparte_indicadores.valor_texto = 'SR' THEN '2'
WHEN LN_contraparte_indicadores.valor_texto = 'MR' THEN '3'
WHEN LN_contraparte_indicadores.valor_texto = 'AR' THEN '4'
END,
iif (LN_indicadores.clave_indicador = 'FIDECHECK',
CASE
WHEN LN_contraparte_indicadores.valor_texto = 'N' THEN '1'
WHEN LN_contraparte_indicadores.valor_texto = 'R' THEN '2'
WHEN LN_contraparte_indicadores.valor_texto = 'P' THEN '3'
END,
iif (LN_indicadores.clave_indicador = 'CTRL_CALIDAD' OR LN_indicadores.clave_indicador = 'CTRL_ETICO' OR LN_indicadores.clave_indicador = 'CTRL_COMERCIAL' OR LN_indicadores.clave_indicador = 'HOMOLOG',
CASE
WHEN LN_contraparte_indicadores.valor_numerico = 0 THEN '1'
WHEN LN_contraparte_indicadores.valor_numerico = 1 THEN '2'
END,
iif (LN_indicadores.clave_indicador = 'LC_TEND_BALANCE' OR LN_indicadores.clave_indicador = 'LC_ESCENARIOS_TENDENCIA' OR LN_indicadores.clave_indicador = 'LC_SITUACION_TENDENCIA',
CASE
WHEN LN_contraparte_indicadores.valor_texto = 'P' THEN '1'
WHEN LN_contraparte_indicadores.valor_texto = 'U' THEN '2'
WHEN LN_contraparte_indicadores.valor_texto = 'E' THEN '3'
WHEN LN_contraparte_indicadores.valor_texto = 'D' THEN '4'
WHEN LN_contraparte_indicadores.valor_texto = 'N' THEN '5'
END,
case
when LN_indicadores.tipo_dato = 'S' then LN_contraparte_indicadores.valor_texto
when LN_indicadores.tipo_dato = 'M' then LN_contraparte_indicadores.valor_memo
when LN_indicadores.tipo_dato = 'I' then iif(LN_contraparte_indicadores.valor_numerico is not null,
/*REPLACE(replace(convert(varchar,convert(Money, ROUND(LN_contraparte_indicadores.valor_numerico,0)),1),'.00',''), ',', '.')*/
LTRIM(format(LN_contraparte_indicadores.valor_numerico, '############0')),
null)
when LN_indicadores.tipo_dato = 'F' then iif(LN_contraparte_indicadores.valor_numerico is not null,
/*REPLACE(replace(convert(varchar,convert(Money, ROUND(LN_contraparte_indicadores.valor_numerico,0)),1),'.00',''), ',', '.'), */
LTRIM(format(LN_contraparte_indicadores.valor_numerico, '############0.00')),
null)
/*when LN_indicadores.tipo_dato = 'D' then iif(LN_contraparte_indicadores.valor_fecha is not null, right('00'+cast(month(LN_contraparte_indicadores.valor_fecha) as varchar),2) + '-' + cast(right(year(LN_contraparte_indicadores.valor_fecha),2) as varchar), NULL) --convert(varchar, LN_contraparte_indicadores.valor_fecha, 103)*/
/*when LN_indicadores.tipo_dato = 'D' then iif(LN_contraparte_indicadores.valor_fecha is not null, convert(varchar(10), LN_contraparte_indicadores.valor_fecha, 101), NULL) */
when LN_indicadores.tipo_dato = 'D' then iif(LN_contraparte_indicadores.valor_fecha is not null, substring(replace(convert(varchar(7), LN_contraparte_indicadores.valor_fecha, 121),'-',''),3,10), '')
when LN_indicadores.tipo_dato = 'B' then iif(LN_contraparte_indicadores.valor_numerico > 0, 'SI', 'NO')
else null
end ))))) as valor,
/*iif(LN_productos.producto_id = 'balances',
iif(LN_indicadores.clave_indicador = 'VALORACION_BAL', NULL, 'SPACE'),
iif(LN_indicadores.tipo_dato = 'F' OR LN_indicadores.tipo_dato = 'I', 'POINT', NULL)
) as separator,
iif(LN_productos.producto_id = 'balances',
case
when (LN_indicadores.clave_indicador = 'BAL_ACTIVO_CORRIENTE' OR
LN_indicadores.clave_indicador = 'BAL_ACTIVO_NO_CORRIENTE' OR
LN_indicadores.clave_indicador = 'BAL_ACTIVO_TOTAL' OR
LN_indicadores.clave_indicador = 'BAL_PASIVO_CORRIENTE' OR
LN_indicadores.clave_indicador = 'BAL_PASIVO_NO_CORRIENTE' OR
LN_indicadores.clave_indicador = 'BAL_PATRIMONIO_NETO' OR
LN_indicadores.clave_indicador = 'BAL_VENTAS' OR
LN_indicadores.clave_indicador = 'BAL_RESULTADO' OR
LN_indicadores.clave_indicador = 'BAL_CAPITAL_TRABAJO' OR
LN_indicadores.clave_indicador = 'BAL_EBITDA') then 0
when LN_indicadores.clave_indicador = 'VALORACION_BAL' then NULL
else 0
end,
case
when LN_indicadores.tipo_dato = 'F' then 2
when LN_indicadores.tipo_dato = 'I' then 0
else NULL
end
) as decimals,*/
/** COLOR **/
CASE
WHEN (LN_indicadores.clave_indicador = 'DEP_ECON' OR LN_indicadores.clave_indicador = 'DEP_ECON_CALC') THEN
case
/*when LN_contraparte_indicadores.valor_numerico >= 81 then 'A72B2A'
when LN_contraparte_indicadores.valor_numerico >= 61 then 'd37123'
when LN_contraparte_indicadores.valor_numerico >= 41 then 'FFB81C'
when LN_contraparte_indicadores.valor_numerico >= 21 then 'cbc367'
when LN_contraparte_indicadores.valor_numerico >= 0 then '63b68c'*/
when LN_contraparte_indicadores.valor_numerico >= 70 then 'A72B2A'
when LN_contraparte_indicadores.valor_numerico >= 50 then 'FFB81C'
when LN_contraparte_indicadores.valor_numerico >= 0 then '63b68c'
else NULL
end
WHEN LN_indicadores.clave_indicador = 'NIVEL_RIESGO' THEN
case
when LN_contraparte_indicadores.valor_texto = 'AR' then 'A72B2A'
when LN_contraparte_indicadores.valor_texto = 'MR' then 'FFB81C'
when LN_contraparte_indicadores.valor_texto = 'SR' then 'E0E0E0'
when LN_contraparte_indicadores.valor_texto = 'BR' then '63b68c'
else NULL
end
WHEN LN_indicadores.clave_indicador = 'FIDECHECK' THEN
case
when LN_contraparte_indicadores.valor_texto = 'P' then 'A72B2A'
when LN_contraparte_indicadores.valor_texto = 'R' then 'FFB81C'
when LN_contraparte_indicadores.valor_texto = 'N' then '63b68c'
else NULL
end
WHEN (LN_indicadores.clave_indicador = 'CTRL_CALIDAD'
OR LN_indicadores.clave_indicador = 'CTRL_ETICO'
OR LN_indicadores.clave_indicador = 'CTRL_COMERCIAL'
OR LN_indicadores.clave_indicador = 'HOMOLOG') THEN
case
when (LN_contraparte_indicadores.valor_numerico = 1) then '63b68c'
when (LN_contraparte_indicadores.valor_numerico = 0) then 'A72B2A'
else null
end
WHEN (LN_indicadores.clave_indicador = 'EXCEPCION') THEN 'FFB81C'
WHEN (LN_indicadores.clave_indicador = 'VALORACION_BAL') THEN
case
when LN_contraparte_indicadores.valor_texto = 'P' then '63b68c'
when LN_contraparte_indicadores.valor_texto = 'U' then 'cbc367'
when LN_contraparte_indicadores.valor_texto = 'E' then 'FFB81C'
when LN_contraparte_indicadores.valor_texto = 'D' then 'd37123'
when LN_contraparte_indicadores.valor_texto = 'N' then 'A72B2A'
else null
end
WHEN (LN_indicadores.clave_indicador = 'SITUACION_CD') THEN
case
when LN_contraparte_indicadores.valor_numerico = 1 then '96CAB0'
when LN_contraparte_indicadores.valor_numerico = 2 then 'FFFFBA'
when LN_contraparte_indicadores.valor_numerico = 3 then 'FDC689'
when LN_contraparte_indicadores.valor_numerico = 4 then 'FD676E'
when LN_contraparte_indicadores.valor_numerico = 5 then 'C55B5B'
when LN_contraparte_indicadores.valor_numerico = 6 then 'C55B5B'
else null
end
WHEN (LN_indicadores.clave_indicador = 'LC_DIAS_VENTAS') THEN
case
when LN_contraparte_indicadores.valor_numerico >= 181 then 'A72B2A'
when LN_contraparte_indicadores.valor_numerico >= 121 then 'd37123'
when LN_contraparte_indicadores.valor_numerico >= 91 then 'FFB81C'
when LN_contraparte_indicadores.valor_numerico >= 61 then 'cbc367'
when LN_contraparte_indicadores.valor_numerico >= 0 then '63b68c'
else null
end
WHEN (LN_indicadores.clave_indicador = 'SCORE_FINAL') THEN
ISNULL( (select color_fondo from ln_cliente_nivel
where cliente = @p_cliente
and desde <= LN_contraparte_indicadores.valor_numerico
and hasta > LN_contraparte_indicadores.valor_numerico),
case
when LN_contraparte_indicadores.valor_numerico >= 81 then '63b68c'
when LN_contraparte_indicadores.valor_numerico >= 61 then 'cbc367'
when LN_contraparte_indicadores.valor_numerico >= 41 then 'FFB81C'
when LN_contraparte_indicadores.valor_numerico >= 21 then 'd37123'
when LN_contraparte_indicadores.valor_numerico >= 0 then 'A72B2A'
else NULL
end)
ELSE
case
when LN_contraparte_indicadores.valor_numerico >= 81 then '63b68c'
when LN_contraparte_indicadores.valor_numerico >= 61 then 'cbc367'
when LN_contraparte_indicadores.valor_numerico >= 41 then 'FFB81C'
when LN_contraparte_indicadores.valor_numerico >= 21 then 'd37123'
when LN_contraparte_indicadores.valor_numerico >= 0 then 'A72B2A'
else NULL
end
END AS color,
/** COLOR TEXTO **/
CASE
WHEN (LN_indicadores.clave_indicador = 'DEP_ECON' OR LN_indicadores.clave_indicador = 'DEP_ECON_CALC') THEN
case
when LN_contraparte_indicadores.valor_numerico >= 81 then 'FFFFFF'
else '000000'
end
WHEN LN_indicadores.clave_indicador = 'NIVEL_RIESGO' THEN
case
when LN_contraparte_indicadores.valor_texto = 'AR' then 'FFFFFF'
when LN_contraparte_indicadores.valor_texto = 'MR' then '000000'
when LN_contraparte_indicadores.valor_texto = 'SR' then '000000'
when LN_contraparte_indicadores.valor_texto = 'BR' then '000000'
else NULL
end
WHEN LN_indicadores.clave_indicador = 'FIDECHECK' THEN
case
when LN_contraparte_indicadores.valor_texto = 'P' then 'A72B2A'
when LN_contraparte_indicadores.valor_texto = 'R' then 'FFB81C'
when LN_contraparte_indicadores.valor_texto = 'N' then '63b68c'
else NULL
end
WHEN (LN_indicadores.clave_indicador = 'CTRL_CALIDAD' OR LN_indicadores.clave_indicador = 'CTRL_ETICO' OR LN_indicadores.clave_indicador = 'CTRL_COMERCIAL' OR LN_indicadores.clave_indicador = 'HOMOLOG') THEN
case
when (LN_contraparte_indicadores.valor_numerico = 0) then 'FFFFFF'
else '000000'
end
WHEN (LN_indicadores.clave_indicador = 'EXCEPCION') THEN '000000'
WHEN (LN_indicadores.clave_indicador = 'SITUACION_CD') THEN '000000'
WHEN (LN_indicadores.clave_indicador = 'SCORE_FINAL') THEN
ISNULL( (select color_texto from ln_cliente_nivel
where cliente = @p_cliente
and desde <= LN_contraparte_indicadores.valor_numerico
and hasta > LN_contraparte_indicadores.valor_numerico),
case
when LN_contraparte_indicadores.valor_numerico <= 20 then 'FFFFFF'
else '000000'
end)
ELSE
case
when LN_contraparte_indicadores.valor_numerico > 20 then '000000'
when LN_contraparte_indicadores.valor_numerico >= 0 then 'FFFFFF'
else null
end
END AS textcolor,
/** SVG **/
CASE
WHEN (LN_indicadores.clave_indicador = 'CTRL_ETICO' OR LN_indicadores.clave_indicador = 'CTRL_CALIDAD' OR LN_indicadores.clave_indicador = 'CTRL_COMERCIAL' OR LN_indicadores.clave_indicador = 'HOMOLOG' OR LN_indicadores.clave_indicador = 'NIVEL_RIESGO') THEN 'SQUARE'
WHEN (LN_indicadores.clave_indicador = 'SCORE_IC'
OR LN_indicadores.clave_indicador = 'SCORE_BAL'
OR LN_indicadores.clave_indicador = 'SCORE_DOC'
OR LN_indicadores.clave_indicador = 'CUMPL_DOC'
OR LN_indicadores.clave_indicador = 'SCORE_FINAL'
OR LN_indicadores.clave_indicador = 'SCORE_DOSSIER'
OR LN_indicadores.clave_indicador = 'SCORE_BR'
OR LN_indicadores.clave_indicador = 'DEP_ECON'
OR LN_indicadores.clave_indicador = 'DEP_ECON_CALC'
OR LN_indicadores.clave_indicador = 'LC_DIAS_VENTAS'
OR LN_indicadores.clave_indicador = 'SCORE_JUDICIAL'
OR LN_indicadores.clave_indicador = 'SCORE_FINAL') THEN 'PIPE'
WHEN (LN_indicadores.clave_indicador = 'VALORACION_BAL') THEN
case
when LN_contraparte_indicadores.valor_texto = 'P' then 'fas fa-arrow-up'
when LN_contraparte_indicadores.valor_texto = 'U' then 'fas fa-arrow-up r45r'
when LN_contraparte_indicadores.valor_texto = 'E' then 'fas fa-arrow-right'
when LN_contraparte_indicadores.valor_texto = 'D' then 'fas fa-arrow-down r45l'
when LN_contraparte_indicadores.valor_texto = 'N' then 'fas fa-arrow-down'
else NULL
end
WHEN (LN_indicadores.clave_indicador = 'FIDECHECK') THEN
iif(LN_contraparte_indicadores.valor_texto is NOT null, 'DOT', NULL)
WHEN (LN_indicadores.clave_indicador = 'EXCEPCION' OR LN_indicadores.clave_indicador = 'SITUACION_CD') THEN
case
when LN_contraparte_indicadores.valor_numerico >= 1 and LN_contraparte_indicadores.valor_numerico <= 6 then 'DOT'
else
NULL
end
ELSE NULL
END AS svg_data,
/** TEXT CAPTION **/
CASE
WHEN LN_indicadores.clave_indicador = 'VALORACION_BAL' THEN
case
when LN_contraparte_indicadores.valor_texto = 'P' then 'Positivo'
when LN_contraparte_indicadores.valor_texto = 'U' then 'Ascendente'
when LN_contraparte_indicadores.valor_texto = 'E' then 'Neutro'
when LN_contraparte_indicadores.valor_texto = 'D' then 'Descendente'
when LN_contraparte_indicadores.valor_texto = 'N' then 'Negativo'
else NULL
end
WHEN LN_indicadores.clave_indicador = 'NIVEL_RIESGO' THEN
case
when LN_contraparte_indicadores.valor_texto = 'AR' then 'Riesgo alto'
when LN_contraparte_indicadores.valor_texto = 'MR' then 'Riesgo medio'
when LN_contraparte_indicadores.valor_texto = 'SR' then 'Riesgo standard'
when LN_contraparte_indicadores.valor_texto = 'BR' then 'Riesgo bajo'
else null
end
WHEN LN_indicadores.clave_indicador = 'FIDECHECK' THEN
case
when LN_contraparte_indicadores.valor_texto = 'P' then 'Positive'
when LN_contraparte_indicadores.valor_texto = 'R' then 'Related'
when LN_contraparte_indicadores.valor_texto = 'N' then 'Negative'
else null
end
WHEN LN_indicadores.clave_indicador = 'SITUACION_CD' THEN
iif (LN_contraparte_indicadores.valor_numerico is not null, 'Situación ' + Convert(varchar,LN_contraparte_indicadores.valor_numerico)+' - Período: '+LN_contraparte_indicadores.valor_texto, null)
WHEN LN_indicadores.clave_indicador = 'EXCEPCION' THEN
iif (excepciones.tipo_excepcion = 'V', 'Excepción para PERMITIR ingreso', iif(excepciones.tipo_excepcion = 'R', 'Excepción para RECHAZAR ingreso', NULL))
WHEN LN_indicadores.clave_indicador = 'SCORE_FINAL' THEN
LN_contraparte_indicadores.valor_texto
ELSE NULL
END AS textcaption,
/** TEXTOS **/
CASE
WHEN LN_indicadores.clave_indicador = 'SCORE_FINAL' THEN
(select texto from ln_cliente_nivel where cliente = @p_cliente
and desde <= LN_contraparte_indicadores.valor_numerico and hasta > LN_contraparte_indicadores.valor_numerico)
ELSE NULL
END AS texto,
/** PUNTO **/
CASE
WHEN LN_indicadores.clave_indicador LIKE '%CUMPL%' THEN iif(PENDIENTES_VERIFICAR.ingresados > 0, 1, 0)
WHEN LN_indicadores.clave_indicador = 'ULTIMA_NOVEDAD' THEN iif(LN_contraparte_indicadores.valor_fecha IS NOT NULL, iif(DATEDIFF(DAY, CONVERT(DATE,LN_contraparte_indicadores.valor_fecha) , CONVERT(DATE,GETDATE())) <= 7, 1, 0), 0)
WHEN LN_indicadores.clave_indicador = 'SCORE_BAL' THEN ISNULL(LN_contraparte_indicadores.balance_preexiste, 0)
ELSE 0
END AS punto,
/*** DATOS A MOSTRAR EN CELDA DEL PANEL DE CONTROL: 1=NUMERO, 2=GRAFICO, 3=NUMERO+GRAFICO ***/
CASE
WHEN (LN_indicadores.clave_indicador = 'SCORE_IC'
OR LN_indicadores.clave_indicador = 'SCORE_BAL'
OR LN_indicadores.clave_indicador = 'SCORE_DOC'
OR LN_indicadores.clave_indicador = 'CUMPL_DOC'
OR LN_indicadores.clave_indicador = 'SCORE_FINAL'
OR LN_indicadores.clave_indicador = 'SCORE_DOSSIER'
OR LN_indicadores.clave_indicador = 'SCORE_JUDICIAL'
OR LN_indicadores.clave_indicador = 'DEP_ECON'
OR LN_indicadores.clave_indicador = 'DEP_ECON_CALC'
OR LN_indicadores.clave_indicador = 'LC_DIAS_VENTAS'
OR LN_indicadores.clave_indicador = 'SITUACION_CD'
OR LN_indicadores.clave_indicador = 'SCORE_FINAL') THEN 3
WHEN (LN_indicadores.clave_indicador = 'NIVEL_RIESGO'
OR LN_indicadores.clave_indicador = 'VALORACION_BAL'
OR LN_indicadores.clave_indicador = 'CTRL_ETICO'
OR LN_indicadores.clave_indicador = 'CTRL_COMERCIAL'
OR LN_indicadores.clave_indicador = 'CTRL_CALIDAD'
OR LN_indicadores.clave_indicador = 'HOMOLOG'
OR LN_indicadores.clave_indicador = 'EXCEPCION'
--OR LN_indicadores.clave_indicador = 'SITUACION_CD'
OR LN_indicadores.clave_indicador = 'FIDECHECK') THEN 2
ELSE 1
END AS cell_data,
detalles_killer.detalle AS detalle_killer
FROM LN_contrapartes
INNER JOIN padrones ON LN_contrapartes.id_padron = padrones.id_padron
INNER JOIN identificadores ON padrones.identificador = identificadores.identificador
INNER JOIN LN_contraparte_indicadores ON LN_contrapartes.contraparte = LN_contraparte_indicadores.contraparte
INNER JOIN LN_indicadores ON LN_contraparte_indicadores.indicador = LN_indicadores.indicador
INNER JOIN LN_productos ON LN_indicadores.producto = LN_productos.producto
INNER JOIN LN_contraparte_familias ON LN_contrapartes.contraparte = LN_contraparte_familias.contraparte
INNER JOIN LN_familia_productos ON (LN_contraparte_familias.familia = LN_familia_productos.familia
AND LN_indicadores.producto = LN_familia_productos.producto)
INNER JOIN LN_familias ON LN_contraparte_familias.familia = LN_familias.familia
INNER JOIN LN_cliente_productos ON (LN_contrapartes.cliente = LN_cliente_productos.cliente
AND LN_indicadores.producto = LN_cliente_productos.producto)
INNER JOIN LN_gestiones ON LN_contrapartes.contraparte = LN_gestiones.contraparte
LEFT OUTER JOIN
(SELECT LN_docs.contraparte, COUNT(*) AS ingresados
FROM LN_docs
INNER JOIN LN_gestiones ON LN_docs.gestion = LN_gestiones.gestion
INNER JOIN
(select LN_docs.contraparte, LN_docs.tipo_doc, max(doc_version) as ultima
from LN_docs
inner join LN_gestiones on (LN_docs.gestion = LN_gestiones.gestion
AND LN_docs.contraparte = LN_gestiones.contraparte)
where LN_gestiones.desde <= GETDATE() AND LN_gestiones.hasta >= GETDATE()
group by LN_docs.contraparte, LN_docs.tipo_doc) ultimas_versiones
ON (LN_docs.tipo_doc = ultimas_versiones.tipo_doc
AND ln_docs.contraparte = ultimas_versiones.contraparte
AND LN_docs.doc_version = ultimas_versiones.ultima)
WHERE LN_gestiones.desde <= GETDATE() AND LN_gestiones.hasta >= GETDATE()
AND LN_docs.estado_doc = 'I'
GROUP BY LN_docs.contraparte) PENDIENTES_VERIFICAR ON LN_contrapartes.contraparte = PENDIENTES_VERIFICAR.contraparte
LEFT OUTER JOIN
(select LN_excepciones.contraparte, LN_excepciones.tipo_excepcion
from LN_contrapartes inner join LN_excepciones
on LN_contrapartes.contraparte = LN_excepciones.contraparte
where LN_contrapartes.cliente = @p_cliente
and LN_excepciones.estado = 1
and LN_excepciones.vigencia >= GETDATE()) excepciones ON LN_contrapartes.contraparte = excepciones.contraparte
LEFT OUTER JOIN
(SELECT T.contraparte, detalle=STUFF(
(SELECT '; ' + detalle_killer AS [text()]
FROM ln_score_detalle_killer XT
WHERE XT.contraparte = T.contraparte and XT.visible = 1
FOR XML PATH('')), 1, 2, '')
FROM LN_score_detalle_killer T
inner join LN_contrapartes C on T.contraparte = C.contraparte
where T.visible = 1
and C.cliente = @p_cliente
GROUP BY T.contraparte) detalles_killer on detalles_killer.contraparte = LN_contrapartes.contraparte
WHERE LN_contrapartes.cliente = @p_cliente
AND LN_gestiones.desde <= GETDATE() AND LN_gestiones.hasta >= GETDATE()
AND LN_indicadores.visible = 1
AND LN_contrapartes.activo = 1 /*and ln_contrapartes.contraparte=219*/
AND LN_contrapartes.subcontratista = 0
--and padrones.identificacion = '30709637084'
AND LN_contraparte_familias.activo = 1
AND LN_familia_productos.activo = 1
AND LN_cliente_productos.activo = 1
--order by padrones.identificacion
--ORDER BY LN_contrapartes.country_code, LN_familias.nombre_familia, padrones.nombre_persona
END
IF (@accion = 'PRODUCTOS_INDICADORES') BEGIN
SELECT DATA.* FROM
(SELECT 'País' as etiqueta,
'PAIS' AS 'producto_id', NULL AS indicador, NULL as etiqueta_indicador,
NULL AS tipo_dato, 'PAIS' AS clave_indicador, 1 as show_panel,
-2 as orden_producto, 1 as orden, 'center' as alignment, 1 as locked,
60 AS width, NULL AS separator, NULL as decimals
UNION ALL
SELECT 'Familia' as etiqueta,
'FAMILIA' AS 'producto_id', NULL AS indicador, NULL as etiqueta_indicador,
NULL AS tipo_dato,'FAMILIA' AS clave_indicador, 1 as show_panel,
-1 as orden_producto, 1 as orden, 'left' as alignment, 1 as locked,
120 AS width, NULL AS separator, NULL as decimals
UNION ALL
SELECT 'Razón Social' as etiqueta,
'RAZON_SOCIAL' AS 'producto_id', NULL AS indicador, NULL as etiqueta_indicador,
NULL AS tipo_dato, 'RAZON_SOCIAL' AS clave_indicador, 1 as show_panel,
0 as orden_producto, 1 as orden, 'left' as alignment, 1 as locked,
200 AS width, NULL AS separator, NULL as decimals
UNION ALL
SELECT LN_productos.etiqueta, LN_productos.producto_id, SUSC.indicador,
LN_indicadores.etiqueta as etiqueta_indicador,
CASE
WHEN (LN_indicadores.clave_indicador = 'SCORE_IC'
OR LN_indicadores.clave_indicador = 'SCORE_BAL'
OR LN_indicadores.clave_indicador = 'SCORE_DOC'
OR LN_indicadores.clave_indicador = 'SCORE_BR'
OR LN_indicadores.clave_indicador = 'CUMPL_DOC'
OR LN_indicadores.clave_indicador = 'SCORE_FINAL'
OR LN_indicadores.clave_indicador = 'SCORE_DOSSIER'
OR LN_indicadores.clave_indicador = 'DEP_ECON'
OR LN_indicadores.clave_indicador = 'DEP_ECON_CALC'
OR LN_indicadores.clave_indicador = 'LC_DIAS_VENTAS'
OR LN_indicadores.clave_indicador = 'SITUACION_CD'
OR LN_indicadores.clave_indicador = 'SCORE_JUDICIAL'
OR LN_indicadores.clave_indicador = 'SCORE_FINAL') THEN 'S'
ELSE LN_indicadores.tipo_dato
END AS tipo_dato,
LN_indicadores.clave_indicador,
show_panel = CASE
WHEN ISNULL(LN_productos.balance, 0) > 0 THEN iif(SUSC.indicador IS NOT NULL, 1, 0) ELSE 1 END,
LN_cliente_productos.orden_producto, LN_indicadores.orden,
/*** ALINEACION DE LOS DATOS EN LA CELDA ***/
CASE
WHEN (LN_indicadores.clave_indicador = 'SCORE_IC'
OR LN_indicadores.clave_indicador = 'SCORE_BAL'
OR LN_indicadores.clave_indicador = 'SCORE_DOC'
OR LN_indicadores.clave_indicador = 'SCORE_BR'
OR LN_indicadores.clave_indicador = 'CUMPL_DOC'
OR LN_indicadores.clave_indicador = 'SCORE_FINAL'
OR LN_indicadores.clave_indicador = 'SCORE_DOSSIER'
OR LN_indicadores.clave_indicador = 'DEP_ECON'
OR LN_indicadores.clave_indicador = 'DEP_ECON_CALC'
OR LN_indicadores.clave_indicador = 'LC_DIAS_VENTAS'
OR LN_indicadores.clave_indicador = 'SCORE_FINAL') THEN 'right'
WHEN (LN_indicadores.clave_indicador = 'NIVEL_RIESGO'
OR LN_indicadores.clave_indicador = 'ULTIMA_NOVEDAD'
OR LN_indicadores.clave_indicador = 'VALORACION_BAL'
OR LN_indicadores.clave_indicador = 'CTRL_ETICO'
OR LN_indicadores.clave_indicador = 'CTRL_COMERCIAL'
OR LN_indicadores.clave_indicador = 'CTRL_CALIDAD'
OR LN_indicadores.clave_indicador = 'HOMOLOG'
OR LN_indicadores.clave_indicador = 'EXCEPCION'
OR LN_indicadores.clave_indicador = 'SITUACION_CD'
OR LN_indicadores.clave_indicador = 'FIDECHECK'
OR LN_indicadores.clave_indicador = 'CHEQUES_RECH'
OR LN_indicadores.clave_indicador = 'FECHA_BALANCE') THEN 'center'
ELSE 'right'
END AS alignment, 0 as locked,
CASE
WHEN (LN_indicadores.clave_indicador = 'SCORE_IC'
OR LN_indicadores.clave_indicador = 'CTRL_ETICO'
OR LN_indicadores.clave_indicador = 'CTRL_COMERCIAL'
OR LN_indicadores.clave_indicador = 'CTRL_CALIDAD'
OR LN_indicadores.clave_indicador = 'HOMOLOG'
OR LN_indicadores.clave_indicador = 'EXCEPCION'
OR LN_indicadores.clave_indicador = 'NIVEL_RIESGO'
OR LN_indicadores.clave_indicador = 'DEP_ECON'
OR LN_indicadores.clave_indicador = 'DEP_ECON_CALC'
OR LN_indicadores.clave_indicador = 'SITUACION_CD') THEN 70
WHEN LN_indicadores.clave_indicador = 'SUBCONT' THEN 80
WHEN LN_indicadores.clave_indicador = 'CHEQUES_RECH' THEN 88
ELSE 60
END AS width,
/*** separadores de miles : en balances va espacio, en otros productos va el punto ***/
iif(LN_productos.producto_id = 'balances',
iif(LN_indicadores.clave_indicador = 'VALORACION_BAL', NULL, 'SPACE'),
iif(LN_indicadores.tipo_dato = 'F' OR LN_indicadores.tipo_dato = 'I', 'POINT', NULL)
) as separator,
/*** decimales ***/
iif(LN_productos.producto_id = 'balances',
case
when (LN_indicadores.clave_indicador = 'BAL_ACTIVO_CORRIENTE' OR
LN_indicadores.clave_indicador = 'BAL_ACTIVO_NO_CORRIENTE' OR
LN_indicadores.clave_indicador = 'BAL_ACTIVO_TOTAL' OR
LN_indicadores.clave_indicador = 'BAL_PASIVO_CORRIENTE' OR
LN_indicadores.clave_indicador = 'BAL_PASIVO_NO_CORRIENTE' OR
LN_indicadores.clave_indicador = 'BAL_PATRIMONIO_NETO' OR
LN_indicadores.clave_indicador = 'BAL_VENTAS' OR
LN_indicadores.clave_indicador = 'BAL_RESULTADO' OR
LN_indicadores.clave_indicador = 'BAL_CAPITAL_TRABAJO' OR
LN_indicadores.clave_indicador = 'BAL_EBITDA') then 0
when LN_indicadores.clave_indicador = 'VALORACION_BAL' then NULL
else iif(LN_indicadores.clave_indicador LIKE 'SCORE%', 0, 2)
end,
case
when LN_indicadores.tipo_dato = 'F' then 2
when LN_indicadores.tipo_dato = 'I' then 0
else NULL
end
) as decimals
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 ISNULL(LN_familias.subfamilia, 0) = 0
AND LN_indicadores.visible = 1
GROUP BY LN_productos.etiqueta,
LN_productos.producto_id, LN_productos.balance,
LN_indicadores.etiqueta, LN_indicadores.tipo_dato,
LN_indicadores.clave_indicador, SUSC.indicador,
LN_cliente_productos.orden_producto, LN_indicadores.orden
--ORDER BY LN_cliente_productos.orden_producto, LN_indicadores.orden
) DATA
WHERE DATA.show_panel = 1
ORDER BY DATA.orden_producto, DATA.orden
END
END
GO
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
/*
CAMBIADO
exec ln_dashboard_cliente 'PRODUCTOS_GRILLA',1750864950
*/
-- Description: <Description,,>
-- =============================================
/*
exec LN_dashboard_cliente_fidelitasprod 'VALORES_GRILLA_EXT', 42014167, null,null, null
exec LN_dashboard_cliente_fidelitasprod 'PRODUCTOS_INDICADORES', 5546348, null,null, null
exec LN_dashboard_cliente_fidelitasprod 'VALORES_GRILLA_EXT', 5546348, null,null, null
exec LN_dashboard_cliente_fidelitasprod 'VALORES_GRILLA_EXT', 2254875, null,null, null
*/
CREATE OR ALTER PROCEDURE dbo.LN_dashboard_cliente_fidelitasprod_DEV
-- Add the parameters for the stored procedure here
@accion varchar(50),
@p_cliente int,
@p_country_code varchar(2),
@p_familia int,
@p_contraparte int,
/* Este parámetro opcional para obtener por clave un indicador específico de una contraparte
cuando @accion = 'indicadores_contraparte' */
@p_clave_indicador varchar(50) = NULL,
/* Parámetro para asentar el score manual o cuando se consulta mediante API */
@p_score float = NULL,
/* Estos tres parámetros para asentar indicadores varios en tabla LN_contraparte_indicadores */
@p_valor_numerico float = null,
@p_valor_texto varchar(100) = null,
@p_valor_memo text = null,
@p_user_id int = null,
@p_visible tinyint = 1
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
DECLARE @color_fondo varchar(10), @color_texto varchar(10)
IF (@accion = 'VALORES_GRILLA_EXT') BEGIN
SELECT LOWER(identificadores.country_code) AS 'PAIS', padrones.nombre_persona AS 'RAZON_SOCIAL', padrones.identificacion,
LN_familias.nombre_familia AS 'FAMILIA', LN_contrapartes.contraparte,
LN_indicadores.clave_indicador, LN_productos.producto_id,
iif(LN_productos.producto_id = 'balances',
CASE
WHEN LN_indicadores.clave_indicador = 'VALORACION_BAL' THEN
CASE
WHEN LN_contraparte_indicadores.valor_texto = 'P' THEN '1'
WHEN LN_contraparte_indicadores.valor_texto = 'U' THEN '2'
WHEN LN_contraparte_indicadores.valor_texto = 'E' THEN '3'
WHEN LN_contraparte_indicadores.valor_texto = 'D' THEN '4'
WHEN LN_contraparte_indicadores.valor_texto = 'N' THEN '5'
END
WHEN LN_indicadores.clave_indicador = 'SCORE_BAL' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, LTRIM(format(LN_contraparte_indicadores.valor_numerico, '##0')), NULL)
WHEN LN_indicadores.clave_indicador = 'FECHA_BALANCE' THEN iif(LN_contraparte_indicadores.valor_fecha IS NOT NULL, substring(replace(convert(varchar(7), LN_contraparte_indicadores.valor_fecha, 121),'-',''),3,10), '')
WHEN (LN_indicadores.clave_indicador = 'BAL_ACTIVO_CORRIENTE'
OR LN_indicadores.clave_indicador = 'BAL_ACTIVO_NO_CORRIENTE'
OR LN_indicadores.clave_indicador = 'BAL_ACTIVO_TOTAL'
OR LN_indicadores.clave_indicador = 'BAL_PASIVO_CORRIENTE'
OR LN_indicadores.clave_indicador = 'BAL_PASIVO_NO_CORRIENTE'
OR LN_indicadores.clave_indicador = 'BAL_PASIVO_TOTAL'
OR LN_indicadores.clave_indicador = 'BAL_PATRIMONIO_NETO'
OR LN_indicadores.clave_indicador = 'BAL_VENTAS'
OR LN_indicadores.clave_indicador = 'BAL_RESULTADO'
OR LN_indicadores.clave_indicador = 'BAL_CAPITAL_TRABAJO'
OR LN_indicadores.clave_indicador = 'BAL_EBITDA') THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, LTRIM(format(ROUND(LN_contraparte_indicadores.valor_numerico/1000, 0), '#############0')), NULL)
ELSE iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, LTRIM(format(LN_contraparte_indicadores.valor_numerico, '################0.00')), NULL)
/*WHEN LN_indicadores.clave_indicador = 'BAL_ACTIVO_CORRIENTE' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_ACTIVO_NO_CORRIENTE' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_ACTIVO_TOTAL' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_PASIVO_CORRIENTE' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_PASIVO_NO_CORRIENTE' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_PASIVO_TOTAL' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_PATRIMONIO_NETO' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_VENTAS' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_RESULTADO' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_SOLVENCIA_PATRIMONIAL' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_ENDEUDAMIENTO_TOTAL' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_ENDEUDAMIENTO_CORRIENTE' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_CAPITAL_TRABAJO' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_CAPITAL_CORRIENTE_ACTIVO' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_LIQUIDEZ_CORRIENTE' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_LIQUIDEZ_SECA' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_ROTACION_CREDITOS' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_ROTACION_INVENTARIOS' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_ROTACION_ACTIVOS' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_ROTACION_ACTIVO_FIJO' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_PRESTAMOS_PATRIMONIO_NETO' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_MESES_DEUDA' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_DIAS_DEUDA' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_MARGEN_BRUTO' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_MARGEN_NETO' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_MARGEN_OPERATIVO' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_MARGEN_SOBRE_PATRIMONIO' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_MARGEN_SOBRE_ACTIVO' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_EBITDA' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_EBITDA_PASIVO' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_EBITDA_VENTAS' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_EBITDA_INTERESES' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_GASTOS_FINANCIEROS_VENTAS' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_GASTOS_COMERCIALES_VENTAS' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_GASTOS_ADMINISTRACION_VENTAS' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_GASTOS_TOTALES_VENTAS' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_INVERSIONES_BIENES_USO' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_VIDA_RESTANTE_BIENES_USO' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
WHEN LN_indicadores.clave_indicador = 'BAL_ROTACION_PASIVO_CORRIENTE' THEN iif(LN_contraparte_indicadores.valor_numerico IS NOT NULL, REPLACE(LTRIM(format(LN_contraparte_indicadores.valor_numerico, '### ### ### ### ### ##0.00')), '.', ','), '')
*/
END,
/* else: no balances */
iif(LN_indicadores.clave_indicador = 'NIVEL_RIESGO',
CASE
WHEN LN_contraparte_indicadores.valor_texto = 'BR' THEN '1'
WHEN LN_contraparte_indicadores.valor_texto = 'SR' THEN '2'
WHEN LN_contraparte_indicadores.valor_texto = 'MR' THEN '3'
WHEN LN_contraparte_indicadores.valor_texto = 'AR' THEN '4'
END,
iif (LN_indicadores.clave_indicador = 'FIDECHECK',
CASE
WHEN LN_contraparte_indicadores.valor_texto = 'N' THEN '1'
WHEN LN_contraparte_indicadores.valor_texto = 'R' THEN '2'
WHEN LN_contraparte_indicadores.valor_texto = 'P' THEN '3'
END,
iif (LN_indicadores.clave_indicador = 'CTRL_CALIDAD' OR LN_indicadores.clave_indicador = 'CTRL_ETICO' OR LN_indicadores.clave_indicador = 'CTRL_COMERCIAL' OR LN_indicadores.clave_indicador = 'HOMOLOG',
CASE
WHEN LN_contraparte_indicadores.valor_numerico = 0 THEN '1'
WHEN LN_contraparte_indicadores.valor_numerico = 1 THEN '2'
END,
iif (LN_indicadores.clave_indicador = 'LC_TEND_BALANCE' OR LN_indicadores.clave_indicador = 'LC_ESCENARIOS_TENDENCIA' OR LN_indicadores.clave_indicador = 'LC_SITUACION_TENDENCIA',
CASE
WHEN LN_contraparte_indicadores.valor_texto = 'P' THEN '1'
WHEN LN_contraparte_indicadores.valor_texto = 'U' THEN '2'
WHEN LN_contraparte_indicadores.valor_texto = 'E' THEN '3'
WHEN LN_contraparte_indicadores.valor_texto = 'D' THEN '4'
WHEN LN_contraparte_indicadores.valor_texto = 'N' THEN '5'
END,
case
when LN_indicadores.tipo_dato = 'S' then LN_contraparte_indicadores.valor_texto
when LN_indicadores.tipo_dato = 'M' then LN_contraparte_indicadores.valor_memo
when LN_indicadores.tipo_dato = 'I' then iif(LN_contraparte_indicadores.valor_numerico is not null,
/*REPLACE(replace(convert(varchar,convert(Money, ROUND(LN_contraparte_indicadores.valor_numerico,0)),1),'.00',''), ',', '.')*/
LTRIM(format(LN_contraparte_indicadores.valor_numerico, '############0')),
null)
when LN_indicadores.tipo_dato = 'F' then iif(LN_contraparte_indicadores.valor_numerico is not null,
/*REPLACE(replace(convert(varchar,convert(Money, ROUND(LN_contraparte_indicadores.valor_numerico,0)),1),'.00',''), ',', '.'), */
LTRIM(format(LN_contraparte_indicadores.valor_numerico, '############0.00')),
null)
/*when LN_indicadores.tipo_dato = 'D' then iif(LN_contraparte_indicadores.valor_fecha is not null, right('00'+cast(month(LN_contraparte_indicadores.valor_fecha) as varchar),2) + '-' + cast(right(year(LN_contraparte_indicadores.valor_fecha),2) as varchar), NULL) --convert(varchar, LN_contraparte_indicadores.valor_fecha, 103)*/
/*when LN_indicadores.tipo_dato = 'D' then iif(LN_contraparte_indicadores.valor_fecha is not null, convert(varchar(10), LN_contraparte_indicadores.valor_fecha, 101), NULL) */
when LN_indicadores.tipo_dato = 'D' then iif(LN_contraparte_indicadores.valor_fecha is not null, substring(replace(convert(varchar(7), LN_contraparte_indicadores.valor_fecha, 121),'-',''),3,10), '')
when LN_indicadores.tipo_dato = 'B' then iif(LN_contraparte_indicadores.valor_numerico > 0, 'SI', 'NO')
else null
end ))))) as valor,
/*iif(LN_productos.producto_id = 'balances',
iif(LN_indicadores.clave_indicador = 'VALORACION_BAL', NULL, 'SPACE'),
iif(LN_indicadores.tipo_dato = 'F' OR LN_indicadores.tipo_dato = 'I', 'POINT', NULL)
) as separator,
iif(LN_productos.producto_id = 'balances',
case
when (LN_indicadores.clave_indicador = 'BAL_ACTIVO_CORRIENTE' OR
LN_indicadores.clave_indicador = 'BAL_ACTIVO_NO_CORRIENTE' OR
LN_indicadores.clave_indicador = 'BAL_ACTIVO_TOTAL' OR
LN_indicadores.clave_indicador = 'BAL_PASIVO_CORRIENTE' OR
LN_indicadores.clave_indicador = 'BAL_PASIVO_NO_CORRIENTE' OR
LN_indicadores.clave_indicador = 'BAL_PATRIMONIO_NETO' OR
LN_indicadores.clave_indicador = 'BAL_VENTAS' OR
LN_indicadores.clave_indicador = 'BAL_RESULTADO' OR
LN_indicadores.clave_indicador = 'BAL_CAPITAL_TRABAJO' OR
LN_indicadores.clave_indicador = 'BAL_EBITDA') then 0
when LN_indicadores.clave_indicador = 'VALORACION_BAL' then NULL
else 0
end,
case
when LN_indicadores.tipo_dato = 'F' then 2
when LN_indicadores.tipo_dato = 'I' then 0
else NULL
end
) as decimals,*/
/** COLOR **/
CASE
WHEN (LN_indicadores.clave_indicador = 'DEP_ECON' OR LN_indicadores.clave_indicador = 'DEP_ECON_CALC') THEN
case
/*when LN_contraparte_indicadores.valor_numerico >= 81 then 'A72B2A'
when LN_contraparte_indicadores.valor_numerico >= 61 then 'd37123'
when LN_contraparte_indicadores.valor_numerico >= 41 then 'FFB81C'
when LN_contraparte_indicadores.valor_numerico >= 21 then 'cbc367'
when LN_contraparte_indicadores.valor_numerico >= 0 then '63b68c'*/
when LN_contraparte_indicadores.valor_numerico >= 70 then 'A72B2A'
when LN_contraparte_indicadores.valor_numerico >= 50 then 'FFB81C'
when LN_contraparte_indicadores.valor_numerico >= 0 then '63b68c'
else NULL
end
WHEN LN_indicadores.clave_indicador = 'NIVEL_RIESGO' THEN
case
when LN_contraparte_indicadores.valor_texto = 'AR' then 'A72B2A'
when LN_contraparte_indicadores.valor_texto = 'MR' then 'FFB81C'
when LN_contraparte_indicadores.valor_texto = 'SR' then 'E0E0E0'
when LN_contraparte_indicadores.valor_texto = 'BR' then '63b68c'
else NULL
end
WHEN LN_indicadores.clave_indicador = 'FIDECHECK' THEN
case
when LN_contraparte_indicadores.valor_texto = 'P' then 'A72B2A'
when LN_contraparte_indicadores.valor_texto = 'R' then 'FFB81C'
when LN_contraparte_indicadores.valor_texto = 'N' then '63b68c'
else NULL
end
WHEN (LN_indicadores.clave_indicador = 'CTRL_CALIDAD'
OR LN_indicadores.clave_indicador = 'CTRL_ETICO'
OR LN_indicadores.clave_indicador = 'CTRL_COMERCIAL'
OR LN_indicadores.clave_indicador = 'HOMOLOG') THEN
case
when (LN_contraparte_indicadores.valor_numerico = 1) then '63b68c'
when (LN_contraparte_indicadores.valor_numerico = 0) then 'A72B2A'
else null
end
WHEN (LN_indicadores.clave_indicador = 'EXCEPCION') THEN 'FFB81C'
WHEN (LN_indicadores.clave_indicador = 'VALORACION_BAL') THEN
case
when LN_contraparte_indicadores.valor_texto = 'P' then '63b68c'
when LN_contraparte_indicadores.valor_texto = 'U' then 'cbc367'
when LN_contraparte_indicadores.valor_texto = 'E' then 'FFB81C'
when LN_contraparte_indicadores.valor_texto = 'D' then 'd37123'
when LN_contraparte_indicadores.valor_texto = 'N' then 'A72B2A'
else null
end
WHEN (LN_indicadores.clave_indicador = 'SITUACION_CD') THEN
case
when LN_contraparte_indicadores.valor_numerico = 1 then '96CAB0'
when LN_contraparte_indicadores.valor_numerico = 2 then 'FFFFBA'
when LN_contraparte_indicadores.valor_numerico = 3 then 'FDC689'
when LN_contraparte_indicadores.valor_numerico = 4 then 'FD676E'
when LN_contraparte_indicadores.valor_numerico = 5 then 'C55B5B'
when LN_contraparte_indicadores.valor_numerico = 6 then 'C55B5B'
else null
end
WHEN (LN_indicadores.clave_indicador = 'LC_DIAS_VENTAS') THEN
case
when LN_contraparte_indicadores.valor_numerico >= 181 then 'A72B2A'
when LN_contraparte_indicadores.valor_numerico >= 121 then 'd37123'
when LN_contraparte_indicadores.valor_numerico >= 91 then 'FFB81C'
when LN_contraparte_indicadores.valor_numerico >= 61 then 'cbc367'
when LN_contraparte_indicadores.valor_numerico >= 0 then '63b68c'
else null
end
WHEN (LN_indicadores.clave_indicador = 'SCORE_FINAL') THEN
ISNULL( (select color_fondo from ln_cliente_nivel
where cliente = @p_cliente
and desde <= LN_contraparte_indicadores.valor_numerico
and hasta > LN_contraparte_indicadores.valor_numerico),
case
when LN_contraparte_indicadores.valor_numerico >= 81 then '63b68c'
when LN_contraparte_indicadores.valor_numerico >= 61 then 'cbc367'
when LN_contraparte_indicadores.valor_numerico >= 41 then 'FFB81C'
when LN_contraparte_indicadores.valor_numerico >= 21 then 'd37123'
when LN_contraparte_indicadores.valor_numerico >= 0 then 'A72B2A'
else NULL
end)
ELSE
case
when LN_contraparte_indicadores.valor_numerico >= 81 then '63b68c'
when LN_contraparte_indicadores.valor_numerico >= 61 then 'cbc367'
when LN_contraparte_indicadores.valor_numerico >= 41 then 'FFB81C'
when LN_contraparte_indicadores.valor_numerico >= 21 then 'd37123'
when LN_contraparte_indicadores.valor_numerico >= 0 then 'A72B2A'
else NULL
end
END AS color,
/** COLOR TEXTO **/
CASE
WHEN (LN_indicadores.clave_indicador = 'DEP_ECON' OR LN_indicadores.clave_indicador = 'DEP_ECON_CALC') THEN
case
when LN_contraparte_indicadores.valor_numerico >= 81 then 'FFFFFF'
else '000000'
end
WHEN LN_indicadores.clave_indicador = 'NIVEL_RIESGO' THEN
case
when LN_contraparte_indicadores.valor_texto = 'AR' then 'FFFFFF'
when LN_contraparte_indicadores.valor_texto = 'MR' then '000000'
when LN_contraparte_indicadores.valor_texto = 'SR' then '000000'
when LN_contraparte_indicadores.valor_texto = 'BR' then '000000'
else NULL
end
WHEN LN_indicadores.clave_indicador = 'FIDECHECK' THEN
case
when LN_contraparte_indicadores.valor_texto = 'P' then 'A72B2A'
when LN_contraparte_indicadores.valor_texto = 'R' then 'FFB81C'
when LN_contraparte_indicadores.valor_texto = 'N' then '63b68c'
else NULL
end
WHEN (LN_indicadores.clave_indicador = 'CTRL_CALIDAD' OR LN_indicadores.clave_indicador = 'CTRL_ETICO' OR LN_indicadores.clave_indicador = 'CTRL_COMERCIAL' OR LN_indicadores.clave_indicador = 'HOMOLOG') THEN
case
when (LN_contraparte_indicadores.valor_numerico = 0) then 'FFFFFF'
else '000000'
end
WHEN (LN_indicadores.clave_indicador = 'EXCEPCION') THEN '000000'
WHEN (LN_indicadores.clave_indicador = 'SITUACION_CD') THEN '000000'
WHEN (LN_indicadores.clave_indicador = 'SCORE_FINAL') THEN
ISNULL( (select color_texto from ln_cliente_nivel
where cliente = @p_cliente
and desde <= LN_contraparte_indicadores.valor_numerico
and hasta > LN_contraparte_indicadores.valor_numerico),
case
when LN_contraparte_indicadores.valor_numerico <= 20 then 'FFFFFF'
else '000000'
end)
ELSE
case
when LN_contraparte_indicadores.valor_numerico > 20 then '000000'
when LN_contraparte_indicadores.valor_numerico >= 0 then 'FFFFFF'
else null
end
END AS textcolor,
/** SVG **/
CASE
WHEN (LN_indicadores.clave_indicador = 'CTRL_ETICO' OR LN_indicadores.clave_indicador = 'CTRL_CALIDAD' OR LN_indicadores.clave_indicador = 'CTRL_COMERCIAL' OR LN_indicadores.clave_indicador = 'HOMOLOG' OR LN_indicadores.clave_indicador = 'NIVEL_RIESGO') THEN 'SQUARE'
WHEN (LN_indicadores.clave_indicador = 'SCORE_IC'
OR LN_indicadores.clave_indicador = 'SCORE_BAL'
OR LN_indicadores.clave_indicador = 'SCORE_DOC'
OR LN_indicadores.clave_indicador = 'CUMPL_DOC'
OR LN_indicadores.clave_indicador = 'SCORE_FINAL'
OR LN_indicadores.clave_indicador = 'SCORE_DOSSIER'
OR LN_indicadores.clave_indicador = 'SCORE_BR'
OR LN_indicadores.clave_indicador = 'DEP_ECON'
OR LN_indicadores.clave_indicador = 'DEP_ECON_CALC'
OR LN_indicadores.clave_indicador = 'LC_DIAS_VENTAS'
OR LN_indicadores.clave_indicador = 'SCORE_JUDICIAL'
OR LN_indicadores.clave_indicador = 'SCORE_FINAL') THEN 'PIPE'
WHEN (LN_indicadores.clave_indicador = 'VALORACION_BAL') THEN
case
when LN_contraparte_indicadores.valor_texto = 'P' then 'fas fa-arrow-up'
when LN_contraparte_indicadores.valor_texto = 'U' then 'fas fa-arrow-up r45r'
when LN_contraparte_indicadores.valor_texto = 'E' then 'fas fa-arrow-right'
when LN_contraparte_indicadores.valor_texto = 'D' then 'fas fa-arrow-down r45l'
when LN_contraparte_indicadores.valor_texto = 'N' then 'fas fa-arrow-down'
else NULL
end
WHEN (LN_indicadores.clave_indicador = 'FIDECHECK') THEN
iif(LN_contraparte_indicadores.valor_texto is NOT null, 'DOT', NULL)
WHEN (LN_indicadores.clave_indicador = 'EXCEPCION' OR LN_indicadores.clave_indicador = 'SITUACION_CD') THEN
case
when LN_contraparte_indicadores.valor_numerico >= 1 and LN_contraparte_indicadores.valor_numerico <= 6 then 'DOT'
else
NULL
end
ELSE NULL
END AS svg_data,
/** TEXT CAPTION **/
CASE
WHEN LN_indicadores.clave_indicador = 'VALORACION_BAL' THEN
case
when LN_contraparte_indicadores.valor_texto = 'P' then 'Positivo'
when LN_contraparte_indicadores.valor_texto = 'U' then 'Ascendente'
when LN_contraparte_indicadores.valor_texto = 'E' then 'Neutro'
when LN_contraparte_indicadores.valor_texto = 'D' then 'Descendente'
when LN_contraparte_indicadores.valor_texto = 'N' then 'Negativo'
else NULL
end
WHEN LN_indicadores.clave_indicador = 'NIVEL_RIESGO' THEN
case
when LN_contraparte_indicadores.valor_texto = 'AR' then 'Riesgo alto'
when LN_contraparte_indicadores.valor_texto = 'MR' then 'Riesgo medio'
when LN_contraparte_indicadores.valor_texto = 'SR' then 'Riesgo standard'
when LN_contraparte_indicadores.valor_texto = 'BR' then 'Riesgo bajo'
else null
end
WHEN LN_indicadores.clave_indicador = 'FIDECHECK' THEN
case
when LN_contraparte_indicadores.valor_texto = 'P' then 'Positive'
when LN_contraparte_indicadores.valor_texto = 'R' then 'Related'
when LN_contraparte_indicadores.valor_texto = 'N' then 'Negative'
else null
end
WHEN LN_indicadores.clave_indicador = 'SITUACION_CD' THEN
iif (LN_contraparte_indicadores.valor_numerico is not null, 'Situación ' + Convert(varchar,LN_contraparte_indicadores.valor_numerico)+' - Período: '+LN_contraparte_indicadores.valor_texto, null)
WHEN LN_indicadores.clave_indicador = 'EXCEPCION' THEN
iif (excepciones.tipo_excepcion = 'V', 'Excepción para PERMITIR ingreso', iif(excepciones.tipo_excepcion = 'R', 'Excepción para RECHAZAR ingreso', NULL))
WHEN LN_indicadores.clave_indicador = 'SCORE_FINAL' THEN
LN_contraparte_indicadores.valor_texto
ELSE NULL
END AS textcaption,
/** TEXTOS **/
CASE
WHEN LN_indicadores.clave_indicador = 'SCORE_FINAL' THEN
(select texto from ln_cliente_nivel where cliente = @p_cliente
and desde <= LN_contraparte_indicadores.valor_numerico and hasta > LN_contraparte_indicadores.valor_numerico)
ELSE NULL
END AS texto,
/** PUNTO **/
CASE
WHEN LN_indicadores.clave_indicador LIKE '%CUMPL%' THEN iif(PENDIENTES_VERIFICAR.ingresados > 0, 1, 0)
WHEN LN_indicadores.clave_indicador = 'ULTIMA_NOVEDAD' THEN iif(LN_contraparte_indicadores.valor_fecha IS NOT NULL, iif(DATEDIFF(DAY, CONVERT(DATE,LN_contraparte_indicadores.valor_fecha) , CONVERT(DATE,GETDATE())) <= 7, 1, 0), 0)
WHEN LN_indicadores.clave_indicador = 'SCORE_BAL' THEN ISNULL(LN_contraparte_indicadores.balance_preexiste, 0)
ELSE 0
END AS punto,
/*** DATOS A MOSTRAR EN CELDA DEL PANEL DE CONTROL: 1=NUMERO, 2=GRAFICO, 3=NUMERO+GRAFICO ***/
CASE
WHEN (LN_indicadores.clave_indicador = 'SCORE_IC'
OR LN_indicadores.clave_indicador = 'SCORE_BAL'
OR LN_indicadores.clave_indicador = 'SCORE_DOC'
OR LN_indicadores.clave_indicador = 'CUMPL_DOC'
OR LN_indicadores.clave_indicador = 'SCORE_FINAL'
OR LN_indicadores.clave_indicador = 'SCORE_DOSSIER'
OR LN_indicadores.clave_indicador = 'SCORE_JUDICIAL'
OR LN_indicadores.clave_indicador = 'DEP_ECON'
OR LN_indicadores.clave_indicador = 'DEP_ECON_CALC'
OR LN_indicadores.clave_indicador = 'LC_DIAS_VENTAS'
OR LN_indicadores.clave_indicador = 'SITUACION_CD'
OR LN_indicadores.clave_indicador = 'SCORE_FINAL') THEN 3
WHEN (LN_indicadores.clave_indicador = 'NIVEL_RIESGO'
OR LN_indicadores.clave_indicador = 'VALORACION_BAL'
OR LN_indicadores.clave_indicador = 'CTRL_ETICO'
OR LN_indicadores.clave_indicador = 'CTRL_COMERCIAL'
OR LN_indicadores.clave_indicador = 'CTRL_CALIDAD'
OR LN_indicadores.clave_indicador = 'HOMOLOG'
OR LN_indicadores.clave_indicador = 'EXCEPCION'
--OR LN_indicadores.clave_indicador = 'SITUACION_CD'
OR LN_indicadores.clave_indicador = 'FIDECHECK') THEN 2
ELSE 1
END AS cell_data,
detalles_killer.detalle AS detalle_killer
FROM LN_contrapartes
INNER JOIN padrones ON LN_contrapartes.id_padron = padrones.id_padron
INNER JOIN identificadores ON padrones.identificador = identificadores.identificador
INNER JOIN LN_contraparte_indicadores ON LN_contrapartes.contraparte = LN_contraparte_indicadores.contraparte
INNER JOIN LN_indicadores ON LN_contraparte_indicadores.indicador = LN_indicadores.indicador
INNER JOIN LN_productos ON LN_indicadores.producto = LN_productos.producto
INNER JOIN LN_contraparte_familias ON LN_contrapartes.contraparte = LN_contraparte_familias.contraparte
INNER JOIN LN_familia_productos ON (LN_contraparte_familias.familia = LN_familia_productos.familia
AND LN_indicadores.producto = LN_familia_productos.producto)
INNER JOIN LN_familias ON LN_contraparte_familias.familia = LN_familias.familia
INNER JOIN LN_cliente_productos ON (LN_contrapartes.cliente = LN_cliente_productos.cliente
AND LN_indicadores.producto = LN_cliente_productos.producto)
INNER JOIN LN_gestiones ON LN_contrapartes.contraparte = LN_gestiones.contraparte
LEFT OUTER JOIN
(SELECT LN_docs.contraparte, COUNT(*) AS ingresados
FROM LN_docs
INNER JOIN LN_gestiones ON LN_docs.gestion = LN_gestiones.gestion
INNER JOIN
(select LN_docs.contraparte, LN_docs.tipo_doc, max(doc_version) as ultima
from LN_docs
inner join LN_gestiones on (LN_docs.gestion = LN_gestiones.gestion
AND LN_docs.contraparte = LN_gestiones.contraparte)
where LN_gestiones.desde <= GETDATE() AND LN_gestiones.hasta >= GETDATE()
group by LN_docs.contraparte, LN_docs.tipo_doc) ultimas_versiones
ON (LN_docs.tipo_doc = ultimas_versiones.tipo_doc
AND ln_docs.contraparte = ultimas_versiones.contraparte
AND LN_docs.doc_version = ultimas_versiones.ultima)
WHERE LN_gestiones.desde <= GETDATE() AND LN_gestiones.hasta >= GETDATE()
AND LN_docs.estado_doc = 'I'
GROUP BY LN_docs.contraparte) PENDIENTES_VERIFICAR ON LN_contrapartes.contraparte = PENDIENTES_VERIFICAR.contraparte
LEFT OUTER JOIN
(select LN_excepciones.contraparte, LN_excepciones.tipo_excepcion
from LN_contrapartes inner join LN_excepciones
on LN_contrapartes.contraparte = LN_excepciones.contraparte
where LN_contrapartes.cliente = @p_cliente
and LN_excepciones.estado = 1
and LN_excepciones.vigencia >= GETDATE()) excepciones ON LN_contrapartes.contraparte = excepciones.contraparte
LEFT OUTER JOIN
(SELECT T.contraparte, detalle=STUFF(
(SELECT '; ' + detalle_killer AS [text()]
FROM ln_score_detalle_killer XT
WHERE XT.contraparte = T.contraparte and XT.visible = 1
FOR XML PATH('')), 1, 2, '')
FROM LN_score_detalle_killer T
inner join LN_contrapartes C on T.contraparte = C.contraparte
where T.visible = 1
and C.cliente = @p_cliente
GROUP BY T.contraparte) detalles_killer on detalles_killer.contraparte = LN_contrapartes.contraparte
WHERE LN_contrapartes.cliente = @p_cliente
AND LN_gestiones.desde <= GETDATE() AND LN_gestiones.hasta >= GETDATE()
AND LN_indicadores.visible = 1
AND LN_contrapartes.activo = 1 /*and ln_contrapartes.contraparte=219*/
AND LN_contrapartes.subcontratista = 0
--and padrones.identificacion = '30709637084'
AND LN_contraparte_familias.activo = 1
AND LN_familia_productos.activo = 1
AND LN_cliente_productos.activo = 1
--order by padrones.identificacion
--ORDER BY LN_contrapartes.country_code, LN_familias.nombre_familia, padrones.nombre_persona
END
IF (@accion = 'PRODUCTOS_INDICADORES') BEGIN
SELECT DATA.* FROM
(SELECT 'País' as etiqueta,
'PAIS' AS 'producto_id', NULL AS indicador, NULL as etiqueta_indicador,
NULL AS tipo_dato, 'PAIS' AS clave_indicador, 1 as show_panel,
-2 as orden_producto, 1 as orden, 'center' as alignment, 1 as locked,
60 AS width, NULL AS separator, NULL as decimals
UNION ALL
SELECT 'Familia' as etiqueta,
'FAMILIA' AS 'producto_id', NULL AS indicador, NULL as etiqueta_indicador,
NULL AS tipo_dato,'FAMILIA' AS clave_indicador, 1 as show_panel,
-1 as orden_producto, 1 as orden, 'left' as alignment, 1 as locked,
120 AS width, NULL AS separator, NULL as decimals
UNION ALL
SELECT 'Razón Social' as etiqueta,
'RAZON_SOCIAL' AS 'producto_id', NULL AS indicador, NULL as etiqueta_indicador,
NULL AS tipo_dato, 'RAZON_SOCIAL' AS clave_indicador, 1 as show_panel,
0 as orden_producto, 1 as orden, 'left' as alignment, 1 as locked,
200 AS width, NULL AS separator, NULL as decimals
UNION ALL
SELECT LN_productos.etiqueta, LN_productos.producto_id, SUSC.indicador,
LN_indicadores.etiqueta as etiqueta_indicador,
CASE
WHEN (LN_indicadores.clave_indicador = 'SCORE_IC'
OR LN_indicadores.clave_indicador = 'SCORE_BAL'
OR LN_indicadores.clave_indicador = 'SCORE_DOC'
OR LN_indicadores.clave_indicador = 'SCORE_BR'
OR LN_indicadores.clave_indicador = 'CUMPL_DOC'
OR LN_indicadores.clave_indicador = 'SCORE_FINAL'
OR LN_indicadores.clave_indicador = 'SCORE_DOSSIER'
OR LN_indicadores.clave_indicador = 'DEP_ECON'
OR LN_indicadores.clave_indicador = 'DEP_ECON_CALC'
OR LN_indicadores.clave_indicador = 'LC_DIAS_VENTAS'
OR LN_indicadores.clave_indicador = 'SITUACION_CD'
OR LN_indicadores.clave_indicador = 'SCORE_JUDICIAL'
OR LN_indicadores.clave_indicador = 'SCORE_FINAL') THEN 'S'
ELSE LN_indicadores.tipo_dato
END AS tipo_dato,
LN_indicadores.clave_indicador,
show_panel = CASE
WHEN ISNULL(LN_productos.balance, 0) > 0 THEN iif(SUSC.indicador IS NOT NULL, 1, 0) ELSE 1 END,
LN_cliente_productos.orden_producto, LN_indicadores.orden,
/*** ALINEACION DE LOS DATOS EN LA CELDA ***/
CASE
WHEN (LN_indicadores.clave_indicador = 'SCORE_IC'
OR LN_indicadores.clave_indicador = 'SCORE_BAL'
OR LN_indicadores.clave_indicador = 'SCORE_DOC'
OR LN_indicadores.clave_indicador = 'SCORE_BR'
OR LN_indicadores.clave_indicador = 'CUMPL_DOC'
OR LN_indicadores.clave_indicador = 'SCORE_FINAL'
OR LN_indicadores.clave_indicador = 'SCORE_DOSSIER'
OR LN_indicadores.clave_indicador = 'DEP_ECON'
OR LN_indicadores.clave_indicador = 'DEP_ECON_CALC'
OR LN_indicadores.clave_indicador = 'LC_DIAS_VENTAS'
OR LN_indicadores.clave_indicador = 'SCORE_FINAL') THEN 'right'
WHEN (LN_indicadores.clave_indicador = 'NIVEL_RIESGO'
OR LN_indicadores.clave_indicador = 'ULTIMA_NOVEDAD'
OR LN_indicadores.clave_indicador = 'VALORACION_BAL'
OR LN_indicadores.clave_indicador = 'CTRL_ETICO'
OR LN_indicadores.clave_indicador = 'CTRL_COMERCIAL'
OR LN_indicadores.clave_indicador = 'CTRL_CALIDAD'
OR LN_indicadores.clave_indicador = 'HOMOLOG'
OR LN_indicadores.clave_indicador = 'EXCEPCION'
OR LN_indicadores.clave_indicador = 'SITUACION_CD'
OR LN_indicadores.clave_indicador = 'FIDECHECK'
OR LN_indicadores.clave_indicador = 'CHEQUES_RECH'
OR LN_indicadores.clave_indicador = 'FECHA_BALANCE') THEN 'center'
ELSE 'right'
END AS alignment, 0 as locked,
CASE
WHEN (LN_indicadores.clave_indicador = 'SCORE_IC'
OR LN_indicadores.clave_indicador = 'CTRL_ETICO'
OR LN_indicadores.clave_indicador = 'CTRL_COMERCIAL'
OR LN_indicadores.clave_indicador = 'CTRL_CALIDAD'
OR LN_indicadores.clave_indicador = 'HOMOLOG'
OR LN_indicadores.clave_indicador = 'EXCEPCION'
OR LN_indicadores.clave_indicador = 'NIVEL_RIESGO'
OR LN_indicadores.clave_indicador = 'DEP_ECON'
OR LN_indicadores.clave_indicador = 'DEP_ECON_CALC'
OR LN_indicadores.clave_indicador = 'SITUACION_CD') THEN 70
WHEN LN_indicadores.clave_indicador = 'SUBCONT' THEN 80
WHEN LN_indicadores.clave_indicador = 'CHEQUES_RECH' THEN 88
ELSE 60
END AS width,
/*** separadores de miles : en balances va espacio, en otros productos va el punto ***/
iif(LN_productos.producto_id = 'balances',
iif(LN_indicadores.clave_indicador = 'VALORACION_BAL', NULL, 'SPACE'),
iif(LN_indicadores.tipo_dato = 'F' OR LN_indicadores.tipo_dato = 'I', 'POINT', NULL)
) as separator,
/*** decimales ***/
iif(LN_productos.producto_id = 'balances',
case
when (LN_indicadores.clave_indicador = 'BAL_ACTIVO_CORRIENTE' OR
LN_indicadores.clave_indicador = 'BAL_ACTIVO_NO_CORRIENTE' OR
LN_indicadores.clave_indicador = 'BAL_ACTIVO_TOTAL' OR
LN_indicadores.clave_indicador = 'BAL_PASIVO_CORRIENTE' OR
LN_indicadores.clave_indicador = 'BAL_PASIVO_NO_CORRIENTE' OR
LN_indicadores.clave_indicador = 'BAL_PATRIMONIO_NETO' OR
LN_indicadores.clave_indicador = 'BAL_VENTAS' OR
LN_indicadores.clave_indicador = 'BAL_RESULTADO' OR
LN_indicadores.clave_indicador = 'BAL_CAPITAL_TRABAJO' OR
LN_indicadores.clave_indicador = 'BAL_EBITDA') then 0
when LN_indicadores.clave_indicador = 'VALORACION_BAL' then NULL
else iif(LN_indicadores.clave_indicador LIKE 'SCORE%', 0, 2)
end,
case
when LN_indicadores.tipo_dato = 'F' then 2
when LN_indicadores.tipo_dato = 'I' then 0
else NULL
end
) as decimals
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 ISNULL(LN_familias.subfamilia, 0) = 0
AND LN_indicadores.visible = 1
GROUP BY LN_productos.etiqueta,
LN_productos.producto_id, LN_productos.balance,
LN_indicadores.etiqueta, LN_indicadores.tipo_dato,
LN_indicadores.clave_indicador, SUSC.indicador,
LN_cliente_productos.orden_producto, LN_indicadores.orden
--ORDER BY LN_cliente_productos.orden_producto, LN_indicadores.orden
) DATA
WHERE DATA.show_panel = 1
ORDER BY DATA.orden_producto, DATA.orden
END
END
GO
Depends On
17- dbo.country
- dbo.identificadores
- dbo.LN_cliente_indicadores
- dbo.LN_cliente_nivel
- dbo.LN_cliente_productos
- dbo.LN_contraparte_familias
- dbo.LN_contraparte_indicadores
- dbo.LN_contrapartes
- dbo.LN_docs
- dbo.LN_excepciones
- dbo.LN_familia_productos
- dbo.LN_familias
- dbo.LN_gestiones
- dbo.LN_indicadores
- dbo.LN_productos
- dbo.ln_score_detalle_killer
- dbo.padrones
Used By
No items found