Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
5| Name | Data Type | Length | Description |
|---|---|---|---|
| @accion | varchar | 30 | |
| @p_id_padre | int | 4 | |
| @p_cliente | int | 4 | |
| @p_country_code | varchar | 2 | |
| @cantidad | int | 4 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
/*
declare @cant int
exec LN_subcontratistas 'contar',107,2254875,null,@cant output
select @cant
*/
CREATE OR ALTER PROCEDURE dbo.LN_subcontratistas_26102020
-- Add the parameters for the stored procedure here
@accion varchar(30),
@p_id_padre int = null,
@p_cliente int = null,
@p_country_code varchar(2) = null,
@cantidad int = null output
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
if (@accion = 'SEARCH') begin
if (@p_id_padre is null and @p_cliente is null)
SELECT LN_contrapartes.contraparte, LN_contrapartes.country_code, LN_contrapartes.cliente,
LN_contrapartes.id_padron, LN_contrapartes.datos_comerciales, LN_contrapartes.activo,
LN_contrapartes.nombre_contacto, LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
CONVERT(VARCHAR(10), LN_contrapartes.fecha_ultimo_cierre, 103) AS fecha_ultimo_cierre,
LN_contrapartes.periodicidad_ejercicio,
LN_contrapartes.subcontratista, LN_contrapartes.id_padre,
CONVERT(VARCHAR, LN_contrapartes.vigencia_desde,103) AS vigencia_desde,
CONVERT(VARCHAR, LN_contrapartes.vigencia_hasta,103) AS vigencia_hasta,
LN_contrapartes.vigencia_hasta as fin_vigencia,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
padrones.identificacion, country.country_name, clientes.nombre_cliente,
CONVERT(VARCHAR(19), LN_contrapartes.created, 121) as created,
CONVERT(VARCHAR(10), LN_contrapartes.created, 103) as created_str,
CONVERT(VARCHAR(19), LN_contrapartes.modified, 121) as modified,
users1.first_name + ' ' + users1.last_name as created_by_user,
users2.first_name + ' ' + users2.last_name as modified_by_user,
LN_gestiones.gestion, LN_gestiones.desde, LN_gestiones.hasta,
LN_contraparte_familias.familia, LN_familias.nombre_familia,
p2.nombre_persona as nombre_persona_padre,
p2.identificador as identificador_padre,
p2.numero as numero_padre,
p2.identificacion as identificacion_padre
FROM LN_contrapartes
INNER JOIN padrones ON LN_contrapartes.id_padron = padrones.id_padron
INNER JOIN identificadores ON padrones.identificador = identificadores.identificador
INNER JOIN clientes ON LN_contrapartes.cliente = clientes.cliente
INNER JOIN country ON LN_contrapartes.country_code = country.country_code
INNER JOIN LN_gestiones ON LN_contrapartes.contraparte = LN_gestiones.contraparte
INNER JOIN users users1 ON LN_contrapartes.created_by = users1.user_id
LEFT OUTER JOIN users users2 ON LN_contrapartes.modified_by = users2.user_id
LEFT OUTER JOIN LN_contrapartes PADRE on LN_contrapartes.id_padre = PADRE.contraparte
LEFT OUTER JOIN padrones p2 on PADRE.id_padron = p2.id_padron
LEFT OUTER JOIN LN_contraparte_familias ON LN_contrapartes.contraparte = LN_contraparte_familias.contraparte
LEFT OUTER JOIN LN_familias ON LN_contraparte_familias.familia = LN_familias.familia
WHERE LN_contrapartes.subcontratista = 1
AND LN_gestiones.desde <= getdate() and LN_gestiones.hasta >= getdate()
ORDER BY clientes.nombre_cliente, padrones.nombre_persona
else
if (@p_id_padre is not null and @p_cliente is null)
SELECT LN_contrapartes.contraparte, LN_contrapartes.country_code, LN_contrapartes.cliente,
LN_contrapartes.id_padron, LN_contrapartes.datos_comerciales, LN_contrapartes.activo,
LN_contrapartes.nombre_contacto, LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
CONVERT(VARCHAR(10), LN_contrapartes.fecha_ultimo_cierre, 103) AS fecha_ultimo_cierre,
LN_contrapartes.periodicidad_ejercicio,
LN_contrapartes.subcontratista, LN_contrapartes.id_padre,
CONVERT(VARCHAR, LN_contrapartes.vigencia_desde,103) AS vigencia_desde,
CONVERT(VARCHAR, LN_contrapartes.vigencia_hasta,103) AS vigencia_hasta,
LN_contrapartes.vigencia_hasta as fin_vigencia,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
padrones.identificacion, country.country_name, clientes.nombre_cliente,
CONVERT(VARCHAR(19), LN_contrapartes.created, 121) as created,
CONVERT(VARCHAR(10), LN_contrapartes.created, 103) as created_str,
CONVERT(VARCHAR(19), LN_contrapartes.modified, 121) as modified,
users1.first_name + ' ' + users1.last_name as created_by_user,
users2.first_name + ' ' + users2.last_name as modified_by_user,
LN_gestiones.gestion, LN_gestiones.desde, LN_gestiones.hasta,
LN_contraparte_familias.familia, LN_familias.nombre_familia,
p2.nombre_persona as nombre_persona_padre,
p2.identificador as identificador_padre,
p2.numero as numero_padre,
p2.identificacion as identificacion_padre
FROM LN_contrapartes
INNER JOIN padrones ON LN_contrapartes.id_padron = padrones.id_padron
INNER JOIN identificadores ON padrones.identificador = identificadores.identificador
INNER JOIN clientes ON LN_contrapartes.cliente = clientes.cliente
INNER JOIN country ON LN_contrapartes.country_code = country.country_code
INNER JOIN LN_gestiones ON LN_contrapartes.contraparte = LN_gestiones.contraparte
INNER JOIN users users1 ON LN_contrapartes.created_by = users1.user_id
LEFT OUTER JOIN users users2 ON LN_contrapartes.modified_by = users2.user_id
LEFT OUTER JOIN LN_contrapartes PADRE on LN_contrapartes.id_padre = PADRE.contraparte
LEFT OUTER JOIN padrones p2 on PADRE.id_padron = p2.id_padron
LEFT OUTER JOIN LN_contraparte_familias ON LN_contrapartes.contraparte = LN_contraparte_familias.contraparte
LEFT OUTER JOIN LN_familias ON LN_contraparte_familias.familia = LN_familias.familia
WHERE LN_contrapartes.subcontratista = 1
AND LN_contrapartes.id_padre = @p_id_padre
AND LN_gestiones.desde <= getdate() and LN_gestiones.hasta >= getdate()
ORDER BY clientes.nombre_cliente, padrones.nombre_persona
else
if (@p_id_padre is null and @p_cliente is not null)
SELECT LN_contrapartes.contraparte, LN_contrapartes.country_code, LN_contrapartes.cliente,
LN_contrapartes.id_padron, LN_contrapartes.datos_comerciales, LN_contrapartes.activo,
LN_contrapartes.nombre_contacto, LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
CONVERT(VARCHAR(10), LN_contrapartes.fecha_ultimo_cierre, 103) AS fecha_ultimo_cierre,
LN_contrapartes.periodicidad_ejercicio,
LN_contrapartes.subcontratista, LN_contrapartes.id_padre,
CONVERT(VARCHAR, LN_contrapartes.vigencia_desde,103) AS vigencia_desde,
CONVERT(VARCHAR, LN_contrapartes.vigencia_hasta,103) AS vigencia_hasta,
LN_contrapartes.vigencia_hasta as fin_vigencia,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
padrones.identificacion, country.country_name, clientes.nombre_cliente,
CONVERT(VARCHAR(19), LN_contrapartes.created, 121) as created,
CONVERT(VARCHAR(10), LN_contrapartes.created, 103) as created_str,
CONVERT(VARCHAR(19), LN_contrapartes.modified, 121) as modified,
users1.first_name + ' ' + users1.last_name as created_by_user,
users2.first_name + ' ' + users2.last_name as modified_by_user,
LN_gestiones.gestion, LN_gestiones.desde, LN_gestiones.hasta,
LN_contraparte_familias.familia, LN_familias.nombre_familia,
p2.nombre_persona as nombre_persona_padre,
p2.identificador as identificador_padre,
p2.numero as numero_padre,
p2.identificacion as identificacion_padre
FROM LN_contrapartes
INNER JOIN padrones ON LN_contrapartes.id_padron = padrones.id_padron
INNER JOIN identificadores ON padrones.identificador = identificadores.identificador
INNER JOIN clientes ON LN_contrapartes.cliente = clientes.cliente
INNER JOIN country ON LN_contrapartes.country_code = country.country_code
INNER JOIN LN_gestiones ON LN_contrapartes.contraparte = LN_gestiones.contraparte
INNER JOIN users users1 ON LN_contrapartes.created_by = users1.user_id
LEFT OUTER JOIN users users2 ON LN_contrapartes.modified_by = users2.user_id
LEFT OUTER JOIN LN_contrapartes PADRE on LN_contrapartes.id_padre = PADRE.contraparte
LEFT OUTER JOIN padrones p2 on PADRE.id_padron = p2.id_padron
LEFT OUTER JOIN LN_contraparte_familias ON LN_contrapartes.contraparte = LN_contraparte_familias.contraparte
LEFT OUTER JOIN LN_familias ON LN_contraparte_familias.familia = LN_familias.familia
WHERE LN_contrapartes.subcontratista = 1
AND LN_contrapartes.cliente = @p_cliente
AND LN_gestiones.desde <= getdate() and LN_gestiones.hasta >= getdate()
ORDER BY clientes.nombre_cliente, padrones.nombre_persona
else
SELECT LN_contrapartes.contraparte, LN_contrapartes.country_code, LN_contrapartes.cliente,
LN_contrapartes.id_padron, LN_contrapartes.datos_comerciales, LN_contrapartes.activo,
LN_contrapartes.nombre_contacto, LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
CONVERT(VARCHAR(10), LN_contrapartes.fecha_ultimo_cierre, 103) AS fecha_ultimo_cierre,
LN_contrapartes.periodicidad_ejercicio,
LN_contrapartes.subcontratista, LN_contrapartes.id_padre,
CONVERT(VARCHAR, LN_contrapartes.vigencia_desde,103) AS vigencia_desde,
CONVERT(VARCHAR, LN_contrapartes.vigencia_hasta,103) AS vigencia_hasta,
LN_contrapartes.vigencia_hasta as fin_vigencia,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
padrones.identificacion, country.country_name, clientes.nombre_cliente,
CONVERT(VARCHAR(19), LN_contrapartes.created, 121) as created,
CONVERT(VARCHAR(10), LN_contrapartes.created, 103) as created_str,
CONVERT(VARCHAR(19), LN_contrapartes.modified, 121) as modified,
users1.first_name + ' ' + users1.last_name as created_by_user,
users2.first_name + ' ' + users2.last_name as modified_by_user,
LN_gestiones.gestion, LN_gestiones.desde, LN_gestiones.hasta,
LN_contraparte_familias.familia, LN_familias.nombre_familia,
p2.nombre_persona as nombre_persona_padre,
p2.identificador as identificador_padre,
p2.numero as numero_padre,
p2.identificacion as identificacion_padre
FROM LN_contrapartes
INNER JOIN padrones ON LN_contrapartes.id_padron = padrones.id_padron
INNER JOIN identificadores ON padrones.identificador = identificadores.identificador
INNER JOIN clientes ON LN_contrapartes.cliente = clientes.cliente
INNER JOIN country ON LN_contrapartes.country_code = country.country_code
INNER JOIN LN_gestiones ON LN_contrapartes.contraparte = LN_gestiones.contraparte
INNER JOIN users users1 ON LN_contrapartes.created_by = users1.user_id
LEFT OUTER JOIN users users2 ON LN_contrapartes.modified_by = users2.user_id
LEFT OUTER JOIN LN_contrapartes PADRE on LN_contrapartes.id_padre = PADRE.contraparte
LEFT OUTER JOIN padrones p2 on PADRE.id_padron = p2.id_padron
LEFT OUTER JOIN LN_contraparte_familias ON LN_contrapartes.contraparte = LN_contraparte_familias.contraparte
LEFT OUTER JOIN LN_familias ON LN_contraparte_familias.familia = LN_familias.familia
WHERE LN_contrapartes.subcontratista = 1
AND LN_contrapartes.id_padre = @p_id_padre
AND LN_contrapartes.cliente = @p_cliente
AND LN_gestiones.desde <= getdate() and LN_gestiones.hasta >= getdate()
ORDER BY clientes.nombre_cliente, padrones.nombre_persona
end else
if (@accion = 'subfamilias') begin
/* dado un id_padre devolver las subfamilias que puede utilizar para sus subcontratistas
parametro opcional country_code para filtrar familias de un paÃs.
*/
if (@p_country_code is null)
select LN_familias.familia, LN_familias.nombre_familia, LN_familias.cliente, LN_familias.country_code
from LN_familias
inner join LN_subfamilias ON LN_familias.familia = LN_subfamilias.familia
inner join LN_contraparte_familias ON LN_subfamilias.familia_padre = LN_contraparte_familias.familia
inner join LN_contrapartes ON (LN_contraparte_familias.contraparte = LN_contrapartes.contraparte
and LN_familias.cliente = LN_contrapartes.cliente)
where LN_contraparte_familias.contraparte = @p_id_padre
and LN_contraparte_familias.activo = 1
and LN_familias.visible = 1
and LN_familias.subfamilia = 1
group by LN_familias.familia, LN_familias.nombre_familia, LN_familias.cliente, LN_familias.country_code
order by LN_familias.nombre_familia
else
select LN_familias.familia, LN_familias.nombre_familia, LN_familias.cliente, LN_familias.country_code
from LN_familias
inner join LN_subfamilias ON LN_familias.familia = LN_subfamilias.familia
inner join LN_contraparte_familias ON LN_subfamilias.familia_padre = LN_contraparte_familias.familia
inner join LN_contrapartes ON (LN_contraparte_familias.contraparte = LN_contrapartes.contraparte
and LN_familias.cliente = LN_contrapartes.cliente)
where LN_contraparte_familias.contraparte = @p_id_padre
and LN_contraparte_familias.activo = 1
and LN_familias.country_code = @p_country_code
and LN_familias.visible = 1
and LN_familias.subfamilia = 1
group by LN_familias.familia, LN_familias.nombre_familia, LN_familias.cliente, LN_familias.country_code
order by LN_familias.nombre_familia
end else
if (@accion = 'contar') begin
select @cantidad = COUNT(*)
from LN_contrapartes
INNER JOIN LN_gestiones ON LN_contrapartes.contraparte = LN_gestiones.contraparte
WHERE LN_contrapartes.subcontratista = 1
AND LN_contrapartes.activo = 1
AND LN_contrapartes.id_padre = @p_id_padre
--AND LN_gestiones.desde <= getdate() and LN_gestiones.hasta >= getdate()
and LN_contrapartes.vigencia_desde <= GETDATE() and LN_contrapartes.vigencia_hasta >= GETDATE()
end else
/* análoga a los productos del panel de control de un cliente pero restringido a los
que se encuentran asignados a los subcontratistas */
if (@accion = 'productos_grilla') begin
SELECT LN_productos.producto, LN_productos.nombre_producto, LN_cliente_productos.activo,
LN_cliente_productos.visibilidad_default, LN_productos.visible,
country.country_code, country.country_name, LN_cliente_productos.orden_producto,
LN_productos.etiqueta, LN_productos.class_icon, LN_productos.visible_brief,
LN_productos.producto_id, LN_productos.balance, LN_productos.balance_carga,
LN_productos.balance_score, LN_productos.balance_analisis, LN_productos.balance_valoracion,
LN_productos.documentos, LN_productos.subcontratistas
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)
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.subfamilia = 1
AND LN_familias.visible = 1
GROUP BY LN_productos.producto, LN_productos.nombre_producto, LN_cliente_productos.activo,
LN_cliente_productos.visibilidad_default, LN_productos.visible,
country.country_code, country.country_name, LN_cliente_productos.orden_producto,
LN_productos.etiqueta, LN_productos.class_icon, LN_productos.visible_brief,
LN_productos.producto_id, LN_productos.balance, LN_productos.balance_carga,
LN_productos.balance_score, LN_productos.balance_analisis, LN_productos.balance_valoracion,
LN_productos.documentos, LN_productos.subcontratistas
ORDER BY LN_cliente_productos.orden_producto
end else
if (@accion = 'productos_indicadores') begin
/* análoga a la consulta del panel de control pero basado en productos asociados
a familias de subcontratistas (subfamilias) */
SELECT LN_productos.producto, LN_productos.nombre_producto, LN_cliente_productos.activo,
LN_cliente_productos.visibilidad_default, LN_productos.visible,
country.country_code, country.country_name,
LN_productos.etiqueta, LN_productos.class_icon,
LN_productos.producto_id, LN_indicadores.indicador, LN_indicadores.nombre_indicador,
LN_indicadores.etiqueta as etiqueta_indicador, LN_indicadores.tipo_dato,
LN_indicadores.rango_inferior, LN_indicadores.rango_superior, LN_indicadores.opciones,
LN_indicadores.clave_indicador,
LN_cliente_productos.orden_producto, LN_indicadores.orden
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 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.subfamilia = 1
AND LN_indicadores.visible = 1
GROUP BY LN_productos.producto, LN_productos.nombre_producto, LN_cliente_productos.activo,
LN_cliente_productos.visibilidad_default, LN_productos.visible,
country.country_code, country.country_name,
LN_productos.etiqueta, LN_productos.class_icon,
LN_productos.producto_id, LN_indicadores.indicador, LN_indicadores.nombre_indicador,
LN_indicadores.etiqueta, LN_indicadores.tipo_dato,
LN_indicadores.rango_inferior, LN_indicadores.rango_superior, LN_indicadores.opciones,
LN_indicadores.clave_indicador,
LN_cliente_productos.orden_producto, LN_indicadores.orden
ORDER BY LN_cliente_productos.orden_producto, LN_indicadores.orden
end else
if (@accion = 'subcontratistas_panel') begin
/* para obener información de subcontratistas del cliente asociados a
sus subfamilias, opcionalmente filtrado por contraparte padre */
if (@p_id_padre is null)
SELECT LN_contrapartes.contraparte, LN_contrapartes.country_code, LN_contrapartes.cliente,
LN_contrapartes.id_padron, LN_contrapartes.datos_comerciales, LN_contrapartes.activo,
LN_contrapartes.nombre_contacto, LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
CONVERT(VARCHAR(10), LN_contrapartes.fecha_ultimo_cierre, 103) AS fecha_ultimo_cierre,
LN_contrapartes.periodicidad_ejercicio,
LN_contrapartes.subcontratista, LN_contrapartes.id_padre,
CONVERT(VARCHAR, LN_contrapartes.vigencia_desde,103) AS vigencia_desde,
CONVERT(VARCHAR, LN_contrapartes.vigencia_hasta,103) AS vigencia_hasta,
LN_contrapartes.vigencia_desde AS vigencia_desde_ymd,
LN_contrapartes.vigencia_hasta AS vigencia_hasta_ymd,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
padrones.identificacion, country.country_name, clientes.nombre_cliente,
CONVERT(VARCHAR(19), LN_contrapartes.created, 121) as created,
CONVERT(VARCHAR(10), LN_contrapartes.created, 103) as created_str,
CONVERT(VARCHAR(19), LN_contrapartes.modified, 121) as modified,
users1.first_name + ' ' + users1.last_name as created_by_user,
users2.first_name + ' ' + users2.last_name as modified_by_user,
LN_gestiones.gestion, LN_gestiones.desde, LN_gestiones.hasta,
LN_familias.nombre_familia,
p2.nombre_persona as nombre_persona_padre,
p2.identificador as identificador_padre,
p2.numero as numero_padre,
p2.identificacion as identificacion_padre
FROM LN_contrapartes
INNER JOIN padrones ON LN_contrapartes.id_padron = padrones.id_padron
INNER JOIN identificadores ON padrones.identificador = identificadores.identificador
INNER JOIN clientes ON LN_contrapartes.cliente = clientes.cliente
INNER JOIN country ON LN_contrapartes.country_code = country.country_code
INNER JOIN LN_gestiones ON LN_contrapartes.contraparte = LN_gestiones.contraparte
INNER JOIN LN_contraparte_familias ON LN_contrapartes.contraparte = LN_contraparte_familias.contraparte
INNER JOIN LN_familias ON LN_contraparte_familias.familia = LN_familias.familia
INNER JOIN users users1 ON LN_contrapartes.created_by = users1.user_id
LEFT OUTER JOIN users users2 ON LN_contrapartes.modified_by = users2.user_id
LEFT OUTER JOIN LN_contrapartes PADRE on LN_contrapartes.id_padre = PADRE.contraparte
LEFT OUTER JOIN padrones p2 on PADRE.id_padron = p2.id_padron
/* Este join restringe para el panel de subcontratistas que el
padre de cada una tenga asignado y visible el producto subcontratistas */
INNER JOIN (select LN_contrapartes.contraparte
from LN_contrapartes 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
inner join LN_familias on (LN_familia_productos.familia = LN_familias.familia
and LN_contrapartes.cliente = LN_familias.cliente)
inner join LN_productos on LN_familia_productos.producto = LN_productos.producto
where LN_contrapartes.cliente = @p_cliente
and LN_productos.subcontratistas = 1
and ISNULL(LN_contrapartes.subcontratista, 0) = 0
group by LN_contrapartes.contraparte) PRODUCTO_SUBC_PADRE
ON PADRE.contraparte = PRODUCTO_SUBC_PADRE.contraparte
WHERE LN_contrapartes.subcontratista = 1 and ln_contrapartes.activo = 1
AND LN_contrapartes.cliente = @p_cliente
--AND LN_gestiones.desde <= getdate() and LN_gestiones.hasta >= getdate()
and LN_contrapartes.vigencia_desde <= GETDATE() and LN_contrapartes.vigencia_hasta >= GETDATE()
ORDER BY clientes.nombre_cliente, LN_familias.nombre_familia, padrones.nombre_persona
else
SELECT LN_contrapartes.contraparte, LN_contrapartes.country_code, LN_contrapartes.cliente,
LN_contrapartes.id_padron, LN_contrapartes.datos_comerciales, LN_contrapartes.activo,
LN_contrapartes.nombre_contacto, LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
CONVERT(VARCHAR(10), LN_contrapartes.fecha_ultimo_cierre, 103) AS fecha_ultimo_cierre,
LN_contrapartes.periodicidad_ejercicio,
LN_contrapartes.subcontratista, LN_contrapartes.id_padre,
CONVERT(VARCHAR, LN_contrapartes.vigencia_desde,103) AS vigencia_desde,
CONVERT(VARCHAR, LN_contrapartes.vigencia_hasta,103) AS vigencia_hasta,
LN_contrapartes.vigencia_desde AS vigencia_desde_ymd,
LN_contrapartes.vigencia_hasta AS vigencia_hasta_ymd,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
padrones.identificacion, country.country_name, clientes.nombre_cliente,
CONVERT(VARCHAR(19), LN_contrapartes.created, 121) as created,
CONVERT(VARCHAR(10), LN_contrapartes.created, 103) as created_str,
CONVERT(VARCHAR(19), LN_contrapartes.modified, 121) as modified,
users1.first_name + ' ' + users1.last_name as created_by_user,
users2.first_name + ' ' + users2.last_name as modified_by_user,
LN_gestiones.gestion, LN_gestiones.desde, LN_gestiones.hasta,
LN_familias.nombre_familia,
p2.nombre_persona as nombre_persona_padre,
p2.identificador as identificador_padre,
p2.numero as numero_padre,
p2.identificacion as identificacion_padre
FROM LN_contrapartes
INNER JOIN padrones ON LN_contrapartes.id_padron = padrones.id_padron
INNER JOIN identificadores ON padrones.identificador = identificadores.identificador
INNER JOIN clientes ON LN_contrapartes.cliente = clientes.cliente
INNER JOIN country ON LN_contrapartes.country_code = country.country_code
INNER JOIN LN_gestiones ON LN_contrapartes.contraparte = LN_gestiones.contraparte
INNER JOIN LN_contraparte_familias ON LN_contrapartes.contraparte = LN_contraparte_familias.contraparte
INNER JOIN LN_familias ON LN_contraparte_familias.familia = LN_familias.familia
INNER JOIN users users1 ON LN_contrapartes.created_by = users1.user_id
LEFT OUTER JOIN users users2 ON LN_contrapartes.modified_by = users2.user_id
LEFT OUTER JOIN LN_contrapartes PADRE on LN_contrapartes.id_padre = PADRE.contraparte
LEFT OUTER JOIN padrones p2 on PADRE.id_padron = p2.id_padron
/* Este join restringe para el panel de subcontratistas que el
padre de cada una tenga asignado y visible el producto subcontratistas */
INNER JOIN (select LN_contrapartes.contraparte
from LN_contrapartes 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
inner join LN_familias on (LN_familia_productos.familia = LN_familias.familia
and LN_contrapartes.cliente = LN_familias.cliente)
inner join LN_productos on LN_familia_productos.producto = LN_productos.producto
where LN_contrapartes.cliente = @p_cliente
and LN_contrapartes.contraparte = @p_id_padre
and LN_productos.subcontratistas = 1
and ISNULL(LN_contrapartes.subcontratista, 0) = 0
group by LN_contrapartes.contraparte) PRODUCTO_SUBC_PADRE
ON PADRE.contraparte = PRODUCTO_SUBC_PADRE.contraparte
WHERE LN_contrapartes.subcontratista = 1 and ln_contrapartes.activo = 1
AND LN_contrapartes.cliente = @p_cliente
AND LN_contrapartes.id_padre = @p_id_padre
--AND LN_gestiones.desde <= getdate() and LN_gestiones.hasta >= getdate()
and LN_contrapartes.vigencia_desde <= GETDATE() and LN_contrapartes.vigencia_hasta >= GETDATE()
ORDER BY clientes.nombre_cliente, LN_familias.nombre_familia, padrones.nombre_persona
end else
if (@accion = 'valores_grilla') begin
/* análogo a la consulta de valores de indicadores para el panel de control, pero
restringido a los subcontratistas */
if (@p_id_padre is null)
SELECT LN_contrapartes.contraparte, LN_contraparte_indicadores.indicador,
LN_indicadores.clave_indicador, LN_productos.producto_id,
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',''), ',', '.'),
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',''), ',', '.'),
null)
/*
when LN_indicadores.tipo_dato = 'I' then iif(LN_contraparte_indicadores.valor_numerico is not null, convert(varchar, round(isnull(LN_contraparte_indicadores.valor_numerico,0),0)), null)
when LN_indicadores.tipo_dato = 'F' then iif(LN_contraparte_indicadores.valor_numerico is not null, convert(varchar, round(isnull(LN_contraparte_indicadores.valor_numerico,0),0)), null)
*/
when LN_indicadores.tipo_dato = 'D' then convert(varchar, LN_contraparte_indicadores.valor_fecha, 103)
when LN_indicadores.tipo_dato = 'B' then iif(LN_contraparte_indicadores.valor_numerico > 0, 'SI', 'NO')
else null
end as valor,
/** 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'
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 = '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 = '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
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 = 'BR' then '000000'
else NULL
end
WHEN LN_indicadores.clave_indicador = 'FIDECHECK' THEN
case
when LN_contraparte_indicadores.valor_texto = 'P' then 'FFFFFF'
when LN_contraparte_indicadores.valor_texto = 'R' then 'FFFFFF'
when LN_contraparte_indicadores.valor_texto = 'N' then 'FFFFFF'
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
ELSE
case
when LN_contraparte_indicadores.valor_numerico <= 20 then 'FFFFFF'
else '000000'
end
END AS textcolor,
/** SVG **/
CASE
WHEN (LN_indicadores.clave_indicador = 'EXCEPCION') THEN
case
when LN_contraparte_indicadores.valor_numerico > 0 then '<svg x="0px" y="0px" viewBox="0 0 473.931 473.931" style="enable-background:new 0 0 473.931 473.931;" xml:space="preserve" width="15" height="15" class=""><g><circle style="fill:#FFB81C" cx="236.966" cy="236.966" r="236.966" data-original="#E79E2D" class="active-path" data-old_color="#E79E2D"/><path style="fill:#FFFFFF" d="M214.399,252.389l-6.698-100.159c-1.257-19.517-1.871-33.526-1.871-42.027 c0-11.57,3.035-20.602,9.085-27.072c6.065-6.499,14.054-9.74,23.94-9.74c11.996,0,20.022,4.15,24.056,12.445 c4.034,8.303,6.065,20.258,6.065,35.857c0,9.205-0.494,18.559-1.459,28.022l-8.995,103.089c-0.973,12.277-3.061,21.68-6.279,28.239 c-3.207,6.544-8.509,9.815-15.888,9.815c-7.536,0-12.756-3.158-15.682-9.512C217.744,275.016,215.645,265.351,214.399,252.389z M237.609,389.974c-8.501,0-15.936-2.739-22.267-8.251c-6.346-5.497-9.512-13.197-9.512-23.102c0-8.647,3.035-16.004,9.085-22.069 c6.065-6.065,13.493-9.092,22.275-9.092c8.786,0,16.269,3.027,22.477,9.092c6.204,6.065,9.31,13.425,9.31,22.069 c0,9.751-3.136,17.414-9.418,22.997C253.291,387.19,245.976,389.974,237.609,389.974z" data-original="#CA7B29" class="" data-old_color="#ffffff"/></g> </svg>'
else null
end
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') THEN
case
when LN_contraparte_indicadores.valor_numerico > 0 then '<svg width="15" height="15"><rect width="15" height="15" style="fill:#63b68c;" /></svg>'
when LN_contraparte_indicadores.valor_numerico = 0 then '<svg width="15" height="15"><rect width="15" height="15" style="fill:#A72B2A;" /></svg>'
else null
end
WHEN (LN_indicadores.clave_indicador = 'NIVEL_RIESGO') THEN
case
when LN_contraparte_indicadores.valor_texto = 'AR' then '<svg width="15" height="15"><rect width="20" height="20" style="fill:#A72B2A;" /></svg>'
when LN_contraparte_indicadores.valor_texto = 'MR' then '<svg width="15" height="15"><rect width="20" height="20" style="fill:#FFB81C;" /></svg>'
when LN_contraparte_indicadores.valor_texto = 'BR' then '<svg width="15" height="15"><rect width="20" height="20" style="fill:#63b68c;" /></svg>'
else NULL
end
WHEN (LN_indicadores.clave_indicador = 'FIDECHECK') THEN
case
when LN_contraparte_indicadores.valor_texto = 'P' then '<svg height="20" width="20"><circle cx="8" cy="8" r="7" stroke="black" stroke-width="0" fill="#A72B2A" /></svg>'
when LN_contraparte_indicadores.valor_texto = 'R' then '<svg height="20" width="20"><circle cx="8" cy="8" r="7" stroke="black" stroke-width="0" fill="#FFB81C" /></svg>'
when LN_contraparte_indicadores.valor_texto = 'N' then '<svg height="20" width="20"><circle cx="8" cy="8" r="7" stroke="black" stroke-width="0" fill="#63b68c" /></svg>'
else NULL
end
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') THEN
case
when LN_contraparte_indicadores.valor_numerico >= 81 then '<svg width="7" height="15"><rect width="7" height="15" style="fill:#63b68c;" /></svg>'
when LN_contraparte_indicadores.valor_numerico >= 61 then '<svg width="7" height="15"><rect width="7" height="15" style="fill:#cbc367;" /></svg>'
when LN_contraparte_indicadores.valor_numerico >= 41 then '<svg width="7" height="15"><rect width="7" height="15" style="fill:#FFB81C;" /></svg>'
when LN_contraparte_indicadores.valor_numerico >= 21 then '<svg width="7" height="15"><rect width="7" height="15" style="fill:#d37123;" /></svg>'
when LN_contraparte_indicadores.valor_numerico >= 0 then '<svg width="7" height="15"><rect width="7" height="15" style="fill:#A72B2A;" /></svg>'
else NULL
end
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 '<svg width="7" height="15"><rect width="7" height="20" style="fill:#A72B2A;" /></svg>'
when LN_contraparte_indicadores.valor_numerico >= 61 then '<svg width="7" height="15"><rect width="7" height="20" style="fill:#d37123;" /></svg>'
when LN_contraparte_indicadores.valor_numerico >= 41 then '<svg width="7" height="15"><rect width="7" height="20" style="fill:#FFB81C;" /></svg>'
when LN_contraparte_indicadores.valor_numerico >= 21 then '<svg width="7" height="15"><rect width="7" height="20" style="fill:#cbc367;" /></svg>'
when LN_contraparte_indicadores.valor_numerico >= 0 then '<svg width="7" height="15"><rect width="7" height="20" style="fill:#63b68c;" /></svg>'
else NULL
end
WHEN (LN_indicadores.clave_indicador = 'VALORACION_BAL') THEN
case
when LN_contraparte_indicadores.valor_texto = 'P' then '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="" x="0px" y="0px" viewBox="0 0 543.906 543.906" style="enable-background:new 0 0 543.906 543.906;" xml:space="preserve" width="15px" height="15px">
<g>
<path d="M0,271.953c0,150.194,121.759,271.953,271.953,271.953s271.953-121.759,271.953-271.953 S422.148,0,271.953,0S0,121.759,0,271.953z M124.076,340.453l0.169-97.735L272.122,95.184l147.703,147.535v97.566L307.476,227.929 v220.793h-71.556V228.778L124.076,340.453z" fill="#63b68c"/>
</g>
</svg>'
when LN_contraparte_indicadores.valor_texto = 'U' then '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="" x="0px" y="0px" viewBox="0 0 543.902 543.902" style="enable-background:new 0 0 543.902 543.902;" xml:space="preserve" width="15px" height="15px">
<g>
<path d="M79.652,79.652c-106.203,106.203-106.203,278.398,0,384.602 c106.203,106.198,278.398,106.198,384.602,0c106.198-106.203,106.198-278.398,0-384.602 C358.045-26.551,185.856-26.551,79.652,79.652z M118.955,215.825l69.228-68.989l208.887,0.239l0.12,208.768l-68.989,68.984V265.94 L172.073,422.069l-50.6-50.6l155.519-155.525L118.955,215.825L118.955,215.825z" fill="#cbc367"/>
</g>
</svg>'
when LN_contraparte_indicadores.valor_texto = 'E' then '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="" x="0px" y="0px" viewBox="0 0 543.906 543.906" style="enable-background:new 0 0 543.906 543.906;" xml:space="preserve" width="15px" height="15px">
<g>
<path d="M271.953,0C121.759,0,0,121.759,0,271.953s121.759,271.953,271.953,271.953 s271.953-121.759,271.953-271.953S422.148,0,271.953,0z M203.454,124.076l97.735,0.169l147.535,147.877L301.188,419.831h-97.56 l112.349-112.349H95.184v-71.562h219.945L203.454,124.076z" fill="#FFB81C"/>
</g>
</svg>'
when LN_contraparte_indicadores.valor_texto = 'D' then '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="" x="0px" y="0px" viewBox="0 0 100 100" style="enable-background:new 0 0 100 100;" xml:space="preserve" width="15px" height="15px">
<g>
<path d="M85.355,14.645c-19.526-19.526-51.185-19.526-70.711,0s-19.526,51.185,0,70.711 c19.526,19.525,51.185,19.525,70.711,0C104.881,65.829,104.881,34.171,85.355,14.645z M60.319,21.871l12.684,12.728l-0.044,38.405 l-38.383,0.022L21.893,60.342h29.213L22.401,31.637l9.303-9.303l28.593,28.593L60.319,21.871z" fill="#d37123"/>
</g>
</svg>'
when LN_contraparte_indicadores.valor_texto = 'N' then '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="" x="0px" y="0px" viewBox="0 0 543.906 543.906" style="enable-background:new 0 0 543.906 543.906;" xml:space="preserve" width="15px" height="15px">
<g>
<path d="M543.906,271.953C543.906,121.759,422.148,0,271.953,0S0,121.759,0,271.953 s121.759,271.953,271.953,271.953S543.906,422.148,543.906,271.953z M419.831,203.454l-0.169,97.735L271.785,448.723 L124.076,301.188v-97.56l112.349,112.349V95.184h71.556v219.945L419.831,203.454z" fill="#A72B2A"/>
</g>
</svg>'
else NULL
end
WHEN (LN_indicadores.clave_indicador = 'SITUACION_CD') THEN
case
when LN_contraparte_indicadores.valor_numerico = 1 then
'<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
viewBox="0 0 496.158 496.158" style="enable-background:new 0 0 496.158 496.158;" xml:space="preserve">
<path style="fill:#96CAB0;" d="M248.082,0.003C111.07,0.003,0,111.061,0,248.085c0,137,111.07,248.07,248.082,248.07
c137.006,0,248.076-111.07,248.076-248.07C496.158,111.061,385.088,0.003,248.082,0.003z"/>
<path style="fill:#000000;" d="M278.767,145.419c-3.126-4.003-7.276-6.006-12.451-6.006c-4.591,0-7.716,0.879-9.375,2.637
c-1.662,1.758-5.226,6.445-10.693,14.063c-5.47,7.617-11.744,14.502-18.823,20.654c-7.082,6.152-16.53,12.012-28.345,17.578
c-7.91,3.712-13.429,6.738-16.553,9.082c-3.126,2.344-4.688,6.006-4.688,10.986c0,4.298,1.586,8.082,4.761,11.353
c3.172,3.273,6.812,4.907,10.913,4.907c8.592,0,25.292-9.521,50.098-28.564V335.41c0,7.814,1.806,13.722,5.42,17.725
c3.612,4.003,8.397,6.006,14.355,6.006c13.378,0,20.068-9.814,20.068-29.443V161.972
C283.455,154.941,281.892,149.425,278.767,145.419z"/>
</svg>'
when LN_contraparte_indicadores.valor_numerico = 2 then
'<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
viewBox="0 0 496.158 496.158" style="enable-background:new 0 0 496.158 496.158;" xml:space="preserve">
<path style="fill:#FFFFBA;" d="M248.082,0.003C111.07,0.003,0,111.061,0,248.085c0,137,111.07,248.07,248.082,248.07
c137.006,0,248.076-111.07,248.076-248.07C496.158,111.061,385.088,0.003,248.082,0.003z"/>
<path style="fill:#000000;" d="M319.783,325.595c-4.005-3.124-9.814-4.688-17.432-4.688h-76.465c2.44-3.71,4.834-6.885,7.178-9.521
c5.468-6.64,15.55-15.967,30.249-27.979c14.696-12.012,25.17-20.824,31.421-26.44c6.249-5.614,12.378-13.378,18.384-23.291
c6.006-9.911,9.009-20.922,9.009-33.032c0-7.713-1.442-15.161-4.321-22.339c-2.882-7.178-6.91-13.5-12.085-18.97
c-5.177-5.468-11.183-9.764-18.018-12.891c-10.547-4.688-23.291-7.031-38.232-7.031c-12.403,0-23.218,1.831-32.446,5.493
s-16.846,8.473-22.852,14.429c-6.006,5.958-10.524,12.598-13.55,19.922c-3.028,7.324-4.541,14.355-4.541,21.094
c0,5.566,1.611,9.961,4.834,13.184s7.274,4.834,12.158,4.834c5.566,0,9.789-1.758,12.671-5.273
c2.879-3.516,5.468-8.544,7.764-15.088c2.293-6.542,3.93-10.547,4.907-12.012c7.324-11.229,17.381-16.846,30.176-16.846
c6.054,0,11.646,1.369,16.772,4.102c5.127,2.735,9.178,6.569,12.158,11.499c2.978,4.933,4.468,10.524,4.468,16.772
c0,5.763-1.392,11.646-4.175,17.651s-6.837,11.865-12.158,17.578c-5.324,5.713-11.989,11.403-19.995,17.065
c-4.493,3.028-11.964,9.352-22.412,18.97c-10.451,9.62-22.169,21.167-35.156,34.644c-3.126,3.321-6.006,7.887-8.643,13.696
c-2.637,5.812-3.955,10.474-3.955,13.989c0,5.47,2.051,10.231,6.152,14.282c4.102,4.054,9.814,6.079,17.139,6.079H306.6
c6.445,0,11.254-1.659,14.429-4.98c3.172-3.319,4.761-7.372,4.761-12.158C325.789,332.97,323.786,328.722,319.783,325.595z"/>
</svg>'
when LN_contraparte_indicadores.valor_numerico = 3 then
'<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
viewBox="0 0 496.158 496.158" style="enable-background:new 0 0 496.158 496.158;" xml:space="preserve">
<path style="fill:#FDC689;" d="M248.082,0.003C111.07,0.003,0,111.061,0,248.085c0,137,111.07,248.07,248.082,248.07
c137.006,0,248.076-111.07,248.076-248.07C496.158,111.061,385.088,0.003,248.082,0.003z"/>
<path style="fill:#000000;" d="M319.637,269.711c-2.637-6.395-6.569-12.231-11.792-17.505c-5.226-5.273-11.646-9.961-19.263-14.063
c7.91-6.64,13.989-13.451,18.237-20.435c4.248-6.981,6.372-15.355,6.372-25.122c0-7.42-1.465-14.355-4.395-20.801
s-7.276-12.108-13.037-16.992c-5.763-4.882-12.55-8.617-20.361-11.206c-7.814-2.586-16.457-3.882-25.928-3.882
c-10.84,0-20.654,1.538-29.443,4.614s-16.139,7.155-22.046,12.231c-5.91,5.079-10.4,10.426-13.477,16.04
c-3.076,5.617-4.614,10.963-4.614,16.04c0,5.273,1.634,9.499,4.907,12.671c3.271,3.175,6.859,4.761,10.767,4.761
c3.319,0,6.249-0.586,8.789-1.758c2.538-1.172,4.296-2.783,5.273-4.834c1.659-3.809,3.49-7.86,5.493-12.158
c2-4.296,4.125-7.812,6.372-10.547c2.245-2.733,5.296-4.93,9.155-6.592c3.856-1.659,8.764-2.49,14.722-2.49
c8.789,0,15.77,2.71,20.947,8.13c5.175,5.42,7.764,11.891,7.764,19.409c0,9.865-3.248,17.432-9.741,22.705
c-6.496,5.273-14.234,7.91-23.218,7.91h-6.006c-6.935,0-12.158,1.442-15.674,4.321c-3.516,2.882-5.273,6.665-5.273,11.353
c0,4.786,1.465,8.521,4.395,11.206c2.93,2.687,7.079,4.028,12.451,4.028c1.172,0,3.809-0.194,7.91-0.586
c4.102-0.389,7.127-0.586,9.082-0.586c11.133,0,19.823,3.248,26.074,9.741c6.249,6.496,9.375,15.454,9.375,26.88
c0,7.716-1.831,14.502-5.493,20.361s-8.302,10.279-13.916,13.257c-5.617,2.98-11.451,4.468-17.505,4.468
c-10.547,0-18.727-3.296-24.536-9.888c-5.812-6.592-11.256-16.674-16.333-30.249c-0.783-2.245-2.442-4.175-4.98-5.786
c-2.541-1.611-5.177-2.417-7.91-2.417c-5.47,0-10.034,1.735-13.696,5.2c-3.662,3.468-5.493,8.034-5.493,13.696
c0,4.395,1.538,9.961,4.614,16.699s7.617,13.257,13.623,19.556s13.646,11.549,22.925,15.747c9.276,4.198,19.775,6.299,31.494,6.299
c11.522,0,22.046-1.831,31.567-5.493s17.748-8.739,24.683-15.234c6.933-6.493,12.181-13.891,15.747-22.192
c3.563-8.299,5.347-16.894,5.347-25.781C323.592,283.018,322.273,276.109,319.637,269.711z"/>
</svg>'
when LN_contraparte_indicadores.valor_numerico = 4 then
'<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
viewBox="0 0 496.158 496.158" style="enable-background:new 0 0 496.158 496.158;" xml:space="preserve">
<path style="fill:#FD676E;" d="M248.082,0.003C111.07,0.003,0,111.061,0,248.085c0,137,111.07,248.07,248.082,248.07
c137.006,0,248.076-111.07,248.076-248.07C496.158,111.061,385.088,0.003,248.082,0.003z"/>
<path style="fill:#FFFFFF;" d="M324.983,279.892c-4.541-2.051-10.572-3.076-18.091-3.076h-6.299V163.437
c0-16.992-7.423-25.488-22.266-25.488c-4.591,0-8.521,1.538-11.792,4.614c-3.273,3.076-7.448,8.034-12.524,14.868l-77.637,103.857
c-2.149,2.833-3.955,5.226-5.42,7.178c-1.465,1.955-2.882,3.98-4.248,6.079c-1.369,2.101-2.394,4.102-3.076,6.006
c-0.685,1.904-1.025,3.786-1.025,5.64c0,7.228,2.318,12.941,6.958,17.139c4.637,4.2,11.595,6.299,20.874,6.299h73.535v27.246
c0,7.324,1.685,12.868,5.054,16.626s7.787,5.64,13.257,5.64c5.566,0,10.009-1.831,13.33-5.493c3.319-3.662,4.98-9.251,4.98-16.772
V309.63h8.936c7.42,0,12.987-1.293,16.699-3.882c3.71-2.586,5.566-6.713,5.566-12.378
C331.795,286.436,329.524,281.943,324.983,279.892z M263.973,276.816h-62.988l62.988-85.107V276.816z"/>
</svg>'
when LN_contraparte_indicadores.valor_numerico = 5 then
'<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
viewBox="0 0 496.158 496.158" style="enable-background:new 0 0 496.158 496.158;" xml:space="preserve">
<path style="fill:#C55B5B;" d="M248.082,0.003C111.07,0.003,0,111.061,0,248.085c0,137,111.07,248.07,248.082,248.07
c137.006,0,248.076-111.07,248.076-248.07C496.158,111.061,385.088,0.003,248.082,0.003z"/>
<path style="fill:#FFFFFF;" d="M320.516,255.136c-3.516-8.496-8.35-15.843-14.502-22.046c-6.152-6.2-13.307-11.06-21.46-14.575
c-8.155-3.516-16.919-5.273-26.294-5.273c-11.719,0-24.513,3.712-38.379,11.133l8.35-47.461h69.58
c7.226,0,12.694-1.561,16.406-4.688c3.71-3.124,5.566-7.226,5.566-12.305c0-11.62-7.617-17.432-22.852-17.432h-77.344
c-8.4,0-14.454,1.904-18.164,5.713c-3.712,3.809-6.251,9.913-7.617,18.311l-12.304,70.166c-1.076,6.152-1.611,9.474-1.611,9.961
c0,4.395,1.854,8.327,5.566,11.792c3.71,3.468,7.958,5.2,12.744,5.2c4.395,0,9.984-2.563,16.772-7.69
c6.786-5.127,11.986-8.716,15.601-10.767c3.612-2.051,9.618-3.076,18.018-3.076c6.834,0,13.037,1.637,18.604,4.907
c5.566,3.273,10.009,8.229,13.33,14.868c3.319,6.642,4.98,14.648,4.98,24.023c0,8.693-1.538,16.457-4.614,23.291
c-3.076,6.837-7.448,12.208-13.11,16.113c-5.665,3.907-12.257,5.859-19.775,5.859c-8.203,0-15.626-2.417-22.266-7.251
c-6.642-4.834-11.916-11.595-15.82-20.288c-4.005-9.471-10.107-14.209-18.311-14.209c-4.786,0-8.766,1.71-11.938,5.127
c-3.175,3.419-4.761,7.031-4.761,10.84c0,6.251,2.271,13.55,6.812,21.899s12.254,15.747,23.145,22.192
c10.888,6.445,25.072,9.668,42.554,9.668c15.624,0,29.418-3.419,41.382-10.254c11.961-6.834,21.117-16.063,27.466-27.686
c6.347-11.62,9.521-24.511,9.521-38.672C325.789,272.765,324.031,263.632,320.516,255.136z"/>
</svg>'
when LN_contraparte_indicadores.valor_numerico = 6 then
'<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
viewBox="0 0 496.158 496.158" style="enable-background:new 0 0 496.158 496.158;" xml:space="preserve">
<path style="fill:#C55B5B;" d="M248.082,0.003C111.07,0.003,0,111.061,0,248.085c0,137,111.07,248.07,248.082,248.07
c137.006,0,248.076-111.07,248.076-248.07C496.158,111.061,385.088,0.003,248.082,0.003z"/>
<path style="fill:#FFFFFF;" d="M321.248,258.652c-3.223-8.69-7.789-16.234-13.696-22.632c-5.91-6.395-12.794-11.327-20.654-14.795
c-7.862-3.465-16.432-5.2-25.708-5.2c-9.668,0-18.409,1.904-26.221,5.713c-7.814,3.809-15.04,9.668-21.68,17.578
c1.268-26.562,5.468-45.019,12.598-55.371c3.516-5.077,7.837-9.105,12.964-12.085c5.127-2.978,10.277-4.468,15.454-4.468
c6.445,0,12.108,1.783,16.992,5.347c4.882,3.566,8.446,8.276,10.693,14.136c1.659,4.591,4.248,8.18,7.764,10.767
c3.516,2.589,7.324,3.882,11.426,3.882c4.688,0,8.544-1.634,11.572-4.907c3.026-3.271,4.541-6.908,4.541-10.913
c0-6.64-2.417-13.573-7.251-20.801c-4.834-7.226-12.012-13.28-21.533-18.164c-9.521-4.882-20.533-7.324-33.032-7.324
c-12.989,0-24.562,2.442-34.717,7.324c-10.158,4.884-18.8,12.11-25.928,21.68c-7.13,9.572-12.598,21.632-16.406,36.182
c-3.809,14.552-5.713,31.055-5.713,49.512c0,22.657,3.149,41.821,9.448,57.495s15.404,27.516,27.319,35.522
c11.913,8.009,26.074,12.012,42.48,12.012c14.257,0,27.026-3.149,38.306-9.448s20.068-15.063,26.367-26.294
c6.299-11.229,9.448-23.73,9.448-37.5C326.082,276.427,324.471,267.345,321.248,258.652z M277.303,318.198
c-6.445,8.057-14.601,12.085-24.463,12.085c-10.353,0-18.947-4.395-25.781-13.184c-6.837-8.789-10.254-19.775-10.254-32.959
c0-8.203,1.685-15.355,5.054-21.46c3.369-6.102,7.812-10.767,13.33-13.989c5.516-3.223,11.302-4.834,17.358-4.834
c6.347,0,12.158,1.685,17.432,5.054c5.274,3.369,9.423,8.253,12.451,14.648c3.026,6.397,4.541,14.04,4.541,22.925
C286.971,299.571,283.748,310.141,277.303,318.198z"/>
</svg>'
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 = '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))
ELSE NULL
END AS textcaption,
/** 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
FROM LN_contrapartes
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_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
WHERE LN_contrapartes.cliente = @p_cliente
--AND LN_gestiones.desde <= GETDATE() AND LN_gestiones.hasta >= GETDATE()
and LN_contrapartes.vigencia_desde <= GETDATE() and LN_contrapartes.vigencia_hasta >= GETDATE()
AND LN_indicadores.visible = 1
AND LN_contrapartes.activo = 1
AND LN_contrapartes.subcontratista = 1
AND LN_contraparte_familias.activo = 1
AND LN_familia_productos.activo = 1
ELSE
/* por id_padre */
SELECT LN_contrapartes.contraparte, LN_contraparte_indicadores.indicador,
LN_indicadores.clave_indicador, LN_productos.producto_id,
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',''), ',', '.'),
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',''), ',', '.'),
null)
/*
when LN_indicadores.tipo_dato = 'I' then iif(LN_contraparte_indicadores.valor_numerico is not null, convert(varchar, round(isnull(LN_contraparte_indicadores.valor_numerico,0),0)), null)
when LN_indicadores.tipo_dato = 'F' then iif(LN_contraparte_indicadores.valor_numerico is not null, convert(varchar, round(isnull(LN_contraparte_indicadores.valor_numerico,0),0)), null)
*/
when LN_indicadores.tipo_dato = 'D' then convert(varchar, LN_contraparte_indicadores.valor_fecha, 103)
when LN_indicadores.tipo_dato = 'B' then iif(LN_contraparte_indicadores.valor_numerico > 0, 'SI', 'NO')
else null
end as valor,
/** 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'
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 = '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 = '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
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 = 'BR' then '000000'
else NULL
end
WHEN LN_indicadores.clave_indicador = 'FIDECHECK' THEN
case
when LN_contraparte_indicadores.valor_texto = 'P' then 'FFFFFF'
when LN_contraparte_indicadores.valor_texto = 'R' then 'FFFFFF'
when LN_contraparte_indicadores.valor_texto = 'N' then 'FFFFFF'
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
ELSE
case
when LN_contraparte_indicadores.valor_numerico <= 20 then 'FFFFFF'
else '000000'
end
END AS textcolor,
/** SVG **/
CASE
WHEN (LN_indicadores.clave_indicador = 'EXCEPCION') THEN
case
when LN_contraparte_indicadores.valor_numerico > 0 then '<svg x="0px" y="0px" viewBox="0 0 473.931 473.931" style="enable-background:new 0 0 473.931 473.931;" xml:space="preserve" width="15px" height="15px" class=""><g><circle style="fill:#FFB81C" cx="236.966" cy="236.966" r="236.966" data-original="#E79E2D" class="active-path" data-old_color="#E79E2D"/><path style="fill:#FFFFFF" d="M214.399,252.389l-6.698-100.159c-1.257-19.517-1.871-33.526-1.871-42.027 c0-11.57,3.035-20.602,9.085-27.072c6.065-6.499,14.054-9.74,23.94-9.74c11.996,0,20.022,4.15,24.056,12.445 c4.034,8.303,6.065,20.258,6.065,35.857c0,9.205-0.494,18.559-1.459,28.022l-8.995,103.089c-0.973,12.277-3.061,21.68-6.279,28.239 c-3.207,6.544-8.509,9.815-15.888,9.815c-7.536,0-12.756-3.158-15.682-9.512C217.744,275.016,215.645,265.351,214.399,252.389z M237.609,389.974c-8.501,0-15.936-2.739-22.267-8.251c-6.346-5.497-9.512-13.197-9.512-23.102c0-8.647,3.035-16.004,9.085-22.069 c6.065-6.065,13.493-9.092,22.275-9.092c8.786,0,16.269,3.027,22.477,9.092c6.204,6.065,9.31,13.425,9.31,22.069 c0,9.751-3.136,17.414-9.418,22.997C253.291,387.19,245.976,389.974,237.609,389.974z" data-original="#CA7B29" class="" data-old_color="#ffffff"/></g> </svg>'
else null
end
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') THEN
case
when LN_contraparte_indicadores.valor_numerico > 0 then '<svg width="15" height="15"><rect width="15" height="15" style="fill:#63b68c;" /></svg>'
when LN_contraparte_indicadores.valor_numerico = 0 then '<svg width="15" height="15"><rect width="15" height="15" style="fill:#A72B2A;" /></svg>'
else null
end
WHEN (LN_indicadores.clave_indicador = 'NIVEL_RIESGO') THEN
case
when LN_contraparte_indicadores.valor_texto = 'AR' then '<svg width="15" height="15"><rect width="20" height="15" style="fill:#A72B2A;" /></svg>'
when LN_contraparte_indicadores.valor_texto = 'MR' then '<svg width="15" height="15"><rect width="20" height="15" style="fill:#FFB81C;" /></svg>'
when LN_contraparte_indicadores.valor_texto = 'BR' then '<svg width="15" height="15"><rect width="20" height="15" style="fill:#63b68c;" /></svg>'
else NULL
end
WHEN (LN_indicadores.clave_indicador = 'FIDECHECK') THEN
case
when LN_contraparte_indicadores.valor_texto = 'P' then '<svg height="15" width="15"><circle cx="8" cy="8" r="7" stroke="black" stroke-width="0" fill="#A72B2A" /></svg>'
when LN_contraparte_indicadores.valor_texto = 'R' then '<svg height="15" width="15"><circle cx="8" cy="8" r="7" stroke="black" stroke-width="0" fill="#FFB81C" /></svg>'
when LN_contraparte_indicadores.valor_texto = 'N' then '<svg height="15" width="15"><circle cx="8" cy="8" r="7" stroke="black" stroke-width="0" fill="#63b68c" /></svg>'
else NULL
end
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') THEN
case
when LN_contraparte_indicadores.valor_numerico >= 81 then '<svg width="7" height="15"><rect width="7" height="15" style="fill:#63b68c;" /></svg>'
when LN_contraparte_indicadores.valor_numerico >= 61 then '<svg width="7" height="15"><rect width="7" height="15" style="fill:#cbc367;" /></svg>'
when LN_contraparte_indicadores.valor_numerico >= 41 then '<svg width="7" height="15"><rect width="7" height="15" style="fill:#FFB81C;" /></svg>'
when LN_contraparte_indicadores.valor_numerico >= 21 then '<svg width="7" height="15"><rect width="7" height="15" style="fill:#d37123;" /></svg>'
when LN_contraparte_indicadores.valor_numerico >= 0 then '<svg width="7" height="15"><rect width="7" height="15" style="fill:#A72B2A;" /></svg>'
else NULL
end
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 '<svg width="7" height="15"><rect width="7" height="15" style="fill:#A72B2A;" /></svg>'
when LN_contraparte_indicadores.valor_numerico >= 61 then '<svg width="7" height="15"><rect width="7" height="15" style="fill:#d37123;" /></svg>'
when LN_contraparte_indicadores.valor_numerico >= 41 then '<svg width="7" height="15"><rect width="7" height="15" style="fill:#FFB81C;" /></svg>'
when LN_contraparte_indicadores.valor_numerico >= 21 then '<svg width="7" height="15"><rect width="7" height="15" style="fill:#cbc367;" /></svg>'
when LN_contraparte_indicadores.valor_numerico >= 0 then '<svg width="7" height="15"><rect width="7" height="15" style="fill:#63b68c;" /></svg>'
else NULL
end
WHEN (LN_indicadores.clave_indicador = 'VALORACION_BAL') THEN
case
when LN_contraparte_indicadores.valor_texto = 'P' then '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="" x="0px" y="0px" viewBox="0 0 543.906 543.906" style="enable-background:new 0 0 543.906 543.906;" xml:space="preserve" width="15px" height="15px">
<g>
<path d="M0,271.953c0,150.194,121.759,271.953,271.953,271.953s271.953-121.759,271.953-271.953 S422.148,0,271.953,0S0,121.759,0,271.953z M124.076,340.453l0.169-97.735L272.122,95.184l147.703,147.535v97.566L307.476,227.929 v220.793h-71.556V228.778L124.076,340.453z" fill="#63b68c"/>
</g>
</svg>'
when LN_contraparte_indicadores.valor_texto = 'U' then '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="" x="0px" y="0px" viewBox="0 0 543.902 543.902" style="enable-background:new 0 0 543.902 543.902;" xml:space="preserve" width="15px" height="15px">
<g>
<path d="M79.652,79.652c-106.203,106.203-106.203,278.398,0,384.602 c106.203,106.198,278.398,106.198,384.602,0c106.198-106.203,106.198-278.398,0-384.602 C358.045-26.551,185.856-26.551,79.652,79.652z M118.955,215.825l69.228-68.989l208.887,0.239l0.12,208.768l-68.989,68.984V265.94 L172.073,422.069l-50.6-50.6l155.519-155.525L118.955,215.825L118.955,215.825z" fill="#cbc367"/>
</g>
</svg>'
when LN_contraparte_indicadores.valor_texto = 'E' then '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="" x="0px" y="0px" viewBox="0 0 543.906 543.906" style="enable-background:new 0 0 543.906 543.906;" xml:space="preserve" width="15px" height="15px">
<g>
<path d="M271.953,0C121.759,0,0,121.759,0,271.953s121.759,271.953,271.953,271.953 s271.953-121.759,271.953-271.953S422.148,0,271.953,0z M203.454,124.076l97.735,0.169l147.535,147.877L301.188,419.831h-97.56 l112.349-112.349H95.184v-71.562h219.945L203.454,124.076z" fill="#FFB81C"/>
</g>
</svg>'
when LN_contraparte_indicadores.valor_texto = 'D' then '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="" x="0px" y="0px" viewBox="0 0 100 100" style="enable-background:new 0 0 100 100;" xml:space="preserve" width="15px" height="15px">
<g>
<path d="M85.355,14.645c-19.526-19.526-51.185-19.526-70.711,0s-19.526,51.185,0,70.711 c19.526,19.525,51.185,19.525,70.711,0C104.881,65.829,104.881,34.171,85.355,14.645z M60.319,21.871l12.684,12.728l-0.044,38.405 l-38.383,0.022L21.893,60.342h29.213L22.401,31.637l9.303-9.303l28.593,28.593L60.319,21.871z" fill="#d37123"/>
</g>
</svg>'
when LN_contraparte_indicadores.valor_texto = 'N' then '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="" x="0px" y="0px" viewBox="0 0 543.906 543.906" style="enable-background:new 0 0 543.906 543.906;" xml:space="preserve" width="15px" height="15px">
<g>
<path d="M543.906,271.953C543.906,121.759,422.148,0,271.953,0S0,121.759,0,271.953 s121.759,271.953,271.953,271.953S543.906,422.148,543.906,271.953z M419.831,203.454l-0.169,97.735L271.785,448.723 L124.076,301.188v-97.56l112.349,112.349V95.184h71.556v219.945L419.831,203.454z" fill="#A72B2A"/>
</g>
</svg>'
else NULL
end
WHEN (LN_indicadores.clave_indicador = 'SITUACION_CD') THEN
case
when LN_contraparte_indicadores.valor_numerico = 1 then
'<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
viewBox="0 0 496.158 496.158" style="enable-background:new 0 0 496.158 496.158;" xml:space="preserve">
<path style="fill:#96CAB0;" d="M248.082,0.003C111.07,0.003,0,111.061,0,248.085c0,137,111.07,248.07,248.082,248.07
c137.006,0,248.076-111.07,248.076-248.07C496.158,111.061,385.088,0.003,248.082,0.003z"/>
<path style="fill:#000000;" d="M278.767,145.419c-3.126-4.003-7.276-6.006-12.451-6.006c-4.591,0-7.716,0.879-9.375,2.637
c-1.662,1.758-5.226,6.445-10.693,14.063c-5.47,7.617-11.744,14.502-18.823,20.654c-7.082,6.152-16.53,12.012-28.345,17.578
c-7.91,3.712-13.429,6.738-16.553,9.082c-3.126,2.344-4.688,6.006-4.688,10.986c0,4.298,1.586,8.082,4.761,11.353
c3.172,3.273,6.812,4.907,10.913,4.907c8.592,0,25.292-9.521,50.098-28.564V335.41c0,7.814,1.806,13.722,5.42,17.725
c3.612,4.003,8.397,6.006,14.355,6.006c13.378,0,20.068-9.814,20.068-29.443V161.972
C283.455,154.941,281.892,149.425,278.767,145.419z"/>
</svg>'
when LN_contraparte_indicadores.valor_numerico = 2 then
'<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
viewBox="0 0 496.158 496.158" style="enable-background:new 0 0 496.158 496.158;" xml:space="preserve">
<path style="fill:#FFFFBA;" d="M248.082,0.003C111.07,0.003,0,111.061,0,248.085c0,137,111.07,248.07,248.082,248.07
c137.006,0,248.076-111.07,248.076-248.07C496.158,111.061,385.088,0.003,248.082,0.003z"/>
<path style="fill:#000000;" d="M319.783,325.595c-4.005-3.124-9.814-4.688-17.432-4.688h-76.465c2.44-3.71,4.834-6.885,7.178-9.521
c5.468-6.64,15.55-15.967,30.249-27.979c14.696-12.012,25.17-20.824,31.421-26.44c6.249-5.614,12.378-13.378,18.384-23.291
c6.006-9.911,9.009-20.922,9.009-33.032c0-7.713-1.442-15.161-4.321-22.339c-2.882-7.178-6.91-13.5-12.085-18.97
c-5.177-5.468-11.183-9.764-18.018-12.891c-10.547-4.688-23.291-7.031-38.232-7.031c-12.403,0-23.218,1.831-32.446,5.493
s-16.846,8.473-22.852,14.429c-6.006,5.958-10.524,12.598-13.55,19.922c-3.028,7.324-4.541,14.355-4.541,21.094
c0,5.566,1.611,9.961,4.834,13.184s7.274,4.834,12.158,4.834c5.566,0,9.789-1.758,12.671-5.273
c2.879-3.516,5.468-8.544,7.764-15.088c2.293-6.542,3.93-10.547,4.907-12.012c7.324-11.229,17.381-16.846,30.176-16.846
c6.054,0,11.646,1.369,16.772,4.102c5.127,2.735,9.178,6.569,12.158,11.499c2.978,4.933,4.468,10.524,4.468,16.772
c0,5.763-1.392,11.646-4.175,17.651s-6.837,11.865-12.158,17.578c-5.324,5.713-11.989,11.403-19.995,17.065
c-4.493,3.028-11.964,9.352-22.412,18.97c-10.451,9.62-22.169,21.167-35.156,34.644c-3.126,3.321-6.006,7.887-8.643,13.696
c-2.637,5.812-3.955,10.474-3.955,13.989c0,5.47,2.051,10.231,6.152,14.282c4.102,4.054,9.814,6.079,17.139,6.079H306.6
c6.445,0,11.254-1.659,14.429-4.98c3.172-3.319,4.761-7.372,4.761-12.158C325.789,332.97,323.786,328.722,319.783,325.595z"/>
</svg>'
when LN_contraparte_indicadores.valor_numerico = 3 then
'<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
viewBox="0 0 496.158 496.158" style="enable-background:new 0 0 496.158 496.158;" xml:space="preserve">
<path style="fill:#FDC689;" d="M248.082,0.003C111.07,0.003,0,111.061,0,248.085c0,137,111.07,248.07,248.082,248.07
c137.006,0,248.076-111.07,248.076-248.07C496.158,111.061,385.088,0.003,248.082,0.003z"/>
<path style="fill:#000000;" d="M319.637,269.711c-2.637-6.395-6.569-12.231-11.792-17.505c-5.226-5.273-11.646-9.961-19.263-14.063
c7.91-6.64,13.989-13.451,18.237-20.435c4.248-6.981,6.372-15.355,6.372-25.122c0-7.42-1.465-14.355-4.395-20.801
s-7.276-12.108-13.037-16.992c-5.763-4.882-12.55-8.617-20.361-11.206c-7.814-2.586-16.457-3.882-25.928-3.882
c-10.84,0-20.654,1.538-29.443,4.614s-16.139,7.155-22.046,12.231c-5.91,5.079-10.4,10.426-13.477,16.04
c-3.076,5.617-4.614,10.963-4.614,16.04c0,5.273,1.634,9.499,4.907,12.671c3.271,3.175,6.859,4.761,10.767,4.761
c3.319,0,6.249-0.586,8.789-1.758c2.538-1.172,4.296-2.783,5.273-4.834c1.659-3.809,3.49-7.86,5.493-12.158
c2-4.296,4.125-7.812,6.372-10.547c2.245-2.733,5.296-4.93,9.155-6.592c3.856-1.659,8.764-2.49,14.722-2.49
c8.789,0,15.77,2.71,20.947,8.13c5.175,5.42,7.764,11.891,7.764,19.409c0,9.865-3.248,17.432-9.741,22.705
c-6.496,5.273-14.234,7.91-23.218,7.91h-6.006c-6.935,0-12.158,1.442-15.674,4.321c-3.516,2.882-5.273,6.665-5.273,11.353
c0,4.786,1.465,8.521,4.395,11.206c2.93,2.687,7.079,4.028,12.451,4.028c1.172,0,3.809-0.194,7.91-0.586
c4.102-0.389,7.127-0.586,9.082-0.586c11.133,0,19.823,3.248,26.074,9.741c6.249,6.496,9.375,15.454,9.375,26.88
c0,7.716-1.831,14.502-5.493,20.361s-8.302,10.279-13.916,13.257c-5.617,2.98-11.451,4.468-17.505,4.468
c-10.547,0-18.727-3.296-24.536-9.888c-5.812-6.592-11.256-16.674-16.333-30.249c-0.783-2.245-2.442-4.175-4.98-5.786
c-2.541-1.611-5.177-2.417-7.91-2.417c-5.47,0-10.034,1.735-13.696,5.2c-3.662,3.468-5.493,8.034-5.493,13.696
c0,4.395,1.538,9.961,4.614,16.699s7.617,13.257,13.623,19.556s13.646,11.549,22.925,15.747c9.276,4.198,19.775,6.299,31.494,6.299
c11.522,0,22.046-1.831,31.567-5.493s17.748-8.739,24.683-15.234c6.933-6.493,12.181-13.891,15.747-22.192
c3.563-8.299,5.347-16.894,5.347-25.781C323.592,283.018,322.273,276.109,319.637,269.711z"/>
</svg>'
when LN_contraparte_indicadores.valor_numerico = 4 then
'<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
viewBox="0 0 496.158 496.158" style="enable-background:new 0 0 496.158 496.158;" xml:space="preserve">
<path style="fill:#FD676E;" d="M248.082,0.003C111.07,0.003,0,111.061,0,248.085c0,137,111.07,248.07,248.082,248.07
c137.006,0,248.076-111.07,248.076-248.07C496.158,111.061,385.088,0.003,248.082,0.003z"/>
<path style="fill:#FFFFFF;" d="M324.983,279.892c-4.541-2.051-10.572-3.076-18.091-3.076h-6.299V163.437
c0-16.992-7.423-25.488-22.266-25.488c-4.591,0-8.521,1.538-11.792,4.614c-3.273,3.076-7.448,8.034-12.524,14.868l-77.637,103.857
c-2.149,2.833-3.955,5.226-5.42,7.178c-1.465,1.955-2.882,3.98-4.248,6.079c-1.369,2.101-2.394,4.102-3.076,6.006
c-0.685,1.904-1.025,3.786-1.025,5.64c0,7.228,2.318,12.941,6.958,17.139c4.637,4.2,11.595,6.299,20.874,6.299h73.535v27.246
c0,7.324,1.685,12.868,5.054,16.626s7.787,5.64,13.257,5.64c5.566,0,10.009-1.831,13.33-5.493c3.319-3.662,4.98-9.251,4.98-16.772
V309.63h8.936c7.42,0,12.987-1.293,16.699-3.882c3.71-2.586,5.566-6.713,5.566-12.378
C331.795,286.436,329.524,281.943,324.983,279.892z M263.973,276.816h-62.988l62.988-85.107V276.816z"/>
</svg>'
when LN_contraparte_indicadores.valor_numerico = 5 then
'<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
viewBox="0 0 496.158 496.158" style="enable-background:new 0 0 496.158 496.158;" xml:space="preserve">
<path style="fill:#C55B5B;" d="M248.082,0.003C111.07,0.003,0,111.061,0,248.085c0,137,111.07,248.07,248.082,248.07
c137.006,0,248.076-111.07,248.076-248.07C496.158,111.061,385.088,0.003,248.082,0.003z"/>
<path style="fill:#FFFFFF;" d="M320.516,255.136c-3.516-8.496-8.35-15.843-14.502-22.046c-6.152-6.2-13.307-11.06-21.46-14.575
c-8.155-3.516-16.919-5.273-26.294-5.273c-11.719,0-24.513,3.712-38.379,11.133l8.35-47.461h69.58
c7.226,0,12.694-1.561,16.406-4.688c3.71-3.124,5.566-7.226,5.566-12.305c0-11.62-7.617-17.432-22.852-17.432h-77.344
c-8.4,0-14.454,1.904-18.164,5.713c-3.712,3.809-6.251,9.913-7.617,18.311l-12.304,70.166c-1.076,6.152-1.611,9.474-1.611,9.961
c0,4.395,1.854,8.327,5.566,11.792c3.71,3.468,7.958,5.2,12.744,5.2c4.395,0,9.984-2.563,16.772-7.69
c6.786-5.127,11.986-8.716,15.601-10.767c3.612-2.051,9.618-3.076,18.018-3.076c6.834,0,13.037,1.637,18.604,4.907
c5.566,3.273,10.009,8.229,13.33,14.868c3.319,6.642,4.98,14.648,4.98,24.023c0,8.693-1.538,16.457-4.614,23.291
c-3.076,6.837-7.448,12.208-13.11,16.113c-5.665,3.907-12.257,5.859-19.775,5.859c-8.203,0-15.626-2.417-22.266-7.251
c-6.642-4.834-11.916-11.595-15.82-20.288c-4.005-9.471-10.107-14.209-18.311-14.209c-4.786,0-8.766,1.71-11.938,5.127
c-3.175,3.419-4.761,7.031-4.761,10.84c0,6.251,2.271,13.55,6.812,21.899s12.254,15.747,23.145,22.192
c10.888,6.445,25.072,9.668,42.554,9.668c15.624,0,29.418-3.419,41.382-10.254c11.961-6.834,21.117-16.063,27.466-27.686
c6.347-11.62,9.521-24.511,9.521-38.672C325.789,272.765,324.031,263.632,320.516,255.136z"/>
</svg>'
when LN_contraparte_indicadores.valor_numerico = 6 then
'<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
viewBox="0 0 496.158 496.158" style="enable-background:new 0 0 496.158 496.158;" xml:space="preserve">
<path style="fill:#C55B5B;" d="M248.082,0.003C111.07,0.003,0,111.061,0,248.085c0,137,111.07,248.07,248.082,248.07
c137.006,0,248.076-111.07,248.076-248.07C496.158,111.061,385.088,0.003,248.082,0.003z"/>
<path style="fill:#FFFFFF;" d="M321.248,258.652c-3.223-8.69-7.789-16.234-13.696-22.632c-5.91-6.395-12.794-11.327-20.654-14.795
c-7.862-3.465-16.432-5.2-25.708-5.2c-9.668,0-18.409,1.904-26.221,5.713c-7.814,3.809-15.04,9.668-21.68,17.578
c1.268-26.562,5.468-45.019,12.598-55.371c3.516-5.077,7.837-9.105,12.964-12.085c5.127-2.978,10.277-4.468,15.454-4.468
c6.445,0,12.108,1.783,16.992,5.347c4.882,3.566,8.446,8.276,10.693,14.136c1.659,4.591,4.248,8.18,7.764,10.767
c3.516,2.589,7.324,3.882,11.426,3.882c4.688,0,8.544-1.634,11.572-4.907c3.026-3.271,4.541-6.908,4.541-10.913
c0-6.64-2.417-13.573-7.251-20.801c-4.834-7.226-12.012-13.28-21.533-18.164c-9.521-4.882-20.533-7.324-33.032-7.324
c-12.989,0-24.562,2.442-34.717,7.324c-10.158,4.884-18.8,12.11-25.928,21.68c-7.13,9.572-12.598,21.632-16.406,36.182
c-3.809,14.552-5.713,31.055-5.713,49.512c0,22.657,3.149,41.821,9.448,57.495s15.404,27.516,27.319,35.522
c11.913,8.009,26.074,12.012,42.48,12.012c14.257,0,27.026-3.149,38.306-9.448s20.068-15.063,26.367-26.294
c6.299-11.229,9.448-23.73,9.448-37.5C326.082,276.427,324.471,267.345,321.248,258.652z M277.303,318.198
c-6.445,8.057-14.601,12.085-24.463,12.085c-10.353,0-18.947-4.395-25.781-13.184c-6.837-8.789-10.254-19.775-10.254-32.959
c0-8.203,1.685-15.355,5.054-21.46c3.369-6.102,7.812-10.767,13.33-13.989c5.516-3.223,11.302-4.834,17.358-4.834
c6.347,0,12.158,1.685,17.432,5.054c5.274,3.369,9.423,8.253,12.451,14.648c3.026,6.397,4.541,14.04,4.541,22.925
C286.971,299.571,283.748,310.141,277.303,318.198z"/>
</svg>'
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 = '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)
ELSE NULL
END AS textcaption,
/** 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
FROM LN_contrapartes
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_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
WHERE LN_contrapartes.cliente = @p_cliente
AND LN_contrapartes.id_padre = @p_id_padre
--AND LN_gestiones.desde <= GETDATE() AND LN_gestiones.hasta >= GETDATE()
and LN_contrapartes.vigencia_desde <= GETDATE() and LN_contrapartes.vigencia_hasta >= GETDATE()
AND LN_indicadores.visible = 1
AND LN_contrapartes.activo = 1
AND LN_contrapartes.subcontratista = 1
AND LN_contraparte_familias.activo = 1
AND LN_familia_productos.activo = 1
end
END
GO
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
/*
declare @cant int
exec LN_subcontratistas 'contar',107,2254875,null,@cant output
select @cant
*/
CREATE OR ALTER PROCEDURE dbo.LN_subcontratistas_26102020
-- Add the parameters for the stored procedure here
@accion varchar(30),
@p_id_padre int = null,
@p_cliente int = null,
@p_country_code varchar(2) = null,
@cantidad int = null output
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
if (@accion = 'SEARCH') begin
if (@p_id_padre is null and @p_cliente is null)
SELECT LN_contrapartes.contraparte, LN_contrapartes.country_code, LN_contrapartes.cliente,
LN_contrapartes.id_padron, LN_contrapartes.datos_comerciales, LN_contrapartes.activo,
LN_contrapartes.nombre_contacto, LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
CONVERT(VARCHAR(10), LN_contrapartes.fecha_ultimo_cierre, 103) AS fecha_ultimo_cierre,
LN_contrapartes.periodicidad_ejercicio,
LN_contrapartes.subcontratista, LN_contrapartes.id_padre,
CONVERT(VARCHAR, LN_contrapartes.vigencia_desde,103) AS vigencia_desde,
CONVERT(VARCHAR, LN_contrapartes.vigencia_hasta,103) AS vigencia_hasta,
LN_contrapartes.vigencia_hasta as fin_vigencia,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
padrones.identificacion, country.country_name, clientes.nombre_cliente,
CONVERT(VARCHAR(19), LN_contrapartes.created, 121) as created,
CONVERT(VARCHAR(10), LN_contrapartes.created, 103) as created_str,
CONVERT(VARCHAR(19), LN_contrapartes.modified, 121) as modified,
users1.first_name + ' ' + users1.last_name as created_by_user,
users2.first_name + ' ' + users2.last_name as modified_by_user,
LN_gestiones.gestion, LN_gestiones.desde, LN_gestiones.hasta,
LN_contraparte_familias.familia, LN_familias.nombre_familia,
p2.nombre_persona as nombre_persona_padre,
p2.identificador as identificador_padre,
p2.numero as numero_padre,
p2.identificacion as identificacion_padre
FROM LN_contrapartes
INNER JOIN padrones ON LN_contrapartes.id_padron = padrones.id_padron
INNER JOIN identificadores ON padrones.identificador = identificadores.identificador
INNER JOIN clientes ON LN_contrapartes.cliente = clientes.cliente
INNER JOIN country ON LN_contrapartes.country_code = country.country_code
INNER JOIN LN_gestiones ON LN_contrapartes.contraparte = LN_gestiones.contraparte
INNER JOIN users users1 ON LN_contrapartes.created_by = users1.user_id
LEFT OUTER JOIN users users2 ON LN_contrapartes.modified_by = users2.user_id
LEFT OUTER JOIN LN_contrapartes PADRE on LN_contrapartes.id_padre = PADRE.contraparte
LEFT OUTER JOIN padrones p2 on PADRE.id_padron = p2.id_padron
LEFT OUTER JOIN LN_contraparte_familias ON LN_contrapartes.contraparte = LN_contraparte_familias.contraparte
LEFT OUTER JOIN LN_familias ON LN_contraparte_familias.familia = LN_familias.familia
WHERE LN_contrapartes.subcontratista = 1
AND LN_gestiones.desde <= getdate() and LN_gestiones.hasta >= getdate()
ORDER BY clientes.nombre_cliente, padrones.nombre_persona
else
if (@p_id_padre is not null and @p_cliente is null)
SELECT LN_contrapartes.contraparte, LN_contrapartes.country_code, LN_contrapartes.cliente,
LN_contrapartes.id_padron, LN_contrapartes.datos_comerciales, LN_contrapartes.activo,
LN_contrapartes.nombre_contacto, LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
CONVERT(VARCHAR(10), LN_contrapartes.fecha_ultimo_cierre, 103) AS fecha_ultimo_cierre,
LN_contrapartes.periodicidad_ejercicio,
LN_contrapartes.subcontratista, LN_contrapartes.id_padre,
CONVERT(VARCHAR, LN_contrapartes.vigencia_desde,103) AS vigencia_desde,
CONVERT(VARCHAR, LN_contrapartes.vigencia_hasta,103) AS vigencia_hasta,
LN_contrapartes.vigencia_hasta as fin_vigencia,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
padrones.identificacion, country.country_name, clientes.nombre_cliente,
CONVERT(VARCHAR(19), LN_contrapartes.created, 121) as created,
CONVERT(VARCHAR(10), LN_contrapartes.created, 103) as created_str,
CONVERT(VARCHAR(19), LN_contrapartes.modified, 121) as modified,
users1.first_name + ' ' + users1.last_name as created_by_user,
users2.first_name + ' ' + users2.last_name as modified_by_user,
LN_gestiones.gestion, LN_gestiones.desde, LN_gestiones.hasta,
LN_contraparte_familias.familia, LN_familias.nombre_familia,
p2.nombre_persona as nombre_persona_padre,
p2.identificador as identificador_padre,
p2.numero as numero_padre,
p2.identificacion as identificacion_padre
FROM LN_contrapartes
INNER JOIN padrones ON LN_contrapartes.id_padron = padrones.id_padron
INNER JOIN identificadores ON padrones.identificador = identificadores.identificador
INNER JOIN clientes ON LN_contrapartes.cliente = clientes.cliente
INNER JOIN country ON LN_contrapartes.country_code = country.country_code
INNER JOIN LN_gestiones ON LN_contrapartes.contraparte = LN_gestiones.contraparte
INNER JOIN users users1 ON LN_contrapartes.created_by = users1.user_id
LEFT OUTER JOIN users users2 ON LN_contrapartes.modified_by = users2.user_id
LEFT OUTER JOIN LN_contrapartes PADRE on LN_contrapartes.id_padre = PADRE.contraparte
LEFT OUTER JOIN padrones p2 on PADRE.id_padron = p2.id_padron
LEFT OUTER JOIN LN_contraparte_familias ON LN_contrapartes.contraparte = LN_contraparte_familias.contraparte
LEFT OUTER JOIN LN_familias ON LN_contraparte_familias.familia = LN_familias.familia
WHERE LN_contrapartes.subcontratista = 1
AND LN_contrapartes.id_padre = @p_id_padre
AND LN_gestiones.desde <= getdate() and LN_gestiones.hasta >= getdate()
ORDER BY clientes.nombre_cliente, padrones.nombre_persona
else
if (@p_id_padre is null and @p_cliente is not null)
SELECT LN_contrapartes.contraparte, LN_contrapartes.country_code, LN_contrapartes.cliente,
LN_contrapartes.id_padron, LN_contrapartes.datos_comerciales, LN_contrapartes.activo,
LN_contrapartes.nombre_contacto, LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
CONVERT(VARCHAR(10), LN_contrapartes.fecha_ultimo_cierre, 103) AS fecha_ultimo_cierre,
LN_contrapartes.periodicidad_ejercicio,
LN_contrapartes.subcontratista, LN_contrapartes.id_padre,
CONVERT(VARCHAR, LN_contrapartes.vigencia_desde,103) AS vigencia_desde,
CONVERT(VARCHAR, LN_contrapartes.vigencia_hasta,103) AS vigencia_hasta,
LN_contrapartes.vigencia_hasta as fin_vigencia,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
padrones.identificacion, country.country_name, clientes.nombre_cliente,
CONVERT(VARCHAR(19), LN_contrapartes.created, 121) as created,
CONVERT(VARCHAR(10), LN_contrapartes.created, 103) as created_str,
CONVERT(VARCHAR(19), LN_contrapartes.modified, 121) as modified,
users1.first_name + ' ' + users1.last_name as created_by_user,
users2.first_name + ' ' + users2.last_name as modified_by_user,
LN_gestiones.gestion, LN_gestiones.desde, LN_gestiones.hasta,
LN_contraparte_familias.familia, LN_familias.nombre_familia,
p2.nombre_persona as nombre_persona_padre,
p2.identificador as identificador_padre,
p2.numero as numero_padre,
p2.identificacion as identificacion_padre
FROM LN_contrapartes
INNER JOIN padrones ON LN_contrapartes.id_padron = padrones.id_padron
INNER JOIN identificadores ON padrones.identificador = identificadores.identificador
INNER JOIN clientes ON LN_contrapartes.cliente = clientes.cliente
INNER JOIN country ON LN_contrapartes.country_code = country.country_code
INNER JOIN LN_gestiones ON LN_contrapartes.contraparte = LN_gestiones.contraparte
INNER JOIN users users1 ON LN_contrapartes.created_by = users1.user_id
LEFT OUTER JOIN users users2 ON LN_contrapartes.modified_by = users2.user_id
LEFT OUTER JOIN LN_contrapartes PADRE on LN_contrapartes.id_padre = PADRE.contraparte
LEFT OUTER JOIN padrones p2 on PADRE.id_padron = p2.id_padron
LEFT OUTER JOIN LN_contraparte_familias ON LN_contrapartes.contraparte = LN_contraparte_familias.contraparte
LEFT OUTER JOIN LN_familias ON LN_contraparte_familias.familia = LN_familias.familia
WHERE LN_contrapartes.subcontratista = 1
AND LN_contrapartes.cliente = @p_cliente
AND LN_gestiones.desde <= getdate() and LN_gestiones.hasta >= getdate()
ORDER BY clientes.nombre_cliente, padrones.nombre_persona
else
SELECT LN_contrapartes.contraparte, LN_contrapartes.country_code, LN_contrapartes.cliente,
LN_contrapartes.id_padron, LN_contrapartes.datos_comerciales, LN_contrapartes.activo,
LN_contrapartes.nombre_contacto, LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
CONVERT(VARCHAR(10), LN_contrapartes.fecha_ultimo_cierre, 103) AS fecha_ultimo_cierre,
LN_contrapartes.periodicidad_ejercicio,
LN_contrapartes.subcontratista, LN_contrapartes.id_padre,
CONVERT(VARCHAR, LN_contrapartes.vigencia_desde,103) AS vigencia_desde,
CONVERT(VARCHAR, LN_contrapartes.vigencia_hasta,103) AS vigencia_hasta,
LN_contrapartes.vigencia_hasta as fin_vigencia,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
padrones.identificacion, country.country_name, clientes.nombre_cliente,
CONVERT(VARCHAR(19), LN_contrapartes.created, 121) as created,
CONVERT(VARCHAR(10), LN_contrapartes.created, 103) as created_str,
CONVERT(VARCHAR(19), LN_contrapartes.modified, 121) as modified,
users1.first_name + ' ' + users1.last_name as created_by_user,
users2.first_name + ' ' + users2.last_name as modified_by_user,
LN_gestiones.gestion, LN_gestiones.desde, LN_gestiones.hasta,
LN_contraparte_familias.familia, LN_familias.nombre_familia,
p2.nombre_persona as nombre_persona_padre,
p2.identificador as identificador_padre,
p2.numero as numero_padre,
p2.identificacion as identificacion_padre
FROM LN_contrapartes
INNER JOIN padrones ON LN_contrapartes.id_padron = padrones.id_padron
INNER JOIN identificadores ON padrones.identificador = identificadores.identificador
INNER JOIN clientes ON LN_contrapartes.cliente = clientes.cliente
INNER JOIN country ON LN_contrapartes.country_code = country.country_code
INNER JOIN LN_gestiones ON LN_contrapartes.contraparte = LN_gestiones.contraparte
INNER JOIN users users1 ON LN_contrapartes.created_by = users1.user_id
LEFT OUTER JOIN users users2 ON LN_contrapartes.modified_by = users2.user_id
LEFT OUTER JOIN LN_contrapartes PADRE on LN_contrapartes.id_padre = PADRE.contraparte
LEFT OUTER JOIN padrones p2 on PADRE.id_padron = p2.id_padron
LEFT OUTER JOIN LN_contraparte_familias ON LN_contrapartes.contraparte = LN_contraparte_familias.contraparte
LEFT OUTER JOIN LN_familias ON LN_contraparte_familias.familia = LN_familias.familia
WHERE LN_contrapartes.subcontratista = 1
AND LN_contrapartes.id_padre = @p_id_padre
AND LN_contrapartes.cliente = @p_cliente
AND LN_gestiones.desde <= getdate() and LN_gestiones.hasta >= getdate()
ORDER BY clientes.nombre_cliente, padrones.nombre_persona
end else
if (@accion = 'subfamilias') begin
/* dado un id_padre devolver las subfamilias que puede utilizar para sus subcontratistas
parametro opcional country_code para filtrar familias de un paÃs.
*/
if (@p_country_code is null)
select LN_familias.familia, LN_familias.nombre_familia, LN_familias.cliente, LN_familias.country_code
from LN_familias
inner join LN_subfamilias ON LN_familias.familia = LN_subfamilias.familia
inner join LN_contraparte_familias ON LN_subfamilias.familia_padre = LN_contraparte_familias.familia
inner join LN_contrapartes ON (LN_contraparte_familias.contraparte = LN_contrapartes.contraparte
and LN_familias.cliente = LN_contrapartes.cliente)
where LN_contraparte_familias.contraparte = @p_id_padre
and LN_contraparte_familias.activo = 1
and LN_familias.visible = 1
and LN_familias.subfamilia = 1
group by LN_familias.familia, LN_familias.nombre_familia, LN_familias.cliente, LN_familias.country_code
order by LN_familias.nombre_familia
else
select LN_familias.familia, LN_familias.nombre_familia, LN_familias.cliente, LN_familias.country_code
from LN_familias
inner join LN_subfamilias ON LN_familias.familia = LN_subfamilias.familia
inner join LN_contraparte_familias ON LN_subfamilias.familia_padre = LN_contraparte_familias.familia
inner join LN_contrapartes ON (LN_contraparte_familias.contraparte = LN_contrapartes.contraparte
and LN_familias.cliente = LN_contrapartes.cliente)
where LN_contraparte_familias.contraparte = @p_id_padre
and LN_contraparte_familias.activo = 1
and LN_familias.country_code = @p_country_code
and LN_familias.visible = 1
and LN_familias.subfamilia = 1
group by LN_familias.familia, LN_familias.nombre_familia, LN_familias.cliente, LN_familias.country_code
order by LN_familias.nombre_familia
end else
if (@accion = 'contar') begin
select @cantidad = COUNT(*)
from LN_contrapartes
INNER JOIN LN_gestiones ON LN_contrapartes.contraparte = LN_gestiones.contraparte
WHERE LN_contrapartes.subcontratista = 1
AND LN_contrapartes.activo = 1
AND LN_contrapartes.id_padre = @p_id_padre
--AND LN_gestiones.desde <= getdate() and LN_gestiones.hasta >= getdate()
and LN_contrapartes.vigencia_desde <= GETDATE() and LN_contrapartes.vigencia_hasta >= GETDATE()
end else
/* análoga a los productos del panel de control de un cliente pero restringido a los
que se encuentran asignados a los subcontratistas */
if (@accion = 'productos_grilla') begin
SELECT LN_productos.producto, LN_productos.nombre_producto, LN_cliente_productos.activo,
LN_cliente_productos.visibilidad_default, LN_productos.visible,
country.country_code, country.country_name, LN_cliente_productos.orden_producto,
LN_productos.etiqueta, LN_productos.class_icon, LN_productos.visible_brief,
LN_productos.producto_id, LN_productos.balance, LN_productos.balance_carga,
LN_productos.balance_score, LN_productos.balance_analisis, LN_productos.balance_valoracion,
LN_productos.documentos, LN_productos.subcontratistas
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)
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.subfamilia = 1
AND LN_familias.visible = 1
GROUP BY LN_productos.producto, LN_productos.nombre_producto, LN_cliente_productos.activo,
LN_cliente_productos.visibilidad_default, LN_productos.visible,
country.country_code, country.country_name, LN_cliente_productos.orden_producto,
LN_productos.etiqueta, LN_productos.class_icon, LN_productos.visible_brief,
LN_productos.producto_id, LN_productos.balance, LN_productos.balance_carga,
LN_productos.balance_score, LN_productos.balance_analisis, LN_productos.balance_valoracion,
LN_productos.documentos, LN_productos.subcontratistas
ORDER BY LN_cliente_productos.orden_producto
end else
if (@accion = 'productos_indicadores') begin
/* análoga a la consulta del panel de control pero basado en productos asociados
a familias de subcontratistas (subfamilias) */
SELECT LN_productos.producto, LN_productos.nombre_producto, LN_cliente_productos.activo,
LN_cliente_productos.visibilidad_default, LN_productos.visible,
country.country_code, country.country_name,
LN_productos.etiqueta, LN_productos.class_icon,
LN_productos.producto_id, LN_indicadores.indicador, LN_indicadores.nombre_indicador,
LN_indicadores.etiqueta as etiqueta_indicador, LN_indicadores.tipo_dato,
LN_indicadores.rango_inferior, LN_indicadores.rango_superior, LN_indicadores.opciones,
LN_indicadores.clave_indicador,
LN_cliente_productos.orden_producto, LN_indicadores.orden
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 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.subfamilia = 1
AND LN_indicadores.visible = 1
GROUP BY LN_productos.producto, LN_productos.nombre_producto, LN_cliente_productos.activo,
LN_cliente_productos.visibilidad_default, LN_productos.visible,
country.country_code, country.country_name,
LN_productos.etiqueta, LN_productos.class_icon,
LN_productos.producto_id, LN_indicadores.indicador, LN_indicadores.nombre_indicador,
LN_indicadores.etiqueta, LN_indicadores.tipo_dato,
LN_indicadores.rango_inferior, LN_indicadores.rango_superior, LN_indicadores.opciones,
LN_indicadores.clave_indicador,
LN_cliente_productos.orden_producto, LN_indicadores.orden
ORDER BY LN_cliente_productos.orden_producto, LN_indicadores.orden
end else
if (@accion = 'subcontratistas_panel') begin
/* para obener información de subcontratistas del cliente asociados a
sus subfamilias, opcionalmente filtrado por contraparte padre */
if (@p_id_padre is null)
SELECT LN_contrapartes.contraparte, LN_contrapartes.country_code, LN_contrapartes.cliente,
LN_contrapartes.id_padron, LN_contrapartes.datos_comerciales, LN_contrapartes.activo,
LN_contrapartes.nombre_contacto, LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
CONVERT(VARCHAR(10), LN_contrapartes.fecha_ultimo_cierre, 103) AS fecha_ultimo_cierre,
LN_contrapartes.periodicidad_ejercicio,
LN_contrapartes.subcontratista, LN_contrapartes.id_padre,
CONVERT(VARCHAR, LN_contrapartes.vigencia_desde,103) AS vigencia_desde,
CONVERT(VARCHAR, LN_contrapartes.vigencia_hasta,103) AS vigencia_hasta,
LN_contrapartes.vigencia_desde AS vigencia_desde_ymd,
LN_contrapartes.vigencia_hasta AS vigencia_hasta_ymd,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
padrones.identificacion, country.country_name, clientes.nombre_cliente,
CONVERT(VARCHAR(19), LN_contrapartes.created, 121) as created,
CONVERT(VARCHAR(10), LN_contrapartes.created, 103) as created_str,
CONVERT(VARCHAR(19), LN_contrapartes.modified, 121) as modified,
users1.first_name + ' ' + users1.last_name as created_by_user,
users2.first_name + ' ' + users2.last_name as modified_by_user,
LN_gestiones.gestion, LN_gestiones.desde, LN_gestiones.hasta,
LN_familias.nombre_familia,
p2.nombre_persona as nombre_persona_padre,
p2.identificador as identificador_padre,
p2.numero as numero_padre,
p2.identificacion as identificacion_padre
FROM LN_contrapartes
INNER JOIN padrones ON LN_contrapartes.id_padron = padrones.id_padron
INNER JOIN identificadores ON padrones.identificador = identificadores.identificador
INNER JOIN clientes ON LN_contrapartes.cliente = clientes.cliente
INNER JOIN country ON LN_contrapartes.country_code = country.country_code
INNER JOIN LN_gestiones ON LN_contrapartes.contraparte = LN_gestiones.contraparte
INNER JOIN LN_contraparte_familias ON LN_contrapartes.contraparte = LN_contraparte_familias.contraparte
INNER JOIN LN_familias ON LN_contraparte_familias.familia = LN_familias.familia
INNER JOIN users users1 ON LN_contrapartes.created_by = users1.user_id
LEFT OUTER JOIN users users2 ON LN_contrapartes.modified_by = users2.user_id
LEFT OUTER JOIN LN_contrapartes PADRE on LN_contrapartes.id_padre = PADRE.contraparte
LEFT OUTER JOIN padrones p2 on PADRE.id_padron = p2.id_padron
/* Este join restringe para el panel de subcontratistas que el
padre de cada una tenga asignado y visible el producto subcontratistas */
INNER JOIN (select LN_contrapartes.contraparte
from LN_contrapartes 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
inner join LN_familias on (LN_familia_productos.familia = LN_familias.familia
and LN_contrapartes.cliente = LN_familias.cliente)
inner join LN_productos on LN_familia_productos.producto = LN_productos.producto
where LN_contrapartes.cliente = @p_cliente
and LN_productos.subcontratistas = 1
and ISNULL(LN_contrapartes.subcontratista, 0) = 0
group by LN_contrapartes.contraparte) PRODUCTO_SUBC_PADRE
ON PADRE.contraparte = PRODUCTO_SUBC_PADRE.contraparte
WHERE LN_contrapartes.subcontratista = 1 and ln_contrapartes.activo = 1
AND LN_contrapartes.cliente = @p_cliente
--AND LN_gestiones.desde <= getdate() and LN_gestiones.hasta >= getdate()
and LN_contrapartes.vigencia_desde <= GETDATE() and LN_contrapartes.vigencia_hasta >= GETDATE()
ORDER BY clientes.nombre_cliente, LN_familias.nombre_familia, padrones.nombre_persona
else
SELECT LN_contrapartes.contraparte, LN_contrapartes.country_code, LN_contrapartes.cliente,
LN_contrapartes.id_padron, LN_contrapartes.datos_comerciales, LN_contrapartes.activo,
LN_contrapartes.nombre_contacto, LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
CONVERT(VARCHAR(10), LN_contrapartes.fecha_ultimo_cierre, 103) AS fecha_ultimo_cierre,
LN_contrapartes.periodicidad_ejercicio,
LN_contrapartes.subcontratista, LN_contrapartes.id_padre,
CONVERT(VARCHAR, LN_contrapartes.vigencia_desde,103) AS vigencia_desde,
CONVERT(VARCHAR, LN_contrapartes.vigencia_hasta,103) AS vigencia_hasta,
LN_contrapartes.vigencia_desde AS vigencia_desde_ymd,
LN_contrapartes.vigencia_hasta AS vigencia_hasta_ymd,
padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
padrones.identificacion, country.country_name, clientes.nombre_cliente,
CONVERT(VARCHAR(19), LN_contrapartes.created, 121) as created,
CONVERT(VARCHAR(10), LN_contrapartes.created, 103) as created_str,
CONVERT(VARCHAR(19), LN_contrapartes.modified, 121) as modified,
users1.first_name + ' ' + users1.last_name as created_by_user,
users2.first_name + ' ' + users2.last_name as modified_by_user,
LN_gestiones.gestion, LN_gestiones.desde, LN_gestiones.hasta,
LN_familias.nombre_familia,
p2.nombre_persona as nombre_persona_padre,
p2.identificador as identificador_padre,
p2.numero as numero_padre,
p2.identificacion as identificacion_padre
FROM LN_contrapartes
INNER JOIN padrones ON LN_contrapartes.id_padron = padrones.id_padron
INNER JOIN identificadores ON padrones.identificador = identificadores.identificador
INNER JOIN clientes ON LN_contrapartes.cliente = clientes.cliente
INNER JOIN country ON LN_contrapartes.country_code = country.country_code
INNER JOIN LN_gestiones ON LN_contrapartes.contraparte = LN_gestiones.contraparte
INNER JOIN LN_contraparte_familias ON LN_contrapartes.contraparte = LN_contraparte_familias.contraparte
INNER JOIN LN_familias ON LN_contraparte_familias.familia = LN_familias.familia
INNER JOIN users users1 ON LN_contrapartes.created_by = users1.user_id
LEFT OUTER JOIN users users2 ON LN_contrapartes.modified_by = users2.user_id
LEFT OUTER JOIN LN_contrapartes PADRE on LN_contrapartes.id_padre = PADRE.contraparte
LEFT OUTER JOIN padrones p2 on PADRE.id_padron = p2.id_padron
/* Este join restringe para el panel de subcontratistas que el
padre de cada una tenga asignado y visible el producto subcontratistas */
INNER JOIN (select LN_contrapartes.contraparte
from LN_contrapartes 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
inner join LN_familias on (LN_familia_productos.familia = LN_familias.familia
and LN_contrapartes.cliente = LN_familias.cliente)
inner join LN_productos on LN_familia_productos.producto = LN_productos.producto
where LN_contrapartes.cliente = @p_cliente
and LN_contrapartes.contraparte = @p_id_padre
and LN_productos.subcontratistas = 1
and ISNULL(LN_contrapartes.subcontratista, 0) = 0
group by LN_contrapartes.contraparte) PRODUCTO_SUBC_PADRE
ON PADRE.contraparte = PRODUCTO_SUBC_PADRE.contraparte
WHERE LN_contrapartes.subcontratista = 1 and ln_contrapartes.activo = 1
AND LN_contrapartes.cliente = @p_cliente
AND LN_contrapartes.id_padre = @p_id_padre
--AND LN_gestiones.desde <= getdate() and LN_gestiones.hasta >= getdate()
and LN_contrapartes.vigencia_desde <= GETDATE() and LN_contrapartes.vigencia_hasta >= GETDATE()
ORDER BY clientes.nombre_cliente, LN_familias.nombre_familia, padrones.nombre_persona
end else
if (@accion = 'valores_grilla') begin
/* análogo a la consulta de valores de indicadores para el panel de control, pero
restringido a los subcontratistas */
if (@p_id_padre is null)
SELECT LN_contrapartes.contraparte, LN_contraparte_indicadores.indicador,
LN_indicadores.clave_indicador, LN_productos.producto_id,
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',''), ',', '.'),
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',''), ',', '.'),
null)
/*
when LN_indicadores.tipo_dato = 'I' then iif(LN_contraparte_indicadores.valor_numerico is not null, convert(varchar, round(isnull(LN_contraparte_indicadores.valor_numerico,0),0)), null)
when LN_indicadores.tipo_dato = 'F' then iif(LN_contraparte_indicadores.valor_numerico is not null, convert(varchar, round(isnull(LN_contraparte_indicadores.valor_numerico,0),0)), null)
*/
when LN_indicadores.tipo_dato = 'D' then convert(varchar, LN_contraparte_indicadores.valor_fecha, 103)
when LN_indicadores.tipo_dato = 'B' then iif(LN_contraparte_indicadores.valor_numerico > 0, 'SI', 'NO')
else null
end as valor,
/** 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'
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 = '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 = '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
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 = 'BR' then '000000'
else NULL
end
WHEN LN_indicadores.clave_indicador = 'FIDECHECK' THEN
case
when LN_contraparte_indicadores.valor_texto = 'P' then 'FFFFFF'
when LN_contraparte_indicadores.valor_texto = 'R' then 'FFFFFF'
when LN_contraparte_indicadores.valor_texto = 'N' then 'FFFFFF'
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
ELSE
case
when LN_contraparte_indicadores.valor_numerico <= 20 then 'FFFFFF'
else '000000'
end
END AS textcolor,
/** SVG **/
CASE
WHEN (LN_indicadores.clave_indicador = 'EXCEPCION') THEN
case
when LN_contraparte_indicadores.valor_numerico > 0 then '<svg x="0px" y="0px" viewBox="0 0 473.931 473.931" style="enable-background:new 0 0 473.931 473.931;" xml:space="preserve" width="15" height="15" class=""><g><circle style="fill:#FFB81C" cx="236.966" cy="236.966" r="236.966" data-original="#E79E2D" class="active-path" data-old_color="#E79E2D"/><path style="fill:#FFFFFF" d="M214.399,252.389l-6.698-100.159c-1.257-19.517-1.871-33.526-1.871-42.027 c0-11.57,3.035-20.602,9.085-27.072c6.065-6.499,14.054-9.74,23.94-9.74c11.996,0,20.022,4.15,24.056,12.445 c4.034,8.303,6.065,20.258,6.065,35.857c0,9.205-0.494,18.559-1.459,28.022l-8.995,103.089c-0.973,12.277-3.061,21.68-6.279,28.239 c-3.207,6.544-8.509,9.815-15.888,9.815c-7.536,0-12.756-3.158-15.682-9.512C217.744,275.016,215.645,265.351,214.399,252.389z M237.609,389.974c-8.501,0-15.936-2.739-22.267-8.251c-6.346-5.497-9.512-13.197-9.512-23.102c0-8.647,3.035-16.004,9.085-22.069 c6.065-6.065,13.493-9.092,22.275-9.092c8.786,0,16.269,3.027,22.477,9.092c6.204,6.065,9.31,13.425,9.31,22.069 c0,9.751-3.136,17.414-9.418,22.997C253.291,387.19,245.976,389.974,237.609,389.974z" data-original="#CA7B29" class="" data-old_color="#ffffff"/></g> </svg>'
else null
end
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') THEN
case
when LN_contraparte_indicadores.valor_numerico > 0 then '<svg width="15" height="15"><rect width="15" height="15" style="fill:#63b68c;" /></svg>'
when LN_contraparte_indicadores.valor_numerico = 0 then '<svg width="15" height="15"><rect width="15" height="15" style="fill:#A72B2A;" /></svg>'
else null
end
WHEN (LN_indicadores.clave_indicador = 'NIVEL_RIESGO') THEN
case
when LN_contraparte_indicadores.valor_texto = 'AR' then '<svg width="15" height="15"><rect width="20" height="20" style="fill:#A72B2A;" /></svg>'
when LN_contraparte_indicadores.valor_texto = 'MR' then '<svg width="15" height="15"><rect width="20" height="20" style="fill:#FFB81C;" /></svg>'
when LN_contraparte_indicadores.valor_texto = 'BR' then '<svg width="15" height="15"><rect width="20" height="20" style="fill:#63b68c;" /></svg>'
else NULL
end
WHEN (LN_indicadores.clave_indicador = 'FIDECHECK') THEN
case
when LN_contraparte_indicadores.valor_texto = 'P' then '<svg height="20" width="20"><circle cx="8" cy="8" r="7" stroke="black" stroke-width="0" fill="#A72B2A" /></svg>'
when LN_contraparte_indicadores.valor_texto = 'R' then '<svg height="20" width="20"><circle cx="8" cy="8" r="7" stroke="black" stroke-width="0" fill="#FFB81C" /></svg>'
when LN_contraparte_indicadores.valor_texto = 'N' then '<svg height="20" width="20"><circle cx="8" cy="8" r="7" stroke="black" stroke-width="0" fill="#63b68c" /></svg>'
else NULL
end
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') THEN
case
when LN_contraparte_indicadores.valor_numerico >= 81 then '<svg width="7" height="15"><rect width="7" height="15" style="fill:#63b68c;" /></svg>'
when LN_contraparte_indicadores.valor_numerico >= 61 then '<svg width="7" height="15"><rect width="7" height="15" style="fill:#cbc367;" /></svg>'
when LN_contraparte_indicadores.valor_numerico >= 41 then '<svg width="7" height="15"><rect width="7" height="15" style="fill:#FFB81C;" /></svg>'
when LN_contraparte_indicadores.valor_numerico >= 21 then '<svg width="7" height="15"><rect width="7" height="15" style="fill:#d37123;" /></svg>'
when LN_contraparte_indicadores.valor_numerico >= 0 then '<svg width="7" height="15"><rect width="7" height="15" style="fill:#A72B2A;" /></svg>'
else NULL
end
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 '<svg width="7" height="15"><rect width="7" height="20" style="fill:#A72B2A;" /></svg>'
when LN_contraparte_indicadores.valor_numerico >= 61 then '<svg width="7" height="15"><rect width="7" height="20" style="fill:#d37123;" /></svg>'
when LN_contraparte_indicadores.valor_numerico >= 41 then '<svg width="7" height="15"><rect width="7" height="20" style="fill:#FFB81C;" /></svg>'
when LN_contraparte_indicadores.valor_numerico >= 21 then '<svg width="7" height="15"><rect width="7" height="20" style="fill:#cbc367;" /></svg>'
when LN_contraparte_indicadores.valor_numerico >= 0 then '<svg width="7" height="15"><rect width="7" height="20" style="fill:#63b68c;" /></svg>'
else NULL
end
WHEN (LN_indicadores.clave_indicador = 'VALORACION_BAL') THEN
case
when LN_contraparte_indicadores.valor_texto = 'P' then '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="" x="0px" y="0px" viewBox="0 0 543.906 543.906" style="enable-background:new 0 0 543.906 543.906;" xml:space="preserve" width="15px" height="15px">
<g>
<path d="M0,271.953c0,150.194,121.759,271.953,271.953,271.953s271.953-121.759,271.953-271.953 S422.148,0,271.953,0S0,121.759,0,271.953z M124.076,340.453l0.169-97.735L272.122,95.184l147.703,147.535v97.566L307.476,227.929 v220.793h-71.556V228.778L124.076,340.453z" fill="#63b68c"/>
</g>
</svg>'
when LN_contraparte_indicadores.valor_texto = 'U' then '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="" x="0px" y="0px" viewBox="0 0 543.902 543.902" style="enable-background:new 0 0 543.902 543.902;" xml:space="preserve" width="15px" height="15px">
<g>
<path d="M79.652,79.652c-106.203,106.203-106.203,278.398,0,384.602 c106.203,106.198,278.398,106.198,384.602,0c106.198-106.203,106.198-278.398,0-384.602 C358.045-26.551,185.856-26.551,79.652,79.652z M118.955,215.825l69.228-68.989l208.887,0.239l0.12,208.768l-68.989,68.984V265.94 L172.073,422.069l-50.6-50.6l155.519-155.525L118.955,215.825L118.955,215.825z" fill="#cbc367"/>
</g>
</svg>'
when LN_contraparte_indicadores.valor_texto = 'E' then '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="" x="0px" y="0px" viewBox="0 0 543.906 543.906" style="enable-background:new 0 0 543.906 543.906;" xml:space="preserve" width="15px" height="15px">
<g>
<path d="M271.953,0C121.759,0,0,121.759,0,271.953s121.759,271.953,271.953,271.953 s271.953-121.759,271.953-271.953S422.148,0,271.953,0z M203.454,124.076l97.735,0.169l147.535,147.877L301.188,419.831h-97.56 l112.349-112.349H95.184v-71.562h219.945L203.454,124.076z" fill="#FFB81C"/>
</g>
</svg>'
when LN_contraparte_indicadores.valor_texto = 'D' then '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="" x="0px" y="0px" viewBox="0 0 100 100" style="enable-background:new 0 0 100 100;" xml:space="preserve" width="15px" height="15px">
<g>
<path d="M85.355,14.645c-19.526-19.526-51.185-19.526-70.711,0s-19.526,51.185,0,70.711 c19.526,19.525,51.185,19.525,70.711,0C104.881,65.829,104.881,34.171,85.355,14.645z M60.319,21.871l12.684,12.728l-0.044,38.405 l-38.383,0.022L21.893,60.342h29.213L22.401,31.637l9.303-9.303l28.593,28.593L60.319,21.871z" fill="#d37123"/>
</g>
</svg>'
when LN_contraparte_indicadores.valor_texto = 'N' then '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="" x="0px" y="0px" viewBox="0 0 543.906 543.906" style="enable-background:new 0 0 543.906 543.906;" xml:space="preserve" width="15px" height="15px">
<g>
<path d="M543.906,271.953C543.906,121.759,422.148,0,271.953,0S0,121.759,0,271.953 s121.759,271.953,271.953,271.953S543.906,422.148,543.906,271.953z M419.831,203.454l-0.169,97.735L271.785,448.723 L124.076,301.188v-97.56l112.349,112.349V95.184h71.556v219.945L419.831,203.454z" fill="#A72B2A"/>
</g>
</svg>'
else NULL
end
WHEN (LN_indicadores.clave_indicador = 'SITUACION_CD') THEN
case
when LN_contraparte_indicadores.valor_numerico = 1 then
'<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
viewBox="0 0 496.158 496.158" style="enable-background:new 0 0 496.158 496.158;" xml:space="preserve">
<path style="fill:#96CAB0;" d="M248.082,0.003C111.07,0.003,0,111.061,0,248.085c0,137,111.07,248.07,248.082,248.07
c137.006,0,248.076-111.07,248.076-248.07C496.158,111.061,385.088,0.003,248.082,0.003z"/>
<path style="fill:#000000;" d="M278.767,145.419c-3.126-4.003-7.276-6.006-12.451-6.006c-4.591,0-7.716,0.879-9.375,2.637
c-1.662,1.758-5.226,6.445-10.693,14.063c-5.47,7.617-11.744,14.502-18.823,20.654c-7.082,6.152-16.53,12.012-28.345,17.578
c-7.91,3.712-13.429,6.738-16.553,9.082c-3.126,2.344-4.688,6.006-4.688,10.986c0,4.298,1.586,8.082,4.761,11.353
c3.172,3.273,6.812,4.907,10.913,4.907c8.592,0,25.292-9.521,50.098-28.564V335.41c0,7.814,1.806,13.722,5.42,17.725
c3.612,4.003,8.397,6.006,14.355,6.006c13.378,0,20.068-9.814,20.068-29.443V161.972
C283.455,154.941,281.892,149.425,278.767,145.419z"/>
</svg>'
when LN_contraparte_indicadores.valor_numerico = 2 then
'<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
viewBox="0 0 496.158 496.158" style="enable-background:new 0 0 496.158 496.158;" xml:space="preserve">
<path style="fill:#FFFFBA;" d="M248.082,0.003C111.07,0.003,0,111.061,0,248.085c0,137,111.07,248.07,248.082,248.07
c137.006,0,248.076-111.07,248.076-248.07C496.158,111.061,385.088,0.003,248.082,0.003z"/>
<path style="fill:#000000;" d="M319.783,325.595c-4.005-3.124-9.814-4.688-17.432-4.688h-76.465c2.44-3.71,4.834-6.885,7.178-9.521
c5.468-6.64,15.55-15.967,30.249-27.979c14.696-12.012,25.17-20.824,31.421-26.44c6.249-5.614,12.378-13.378,18.384-23.291
c6.006-9.911,9.009-20.922,9.009-33.032c0-7.713-1.442-15.161-4.321-22.339c-2.882-7.178-6.91-13.5-12.085-18.97
c-5.177-5.468-11.183-9.764-18.018-12.891c-10.547-4.688-23.291-7.031-38.232-7.031c-12.403,0-23.218,1.831-32.446,5.493
s-16.846,8.473-22.852,14.429c-6.006,5.958-10.524,12.598-13.55,19.922c-3.028,7.324-4.541,14.355-4.541,21.094
c0,5.566,1.611,9.961,4.834,13.184s7.274,4.834,12.158,4.834c5.566,0,9.789-1.758,12.671-5.273
c2.879-3.516,5.468-8.544,7.764-15.088c2.293-6.542,3.93-10.547,4.907-12.012c7.324-11.229,17.381-16.846,30.176-16.846
c6.054,0,11.646,1.369,16.772,4.102c5.127,2.735,9.178,6.569,12.158,11.499c2.978,4.933,4.468,10.524,4.468,16.772
c0,5.763-1.392,11.646-4.175,17.651s-6.837,11.865-12.158,17.578c-5.324,5.713-11.989,11.403-19.995,17.065
c-4.493,3.028-11.964,9.352-22.412,18.97c-10.451,9.62-22.169,21.167-35.156,34.644c-3.126,3.321-6.006,7.887-8.643,13.696
c-2.637,5.812-3.955,10.474-3.955,13.989c0,5.47,2.051,10.231,6.152,14.282c4.102,4.054,9.814,6.079,17.139,6.079H306.6
c6.445,0,11.254-1.659,14.429-4.98c3.172-3.319,4.761-7.372,4.761-12.158C325.789,332.97,323.786,328.722,319.783,325.595z"/>
</svg>'
when LN_contraparte_indicadores.valor_numerico = 3 then
'<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
viewBox="0 0 496.158 496.158" style="enable-background:new 0 0 496.158 496.158;" xml:space="preserve">
<path style="fill:#FDC689;" d="M248.082,0.003C111.07,0.003,0,111.061,0,248.085c0,137,111.07,248.07,248.082,248.07
c137.006,0,248.076-111.07,248.076-248.07C496.158,111.061,385.088,0.003,248.082,0.003z"/>
<path style="fill:#000000;" d="M319.637,269.711c-2.637-6.395-6.569-12.231-11.792-17.505c-5.226-5.273-11.646-9.961-19.263-14.063
c7.91-6.64,13.989-13.451,18.237-20.435c4.248-6.981,6.372-15.355,6.372-25.122c0-7.42-1.465-14.355-4.395-20.801
s-7.276-12.108-13.037-16.992c-5.763-4.882-12.55-8.617-20.361-11.206c-7.814-2.586-16.457-3.882-25.928-3.882
c-10.84,0-20.654,1.538-29.443,4.614s-16.139,7.155-22.046,12.231c-5.91,5.079-10.4,10.426-13.477,16.04
c-3.076,5.617-4.614,10.963-4.614,16.04c0,5.273,1.634,9.499,4.907,12.671c3.271,3.175,6.859,4.761,10.767,4.761
c3.319,0,6.249-0.586,8.789-1.758c2.538-1.172,4.296-2.783,5.273-4.834c1.659-3.809,3.49-7.86,5.493-12.158
c2-4.296,4.125-7.812,6.372-10.547c2.245-2.733,5.296-4.93,9.155-6.592c3.856-1.659,8.764-2.49,14.722-2.49
c8.789,0,15.77,2.71,20.947,8.13c5.175,5.42,7.764,11.891,7.764,19.409c0,9.865-3.248,17.432-9.741,22.705
c-6.496,5.273-14.234,7.91-23.218,7.91h-6.006c-6.935,0-12.158,1.442-15.674,4.321c-3.516,2.882-5.273,6.665-5.273,11.353
c0,4.786,1.465,8.521,4.395,11.206c2.93,2.687,7.079,4.028,12.451,4.028c1.172,0,3.809-0.194,7.91-0.586
c4.102-0.389,7.127-0.586,9.082-0.586c11.133,0,19.823,3.248,26.074,9.741c6.249,6.496,9.375,15.454,9.375,26.88
c0,7.716-1.831,14.502-5.493,20.361s-8.302,10.279-13.916,13.257c-5.617,2.98-11.451,4.468-17.505,4.468
c-10.547,0-18.727-3.296-24.536-9.888c-5.812-6.592-11.256-16.674-16.333-30.249c-0.783-2.245-2.442-4.175-4.98-5.786
c-2.541-1.611-5.177-2.417-7.91-2.417c-5.47,0-10.034,1.735-13.696,5.2c-3.662,3.468-5.493,8.034-5.493,13.696
c0,4.395,1.538,9.961,4.614,16.699s7.617,13.257,13.623,19.556s13.646,11.549,22.925,15.747c9.276,4.198,19.775,6.299,31.494,6.299
c11.522,0,22.046-1.831,31.567-5.493s17.748-8.739,24.683-15.234c6.933-6.493,12.181-13.891,15.747-22.192
c3.563-8.299,5.347-16.894,5.347-25.781C323.592,283.018,322.273,276.109,319.637,269.711z"/>
</svg>'
when LN_contraparte_indicadores.valor_numerico = 4 then
'<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
viewBox="0 0 496.158 496.158" style="enable-background:new 0 0 496.158 496.158;" xml:space="preserve">
<path style="fill:#FD676E;" d="M248.082,0.003C111.07,0.003,0,111.061,0,248.085c0,137,111.07,248.07,248.082,248.07
c137.006,0,248.076-111.07,248.076-248.07C496.158,111.061,385.088,0.003,248.082,0.003z"/>
<path style="fill:#FFFFFF;" d="M324.983,279.892c-4.541-2.051-10.572-3.076-18.091-3.076h-6.299V163.437
c0-16.992-7.423-25.488-22.266-25.488c-4.591,0-8.521,1.538-11.792,4.614c-3.273,3.076-7.448,8.034-12.524,14.868l-77.637,103.857
c-2.149,2.833-3.955,5.226-5.42,7.178c-1.465,1.955-2.882,3.98-4.248,6.079c-1.369,2.101-2.394,4.102-3.076,6.006
c-0.685,1.904-1.025,3.786-1.025,5.64c0,7.228,2.318,12.941,6.958,17.139c4.637,4.2,11.595,6.299,20.874,6.299h73.535v27.246
c0,7.324,1.685,12.868,5.054,16.626s7.787,5.64,13.257,5.64c5.566,0,10.009-1.831,13.33-5.493c3.319-3.662,4.98-9.251,4.98-16.772
V309.63h8.936c7.42,0,12.987-1.293,16.699-3.882c3.71-2.586,5.566-6.713,5.566-12.378
C331.795,286.436,329.524,281.943,324.983,279.892z M263.973,276.816h-62.988l62.988-85.107V276.816z"/>
</svg>'
when LN_contraparte_indicadores.valor_numerico = 5 then
'<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
viewBox="0 0 496.158 496.158" style="enable-background:new 0 0 496.158 496.158;" xml:space="preserve">
<path style="fill:#C55B5B;" d="M248.082,0.003C111.07,0.003,0,111.061,0,248.085c0,137,111.07,248.07,248.082,248.07
c137.006,0,248.076-111.07,248.076-248.07C496.158,111.061,385.088,0.003,248.082,0.003z"/>
<path style="fill:#FFFFFF;" d="M320.516,255.136c-3.516-8.496-8.35-15.843-14.502-22.046c-6.152-6.2-13.307-11.06-21.46-14.575
c-8.155-3.516-16.919-5.273-26.294-5.273c-11.719,0-24.513,3.712-38.379,11.133l8.35-47.461h69.58
c7.226,0,12.694-1.561,16.406-4.688c3.71-3.124,5.566-7.226,5.566-12.305c0-11.62-7.617-17.432-22.852-17.432h-77.344
c-8.4,0-14.454,1.904-18.164,5.713c-3.712,3.809-6.251,9.913-7.617,18.311l-12.304,70.166c-1.076,6.152-1.611,9.474-1.611,9.961
c0,4.395,1.854,8.327,5.566,11.792c3.71,3.468,7.958,5.2,12.744,5.2c4.395,0,9.984-2.563,16.772-7.69
c6.786-5.127,11.986-8.716,15.601-10.767c3.612-2.051,9.618-3.076,18.018-3.076c6.834,0,13.037,1.637,18.604,4.907
c5.566,3.273,10.009,8.229,13.33,14.868c3.319,6.642,4.98,14.648,4.98,24.023c0,8.693-1.538,16.457-4.614,23.291
c-3.076,6.837-7.448,12.208-13.11,16.113c-5.665,3.907-12.257,5.859-19.775,5.859c-8.203,0-15.626-2.417-22.266-7.251
c-6.642-4.834-11.916-11.595-15.82-20.288c-4.005-9.471-10.107-14.209-18.311-14.209c-4.786,0-8.766,1.71-11.938,5.127
c-3.175,3.419-4.761,7.031-4.761,10.84c0,6.251,2.271,13.55,6.812,21.899s12.254,15.747,23.145,22.192
c10.888,6.445,25.072,9.668,42.554,9.668c15.624,0,29.418-3.419,41.382-10.254c11.961-6.834,21.117-16.063,27.466-27.686
c6.347-11.62,9.521-24.511,9.521-38.672C325.789,272.765,324.031,263.632,320.516,255.136z"/>
</svg>'
when LN_contraparte_indicadores.valor_numerico = 6 then
'<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
viewBox="0 0 496.158 496.158" style="enable-background:new 0 0 496.158 496.158;" xml:space="preserve">
<path style="fill:#C55B5B;" d="M248.082,0.003C111.07,0.003,0,111.061,0,248.085c0,137,111.07,248.07,248.082,248.07
c137.006,0,248.076-111.07,248.076-248.07C496.158,111.061,385.088,0.003,248.082,0.003z"/>
<path style="fill:#FFFFFF;" d="M321.248,258.652c-3.223-8.69-7.789-16.234-13.696-22.632c-5.91-6.395-12.794-11.327-20.654-14.795
c-7.862-3.465-16.432-5.2-25.708-5.2c-9.668,0-18.409,1.904-26.221,5.713c-7.814,3.809-15.04,9.668-21.68,17.578
c1.268-26.562,5.468-45.019,12.598-55.371c3.516-5.077,7.837-9.105,12.964-12.085c5.127-2.978,10.277-4.468,15.454-4.468
c6.445,0,12.108,1.783,16.992,5.347c4.882,3.566,8.446,8.276,10.693,14.136c1.659,4.591,4.248,8.18,7.764,10.767
c3.516,2.589,7.324,3.882,11.426,3.882c4.688,0,8.544-1.634,11.572-4.907c3.026-3.271,4.541-6.908,4.541-10.913
c0-6.64-2.417-13.573-7.251-20.801c-4.834-7.226-12.012-13.28-21.533-18.164c-9.521-4.882-20.533-7.324-33.032-7.324
c-12.989,0-24.562,2.442-34.717,7.324c-10.158,4.884-18.8,12.11-25.928,21.68c-7.13,9.572-12.598,21.632-16.406,36.182
c-3.809,14.552-5.713,31.055-5.713,49.512c0,22.657,3.149,41.821,9.448,57.495s15.404,27.516,27.319,35.522
c11.913,8.009,26.074,12.012,42.48,12.012c14.257,0,27.026-3.149,38.306-9.448s20.068-15.063,26.367-26.294
c6.299-11.229,9.448-23.73,9.448-37.5C326.082,276.427,324.471,267.345,321.248,258.652z M277.303,318.198
c-6.445,8.057-14.601,12.085-24.463,12.085c-10.353,0-18.947-4.395-25.781-13.184c-6.837-8.789-10.254-19.775-10.254-32.959
c0-8.203,1.685-15.355,5.054-21.46c3.369-6.102,7.812-10.767,13.33-13.989c5.516-3.223,11.302-4.834,17.358-4.834
c6.347,0,12.158,1.685,17.432,5.054c5.274,3.369,9.423,8.253,12.451,14.648c3.026,6.397,4.541,14.04,4.541,22.925
C286.971,299.571,283.748,310.141,277.303,318.198z"/>
</svg>'
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 = '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))
ELSE NULL
END AS textcaption,
/** 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
FROM LN_contrapartes
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_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
WHERE LN_contrapartes.cliente = @p_cliente
--AND LN_gestiones.desde <= GETDATE() AND LN_gestiones.hasta >= GETDATE()
and LN_contrapartes.vigencia_desde <= GETDATE() and LN_contrapartes.vigencia_hasta >= GETDATE()
AND LN_indicadores.visible = 1
AND LN_contrapartes.activo = 1
AND LN_contrapartes.subcontratista = 1
AND LN_contraparte_familias.activo = 1
AND LN_familia_productos.activo = 1
ELSE
/* por id_padre */
SELECT LN_contrapartes.contraparte, LN_contraparte_indicadores.indicador,
LN_indicadores.clave_indicador, LN_productos.producto_id,
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',''), ',', '.'),
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',''), ',', '.'),
null)
/*
when LN_indicadores.tipo_dato = 'I' then iif(LN_contraparte_indicadores.valor_numerico is not null, convert(varchar, round(isnull(LN_contraparte_indicadores.valor_numerico,0),0)), null)
when LN_indicadores.tipo_dato = 'F' then iif(LN_contraparte_indicadores.valor_numerico is not null, convert(varchar, round(isnull(LN_contraparte_indicadores.valor_numerico,0),0)), null)
*/
when LN_indicadores.tipo_dato = 'D' then convert(varchar, LN_contraparte_indicadores.valor_fecha, 103)
when LN_indicadores.tipo_dato = 'B' then iif(LN_contraparte_indicadores.valor_numerico > 0, 'SI', 'NO')
else null
end as valor,
/** 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'
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 = '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 = '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
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 = 'BR' then '000000'
else NULL
end
WHEN LN_indicadores.clave_indicador = 'FIDECHECK' THEN
case
when LN_contraparte_indicadores.valor_texto = 'P' then 'FFFFFF'
when LN_contraparte_indicadores.valor_texto = 'R' then 'FFFFFF'
when LN_contraparte_indicadores.valor_texto = 'N' then 'FFFFFF'
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
ELSE
case
when LN_contraparte_indicadores.valor_numerico <= 20 then 'FFFFFF'
else '000000'
end
END AS textcolor,
/** SVG **/
CASE
WHEN (LN_indicadores.clave_indicador = 'EXCEPCION') THEN
case
when LN_contraparte_indicadores.valor_numerico > 0 then '<svg x="0px" y="0px" viewBox="0 0 473.931 473.931" style="enable-background:new 0 0 473.931 473.931;" xml:space="preserve" width="15px" height="15px" class=""><g><circle style="fill:#FFB81C" cx="236.966" cy="236.966" r="236.966" data-original="#E79E2D" class="active-path" data-old_color="#E79E2D"/><path style="fill:#FFFFFF" d="M214.399,252.389l-6.698-100.159c-1.257-19.517-1.871-33.526-1.871-42.027 c0-11.57,3.035-20.602,9.085-27.072c6.065-6.499,14.054-9.74,23.94-9.74c11.996,0,20.022,4.15,24.056,12.445 c4.034,8.303,6.065,20.258,6.065,35.857c0,9.205-0.494,18.559-1.459,28.022l-8.995,103.089c-0.973,12.277-3.061,21.68-6.279,28.239 c-3.207,6.544-8.509,9.815-15.888,9.815c-7.536,0-12.756-3.158-15.682-9.512C217.744,275.016,215.645,265.351,214.399,252.389z M237.609,389.974c-8.501,0-15.936-2.739-22.267-8.251c-6.346-5.497-9.512-13.197-9.512-23.102c0-8.647,3.035-16.004,9.085-22.069 c6.065-6.065,13.493-9.092,22.275-9.092c8.786,0,16.269,3.027,22.477,9.092c6.204,6.065,9.31,13.425,9.31,22.069 c0,9.751-3.136,17.414-9.418,22.997C253.291,387.19,245.976,389.974,237.609,389.974z" data-original="#CA7B29" class="" data-old_color="#ffffff"/></g> </svg>'
else null
end
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') THEN
case
when LN_contraparte_indicadores.valor_numerico > 0 then '<svg width="15" height="15"><rect width="15" height="15" style="fill:#63b68c;" /></svg>'
when LN_contraparte_indicadores.valor_numerico = 0 then '<svg width="15" height="15"><rect width="15" height="15" style="fill:#A72B2A;" /></svg>'
else null
end
WHEN (LN_indicadores.clave_indicador = 'NIVEL_RIESGO') THEN
case
when LN_contraparte_indicadores.valor_texto = 'AR' then '<svg width="15" height="15"><rect width="20" height="15" style="fill:#A72B2A;" /></svg>'
when LN_contraparte_indicadores.valor_texto = 'MR' then '<svg width="15" height="15"><rect width="20" height="15" style="fill:#FFB81C;" /></svg>'
when LN_contraparte_indicadores.valor_texto = 'BR' then '<svg width="15" height="15"><rect width="20" height="15" style="fill:#63b68c;" /></svg>'
else NULL
end
WHEN (LN_indicadores.clave_indicador = 'FIDECHECK') THEN
case
when LN_contraparte_indicadores.valor_texto = 'P' then '<svg height="15" width="15"><circle cx="8" cy="8" r="7" stroke="black" stroke-width="0" fill="#A72B2A" /></svg>'
when LN_contraparte_indicadores.valor_texto = 'R' then '<svg height="15" width="15"><circle cx="8" cy="8" r="7" stroke="black" stroke-width="0" fill="#FFB81C" /></svg>'
when LN_contraparte_indicadores.valor_texto = 'N' then '<svg height="15" width="15"><circle cx="8" cy="8" r="7" stroke="black" stroke-width="0" fill="#63b68c" /></svg>'
else NULL
end
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') THEN
case
when LN_contraparte_indicadores.valor_numerico >= 81 then '<svg width="7" height="15"><rect width="7" height="15" style="fill:#63b68c;" /></svg>'
when LN_contraparte_indicadores.valor_numerico >= 61 then '<svg width="7" height="15"><rect width="7" height="15" style="fill:#cbc367;" /></svg>'
when LN_contraparte_indicadores.valor_numerico >= 41 then '<svg width="7" height="15"><rect width="7" height="15" style="fill:#FFB81C;" /></svg>'
when LN_contraparte_indicadores.valor_numerico >= 21 then '<svg width="7" height="15"><rect width="7" height="15" style="fill:#d37123;" /></svg>'
when LN_contraparte_indicadores.valor_numerico >= 0 then '<svg width="7" height="15"><rect width="7" height="15" style="fill:#A72B2A;" /></svg>'
else NULL
end
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 '<svg width="7" height="15"><rect width="7" height="15" style="fill:#A72B2A;" /></svg>'
when LN_contraparte_indicadores.valor_numerico >= 61 then '<svg width="7" height="15"><rect width="7" height="15" style="fill:#d37123;" /></svg>'
when LN_contraparte_indicadores.valor_numerico >= 41 then '<svg width="7" height="15"><rect width="7" height="15" style="fill:#FFB81C;" /></svg>'
when LN_contraparte_indicadores.valor_numerico >= 21 then '<svg width="7" height="15"><rect width="7" height="15" style="fill:#cbc367;" /></svg>'
when LN_contraparte_indicadores.valor_numerico >= 0 then '<svg width="7" height="15"><rect width="7" height="15" style="fill:#63b68c;" /></svg>'
else NULL
end
WHEN (LN_indicadores.clave_indicador = 'VALORACION_BAL') THEN
case
when LN_contraparte_indicadores.valor_texto = 'P' then '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="" x="0px" y="0px" viewBox="0 0 543.906 543.906" style="enable-background:new 0 0 543.906 543.906;" xml:space="preserve" width="15px" height="15px">
<g>
<path d="M0,271.953c0,150.194,121.759,271.953,271.953,271.953s271.953-121.759,271.953-271.953 S422.148,0,271.953,0S0,121.759,0,271.953z M124.076,340.453l0.169-97.735L272.122,95.184l147.703,147.535v97.566L307.476,227.929 v220.793h-71.556V228.778L124.076,340.453z" fill="#63b68c"/>
</g>
</svg>'
when LN_contraparte_indicadores.valor_texto = 'U' then '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="" x="0px" y="0px" viewBox="0 0 543.902 543.902" style="enable-background:new 0 0 543.902 543.902;" xml:space="preserve" width="15px" height="15px">
<g>
<path d="M79.652,79.652c-106.203,106.203-106.203,278.398,0,384.602 c106.203,106.198,278.398,106.198,384.602,0c106.198-106.203,106.198-278.398,0-384.602 C358.045-26.551,185.856-26.551,79.652,79.652z M118.955,215.825l69.228-68.989l208.887,0.239l0.12,208.768l-68.989,68.984V265.94 L172.073,422.069l-50.6-50.6l155.519-155.525L118.955,215.825L118.955,215.825z" fill="#cbc367"/>
</g>
</svg>'
when LN_contraparte_indicadores.valor_texto = 'E' then '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="" x="0px" y="0px" viewBox="0 0 543.906 543.906" style="enable-background:new 0 0 543.906 543.906;" xml:space="preserve" width="15px" height="15px">
<g>
<path d="M271.953,0C121.759,0,0,121.759,0,271.953s121.759,271.953,271.953,271.953 s271.953-121.759,271.953-271.953S422.148,0,271.953,0z M203.454,124.076l97.735,0.169l147.535,147.877L301.188,419.831h-97.56 l112.349-112.349H95.184v-71.562h219.945L203.454,124.076z" fill="#FFB81C"/>
</g>
</svg>'
when LN_contraparte_indicadores.valor_texto = 'D' then '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="" x="0px" y="0px" viewBox="0 0 100 100" style="enable-background:new 0 0 100 100;" xml:space="preserve" width="15px" height="15px">
<g>
<path d="M85.355,14.645c-19.526-19.526-51.185-19.526-70.711,0s-19.526,51.185,0,70.711 c19.526,19.525,51.185,19.525,70.711,0C104.881,65.829,104.881,34.171,85.355,14.645z M60.319,21.871l12.684,12.728l-0.044,38.405 l-38.383,0.022L21.893,60.342h29.213L22.401,31.637l9.303-9.303l28.593,28.593L60.319,21.871z" fill="#d37123"/>
</g>
</svg>'
when LN_contraparte_indicadores.valor_texto = 'N' then '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="" x="0px" y="0px" viewBox="0 0 543.906 543.906" style="enable-background:new 0 0 543.906 543.906;" xml:space="preserve" width="15px" height="15px">
<g>
<path d="M543.906,271.953C543.906,121.759,422.148,0,271.953,0S0,121.759,0,271.953 s121.759,271.953,271.953,271.953S543.906,422.148,543.906,271.953z M419.831,203.454l-0.169,97.735L271.785,448.723 L124.076,301.188v-97.56l112.349,112.349V95.184h71.556v219.945L419.831,203.454z" fill="#A72B2A"/>
</g>
</svg>'
else NULL
end
WHEN (LN_indicadores.clave_indicador = 'SITUACION_CD') THEN
case
when LN_contraparte_indicadores.valor_numerico = 1 then
'<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
viewBox="0 0 496.158 496.158" style="enable-background:new 0 0 496.158 496.158;" xml:space="preserve">
<path style="fill:#96CAB0;" d="M248.082,0.003C111.07,0.003,0,111.061,0,248.085c0,137,111.07,248.07,248.082,248.07
c137.006,0,248.076-111.07,248.076-248.07C496.158,111.061,385.088,0.003,248.082,0.003z"/>
<path style="fill:#000000;" d="M278.767,145.419c-3.126-4.003-7.276-6.006-12.451-6.006c-4.591,0-7.716,0.879-9.375,2.637
c-1.662,1.758-5.226,6.445-10.693,14.063c-5.47,7.617-11.744,14.502-18.823,20.654c-7.082,6.152-16.53,12.012-28.345,17.578
c-7.91,3.712-13.429,6.738-16.553,9.082c-3.126,2.344-4.688,6.006-4.688,10.986c0,4.298,1.586,8.082,4.761,11.353
c3.172,3.273,6.812,4.907,10.913,4.907c8.592,0,25.292-9.521,50.098-28.564V335.41c0,7.814,1.806,13.722,5.42,17.725
c3.612,4.003,8.397,6.006,14.355,6.006c13.378,0,20.068-9.814,20.068-29.443V161.972
C283.455,154.941,281.892,149.425,278.767,145.419z"/>
</svg>'
when LN_contraparte_indicadores.valor_numerico = 2 then
'<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
viewBox="0 0 496.158 496.158" style="enable-background:new 0 0 496.158 496.158;" xml:space="preserve">
<path style="fill:#FFFFBA;" d="M248.082,0.003C111.07,0.003,0,111.061,0,248.085c0,137,111.07,248.07,248.082,248.07
c137.006,0,248.076-111.07,248.076-248.07C496.158,111.061,385.088,0.003,248.082,0.003z"/>
<path style="fill:#000000;" d="M319.783,325.595c-4.005-3.124-9.814-4.688-17.432-4.688h-76.465c2.44-3.71,4.834-6.885,7.178-9.521
c5.468-6.64,15.55-15.967,30.249-27.979c14.696-12.012,25.17-20.824,31.421-26.44c6.249-5.614,12.378-13.378,18.384-23.291
c6.006-9.911,9.009-20.922,9.009-33.032c0-7.713-1.442-15.161-4.321-22.339c-2.882-7.178-6.91-13.5-12.085-18.97
c-5.177-5.468-11.183-9.764-18.018-12.891c-10.547-4.688-23.291-7.031-38.232-7.031c-12.403,0-23.218,1.831-32.446,5.493
s-16.846,8.473-22.852,14.429c-6.006,5.958-10.524,12.598-13.55,19.922c-3.028,7.324-4.541,14.355-4.541,21.094
c0,5.566,1.611,9.961,4.834,13.184s7.274,4.834,12.158,4.834c5.566,0,9.789-1.758,12.671-5.273
c2.879-3.516,5.468-8.544,7.764-15.088c2.293-6.542,3.93-10.547,4.907-12.012c7.324-11.229,17.381-16.846,30.176-16.846
c6.054,0,11.646,1.369,16.772,4.102c5.127,2.735,9.178,6.569,12.158,11.499c2.978,4.933,4.468,10.524,4.468,16.772
c0,5.763-1.392,11.646-4.175,17.651s-6.837,11.865-12.158,17.578c-5.324,5.713-11.989,11.403-19.995,17.065
c-4.493,3.028-11.964,9.352-22.412,18.97c-10.451,9.62-22.169,21.167-35.156,34.644c-3.126,3.321-6.006,7.887-8.643,13.696
c-2.637,5.812-3.955,10.474-3.955,13.989c0,5.47,2.051,10.231,6.152,14.282c4.102,4.054,9.814,6.079,17.139,6.079H306.6
c6.445,0,11.254-1.659,14.429-4.98c3.172-3.319,4.761-7.372,4.761-12.158C325.789,332.97,323.786,328.722,319.783,325.595z"/>
</svg>'
when LN_contraparte_indicadores.valor_numerico = 3 then
'<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
viewBox="0 0 496.158 496.158" style="enable-background:new 0 0 496.158 496.158;" xml:space="preserve">
<path style="fill:#FDC689;" d="M248.082,0.003C111.07,0.003,0,111.061,0,248.085c0,137,111.07,248.07,248.082,248.07
c137.006,0,248.076-111.07,248.076-248.07C496.158,111.061,385.088,0.003,248.082,0.003z"/>
<path style="fill:#000000;" d="M319.637,269.711c-2.637-6.395-6.569-12.231-11.792-17.505c-5.226-5.273-11.646-9.961-19.263-14.063
c7.91-6.64,13.989-13.451,18.237-20.435c4.248-6.981,6.372-15.355,6.372-25.122c0-7.42-1.465-14.355-4.395-20.801
s-7.276-12.108-13.037-16.992c-5.763-4.882-12.55-8.617-20.361-11.206c-7.814-2.586-16.457-3.882-25.928-3.882
c-10.84,0-20.654,1.538-29.443,4.614s-16.139,7.155-22.046,12.231c-5.91,5.079-10.4,10.426-13.477,16.04
c-3.076,5.617-4.614,10.963-4.614,16.04c0,5.273,1.634,9.499,4.907,12.671c3.271,3.175,6.859,4.761,10.767,4.761
c3.319,0,6.249-0.586,8.789-1.758c2.538-1.172,4.296-2.783,5.273-4.834c1.659-3.809,3.49-7.86,5.493-12.158
c2-4.296,4.125-7.812,6.372-10.547c2.245-2.733,5.296-4.93,9.155-6.592c3.856-1.659,8.764-2.49,14.722-2.49
c8.789,0,15.77,2.71,20.947,8.13c5.175,5.42,7.764,11.891,7.764,19.409c0,9.865-3.248,17.432-9.741,22.705
c-6.496,5.273-14.234,7.91-23.218,7.91h-6.006c-6.935,0-12.158,1.442-15.674,4.321c-3.516,2.882-5.273,6.665-5.273,11.353
c0,4.786,1.465,8.521,4.395,11.206c2.93,2.687,7.079,4.028,12.451,4.028c1.172,0,3.809-0.194,7.91-0.586
c4.102-0.389,7.127-0.586,9.082-0.586c11.133,0,19.823,3.248,26.074,9.741c6.249,6.496,9.375,15.454,9.375,26.88
c0,7.716-1.831,14.502-5.493,20.361s-8.302,10.279-13.916,13.257c-5.617,2.98-11.451,4.468-17.505,4.468
c-10.547,0-18.727-3.296-24.536-9.888c-5.812-6.592-11.256-16.674-16.333-30.249c-0.783-2.245-2.442-4.175-4.98-5.786
c-2.541-1.611-5.177-2.417-7.91-2.417c-5.47,0-10.034,1.735-13.696,5.2c-3.662,3.468-5.493,8.034-5.493,13.696
c0,4.395,1.538,9.961,4.614,16.699s7.617,13.257,13.623,19.556s13.646,11.549,22.925,15.747c9.276,4.198,19.775,6.299,31.494,6.299
c11.522,0,22.046-1.831,31.567-5.493s17.748-8.739,24.683-15.234c6.933-6.493,12.181-13.891,15.747-22.192
c3.563-8.299,5.347-16.894,5.347-25.781C323.592,283.018,322.273,276.109,319.637,269.711z"/>
</svg>'
when LN_contraparte_indicadores.valor_numerico = 4 then
'<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
viewBox="0 0 496.158 496.158" style="enable-background:new 0 0 496.158 496.158;" xml:space="preserve">
<path style="fill:#FD676E;" d="M248.082,0.003C111.07,0.003,0,111.061,0,248.085c0,137,111.07,248.07,248.082,248.07
c137.006,0,248.076-111.07,248.076-248.07C496.158,111.061,385.088,0.003,248.082,0.003z"/>
<path style="fill:#FFFFFF;" d="M324.983,279.892c-4.541-2.051-10.572-3.076-18.091-3.076h-6.299V163.437
c0-16.992-7.423-25.488-22.266-25.488c-4.591,0-8.521,1.538-11.792,4.614c-3.273,3.076-7.448,8.034-12.524,14.868l-77.637,103.857
c-2.149,2.833-3.955,5.226-5.42,7.178c-1.465,1.955-2.882,3.98-4.248,6.079c-1.369,2.101-2.394,4.102-3.076,6.006
c-0.685,1.904-1.025,3.786-1.025,5.64c0,7.228,2.318,12.941,6.958,17.139c4.637,4.2,11.595,6.299,20.874,6.299h73.535v27.246
c0,7.324,1.685,12.868,5.054,16.626s7.787,5.64,13.257,5.64c5.566,0,10.009-1.831,13.33-5.493c3.319-3.662,4.98-9.251,4.98-16.772
V309.63h8.936c7.42,0,12.987-1.293,16.699-3.882c3.71-2.586,5.566-6.713,5.566-12.378
C331.795,286.436,329.524,281.943,324.983,279.892z M263.973,276.816h-62.988l62.988-85.107V276.816z"/>
</svg>'
when LN_contraparte_indicadores.valor_numerico = 5 then
'<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
viewBox="0 0 496.158 496.158" style="enable-background:new 0 0 496.158 496.158;" xml:space="preserve">
<path style="fill:#C55B5B;" d="M248.082,0.003C111.07,0.003,0,111.061,0,248.085c0,137,111.07,248.07,248.082,248.07
c137.006,0,248.076-111.07,248.076-248.07C496.158,111.061,385.088,0.003,248.082,0.003z"/>
<path style="fill:#FFFFFF;" d="M320.516,255.136c-3.516-8.496-8.35-15.843-14.502-22.046c-6.152-6.2-13.307-11.06-21.46-14.575
c-8.155-3.516-16.919-5.273-26.294-5.273c-11.719,0-24.513,3.712-38.379,11.133l8.35-47.461h69.58
c7.226,0,12.694-1.561,16.406-4.688c3.71-3.124,5.566-7.226,5.566-12.305c0-11.62-7.617-17.432-22.852-17.432h-77.344
c-8.4,0-14.454,1.904-18.164,5.713c-3.712,3.809-6.251,9.913-7.617,18.311l-12.304,70.166c-1.076,6.152-1.611,9.474-1.611,9.961
c0,4.395,1.854,8.327,5.566,11.792c3.71,3.468,7.958,5.2,12.744,5.2c4.395,0,9.984-2.563,16.772-7.69
c6.786-5.127,11.986-8.716,15.601-10.767c3.612-2.051,9.618-3.076,18.018-3.076c6.834,0,13.037,1.637,18.604,4.907
c5.566,3.273,10.009,8.229,13.33,14.868c3.319,6.642,4.98,14.648,4.98,24.023c0,8.693-1.538,16.457-4.614,23.291
c-3.076,6.837-7.448,12.208-13.11,16.113c-5.665,3.907-12.257,5.859-19.775,5.859c-8.203,0-15.626-2.417-22.266-7.251
c-6.642-4.834-11.916-11.595-15.82-20.288c-4.005-9.471-10.107-14.209-18.311-14.209c-4.786,0-8.766,1.71-11.938,5.127
c-3.175,3.419-4.761,7.031-4.761,10.84c0,6.251,2.271,13.55,6.812,21.899s12.254,15.747,23.145,22.192
c10.888,6.445,25.072,9.668,42.554,9.668c15.624,0,29.418-3.419,41.382-10.254c11.961-6.834,21.117-16.063,27.466-27.686
c6.347-11.62,9.521-24.511,9.521-38.672C325.789,272.765,324.031,263.632,320.516,255.136z"/>
</svg>'
when LN_contraparte_indicadores.valor_numerico = 6 then
'<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="15px" height="15px"
viewBox="0 0 496.158 496.158" style="enable-background:new 0 0 496.158 496.158;" xml:space="preserve">
<path style="fill:#C55B5B;" d="M248.082,0.003C111.07,0.003,0,111.061,0,248.085c0,137,111.07,248.07,248.082,248.07
c137.006,0,248.076-111.07,248.076-248.07C496.158,111.061,385.088,0.003,248.082,0.003z"/>
<path style="fill:#FFFFFF;" d="M321.248,258.652c-3.223-8.69-7.789-16.234-13.696-22.632c-5.91-6.395-12.794-11.327-20.654-14.795
c-7.862-3.465-16.432-5.2-25.708-5.2c-9.668,0-18.409,1.904-26.221,5.713c-7.814,3.809-15.04,9.668-21.68,17.578
c1.268-26.562,5.468-45.019,12.598-55.371c3.516-5.077,7.837-9.105,12.964-12.085c5.127-2.978,10.277-4.468,15.454-4.468
c6.445,0,12.108,1.783,16.992,5.347c4.882,3.566,8.446,8.276,10.693,14.136c1.659,4.591,4.248,8.18,7.764,10.767
c3.516,2.589,7.324,3.882,11.426,3.882c4.688,0,8.544-1.634,11.572-4.907c3.026-3.271,4.541-6.908,4.541-10.913
c0-6.64-2.417-13.573-7.251-20.801c-4.834-7.226-12.012-13.28-21.533-18.164c-9.521-4.882-20.533-7.324-33.032-7.324
c-12.989,0-24.562,2.442-34.717,7.324c-10.158,4.884-18.8,12.11-25.928,21.68c-7.13,9.572-12.598,21.632-16.406,36.182
c-3.809,14.552-5.713,31.055-5.713,49.512c0,22.657,3.149,41.821,9.448,57.495s15.404,27.516,27.319,35.522
c11.913,8.009,26.074,12.012,42.48,12.012c14.257,0,27.026-3.149,38.306-9.448s20.068-15.063,26.367-26.294
c6.299-11.229,9.448-23.73,9.448-37.5C326.082,276.427,324.471,267.345,321.248,258.652z M277.303,318.198
c-6.445,8.057-14.601,12.085-24.463,12.085c-10.353,0-18.947-4.395-25.781-13.184c-6.837-8.789-10.254-19.775-10.254-32.959
c0-8.203,1.685-15.355,5.054-21.46c3.369-6.102,7.812-10.767,13.33-13.989c5.516-3.223,11.302-4.834,17.358-4.834
c6.347,0,12.158,1.685,17.432,5.054c5.274,3.369,9.423,8.253,12.451,14.648c3.026,6.397,4.541,14.04,4.541,22.925
C286.971,299.571,283.748,310.141,277.303,318.198z"/>
</svg>'
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 = '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)
ELSE NULL
END AS textcaption,
/** 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
FROM LN_contrapartes
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_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
WHERE LN_contrapartes.cliente = @p_cliente
AND LN_contrapartes.id_padre = @p_id_padre
--AND LN_gestiones.desde <= GETDATE() AND LN_gestiones.hasta >= GETDATE()
and LN_contrapartes.vigencia_desde <= GETDATE() and LN_contrapartes.vigencia_hasta >= GETDATE()
AND LN_indicadores.visible = 1
AND LN_contrapartes.activo = 1
AND LN_contrapartes.subcontratista = 1
AND LN_contraparte_familias.activo = 1
AND LN_familia_productos.activo = 1
end
END
GO
Depends On
17- dbo.clientes
- dbo.country
- dbo.identificadores
- 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_subfamilias
- dbo.padrones
- dbo.users
Used By
No items found