dbo.LN_subcontratistas_ant

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,,>
-- =============================================
create OR ALTER PROCEDURE dbo.LN_subcontratistas_ant 
 -- 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,
   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,
    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,
     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,
     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()
    
   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,
        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.cliente = @p_cliente
        AND LN_gestiones.desde <= getdate() and LN_gestiones.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,
        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.cliente = @p_cliente
        AND LN_contrapartes.id_padre = @p_id_padre
        AND LN_gestiones.desde <= getdate() and LN_gestiones.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_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_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

Used By

No items found