dbo.LN_panel_reports

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

18
Name Data Type Length Description
@p_accion varchar 40
@p_user_id int 4
@p_cliente int 4
@p_contraparte int 4
@p_servicio_contratado int 4
@p_informe int 4
@p_plataforma varchar -1
@p_estado_informe varchar 1
@p_fecha_desde datetime 8
@p_fecha_hasta datetime 8
@p_docsOK bit 1
@p_publicado bit 1
@p_idPadron bigint 8
@p_tipo_informe int 4
@p_country_code_tax_id char 2
@p_fecha_desde_publicacion datetime 8
@p_fecha_hasta_publicacion datetime 8
@p_tipo_tareas varchar 100

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO

/*

EXEC LN_panel_reports 'PANEL_TASKS_FILTRADO',973287644,null,null,null,null,10,null
EXEC LN_panel_reports 'PANEL_USUARIOSDNV',973287644,null,null,null,null,10,null
select * from informes where asignado  = 422946826 and estado_informe = 'A'
EXEC LN_panel_reports '',436897241,null,null,null,null,47,'Y'

*/



/* SP LN_PANEL_REPORTS */

CREATE OR ALTER PROCEDURE dbo.LN_panel_reports 
 @p_accion         varchar(40),
 @p_user_id         int,
 @p_cliente         int = null,
 @p_contraparte        int = null,
 @p_servicio_contratado      int = NULL,
 @p_informe         int = NULL,
 @p_plataforma        varchar(max) = null,
 @p_estado_informe       varchar(1) = NULL,
 @p_fecha_desde        datetime = null,
 @p_fecha_hasta        datetime = null,
 @p_docsOK         bit = null,
 @p_publicado        bit = null,
 @p_idPadron         bigint = null,
 @p_tipo_informe        int = null,
 @p_country_code_tax_id      char(2)= null,
 @p_fecha_desde_publicacion     datetime=null,
 @p_fecha_hasta_publicacion     datetime=null,
 @p_tipo_tareas        varchar(100)=null


AS
BEGIN
 SET NOCOUNT ON;
 DECLARE @country_code VARCHAR(2)
 DECLARE @clave_anterior VARCHAR(80)
 DECLARE @lstDocksOK VARCHAR(10)

 /* DECLARACION DE VARIABLES PARA PREVENIR PARAMETER SNIFFING  EN EL QUERY PLAN */
 DECLARE @V_accion         varchar(40) = @p_accion
 DECLARE @V_user_id         int = @p_user_id
 DECLARE @V_cliente         int = @p_cliente
 DECLARE @V_contraparte        int = @p_contraparte
 DECLARE @V_servicio_contratado      int = @p_servicio_contratado
 DECLARE @V_informe         int = @p_informe
 DECLARE @V_plataforma        varchar(max) = @p_plataforma
 DECLARE @V_estado_informe       varchar(1) = @p_estado_informe
 DECLARE @V_fecha_desde        datetime = @p_fecha_desde
 DECLARE @V_fecha_hasta        datetime = @p_fecha_hasta
 DECLARE @V_docsOK         bit = @p_docsOK
 DECLARE @V_publicado        bit = @p_publicado
 DECLARE @V_idPadron         bigint = @p_idPadron
 DECLARE @V_tipo_informe        int = @p_tipo_informe
 DECLARE @V_country_code_tax_id      char(2)= @p_country_code_tax_id
 DECLARE @V_fecha_desde_publicacion     datetime=@p_fecha_desde_publicacion
 DECLARE @V_fecha_hasta_publicacion     datetime=@p_fecha_hasta_publicacion
 DECLARE @V_tipo_tareas        varchar(100)=@p_tipo_tareas



 if (@V_docsOK=1)
  begin
   set @lstDocksOK = 'S,R'
  end
 ELSE
  begin
   set @lstDocksOK = 'E,D'
  end
 if (@V_plataforma is null)
 begin
  set @V_plataforma = '47,10,73'
 end

if (@V_fecha_desde is null or @V_fecha_hasta is null)
begin
 set @V_fecha_desde = getdate()- 400 
 set @V_fecha_hasta = getdate()+100
end


if (@V_accion='NOTIFAINICIAR')
 BEGIN
  SELECT LN_contrapartes.contraparte,padrones.identificador, padrones.nombre_persona, identificadores.abreviatura,
                            padrones.identificacion, 
       clientes.nombre_cliente, 
                            CONVERT(VARCHAR(19), LN_contrapartes.created, 121) as created, 
                            informes.informe as tarea, 
       ln_contrapartes.servicio_contratado,
       informes.estado_informe as estado_tarea,
       ln_tareas.nombre_tarea,
       case
          when informes.estado_informe = 'I' then 'Ingresado'
          when informes.estado_informe = 'A' then 'No calificado'
          when informes.estado_informe = 'X' then 'Carga Comercial'
          when informes.estado_informe = 'T' then 'Respondido'
          when informes.estado_informe = 'P' then 'En gestión'
          when informes.estado_informe = 'W' then 'En espera'
          when informes.estado_informe = 'M' then 'A Completar'
          when informes.estado_informe = 'E' then 'En proceso'
          when informes.estado_informe = 'F' then 'Finalizado'
          when informes.estado_informe = 'K' then 'Aprobado'
          when informes.estado_informe = 'R' then 'Observado'
          when informes.estado_informe = 'C' then 'Rechazado'
          when informes.estado_informe = 'N' then 'Anulado'
         end as estado_tarea 
                            FROM LN_contrapartes
                            INNER JOIN LN_gestiones on LN_gestiones.contraparte = LN_contrapartes.contraparte
                            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
       LEFT OUTER JOIN LN_demo ON (LN_contrapartes.contraparte = LN_demo.contraparte AND LN_gestiones.gestion = LN_demo.gestion)
       INNER JOIN dbo.DelimitedSplit8K(@V_plataforma, ',') Segmentado on LN_contrapartes.servicio_contratado = Segmentado.Item        
       inner join informes on (ln_demo.informe=informes.informe_padre and informes.estado_informe not in ('N','K','X','C') )
       inner join ln_tareas on ln_tareas.id_tipo_informe_blue = informes.id_tipo_informe 
                            WHERE LN_gestiones.desde <= CONVERT(date, GETDATE())
                            AND LN_gestiones.hasta >= CONVERT(date, GETDATE())
       AND LN_contrapartes.activo = 1
       and informes.asignado = @V_user_id 
       AND INFORMES.informe_padre is not null
       and informes.fecha_ingreso > getdate()-60
       and informes.ready_to_start =1
                            ORDER BY LN_contrapartes.created asc, padrones.nombre_persona
  
  

 END



if (@V_accion='NOTIFICACIONES')
 BEGIN
  SELECT LN_contrapartes.contraparte,padrones.identificador, padrones.nombre_persona, identificadores.abreviatura,
                            padrones.identificacion, 
       clientes.nombre_cliente, 
                            CONVERT(VARCHAR(19), LN_contrapartes.created, 121) as created, 
                            LN_demo.informe as informe, 
       ln_contrapartes.servicio_contratado,
       informes.estado_informe
                            FROM LN_contrapartes
                            INNER JOIN LN_gestiones on LN_gestiones.contraparte = LN_contrapartes.contraparte
                            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
       LEFT OUTER JOIN LN_demo ON (LN_contrapartes.contraparte = LN_demo.contraparte AND LN_gestiones.gestion = LN_demo.gestion)
       LEFT OUTER JOIN LN_productos ON LN_demo.producto = LN_productos.producto
       LEFT OUTER JOIN productos on productos.producto = LN_contrapartes.servicio_contratado
       INNER JOIN dbo.DelimitedSplit8K(@V_plataforma, ',') Segmentado on LN_contrapartes.servicio_contratado = Segmentado.Item        
       inner join informes on (ln_demo.informe=informes.informe_padre and informes.estado_informe in ('A'))
                            WHERE LN_gestiones.desde <= CONVERT(date, GETDATE())
                            AND LN_gestiones.hasta >= CONVERT(date, GETDATE())
       AND LN_contrapartes.activo = 1
                            ORDER BY INFORMES.fecha_ingreso asc, padrones.nombre_persona
  
  

 END


 
 if (@V_accion='TAREAS_APROBAR')
 BEGIN
 SELECT @V_plataforma as plataforma,LN_contrapartes.servicio_contratado as Segmentado, LN_contrapartes.contraparte,ln_familias.nombre_familia, 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,
         CONVERT(VARCHAR, LN_contrapartes.vigencia_desde,103) AS vigencia_desde,
         CONVERT(VARCHAR, LN_contrapartes.vigencia_hasta,103) AS vigencia_hasta,
         LN_contrapartes.clave, LN_contrapartes.clave_temporal,
         CONVERT(VARCHAR(19), LN_contrapartes.clave_cambio, 121) as clave_cambio, 
         CONVERT(VARCHAR(19), LN_contrapartes.clave_expira, 121) as clave_expira, 
         CONVERT(VARCHAR(19), LN_contrapartes.last_login, 121) as last_login,
         ISNULL(LN_contrapartes.modalidad_pago, 'CC') as modalidad_pago,
         LN_contrapartes.created_by, LN_contrapartes.modified_by,
         padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
         padrones.identificacion, 
         country.country_code as country_name, 
         clientes.nombre_cliente, 
         CONVERT(VARCHAR(19), LN_contrapartes.created, 121) as created, 
         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 as gestion,
         LN_gestiones.desde as desde, 
         CONVERT(VARCHAR, LN_gestiones.desde,103) AS gestion_desde,
         CONVERT(VARCHAR, LN_gestiones.hasta,103) AS gestion_hasta,
         LN_demo.informe as informe, LN_productos.dossier,
         IIF(ISNULL(LN_contrapartes.modalidad_pago, 'CC') = 'CC', NULL, pagos_transacciones.status) AS status,
         IIF(ISNULL(LN_contrapartes.modalidad_pago, 'CC') = 'CC', NULL, pagos_transacciones.valor) AS valor,
         IIF(ISNULL(LN_contrapartes.modalidad_pago, 'CC') = 'CC', NULL, pagos_transacciones.moneda) AS moneda
         --es acá
         ,ln_contrapartes.servicio_contratado,
         UPPER(productos.nombre_producto) as servicio_contratado_name, 
         case LN_gestiones.Iv_informe 
          when 1 then 'SI'
          when 0 then 'NO'
          else null 
         end as iv_informe,
         ln_contrapartes.pais_servicio as pais_servicio_cod, 
         pais_servicio.country_name as pais_servicio,ln_demo.docs_ok,ln_demo.integ_carga,ln_demo.integ_rech,ln_demo.integ_verif,
         iif(ln_demo.fecha_comprometida is null,iPPAL.fecha_comprometida,ln_demo.fecha_comprometida) as fecha_comprometida_informe,

         /*ln_demo.fecha_comprometida as fecha_comprometida_informe,*/iPPAL.fecha_comprometida as blue_comprometido,

         tipos_informe.nombre_tipo_informe as nombre_tarea,tPPAL.nombre_tipo_informe as nombre_informe,iPPAL.estado_informe as cod_estado_informe,informes.estado_informe as cod_estado_tarea,
         case
          when iPPAL.estado_informe = 'I' then 'Ingresado'
          when iPPAL.estado_informe = 'A' then 'No calificado'
          when iPPAL.estado_informe = 'X' then 'Carga Comercial'
          when iPPAL.estado_informe = 'T' then 'Respondido'
          when iPPAL.estado_informe = 'P' then 'En gestión'
          when iPPAL.estado_informe = 'W' then 'En espera'
          when iPPAL.estado_informe = 'M' then 'A Completar'
          when iPPAL.estado_informe = 'E' then 'En proceso'
          when iPPAL.estado_informe = 'F' then 'Finalizado'
          when iPPAL.estado_informe = 'K' then 'Aprobado'
          when iPPAL.estado_informe = 'R' then 'Observado'
          when iPPAL.estado_informe = 'C' then 'Rechazado'
          when iPPAL.estado_informe = 'N' then 'Anulado'
         end as estado_informe,
         case
          when informes.estado_informe = 'I' then 'Ingresado'
          when informes.estado_informe = 'A' then 'No calificado'
          when informes.estado_informe = 'X' then 'Carga Comercial'
          when informes.estado_informe = 'T' then 'Respondido'
          when informes.estado_informe = 'P' then 'En gestión'
          when informes.estado_informe = 'W' then 'En espera'
          when informes.estado_informe = 'M' then 'A Completar'
          when informes.estado_informe = 'E' then 'En proceso'
          when informes.estado_informe = 'F' then 'Finalizado'
          when informes.estado_informe = 'K' then 'Aprobado'
          when informes.estado_informe = 'R' then 'Observado'
          when informes.estado_informe = 'C' then 'Rechazado'
          when informes.estado_informe = 'N' then 'Anulado'
         end as estado_tarea,
         /*informes.fecha_iniciado as inicio_tarea,*/
         informes.fecha_inicio as inicio_tarea,
         informes.fecha_entregado as fin_tarea,informes.fecha_comprometida as fecha_comprometida_tarea,
         /*iPPAL.fecha_iniciado as inicio_informe,*/
         iPPAL.fecha_inicio as inicio_informe,
         iPPAL.fecha_entregado as fin_informe, 
         informes.fecha_entregado - informes.fecha_iniciado as tiempo_tarea,
         informes.fecha_entregado -informes.fecha_comprometida as diffTarea,
         iPPAL.fecha_entregado - iPPAL.fecha_iniciado as tiempo_informe,
         iPPAL.fecha_entregado -informes.fecha_comprometida as diffInforme,
         informes.informe as idTarea,informes.orden as ordTarea,
         uInforme.last_name + ' ' +  uInforme.first_name as usuario_informe,
         uTarea.last_name + ' ' + uTarea.first_name as usuario_tarea ,
         informes.prioridad as tarea_prioridad,
         iPPAL.prioridad as informe_prioridad,informes.pausa,
         informes.ready_to_start_trigger_task as idTareaPadre,
         informes.ready_to_start_date,
         informes.ready_to_start,
         informes.ready_to_start_user_id,
         '-' as estadoTareaPadre,LN_tareas.idTarea_Padre as dependencia 


         FROM LN_contrapartes
         INNER JOIN LN_gestiones on LN_gestiones.contraparte = LN_contrapartes.contraparte
         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 country pais_servicio ON LN_contrapartes.pais_servicio = pais_servicio.country_code

         INNER JOIN users users1 ON LN_contrapartes.created_by = users1.user_id
         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 dbo.DelimitedSplit8K(@V_plataforma, ',') exceptuados ON LN_contrapartes.servicio_contratado = convert(int,exceptuados.Item) 

         LEFT OUTER JOIN users users2 ON LN_contrapartes.modified_by = users2.user_id

         LEFT OUTER JOIN LN_demo ON (LN_contrapartes.contraparte = LN_demo.contraparte AND LN_gestiones.gestion = LN_demo.gestion)
         LEFT OUTER JOIN LN_productos ON LN_demo.producto = LN_productos.producto
         LEFT OUTER JOIN productos on productos.producto = LN_contrapartes.servicio_contratado
       
         inner join informes on (ln_demo.informe=informes.informe_padre  /*and informes.estado_informe not in ('X','K')*/)
         inner join tipos_informe on informes.id_tipo_informe=tipos_informe.id_tipo_informe 
         left join users uTarea on informes.asignado = uTarea.user_id
        
         inner join informes iPPAL on (ln_demo.informe=iPPAL.informe  and iPPAL.estado_informe not in ('X','K'))
         inner join tipos_informe tPPAL on iPPAL.id_tipo_informe=tPPAL.id_tipo_informe 
         left join users uInforme on iPPAL.asignado = uInforme.user_id
         INNER JOIN dbo.DelimitedSplit8K(@V_plataforma, ',') Segmentado on LN_contrapartes.servicio_contratado = Segmentado.Item 

         LEFT OUTER JOIN pagos_transacciones ON LN_contrapartes.contraparte = pagos_transacciones.contraparte 
         left join LN_tareas on tipos_informe.tipo_tarea = LN_tareas.idTarea  --LN_tareas.idTarea_Padre as dependencia


         WHERE /*LN_contrapartes.cliente = @V_cliente
          AND LN_contrapartes.subcontratista = 0
          AND LN_contrapartes.activo = 1
          AND */
 LN_gestiones.desde <= CONVERT(date, GETDATE())
         AND LN_gestiones.hasta >= CONVERT(date, GETDATE())
         and isnull(ln_demo.visible,0)=0
         AND LN_contrapartes.activo = 1
         and iPPAL.estado_informe not in ('F','C','N','K')
         and INFORMES.estado_informe in ('F') 
         --and informes.asignado = @V_user_id 
         and informes.informe_padre is not null
         ORDER BY fecha_comprometida_informe asc, padrones.nombre_persona,ordTarea asc

 end
 /*
  EXEC LN_panel_reports 'PANEL_USUARIOS',83987385,null,null,null,null,10,null
  */


if (@V_accion='PANEL_USUARIOS_AGB')
 BEGIN

  if (@V_user_id is NOT null) /* SE BUSCA UN USUARIO EN PARTICULAR */
  begin
  /*
   select distinct informes.cliente, iPPAl.estado_informe as estado_padre,iPPAL.informe as infPadre,  ln_contrapartes.contraparte,ln_demo.gestion, informes.informe,informes.estado_informe,padrones.nombre_persona,padrones.identificador,padrones.identificacion,LN_tareas.nombre_tarea,clientes.nombre_cliente,
   LN_tipo_informes.nombre_tipo_informe,informes.fecha_comprometida
   from informes 
   INNER JOIN LN_DEMO ON INFORMES.informe_padre=LN_DEMO.INFORME 
   INNER JOIN LN_CONTRAPARTES ON LN_DEMO.CONTRAPARTE = LN_CONTRAPARTES.CONTRAPARTE 
   INNER JOIN dbo.DelimitedSplit8K('10', ',') Segmentado on LN_contrapartes.servicio_contratado = Segmentado.Item 
   inner join users on informes.asignado = users.user_id
   inner join informes iPPAL on (informes.informe_padre = iPPAL.informe and iPPAL.estado_informe not in ('K','N','F','X','C'))
   inner join padrones on ln_contrapartes.id_padron=padrones.id_padron
   inner join LN_tareas on informes.idTarea = LN_tareas.idTarea
   inner join clientes on ln_contrapartes.cliente = clientes.cliente 
   inner join LN_tipo_informes on LN_tipo_informes.idTipoInforme =iPPAL.id_tipo_informe
   inner join LN_informe_design on (LN_informe_design.idTipoInforme=LN_tipo_informes.idTipoInforme and informes.idTarea=LN_informe_design.idElem and LN_informe_design.activo=1)
   where informes.informe_padre IS NOT NULL
   and informes.asignado = @V_user_id
   and ln_contrapartes.activo=1
   and convert(varchar(10),users.preferences)='10'
   and users.active_user = 'Y' 
   and iPPAL.estado_informe not in ('K','N','F','X','C')
   and informes.estado_informe not in ('K','N','F','X','C')
   and LN_informe_design.tipo_elem='T' and LN_informe_design.activo=1
   order by informes.fecha_comprometida asc
  */

select DISTINCT users.user_id, users.username, users.first_name,
   users.last_name, users.email,/* users.cookie_id, users.active_user,*/
   /*CASE tareas.estado_informe
    WHEN 'T' THEN 'A' ELSE tareas.estado_informe
    END AS estado_informe,*/

   tareas.estado_informe,
   CASE tareas.estado_informe
   WHEN 'P' THEN 'EN GESTION'
   WHEN 'E' THEN 'EN PROCESO'
   WHEN 'A' THEN 'NO CALIFICADOS'
   WHEN 'T' THEN 'ACEPTADAS'
   WHEN 'R' THEN 'EN REVISION'
   WHEN 'W' THEN 'EN ESPERA'
   WHEN 'M' THEN 'A COMPLETAR'
   WHEN 'F' THEN 'FINALIZADAS'
   WHEN 'Z' THEN 'LISTAS PARA INICIAR'
   ELSE '10XXX'
   END AS nombre_estado,
   tareas.total_tareas,
            CASE tareas.estado_informe
   WHEN 'P' THEN 4
   WHEN 'E' THEN 2
   WHEN 'A' THEN 9
   WHEN 'T' THEN 5
   WHEN 'R' THEN 6
   WHEN 'W' THEN 3
   WHEN 'M' THEN 7
   WHEN 'F' THEN 8
   WHEN 'Z' THEN 1
   ELSE '10'
   END AS orden_estado
   /*ISNULL(tareas_gestion.tareas_en_gestion, 0) AS tareas_en_gestion*/
   from users inner join users_by_group on users.user_id = users_by_group.user_id
   inner join groups on users_by_group.group_id = groups.group_id
   left outer join
   (select informes.asignado, informes.estado_informe, COUNT(*) as total_tareas
   from informes 
   INNER JOIN LN_DEMO ON INFORMES.informe_padre=LN_DEMO.INFORME 
   INNER JOIN LN_CONTRAPARTES ON LN_DEMO.CONTRAPARTE = LN_CONTRAPARTES.CONTRAPARTE 
   INNER JOIN dbo.DelimitedSplit8K('10', ',') Segmentado on LN_contrapartes.servicio_contratado = Segmentado.Item 
   inner join users on informes.asignado = users.user_id
   inner join users_by_group on users.user_id = users_by_group.user_id
   inner join groups on users_by_group.group_id = groups.group_id
   inner join tipos_informe on informes.id_tipo_informe=tipos_informe.id_tipo_informe 
   left join LN_tareas on tipos_informe.tipo_tarea = LN_tareas.idTarea  --LN_tareas.idTarea_Padre as dependencia
   where /* groups.group_name = 'PANEL USUARIOS'
    and */
users.active_user = 'Y'
   and informes.informe_padre IS NOT NULL
   and informes.estado_informe NOT IN ('X', 'I', 'C', 'N', 'K','F')
   group by informes.asignado, informes.estado_informe
   union
   select informes.asignado, 'Z' AS estado_informe, COUNT(*) as total_tareas
   from informes 
   INNER JOIN LN_DEMO ON INFORMES.informe_padre=LN_DEMO.INFORME 
   INNER JOIN LN_CONTRAPARTES ON LN_DEMO.CONTRAPARTE = LN_CONTRAPARTES.CONTRAPARTE 
/* INNER JOIN dbo.DelimitedSplit8K('10', ',') Segmentado on LN_contrapartes.servicio_contratado = Segmentado.Item */
            INNER JOIN dbo.DelimitedSplit8K(@p_plataforma, ',') Segmentado on LN_contrapartes.servicio_contratado = Segmentado.Item 

   inner join users on informes.asignado = users.user_id
   inner join users_by_group on users.user_id = users_by_group.user_id
   inner join groups on users_by_group.group_id = groups.group_id
   where /*groups.group_name = 'PANEL USUARIOS'
    and */
users.active_user = 'Y'
   and informes.informe_padre IS NOT NULL
   and informes.estado_informe IN ('A', 'I') 
   and informes.ready_to_start=1
   group by informes.asignado, informes.estado_informe
   ) tareas ON users.user_id = tareas.asignado
   where /*(groups.group_name = 'PANEL USUARIOS')*/
   /*users.user_id in (select user_id from users_by_group where group_id in (51290562))*/
   /*and*/ users.active_user = 'Y' 
   AND users.user_id=@V_user_id 
   AND tareas.estado_informe IS NOT NULL  
   /*order by users.first_name, users.last_name, nombre_estado */
   order by orden_estado 


  end


  
  if (@V_user_id is null) /*SI NO SE ESPCIFICA UN USUARIO EN PARTICULAR */
  begin
/* select distinct users.user_id, users.username, users.first_name,
users.last_name, users.email,totales.total_tareas,ready.ready2start,proceso.proceso,pausa.pausa 
from users inner join informes on users.user_id = informes.asignado
left join
(select COUNT(*) as total_tareas,informes.asignado
from informes 
INNER JOIN LN_DEMO ON INFORMES.informe_padre=LN_DEMO.INFORME 
INNER JOIN LN_CONTRAPARTES ON LN_DEMO.CONTRAPARTE = LN_CONTRAPARTES.CONTRAPARTE 
INNER JOIN dbo.DelimitedSplit8K('10', ',') Segmentado on LN_contrapartes.servicio_contratado = Segmentado.Item 
inner join users on informes.asignado = users.user_id
inner join informes iPPAL on (informes.informe_padre = iPPAL.informe and iPPAL.estado_informe not in ('K','N','F','X','C'))
where informes.informe_padre IS NOT NULL
and informes.estado_informe NOT IN ('X', 'I', 'C', 'N', 'K','F')
and ln_contrapartes.activo=1
group by informes.asignado) totales ON users.user_id = totales.asignado
left join
(select COUNT(*) as ready2start,informes.asignado
from informes 
INNER JOIN LN_DEMO ON INFORMES.informe_padre=LN_DEMO.INFORME 
INNER JOIN LN_CONTRAPARTES ON LN_DEMO.CONTRAPARTE = LN_CONTRAPARTES.CONTRAPARTE 
INNER JOIN dbo.DelimitedSplit8K('10', ',') Segmentado on LN_contrapartes.servicio_contratado = Segmentado.Item 
inner join users on informes.asignado = users.user_id
inner join informes iPPAL on (informes.informe_padre = iPPAL.informe and iPPAL.estado_informe not in ('K','N','F','X','C'))
where informes.informe_padre IS NOT NULL
and informes.ready_to_start=1 and informes.estado_informe='A'
and ln_contrapartes.activo=1
group by informes.asignado) ready ON users.user_id = ready.asignado

left join
(select COUNT(*) as proceso,informes.asignado
from informes 
INNER JOIN LN_DEMO ON INFORMES.informe_padre=LN_DEMO.INFORME 
INNER JOIN LN_CONTRAPARTES ON LN_DEMO.CONTRAPARTE = LN_CONTRAPARTES.CONTRAPARTE 
INNER JOIN dbo.DelimitedSplit8K('10', ',') Segmentado on LN_contrapartes.servicio_contratado = Segmentado.Item 
inner join users on informes.asignado = users.user_id
inner join informes iPPAL on (informes.informe_padre = iPPAL.informe and iPPAL.estado_informe not in ('K','N','F','X','C'))
where informes.informe_padre IS NOT NULL
and ln_contrapartes.activo=1
and informes.estado_informe='E'
group by informes.asignado) proceso ON users.user_id = proceso.asignado

left join
(select COUNT(*) as pausa,informes.asignado
from informes 
INNER JOIN LN_DEMO ON INFORMES.informe_padre=LN_DEMO.INFORME 
INNER JOIN LN_CONTRAPARTES ON LN_DEMO.CONTRAPARTE = LN_CONTRAPARTES.CONTRAPARTE 
INNER JOIN dbo.DelimitedSplit8K('10', ',') Segmentado on LN_contrapartes.servicio_contratado = Segmentado.Item 
inner join users on informes.asignado = users.user_id
inner join informes iPPAL on (informes.informe_padre = iPPAL.informe and iPPAL.estado_informe not in ('K','N','F','X','C'))
where informes.informe_padre IS NOT NULL
and ln_contrapartes.activo=1
and informes.estado_informe='W'
group by informes.asignado) pausa ON users.user_id = pausa.asignado


where convert(varchar(10),users.preferences)='10'
and users.active_user = 'Y' 

order by users.first_name, users.last_name
*/


select DISTINCT users.user_id, users.username, users.first_name,
   users.last_name, users.email,/* users.cookie_id, users.active_user,*/
   /*CASE tareas.estado_informe
    WHEN 'T' THEN 'A' ELSE tareas.estado_informe
    END AS estado_informe,*/

   tareas.estado_informe,
   CASE tareas.estado_informe
   WHEN 'P' THEN 'EN GESTION'
   WHEN 'E' THEN 'EN PROCESO'
   WHEN 'A' THEN 'NO CALIFICADOS'
   WHEN 'T' THEN 'ACEPTADAS'
   WHEN 'R' THEN 'EN REVISION'
   WHEN 'W' THEN 'EN ESPERA'
   WHEN 'M' THEN 'A COMPLETAR'
   WHEN 'F' THEN 'FINALIZADAS'
   WHEN 'Z' THEN 'LISTAS PARA INICIAR'
   ELSE '10XXX'
   END AS nombre_estado,
   tareas.total_tareas,
            CASE tareas.estado_informe
   WHEN 'P' THEN 4
   WHEN 'E' THEN 2
   WHEN 'A' THEN 9
   WHEN 'T' THEN 5
   WHEN 'R' THEN 6
   WHEN 'W' THEN 3
   WHEN 'M' THEN 7
   WHEN 'F' THEN 8
   WHEN 'Z' THEN 1
   ELSE '10'
   END AS orden_estado
   
   /*ISNULL(tareas_gestion.tareas_en_gestion, 0) AS tareas_en_gestion*/
   from users inner join users_by_group on users.user_id = users_by_group.user_id
   inner join groups on users_by_group.group_id = groups.group_id
   left outer join
   (select informes.asignado, informes.estado_informe, COUNT(*) as total_tareas
   from informes 
   INNER JOIN LN_DEMO ON INFORMES.informe_padre=LN_DEMO.INFORME 
   INNER JOIN LN_CONTRAPARTES ON LN_DEMO.CONTRAPARTE = LN_CONTRAPARTES.CONTRAPARTE 
   INNER JOIN dbo.DelimitedSplit8K('10', ',') Segmentado on LN_contrapartes.servicio_contratado = Segmentado.Item 
   inner join users on informes.asignado = users.user_id
   inner join users_by_group on users.user_id = users_by_group.user_id
   inner join groups on users_by_group.group_id = groups.group_id
   inner join tipos_informe on informes.id_tipo_informe=tipos_informe.id_tipo_informe 
   left join LN_tareas on tipos_informe.tipo_tarea = LN_tareas.idTarea  --LN_tareas.idTarea_Padre as dependencia
   where /* groups.group_name = 'PANEL USUARIOS'
    and */
users.active_user = 'Y'
   and informes.informe_padre IS NOT NULL
   and informes.estado_informe NOT IN ('X', 'I', 'C', 'N', 'K','F')
   group by informes.asignado, informes.estado_informe
   union
   select informes.asignado, 'Z' AS estado_informe, COUNT(*) as total_tareas
   from informes 
   INNER JOIN LN_DEMO ON INFORMES.informe_padre=LN_DEMO.INFORME 
   INNER JOIN LN_CONTRAPARTES ON LN_DEMO.CONTRAPARTE = LN_CONTRAPARTES.CONTRAPARTE 
   INNER JOIN dbo.DelimitedSplit8K('10', ',') Segmentado on LN_contrapartes.servicio_contratado = Segmentado.Item 
   inner join users on informes.asignado = users.user_id
   inner join users_by_group on users.user_id = users_by_group.user_id
   inner join groups on users_by_group.group_id = groups.group_id
   where /*groups.group_name = 'PANEL USUARIOS'
    and */
users.active_user = 'Y'
   and informes.informe_padre IS NOT NULL
   and informes.estado_informe IN ('A', 'I') 
   and informes.ready_to_start=1
   group by informes.asignado, informes.estado_informe
   ) tareas ON users.user_id = tareas.asignado
   where /*(groups.group_name = 'PANEL USUARIOS')*/
   /*users.user_id in (select user_id from users_by_group where group_id in (51290562))*/
   /*and*/ users.active_user = 'Y' 

   AND tareas.estado_informe IS NOT NULL  
            order by users.first_name, users.last_name, nombre_estado 



  end

 END

 if (@V_accion='PANEL_USUARIOSDNV')
    begin

  if (@V_user_id is NOT null) /* SE BUSCA UN USUARIO EN PARTICULAR */
  begin
        select DISTINCT users.user_id, users.username, users.first_name,
   users.last_name, users.email,
   tareas.estado_informe,
   CASE tareas.estado_informe
   WHEN 'P' THEN 'EN GESTION'
   WHEN 'E' THEN 'EN PROCESO'
   WHEN 'A' THEN 'NO CALIFICADOS'
   WHEN 'T' THEN 'ACEPTADAS'
   WHEN 'R' THEN 'EN REVISION'
   WHEN 'W' THEN 'EN ESPERA'
   WHEN 'M' THEN 'A COMPLETAR'
   WHEN 'F' THEN 'FINALIZADAS'
   WHEN 'Z' THEN 'LISTAS PARA INICIAR'
   ELSE '10XXX'
   END AS nombre_estado,
   tareas.total_tareas,
            CASE tareas.estado_informe
   WHEN 'P' THEN 4
   WHEN 'E' THEN 2
   WHEN 'A' THEN 9
   WHEN 'T' THEN 5
   WHEN 'R' THEN 6
   WHEN 'W' THEN 3
   WHEN 'M' THEN 7
   WHEN 'F' THEN 8
   WHEN 'Z' THEN 1
   ELSE '10'
   END AS orden_estado,'BBB' as CCC 
   from users 
/*            inner join users_by_group on users.user_id = users_by_group.user_id
inner join groups on users_by_group.group_id = groups.group_id
*/
   
            left outer join ( select informes.asignado, informes.estado_informe,
            0 as total_tareas from informes 
   INNER JOIN LN_DEMO ON INFORMES.informe_padre=LN_DEMO.INFORME 
   INNER JOIN LN_CONTRAPARTES ON LN_DEMO.CONTRAPARTE = LN_CONTRAPARTES.CONTRAPARTE 
   INNER JOIN dbo.DelimitedSplit8K(@p_plataforma, ',') Segmentado on LN_contrapartes.servicio_contratado = Segmentado.Item 
   inner join users on informes.asignado = users.user_id
/*
inner join users_by_group on users.user_id = users_by_group.user_id
inner join groups on users_by_group.group_id = groups.group_id
*/
            
   inner join tipos_informe on informes.id_tipo_informe=tipos_informe.id_tipo_informe 
   left join LN_tareas on tipos_informe.tipo_tarea = LN_tareas.idTarea 
   where users.active_user = 'Y'
   and informes.informe_padre IS NOT NULL
   and informes.estado_informe NOT IN ('X', 'I', 'C', 'N', 'K','F')
   group by informes.asignado, informes.estado_informe
            union
            select informes.asignado, 'Z' AS estado_informe, 
            0 as total_tareas
  
            from informes 
   INNER JOIN LN_DEMO ON INFORMES.informe_padre=LN_DEMO.INFORME 
   INNER JOIN LN_CONTRAPARTES ON LN_DEMO.CONTRAPARTE = LN_CONTRAPARTES.CONTRAPARTE 
   INNER JOIN dbo.DelimitedSplit8K(@p_plataforma, ',') Segmentado on LN_contrapartes.servicio_contratado = Segmentado.Item 
   inner join users on informes.asignado = users.user_id
/*
inner join users_by_group on users.user_id = users_by_group.user_id
inner join groups on users_by_group.group_id = groups.group_id
*/

   where users.active_user = 'Y'
   and informes.informe_padre IS NOT NULL

 /*
      EXEC LN_panel_reports 'PANEL_USUARIOSDNV',973287644,null,null,null,null,10,null
  */


   and informes.estado_informe IN ('A', 'I') 
   and informes.ready_to_start=1
   group by informes.asignado, informes.estado_informe,  informes.proximo_llamado
   ) tareas ON users.user_id = tareas.asignado
   where users.active_user = 'Y' 
   AND users.user_id=@V_user_id 
   AND tareas.estado_informe IS NOT NULL  
   union 

   select DISTINCT users.user_id, users.username, users.first_name,
   users.last_name, users.email,
   'Y' as estado_informe,
   'DOCS OK' AS nombre_estado,
   count(*) as total_tareas,
            '11' AS orden_estado,'CCC' as CCC  
   from LN_Team_Members
   inner join LN_Teams on LN_Teams.id_team = LN_Team_Members.id_team
   inner join LN_Team_Members b on b.id_team = LN_Team_Members.id_team and b.user_id != LN_Team_Members.user_id
   inner join ln_demo on ln_demo.idTeam = LN_Teams.id_team
   inner join informes on informes.informe = ln_demo.informe
   inner join informes tareas on tareas.informe_padre = informes.informe
   inner join LN_tareas on LN_tareas.idTarea = tareas.idTarea 
   inner join users on users.user_id = @V_user_id 
   where LN_Team_Members.user_id = @V_user_id 
   and LN_Teams.activo = 1 
   and LN_Team_Members.id_rol = 1 
   and ln_tareas.tipo_tarea = 'E'
   and tareas.estado_informe = 'F' 
   and informes.estado_informe not in ('F','K','X','C','N')
   group by users.user_id, users.username, users.first_name,users.last_name, users.email
   order by orden_estado 


  end

end






 if (@V_accion='PANEL_USUARIOS')
 BEGIN
  
        if (isnull(@p_plataforma,'')) = '' set @p_plataforma = '10'



  if (@V_user_id is NOT null) /* SE BUSCA UN USUARIO EN PARTICULAR */
  begin
  /*
   select distinct informes.cliente, iPPAl.estado_informe as estado_padre,iPPAL.informe as infPadre,  ln_contrapartes.contraparte,ln_demo.gestion, informes.informe,informes.estado_informe,padrones.nombre_persona,padrones.identificador,padrones.identificacion,LN_tareas.nombre_tarea,clientes.nombre_cliente,
   LN_tipo_informes.nombre_tipo_informe,informes.fecha_comprometida
   from informes 
   INNER JOIN LN_DEMO ON INFORMES.informe_padre=LN_DEMO.INFORME 
   INNER JOIN LN_CONTRAPARTES ON LN_DEMO.CONTRAPARTE = LN_CONTRAPARTES.CONTRAPARTE 
   INNER JOIN dbo.DelimitedSplit8K('10', ',') Segmentado on LN_contrapartes.servicio_contratado = Segmentado.Item 
   inner join users on informes.asignado = users.user_id
   inner join informes iPPAL on (informes.informe_padre = iPPAL.informe and iPPAL.estado_informe not in ('K','N','F','X','C'))
   inner join padrones on ln_contrapartes.id_padron=padrones.id_padron
   inner join LN_tareas on informes.idTarea = LN_tareas.idTarea
   inner join clientes on ln_contrapartes.cliente = clientes.cliente 
   inner join LN_tipo_informes on LN_tipo_informes.idTipoInforme =iPPAL.id_tipo_informe
   inner join LN_informe_design on (LN_informe_design.idTipoInforme=LN_tipo_informes.idTipoInforme and informes.idTarea=LN_informe_design.idElem and LN_informe_design.activo=1)
   where informes.informe_padre IS NOT NULL
   and informes.asignado = @V_user_id
   and ln_contrapartes.activo=1
   and convert(varchar(10),users.preferences)='10'
   and users.active_user = 'Y' 
   and iPPAL.estado_informe not in ('K','N','F','X','C')
   and informes.estado_informe not in ('K','N','F','X','C')
   and LN_informe_design.tipo_elem='T' and LN_informe_design.activo=1
   order by informes.fecha_comprometida asc
  */

select DISTINCT users.user_id, users.username, users.first_name,
   users.last_name, users.email,/* users.cookie_id, users.active_user,*/
   /*CASE tareas.estado_informe
    WHEN 'T' THEN 'A' ELSE tareas.estado_informe
    END AS estado_informe,*/

   tareas.estado_informe,
   CASE tareas.estado_informe
   WHEN 'P' THEN 'EN GESTION'
   WHEN 'E' THEN 'EN PROCESO'
   WHEN 'A' THEN 'NO CALIFICADOS'
   WHEN 'T' THEN 'ACEPTADAS'
   WHEN 'R' THEN 'EN REVISION'
   WHEN 'W' THEN 'EN ESPERA'
   WHEN 'M' THEN 'A COMPLETAR'
   WHEN 'F' THEN 'FINALIZADAS'
   WHEN 'Z' THEN 'LISTAS PARA INICIAR'
   ELSE '10XXX'
   END AS nombre_estado,
   tareas.total_tareas,
            CASE tareas.estado_informe
   WHEN 'P' THEN 4
   WHEN 'E' THEN 2
   WHEN 'A' THEN 9
   WHEN 'T' THEN 5
   WHEN 'R' THEN 6
   WHEN 'W' THEN 3
   WHEN 'M' THEN 7
   WHEN 'F' THEN 8
   WHEN 'Z' THEN 1
   ELSE '10'
   END AS orden_estado,'BBB' as CCC 
   /*, tareas.proximo_llamado*/
   /*ISNULL(tareas_gestion.tareas_en_gestion, 0) AS tareas_en_gestion*/
   from users inner join users_by_group on users.user_id = users_by_group.user_id
   inner join groups on users_by_group.group_id = groups.group_id
   left outer join
   (select informes.asignado, informes.estado_informe,
            /*
                        , informes.proximo_llamado,
                        */

            0 as total_tareas
            /*COUNT(*) as total_tareas*/
   from informes 
   INNER JOIN LN_DEMO ON INFORMES.informe_padre=LN_DEMO.INFORME 
   INNER JOIN LN_CONTRAPARTES ON LN_DEMO.CONTRAPARTE = LN_CONTRAPARTES.CONTRAPARTE 
   INNER JOIN dbo.DelimitedSplit8K(@p_plataforma, ',') Segmentado on LN_contrapartes.servicio_contratado = Segmentado.Item 
   inner join users on informes.asignado = users.user_id
   inner join users_by_group on users.user_id = users_by_group.user_id
   inner join groups on users_by_group.group_id = groups.group_id
   left join tipos_informe on informes.id_tipo_informe=tipos_informe.id_tipo_informe 
   left join LN_tareas on tipos_informe.tipo_tarea = LN_tareas.idTarea  --LN_tareas.idTarea_Padre as dependencia
   where /* groups.group_name = 'PANEL USUARIOS'
    and */
users.active_user = 'Y'
   and informes.informe_padre IS NOT NULL
   and informes.estado_informe NOT IN ('X', 'I', 'C', 'N', 'K','F')
   group by informes.asignado, informes.estado_informe --, informes.proximo_llamado
            
            union
   
            
            select informes.asignado, 'Z' AS estado_informe, 
            /*informes.proximo_llamado,*/
            0 as total_tareas
            /*COUNT(*) as total_tareas*/
   
            from informes 
   INNER JOIN LN_DEMO ON INFORMES.informe_padre=LN_DEMO.INFORME 
   INNER JOIN LN_CONTRAPARTES ON LN_DEMO.CONTRAPARTE = LN_CONTRAPARTES.CONTRAPARTE 
   INNER JOIN dbo.DelimitedSplit8K(@p_plataforma, ',') Segmentado on LN_contrapartes.servicio_contratado = Segmentado.Item 
   inner join users on informes.asignado = users.user_id
   inner join users_by_group on users.user_id = users_by_group.user_id
   inner join groups on users_by_group.group_id = groups.group_id
   where /*groups.group_name = 'PANEL USUARIOS'
    and */
users.active_user = 'Y'
   and informes.informe_padre IS NOT NULL

 /*
  EXEC LN_panel_reports 'PANEL_USUARIOS',83987385,null,null,null,null,10,null
  */

/*            and informes.estado_informe NOT IN ('X', 'I', 'C', 'N', 'K','F')*/
   and informes.estado_informe IN ('A', 'I') 
   and informes.ready_to_start=1
   group by informes.asignado, informes.estado_informe,  informes.proximo_llamado
   ) tareas ON users.user_id = tareas.asignado
   where /*(groups.group_name = 'PANEL USUARIOS')*/
   /*users.user_id in (select user_id from users_by_group where group_id in (51290562))*/
   /*and*/ users.active_user = 'Y' 
   AND users.user_id=@V_user_id 
   AND tareas.estado_informe IS NOT NULL  
   /*order by users.first_name, users.last_name, nombre_estado */


   /* AGREGADO 22/01/2024 */ 
   union 

   select DISTINCT users.user_id, users.username, users.first_name,
   users.last_name, users.email,
   'Y' as estado_informe,
   'DOCS OK' AS nombre_estado,
   count(*) as total_tareas,
            '11' AS orden_estado,'CCC' as CCC  
            /*, tareas.proximo_llamado*/
   from LN_Team_Members
   inner join LN_Teams on LN_Teams.id_team = LN_Team_Members.id_team
   inner join LN_Team_Members b on b.id_team = LN_Team_Members.id_team and b.user_id != LN_Team_Members.user_id
   inner join ln_demo on ln_demo.idTeam = LN_Teams.id_team
   inner join informes on informes.informe = ln_demo.informe
   inner join informes tareas on tareas.informe_padre = informes.informe
   inner join LN_tareas on LN_tareas.idTarea = tareas.idTarea 
   inner join users on users.user_id = @V_user_id 
   where LN_Team_Members.user_id = @V_user_id 
   and LN_Teams.activo = 1 
   and LN_Team_Members.id_rol = 1 
   and ln_tareas.tipo_tarea = 'E'
   and tareas.estado_informe = 'F' 
   and informes.estado_informe not in ('F','K','X','C','N')
   group by users.user_id, users.username, users.first_name,users.last_name, users.email
            --, tareas.proximo_llamado
   
   /* FIN AGREGADO */

   order by orden_estado 


  end

  
  if (@V_user_id is null) /*SI NO SE ESPCIFICA UN USUARIO EN PARTICULAR */
  begin
/* select distinct users.user_id, users.username, users.first_name,
users.last_name, users.email,totales.total_tareas,ready.ready2start,proceso.proceso,pausa.pausa 
from users inner join informes on users.user_id = informes.asignado
left join
(select COUNT(*) as total_tareas,informes.asignado
from informes 
INNER JOIN LN_DEMO ON INFORMES.informe_padre=LN_DEMO.INFORME 
INNER JOIN LN_CONTRAPARTES ON LN_DEMO.CONTRAPARTE = LN_CONTRAPARTES.CONTRAPARTE 
INNER JOIN dbo.DelimitedSplit8K('10', ',') Segmentado on LN_contrapartes.servicio_contratado = Segmentado.Item 
inner join users on informes.asignado = users.user_id
inner join informes iPPAL on (informes.informe_padre = iPPAL.informe and iPPAL.estado_informe not in ('K','N','F','X','C'))
where informes.informe_padre IS NOT NULL
and informes.estado_informe NOT IN ('X', 'I', 'C', 'N', 'K','F')
and ln_contrapartes.activo=1
group by informes.asignado) totales ON users.user_id = totales.asignado
left join
(select COUNT(*) as ready2start,informes.asignado
from informes 
INNER JOIN LN_DEMO ON INFORMES.informe_padre=LN_DEMO.INFORME 
INNER JOIN LN_CONTRAPARTES ON LN_DEMO.CONTRAPARTE = LN_CONTRAPARTES.CONTRAPARTE 
INNER JOIN dbo.DelimitedSplit8K('10', ',') Segmentado on LN_contrapartes.servicio_contratado = Segmentado.Item 
inner join users on informes.asignado = users.user_id
inner join informes iPPAL on (informes.informe_padre = iPPAL.informe and iPPAL.estado_informe not in ('K','N','F','X','C'))
where informes.informe_padre IS NOT NULL
and informes.ready_to_start=1 and informes.estado_informe='A'
and ln_contrapartes.activo=1
group by informes.asignado) ready ON users.user_id = ready.asignado

left join
(select COUNT(*) as proceso,informes.asignado
from informes 
INNER JOIN LN_DEMO ON INFORMES.informe_padre=LN_DEMO.INFORME 
INNER JOIN LN_CONTRAPARTES ON LN_DEMO.CONTRAPARTE = LN_CONTRAPARTES.CONTRAPARTE 
INNER JOIN dbo.DelimitedSplit8K('10', ',') Segmentado on LN_contrapartes.servicio_contratado = Segmentado.Item 
inner join users on informes.asignado = users.user_id
inner join informes iPPAL on (informes.informe_padre = iPPAL.informe and iPPAL.estado_informe not in ('K','N','F','X','C'))
where informes.informe_padre IS NOT NULL
and ln_contrapartes.activo=1
and informes.estado_informe='E'
group by informes.asignado) proceso ON users.user_id = proceso.asignado

left join
(select COUNT(*) as pausa,informes.asignado
from informes 
INNER JOIN LN_DEMO ON INFORMES.informe_padre=LN_DEMO.INFORME 
INNER JOIN LN_CONTRAPARTES ON LN_DEMO.CONTRAPARTE = LN_CONTRAPARTES.CONTRAPARTE 
INNER JOIN dbo.DelimitedSplit8K('10', ',') Segmentado on LN_contrapartes.servicio_contratado = Segmentado.Item 
inner join users on informes.asignado = users.user_id
inner join informes iPPAL on (informes.informe_padre = iPPAL.informe and iPPAL.estado_informe not in ('K','N','F','X','C'))
where informes.informe_padre IS NOT NULL
and ln_contrapartes.activo=1
and informes.estado_informe='W'
group by informes.asignado) pausa ON users.user_id = pausa.asignado


where convert(varchar(10),users.preferences)='10'
and users.active_user = 'Y' 

order by users.first_name, users.last_name
*/


select DISTINCT 'NNNN' as Nati, users.user_id, users.username, users.first_name,
   users.last_name, users.email,/* users.cookie_id, users.active_user,*/
   /*CASE tareas.estado_informe
    WHEN 'T' THEN 'A' ELSE tareas.estado_informe
    END AS estado_informe,*/

   tareas.estado_informe,
   CASE tareas.estado_informe
   WHEN 'P' THEN 'EN GESTION'
   WHEN 'E' THEN 'EN PROCESO'
   WHEN 'A' THEN 'NO CALIFICADOS'
   WHEN 'T' THEN 'ACEPTADAS'
   WHEN 'R' THEN 'EN REVISION'
   WHEN 'W' THEN 'EN ESPERA'
   WHEN 'M' THEN 'A COMPLETAR'
   WHEN 'F' THEN 'FINALIZADAS'
   WHEN 'Z' THEN 'LISTAS PARA INICIAR'
   ELSE '10XXX'
   END AS nombre_estado,
   tareas.total_tareas,
            CASE tareas.estado_informe
   WHEN 'P' THEN 4
   WHEN 'E' THEN 2
   WHEN 'A' THEN 9
   WHEN 'T' THEN 5
   WHEN 'R' THEN 6
   WHEN 'W' THEN 3
   WHEN 'M' THEN 7
   WHEN 'F' THEN 8
   WHEN 'Z' THEN 1
   ELSE '10'
   END AS orden_estado
   
   /*ISNULL(tareas_gestion.tareas_en_gestion, 0) AS tareas_en_gestion*/
   from users inner join users_by_group on users.user_id = users_by_group.user_id
   inner join groups on users_by_group.group_id = groups.group_id
   left outer join
   (select informes.asignado, informes.estado_informe, COUNT(*) as total_tareas
   from informes 
   INNER JOIN LN_DEMO ON INFORMES.informe_padre=LN_DEMO.INFORME 
   INNER JOIN LN_CONTRAPARTES ON LN_DEMO.CONTRAPARTE = LN_CONTRAPARTES.CONTRAPARTE 
   INNER JOIN dbo.DelimitedSplit8K('10', ',') Segmentado on LN_contrapartes.servicio_contratado = Segmentado.Item 
   inner join users on informes.asignado = users.user_id
   inner join users_by_group on users.user_id = users_by_group.user_id
   inner join groups on users_by_group.group_id = groups.group_id
   inner join tipos_informe on informes.id_tipo_informe=tipos_informe.id_tipo_informe 
   left join LN_tareas on tipos_informe.tipo_tarea = LN_tareas.idTarea  --LN_tareas.idTarea_Padre as dependencia
   where /* groups.group_name = 'PANEL USUARIOS'
    and */
users.active_user = 'Y'
   and informes.informe_padre IS NOT NULL
   and informes.estado_informe NOT IN ('X', 'I', 'C', 'N', 'K','F')
   group by informes.asignado, informes.estado_informe
   union
   select informes.asignado, 'Z' AS estado_informe, COUNT(*) as total_tareas
   from informes 
   INNER JOIN LN_DEMO ON INFORMES.informe_padre=LN_DEMO.INFORME 
   INNER JOIN LN_CONTRAPARTES ON LN_DEMO.CONTRAPARTE = LN_CONTRAPARTES.CONTRAPARTE 
   INNER JOIN dbo.DelimitedSplit8K('10', ',') Segmentado on LN_contrapartes.servicio_contratado = Segmentado.Item 
   inner join users on informes.asignado = users.user_id
   inner join users_by_group on users.user_id = users_by_group.user_id
   inner join groups on users_by_group.group_id = groups.group_id
   where /*groups.group_name = 'PANEL USUARIOS'
    and */
users.active_user = 'Y'
   and informes.informe_padre IS NOT NULL
   and informes.estado_informe IN ('A', 'I') 
   and informes.ready_to_start=1
   group by informes.asignado, informes.estado_informe
   ) tareas ON users.user_id = tareas.asignado
   where /*(groups.group_name = 'PANEL USUARIOS')*/
   /*users.user_id in (select user_id from users_by_group where group_id in (51290562))*/
   /*and*/ users.active_user = 'Y' 

   AND tareas.estado_informe IS NOT NULL  
            order by users.first_name, users.last_name, nombre_estado 



  end

  return

 END

 if (@V_accion='PANEL_USERS_BLUE')
 BEGIN

  if (@V_user_id is NOT null) /* SE BUSCA UN USUARIO EN PARTICULAR */
  begin

   select distinct informes.cliente, iPPAl.estado_informe as estado_padre,iPPAL.informe as infPadre,  ln_contrapartes.contraparte,ln_demo.gestion, informes.informe,
   informes.estado_informe,padrones.nombre_persona,
   padrones.identificador,padrones.identificacion,LN_tareas.nombre_tarea,clientes.nombre_cliente,
   LN_tipo_informes.nombre_tipo_informe,informes.fecha_comprometida,informes.ready_to_start,informes.pausa,informes.fecha_inicio 
   from informes 
   INNER JOIN LN_DEMO ON INFORMES.informe_padre=LN_DEMO.INFORME 
   INNER JOIN LN_CONTRAPARTES ON LN_DEMO.CONTRAPARTE = LN_CONTRAPARTES.CONTRAPARTE 
   INNER JOIN dbo.DelimitedSplit8K('10', ',') Segmentado on LN_contrapartes.servicio_contratado = Segmentado.Item 
   inner join users on informes.asignado = users.user_id
   inner join informes iPPAL on (informes.informe_padre = iPPAL.informe and iPPAL.estado_informe not in ('K','N','F','X','C'))
   inner join padrones on ln_contrapartes.id_padron=padrones.id_padron
   inner join LN_tareas on informes.idTarea = LN_tareas.idTarea
   inner join clientes on ln_contrapartes.cliente = clientes.cliente 
   inner join LN_tipo_informes on LN_tipo_informes.idTipoInforme =iPPAL.id_tipo_informe
   inner join LN_informe_design on (LN_informe_design.idTipoInforme=LN_tipo_informes.idTipoInforme and informes.idTarea=LN_informe_design.idElem and LN_informe_design.activo=1)
   where informes.informe_padre IS NOT NULL
   and informes.asignado = @V_user_id
   and ln_contrapartes.activo=1
   and convert(varchar(10),users.preferences)='10'
   and users.active_user = 'Y' 
   and iPPAL.estado_informe not in ('K','N','F','X','C')
   and informes.estado_informe not in ('K','N','F','X','C')
   and LN_informe_design.tipo_elem='T' 
   and LN_informe_design.activo=1
   order by informes.fecha_comprometida asc



  end

        
        if (@V_user_id is null) /*SI NO SE ESPCIFICA UN USUARIO EN PARTICULAR */
  begin
   select distinct users.user_id, users.username, users.first_name,
    users.last_name, users.email,totales.total_tareas,ready.ready2start,proceso.proceso,pausa.pausa 
    from users inner join informes on users.user_id = informes.asignado
    left join
    (select COUNT(*) as total_tareas,informes.asignado
    from informes 
    INNER JOIN LN_DEMO ON INFORMES.informe_padre=LN_DEMO.INFORME 
    INNER JOIN LN_CONTRAPARTES ON LN_DEMO.CONTRAPARTE = LN_CONTRAPARTES.CONTRAPARTE 
    INNER JOIN dbo.DelimitedSplit8K('10', ',') Segmentado on LN_contrapartes.servicio_contratado = Segmentado.Item 
    inner join users on informes.asignado = users.user_id
    inner join informes iPPAL on (informes.informe_padre = iPPAL.informe and iPPAL.estado_informe not in ('K','N','F','X','C'))
    where informes.informe_padre IS NOT NULL
    and informes.estado_informe NOT IN ('X', 'I', 'C', 'N', 'K','F')
    and ln_contrapartes.activo=1
    group by informes.asignado) totales ON users.user_id = totales.asignado
    left join
    (select COUNT(*) as ready2start,informes.asignado
    from informes 
    INNER JOIN LN_DEMO ON INFORMES.informe_padre=LN_DEMO.INFORME 
    INNER JOIN LN_CONTRAPARTES ON LN_DEMO.CONTRAPARTE = LN_CONTRAPARTES.CONTRAPARTE 
    INNER JOIN dbo.DelimitedSplit8K('10', ',') Segmentado on LN_contrapartes.servicio_contratado = Segmentado.Item 
    inner join users on informes.asignado = users.user_id
    inner join informes iPPAL on (informes.informe_padre = iPPAL.informe and iPPAL.estado_informe not in ('K','N','F','X','C'))
    where informes.informe_padre IS NOT NULL
    and informes.ready_to_start=1 and informes.estado_informe='A'
    and ln_contrapartes.activo=1
    group by informes.asignado) ready ON users.user_id = ready.asignado

    left join
    (select COUNT(*) as proceso,informes.asignado
    from informes 
    INNER JOIN LN_DEMO ON INFORMES.informe_padre=LN_DEMO.INFORME 
    INNER JOIN LN_CONTRAPARTES ON LN_DEMO.CONTRAPARTE = LN_CONTRAPARTES.CONTRAPARTE 
    INNER JOIN dbo.DelimitedSplit8K('10', ',') Segmentado on LN_contrapartes.servicio_contratado = Segmentado.Item 
    inner join users on informes.asignado = users.user_id
    inner join informes iPPAL on (informes.informe_padre = iPPAL.informe and iPPAL.estado_informe not in ('K','N','F','X','C'))
    where informes.informe_padre IS NOT NULL
    and ln_contrapartes.activo=1
    and informes.estado_informe='E' and informes.pausa=0
    group by informes.asignado) proceso ON users.user_id = proceso.asignado
   
    left join
    (select COUNT(*) as pausa,informes.asignado
    from informes 
    INNER JOIN LN_DEMO ON INFORMES.informe_padre=LN_DEMO.INFORME 
    INNER JOIN LN_CONTRAPARTES ON LN_DEMO.CONTRAPARTE = LN_CONTRAPARTES.CONTRAPARTE 
    INNER JOIN dbo.DelimitedSplit8K('10', ',') Segmentado on LN_contrapartes.servicio_contratado = Segmentado.Item 
    inner join users on informes.asignado = users.user_id
    inner join informes iPPAL on (informes.informe_padre = iPPAL.informe and iPPAL.estado_informe not in ('K','N','F','X','C'))
    where informes.informe_padre IS NOT NULL
    and ln_contrapartes.activo=1
    and informes.pausa=1
    group by informes.asignado) pausa ON users.user_id = pausa.asignado


    where convert(varchar(10),users.preferences)='10'
    and users.active_user = 'Y' 
    and users.user_id in (select distinct user_id from LN_Team_Members where activo=1 and id_team=1)
    order by users.first_name, users.last_name

  end

 END

  if (@V_accion ='tarea_by_id') 
                BEGIN        
                           
                            SELECT LN_contrapartes.contraparte,ln_familias.nombre_familia, 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,
                            CONVERT(VARCHAR, LN_contrapartes.vigencia_desde,103) AS vigencia_desde,
                            CONVERT(VARCHAR, LN_contrapartes.vigencia_hasta,103) AS vigencia_hasta,
                            LN_contrapartes.clave, LN_contrapartes.clave_temporal,
                            CONVERT(VARCHAR(19), LN_contrapartes.clave_cambio, 121) as clave_cambio, 
                            CONVERT(VARCHAR(19), LN_contrapartes.clave_expira, 121) as clave_expira, 
                            CONVERT(VARCHAR(19), LN_contrapartes.last_login, 121) as last_login,
       ISNULL(LN_contrapartes.modalidad_pago, 'CC') as modalidad_pago,
                            LN_contrapartes.created_by, LN_contrapartes.modified_by,
                            padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
                            padrones.identificacion, 
       country.country_code as country_name, 
       clientes.nombre_cliente, 
                            CONVERT(VARCHAR(19), LN_contrapartes.created, 121) as created, 
                            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 as gestion,
       LN_gestiones.desde as desde, 
       CONVERT(VARCHAR, LN_gestiones.desde,103) AS gestion_desde,
                            CONVERT(VARCHAR, LN_gestiones.hasta,103) AS gestion_hasta,
                            LN_demo.informe as informe, LN_productos.dossier,
       IIF(ISNULL(LN_contrapartes.modalidad_pago, 'CC') = 'CC', NULL, pagos_transacciones.status) AS status,
       IIF(ISNULL(LN_contrapartes.modalidad_pago, 'CC') = 'CC', NULL, pagos_transacciones.valor) AS valor,
       IIF(ISNULL(LN_contrapartes.modalidad_pago, 'CC') = 'CC', NULL, pagos_transacciones.moneda) AS moneda
                            --es acá
       ,ln_contrapartes.servicio_contratado,
       UPPER(productos.nombre_producto) as servicio_contratado_name, 
       case LN_gestiones.Iv_informe 
        when 1 then 'SI'
        when 0 then 'NO'
        else null 
       end as iv_informe,

       ln_contrapartes.pais_servicio as pais_servicio_cod, 
       pais_servicio.country_name as pais_servicio,ln_demo.docs_ok,ln_demo.integ_carga,ln_demo.integ_rech,ln_demo.integ_verif,
       informes.estado_informe as codigo_estado_tarea,
       LN_tareas.nombre_tarea,
        
        case
        when informes.estado_informe = 'I' then 'Ingresado'
        when informes.estado_informe = 'A' then 'No calificado'
        when informes.estado_informe = 'X' then 'Carga Comercial'
        when informes.estado_informe = 'T' then 'Respondido'
        when informes.estado_informe = 'P' then 'En gestión'
        when informes.estado_informe = 'W' then 'En espera'
        when informes.estado_informe = 'M' then 'A Completar'
        when informes.estado_informe = 'E' then 'En proceso'
        when informes.estado_informe = 'F' then 'Finalizado'
        when informes.estado_informe = 'K' then 'Aprobado'
        when informes.estado_informe = 'R' then 'Observado'
        when informes.estado_informe = 'C' then 'Rechazado'
        when informes.estado_informe = 'N' then 'Anulado'
       end as estado_tarea,

       informes.fecha_iniciado as inicio_tarea,informes.fecha_entregado as fin_tarea,informes.fecha_comprometida as fecha_comprometida_tarea,
       --iPPAL.fecha_iniciado as inicio_informe,iPPAL.fecha_entregado as fin_informe, 
       informes.fecha_entregado - informes.fecha_iniciado as tiempo_tarea,
       informes.fecha_entregado -informes.fecha_comprometida as diffTarea,
       --iPPAL.fecha_entregado - iPPAL.fecha_iniciado as tiempo_informe,
       --iPPAL.fecha_entregado -informes.fecha_comprometida as diffInforme,
       informes.informe as idTarea,
       
      -- uInforme.last_name + ' ' +  uInforme.first_name as usuario_informe,
       uTarea.last_name + ' ' + uTarea.first_name as usuario_tarea ,
       
       informes.prioridad as tarea_prioridad,
       --iPPAL.prioridad as informe_prioridad,
       
       --iPPAL.asignado as userIDAsigandoInforme,
       informes.asignado as userIDAsigandoTarea,informes.pausa,
       /*,iPPAL.id_tipo_informe */
       
       --idiomas.codigo_iso as idioma
       LN_tipo_informes.nombre_tipo_informe as nombre_informe,
       tPPAL.nombre_tipo_informe as nombre_informe_padre,
       iPPAL.historial_informe as historial_informe_padre,iPPAL.objeto_informe as obteo_onforme_padre,
       informes.pausa,
       informes.ready_to_start_trigger_task as idTareaPadre,
       informes.ready_to_start_date,
       informes.ready_to_start,
       informes.ready_to_start_user_id,
       '' as estadoTareaPadre,
       informes.id_tipo_informe as idTipoTarea,
       informes.ingresado_por,LN_tareas.idTarea_Padre as dependencia,
       LN_tareas.id_tip_doc_dependiente,LN_tareas.ruta as ruta_tarea,LN_tareas.tipo_tarea as tipo_actividad_tarea,
       informes.historial_informe as historial_tarea 
-- getdate()-ln_demo.fecha_comprometida as diffInforme 

                            --exec LN_panel_reports 'tarea_by_id', 11111,null, null,null, 100584060


       -- exec LN_panel_reports 'tarea_by_id', 11111,null, null,null, 100577290
       FROM LN_contrapartes
                            INNER JOIN LN_gestiones on LN_gestiones.contraparte = LN_contrapartes.contraparte
                            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 country pais_servicio ON LN_contrapartes.pais_servicio = pais_servicio.country_code

                            INNER JOIN users users1 ON LN_contrapartes.created_by = users1.user_id
       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
                            LEFT OUTER JOIN users users2 ON LN_contrapartes.modified_by = users2.user_id

       LEFT OUTER JOIN LN_demo ON (LN_contrapartes.contraparte = LN_demo.contraparte AND LN_gestiones.gestion = LN_demo.gestion)
       LEFT OUTER JOIN LN_productos ON LN_demo.producto = LN_productos.producto
       LEFT OUTER JOIN productos on productos.producto = LN_contrapartes.servicio_contratado
       
       inner join informes on (ln_demo.informe=informes.informe_padre  /*and informes.estado_informe not in ('X','K')*/)
       inner join tipos_informe on informes.id_tipo_informe=tipos_informe.id_tipo_informe 
       left join users uTarea on informes.asignado = uTarea.user_id
        
       inner join informes iPPAL on (ln_demo.informe=iPPAL.informe  and iPPAL.estado_informe not in ('X','K'))
       inner join tipos_informe tPPAL on iPPAL.id_tipo_informe=tPPAL.id_tipo_informe 
       left join users uInforme on iPPAL.asignado = uInforme.user_id
       inner join idiomas on iPPAL.idioma = idiomas.idioma 
       LEFT OUTER JOIN pagos_transacciones ON LN_contrapartes.contraparte = pagos_transacciones.contraparte 
       /*left join LN_tareas on tipos_informe.tipo_tarea = LN_tareas.idTarea  --LN_tareas.idTarea_Padre as dependencia*/
       left join LN_tareas on LN_tareas.id_tipo_informe_blue=informes.id_tipo_informe  --LN_tareas.idTarea_Padre as dependencia
       
       inner join LN_tipo_informes on iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme 
       


                            WHERE /*LN_contrapartes.cliente = @V_cliente
                                                        AND LN_contrapartes.subcontratista = 0
                             AND LN_contrapartes.activo = 1
                                                        AND */
 LN_gestiones.desde <= CONVERT(date, GETDATE())
                            AND LN_gestiones.hasta >= CONVERT(date, GETDATE())
       and ln_contrapartes.cliente !=110864291
       and isnull(ln_demo.visible,0)=0
       AND LN_contrapartes.activo = 1
       --and ln_contrapartes.servicio_contratado in (10)
       and (informes.informe = @V_informe)/* or iPPAL.informe= @V_informe)*/
                            
       ORDER BY /*fecha_comprometida_informe asc, */padrones.nombre_persona


       END   






            if (@V_accion ='informe_by_id') 
                BEGIN        

                            SELECT LN_contrapartes.contraparte,ln_familias.nombre_familia, 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,
                            CONVERT(VARCHAR, LN_contrapartes.vigencia_desde,103) AS vigencia_desde,
                            CONVERT(VARCHAR, LN_contrapartes.vigencia_hasta,103) AS vigencia_hasta,
                            LN_contrapartes.clave, LN_contrapartes.clave_temporal,
                            CONVERT(VARCHAR(19), LN_contrapartes.clave_cambio, 121) as clave_cambio, 
                            CONVERT(VARCHAR(19), LN_contrapartes.clave_expira, 121) as clave_expira, 
                            CONVERT(VARCHAR(19), LN_contrapartes.last_login, 121) as last_login,
       ISNULL(LN_contrapartes.modalidad_pago, 'CC') as modalidad_pago,
                            LN_contrapartes.created_by, LN_contrapartes.modified_by,
                            padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
                            padrones.identificacion, 
       country.country_code as country_name, 
       clientes.nombre_cliente, 
                            CONVERT(VARCHAR(19), LN_contrapartes.created, 121) as created, 
                            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 as gestion,
       LN_gestiones.desde as desde, 
       CONVERT(VARCHAR, LN_gestiones.desde,103) AS gestion_desde,
                            CONVERT(VARCHAR, LN_gestiones.hasta,103) AS gestion_hasta,
                            LN_demo.informe as informe, LN_productos.dossier,
       IIF(ISNULL(LN_contrapartes.modalidad_pago, 'CC') = 'CC', NULL, pagos_transacciones.status) AS status,
       IIF(ISNULL(LN_contrapartes.modalidad_pago, 'CC') = 'CC', NULL, pagos_transacciones.valor) AS valor,
       IIF(ISNULL(LN_contrapartes.modalidad_pago, 'CC') = 'CC', NULL, pagos_transacciones.moneda) AS moneda
                            --es acá
       ,ln_contrapartes.servicio_contratado,
       UPPER(productos.nombre_producto) as servicio_contratado_name, 
       case LN_gestiones.Iv_informe 
        when 1 then 'SI'
        when 0 then 'NO'
        else null 
       end as iv_informe,

       ln_contrapartes.pais_servicio as pais_servicio_cod, 
       pais_servicio.country_name as pais_servicio,ln_demo.docs_ok,ln_demo.integ_carga,ln_demo.integ_rech,ln_demo.integ_verif,
       
       /*iif(ln_demo.fecha_comprometida is null,iPPAL.fecha_comprometida,ln_demo.fecha_comprometida) as fecha_comprometida_informe,*/

       iPPAL.fecha_comprometida  as fecha_comprometida_informe,


       /*ln_demo.fecha_comprometida as fecha_comprometida_informe,*/iPPAL.fecha_comprometida as blue_comprometido,
       iPPAL.estado_informe as codigo_estado_informe,
       informes.estado_informe as codigo_estado_tarea,

       /*tipos_informe.nombre_tipo_informe as nombre_tarea,
       
        tPPAL.nombre_tipo_informe as nombre_informe,
        */


       /*tipos_informe.nombre_tipo_informe as nombre_tarea,*/
        LN_tareas.nombre_tarea,
        
 /* tPPAL.nombre_tipo_informe as nombre_informe,*/
        /*tPPAL.nombre_tipo_informe as nombre_informe,*/
        LN_tipo_informes.nombre_tipo_informe as nombre_informe,
       case
        when iPPAL.estado_informe = 'I' then 'Ingresado'
        when iPPAL.estado_informe = 'A' then 'No calificado'
        when iPPAL.estado_informe = 'X' then 'Carga Comercial'
        when iPPAL.estado_informe = 'T' then 'Respondido'
        when iPPAL.estado_informe = 'P' then 'En gestión'
        when iPPAL.estado_informe = 'W' then 'En espera'
        when iPPAL.estado_informe = 'M' then 'A Completar'
        when iPPAL.estado_informe = 'E' then 'En proceso'
        when iPPAL.estado_informe = 'F' then 'Finalizado'
        when iPPAL.estado_informe = 'K' then 'Aprobado'
        when iPPAL.estado_informe = 'R' then 'Observado'
        when iPPAL.estado_informe = 'C' then 'Rechazado'
        when iPPAL.estado_informe = 'N' then 'Anulado'
       end as estado_informe,
        case
        when informes.estado_informe = 'I' then 'Ingresado'
        when informes.estado_informe = 'A' then 'No calificado'
        when informes.estado_informe = 'X' then 'Carga Comercial'
        when informes.estado_informe = 'T' then 'Respondido'
        when informes.estado_informe = 'P' then 'En gestión'
        when informes.estado_informe = 'W' then 'En espera'
        when informes.estado_informe = 'M' then 'A Completar'
        when informes.estado_informe = 'E' then 'En proceso'
        when informes.estado_informe = 'F' then 'Finalizado'
        when informes.estado_informe = 'K' then 'Aprobado'
        when informes.estado_informe = 'R' then 'Observado'
        when informes.estado_informe = 'C' then 'Rechazado'
        when informes.estado_informe = 'N' then 'Anulado'
       end as estado_tarea,

       informes.fecha_iniciado as inicio_tarea,informes.fecha_entregado as fin_tarea,informes.fecha_comprometida as fecha_comprometida_tarea,
       /*iPPAL.fecha_iniciado as inicio_informe,*/
       iPPAL.fecha_inicio as inicio_informe,
       iPPAL.fecha_entregado as fin_informe, 
       informes.fecha_entregado - informes.fecha_iniciado as tiempo_tarea,
       informes.fecha_entregado -informes.fecha_comprometida as diffTarea,
       iPPAL.fecha_entregado - iPPAL.fecha_iniciado as tiempo_informe,
       iPPAL.fecha_entregado -informes.fecha_comprometida as diffInforme,informes.informe as idTarea,
       informes.orden as ordTarea,
       uInforme.last_name + ' ' +  uInforme.first_name as usuario_informe,
       uTarea.last_name + ' ' + uTarea.first_name as usuario_tarea ,
       
       informes.prioridad as tarea_prioridad,
       iPPAL.prioridad as informe_prioridad,
       
       iPPAL.asignado as userIDAsigandoInforme,
       informes.asignado as userIDAsigandoTarea,
       
       idiomas.codigo_iso as idioma,iPPAL.id_tipo_informe,iPPAL.historial_informe,iPPAL.objeto_informe,
       LN_tipo_informes.duracion as duracion_informe

-- getdate()-ln_demo.fecha_comprometida as diffInforme 

                            FROM LN_contrapartes
                            INNER JOIN LN_gestiones on LN_gestiones.contraparte = LN_contrapartes.contraparte
                            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 country pais_servicio ON LN_contrapartes.pais_servicio = pais_servicio.country_code

                            INNER JOIN users users1 ON LN_contrapartes.created_by = users1.user_id
       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
                            LEFT OUTER JOIN users users2 ON LN_contrapartes.modified_by = users2.user_id

       LEFT OUTER JOIN LN_demo ON (LN_contrapartes.contraparte = LN_demo.contraparte AND LN_gestiones.gestion = LN_demo.gestion)
       LEFT OUTER JOIN LN_productos ON LN_demo.producto = LN_productos.producto
       LEFT OUTER JOIN productos on productos.producto = LN_contrapartes.servicio_contratado
       
       inner join informes on (ln_demo.informe=informes.informe_padre /*and informes.estado_informe not in ('X','K')*/)
       inner join tipos_informe on informes.id_tipo_informe=tipos_informe.id_tipo_informe 
       left join users uTarea on informes.asignado = uTarea.user_id
        
       inner join informes iPPAL on (ln_demo.informe=iPPAL.informe  /*and iPPAL.estado_informe not in ('X','K')*/)
       inner join tipos_informe tPPAL on iPPAL.id_tipo_informe=tPPAL.id_tipo_informe 
       left join users uInforme on iPPAL.asignado = uInforme.user_id
       inner join idiomas on iPPAL.idioma = idiomas.idioma 
       LEFT OUTER JOIN pagos_transacciones ON LN_contrapartes.contraparte = pagos_transacciones.contraparte 
       left join LN_tareas on LN_tareas.id_tipo_informe_blue=informes.id_tipo_informe 
       inner join LN_tipo_informes on iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme 
       

                            WHERE 
       (informes.informe_padre = @V_informe or iPPAL.informe= @V_informe)
                            ORDER BY fecha_comprometida_informe asc, padrones.nombre_persona,ordTarea


       END   

   if (upper(@V_accion) ='PANEL_TASKS_FILTRADO') 
                BEGIN   
                if (@V_estado_informe is null) /* FILTRAMOS TAREAS SOLO POR USAURIO */
       begin
        SELECT @V_plataforma as plataforma,LN_contrapartes.servicio_contratado as Segmentado, LN_contrapartes.contraparte,ln_familias.nombre_familia, 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,
        CONVERT(VARCHAR, LN_contrapartes.vigencia_desde,103) AS vigencia_desde,
        CONVERT(VARCHAR, LN_contrapartes.vigencia_hasta,103) AS vigencia_hasta,
        LN_contrapartes.clave, LN_contrapartes.clave_temporal,
        CONVERT(VARCHAR(19), LN_contrapartes.clave_cambio, 121) as clave_cambio, 
        CONVERT(VARCHAR(19), LN_contrapartes.clave_expira, 121) as clave_expira, 
        CONVERT(VARCHAR(19), LN_contrapartes.last_login, 121) as last_login,
        ISNULL(LN_contrapartes.modalidad_pago, 'CC') as modalidad_pago,
        LN_contrapartes.created_by, LN_contrapartes.modified_by,
        padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
        padrones.identificacion, 
        country.country_code as country_name, 
        clientes.nombre_cliente, 
        CONVERT(VARCHAR(19), LN_contrapartes.created, 121) as created, 
        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 as gestion,
        LN_gestiones.desde as desde, 
        CONVERT(VARCHAR, LN_gestiones.desde,103) AS gestion_desde,
        CONVERT(VARCHAR, LN_gestiones.hasta,103) AS gestion_hasta,
        LN_demo.informe as informe, LN_productos.dossier,
        IIF(ISNULL(LN_contrapartes.modalidad_pago, 'CC') = 'CC', NULL, pagos_transacciones.status) AS status,
        IIF(ISNULL(LN_contrapartes.modalidad_pago, 'CC') = 'CC', NULL, pagos_transacciones.valor) AS valor,
        IIF(ISNULL(LN_contrapartes.modalidad_pago, 'CC') = 'CC', NULL, pagos_transacciones.moneda) AS moneda
        --es acá
        ,ln_contrapartes.servicio_contratado,
        UPPER(productos.nombre_producto) as servicio_contratado_name, 
        case LN_gestiones.Iv_informe 
         when 1 then 'SI'
         when 0 then 'NO'
         else null 
        end as iv_informe,
        ln_contrapartes.pais_servicio as pais_servicio_cod, 
        pais_servicio.country_name as pais_servicio,ln_demo.docs_ok,ln_demo.integ_carga,ln_demo.integ_rech,ln_demo.integ_verif,
        iif(ln_demo.fecha_comprometida is null,iPPAL.fecha_comprometida,ln_demo.fecha_comprometida) as fecha_comprometida_informe,

        /*ln_demo.fecha_comprometida as fecha_comprometida_informe,*/iPPAL.fecha_comprometida as blue_comprometido,

        /*tipos_informe.nombre_tipo_informe as nombre_tarea,*/
        /*tipos_informe.nombre_tipo_informe as nombre_tarea,*/
        LN_tareas.nombre_tarea,
        
        /* tPPAL.nombre_tipo_informe as nombre_informe,*/
        /*tPPAL.nombre_tipo_informe as nombre_informe,*/
        LN_tipo_informes.nombre_tipo_informe as nombre_informe,


        iPPAL.estado_informe as cod_estado_informe,
        informes.estado_informe as cod_estado_tarea,
        case
         when iPPAL.estado_informe = 'I' then 'Ingresado'
         when iPPAL.estado_informe = 'A' then 'No calificado'
         when iPPAL.estado_informe = 'X' then 'Carga Comercial'
         when iPPAL.estado_informe = 'T' then 'Respondido'
         when iPPAL.estado_informe = 'P' then 'En gestión'
         when iPPAL.estado_informe = 'W' then 'En espera'
         when iPPAL.estado_informe = 'M' then 'A Completar'
         when iPPAL.estado_informe = 'E' then 'En proceso'
         when iPPAL.estado_informe = 'F' then 'Finalizado'
         when iPPAL.estado_informe = 'K' then 'Aprobado'
         when iPPAL.estado_informe = 'R' then 'Observado'
         when iPPAL.estado_informe = 'C' then 'Rechazado'
         when iPPAL.estado_informe = 'N' then 'Anulado'
        end as estado_informe,
        case
         when informes.estado_informe = 'I' then 'Ingresado'
         when informes.estado_informe = 'A' then 'No calificado'
         when informes.estado_informe = 'X' then 'Carga Comercial'
         when informes.estado_informe = 'T' then 'Respondido'
         when informes.estado_informe = 'P' then 'En gestión'
         when informes.estado_informe = 'W' then 'En espera'
         when informes.estado_informe = 'M' then 'A Completar'
         when informes.estado_informe = 'E' then 'En proceso'
         when informes.estado_informe = 'F' then 'Finalizado'
         when informes.estado_informe = 'K' then 'Aprobado'
         when informes.estado_informe = 'R' then 'Observado'
         when informes.estado_informe = 'C' then 'Rechazado'
         when informes.estado_informe = 'N' then 'Anulado'
        end as estado_tarea,
        /*informes.fecha_iniciado as inicio_tarea,*/
        /*informes.fecha_inicio as inicio_tarea,*/
        iif(informes.proximo_llamado is not null and informes.proximo_llamado > isnull(informes.fecha_inicio,'1901-01-01'),informes.proximo_llamado,informes.fecha_inicio) as inicio_tarea,
        informes.fecha_entregado as fin_tarea,informes.fecha_comprometida as fecha_comprometida_tarea,
        /*iPPAL.fecha_iniciado as inicio_informe,*/
        iPPAL.fecha_inicio as inicio_informe,
        iPPAL.fecha_aprobacion as fin_informe, 
        informes.fecha_entregado - informes.fecha_iniciado as tiempo_tarea,
        informes.fecha_entregado -informes.fecha_comprometida as diffTarea,
        iPPAL.fecha_entregado - iPPAL.fecha_iniciado as tiempo_informe,
        iPPAL.fecha_entregado -informes.fecha_comprometida as diffInforme,
        informes.informe as idTarea,informes.orden as ordTarea,
        uInforme.last_name + ' ' +  uInforme.first_name as usuario_informe,
        uTarea.last_name + ' ' + uTarea.first_name as usuario_tarea ,
        informes.prioridad as tarea_prioridad,
        iPPAL.prioridad as informe_prioridad,informes.pausa,
        
        
        informes.ready_to_start_trigger_task as idTareaPadre,
        informes.ready_to_start_date,
        informes.ready_to_start,
        informes.ready_to_start_user_id,
        '-' as estadoTareaPadre,LN_tareas.idTarea_Padre as dependencia,informes.proximo_llamado

         FROM LN_contrapartes
         INNER JOIN LN_gestiones on LN_gestiones.contraparte = LN_contrapartes.contraparte
         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 country pais_servicio ON LN_contrapartes.pais_servicio = pais_servicio.country_code

         INNER JOIN users users1 ON LN_contrapartes.created_by = users1.user_id
         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 dbo.DelimitedSplit8K(@V_plataforma, ',') exceptuados ON LN_contrapartes.servicio_contratado = convert(int,exceptuados.Item) 

         LEFT OUTER JOIN users users2 ON LN_contrapartes.modified_by = users2.user_id

         LEFT OUTER JOIN LN_demo ON (LN_contrapartes.contraparte = LN_demo.contraparte AND LN_gestiones.gestion = LN_demo.gestion)
         LEFT OUTER JOIN LN_productos ON LN_demo.producto = LN_productos.producto
         LEFT OUTER JOIN productos on productos.producto = LN_contrapartes.servicio_contratado
       
         inner join informes on (ln_demo.informe=informes.informe_padre  /*and informes.estado_informe not in ('X','K')*/)
         
         /*inner join tipos_informe on informes.id_tipo_informe=tipos_informe.id_tipo_informe */

         left join users uTarea on informes.asignado = uTarea.user_id
        
         /*inner join informes iPPAL on (ln_demo.informe=iPPAL.informe  and iPPAL.estado_informe not in ('X','K'))*/
         inner join informes iPPAL on (informes.informe_padre=iPPAL.informe  and iPPAL.estado_informe not in ('X','K'))

         
         --inner join tipos_informe tPPAL on iPPAL.id_tipo_informe=tPPAL.id_tipo_informe 

         left join users uInforme on iPPAL.asignado = uInforme.user_id
         INNER JOIN dbo.DelimitedSplit8K(@V_plataforma, ',') Segmentado on LN_contrapartes.servicio_contratado = Segmentado.Item 

         LEFT OUTER JOIN pagos_transacciones ON LN_contrapartes.contraparte = pagos_transacciones.contraparte
         inner join LN_tipo_informes on iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme  
         left join LN_tareas on LN_tareas.id_tipo_informe_blue=informes.id_tipo_informe 


        /*
         FROM LN_contrapartes
         INNER JOIN LN_gestiones on LN_gestiones.contraparte = LN_contrapartes.contraparte
         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 country pais_servicio ON LN_contrapartes.pais_servicio = pais_servicio.country_code
        
         INNER JOIN users users1 ON LN_contrapartes.created_by = users1.user_id
         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 dbo.DelimitedSplit8K(@V_plataforma, ',') exceptuados ON LN_contrapartes.servicio_contratado = convert(int,exceptuados.Item)
        
         LEFT OUTER JOIN users users2 ON LN_contrapartes.modified_by = users2.user_id
        
         LEFT OUTER JOIN LN_demo ON (LN_contrapartes.contraparte = LN_demo.contraparte AND LN_gestiones.gestion = LN_demo.gestion)
         LEFT OUTER JOIN LN_productos ON LN_demo.producto = LN_productos.producto
         LEFT OUTER JOIN productos on productos.producto = LN_contrapartes.servicio_contratado
        
         inner join informes on (ln_demo.informe=informes.informe_padre  /*and informes.estado_informe not in ('X','K')*/
)
         inner join tipos_informe on informes.id_tipo_informe=tipos_informe.id_tipo_informe 
         left join users uTarea on informes.asignado = uTarea.user_id
          
         inner join informes iPPAL on (ln_demo.informe=iPPAL.informe  and iPPAL.estado_informe not in ('X','K'))
         inner join tipos_informe tPPAL on iPPAL.id_tipo_informe=tPPAL.id_tipo_informe 
         inner join LN_tipo_informes on iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme 
         left join users uInforme on iPPAL.asignado = uInforme.user_id
         INNER JOIN dbo.DelimitedSplit8K(@V_plataforma, ',') Segmentado on LN_contrapartes.servicio_contratado = Segmentado.Item 
        
         LEFT OUTER JOIN pagos_transacciones ON LN_contrapartes.contraparte = pagos_transacciones.contraparte 
         /*left join LN_tareas on tipos_informe.tipo_tarea = LN_tareas.idTarea  --LN_tareas.idTarea_Padre as dependencia*/

         left join LN_tareas on LN_tareas.id_tipo_informe_blue=informes.id_tipo_informe 
         */

        WHERE /*LN_contrapartes.cliente = @V_cliente
         AND LN_contrapartes.subcontratista = 0
         AND LN_contrapartes.activo = 1
         AND */
 LN_gestiones.desde <= CONVERT(date, GETDATE())
        AND LN_gestiones.hasta >= CONVERT(date, GETDATE())
        and ln_contrapartes.cliente !=110864291
        and isnull(ln_demo.visible,0)=0
        AND LN_contrapartes.activo = 1
        and iPPAL.estado_informe not in ('F','C','N','K')
        and informes.asignado = @V_user_id 
        and informes.informe_padre is not null
        --ORDER BY fecha_comprometida_informe asc, padrones.nombre_persona,ordTarea asc
        ORDER by 
         /*ordTarea asc*/ informes.prioridad asc,
         iif(informes.proximo_llamado is not null and informes.proximo_llamado > isnull(informes.fecha_inicio,'1901-01-01'),informes.proximo_llamado,informes.fecha_inicio) asc
         , padrones.nombre_persona
       end
       
       else IF (@V_estado_informe is NOT null AND @V_estado_informe not in ('Z','Y'))

       begin /*FILTRAMOS TAREAS POR USUARIO Y POR ESTADO  SIN LISTOS PARA INICIAR */
         SELECT @V_plataforma as plataforma,LN_contrapartes.servicio_contratado as Segmentado, LN_contrapartes.contraparte,ln_familias.nombre_familia, 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,
         CONVERT(VARCHAR, LN_contrapartes.vigencia_desde,103) AS vigencia_desde,
         CONVERT(VARCHAR, LN_contrapartes.vigencia_hasta,103) AS vigencia_hasta,
         LN_contrapartes.clave, LN_contrapartes.clave_temporal,
         CONVERT(VARCHAR(19), LN_contrapartes.clave_cambio, 121) as clave_cambio, 
         CONVERT(VARCHAR(19), LN_contrapartes.clave_expira, 121) as clave_expira, 
         CONVERT(VARCHAR(19), LN_contrapartes.last_login, 121) as last_login,
         ISNULL(LN_contrapartes.modalidad_pago, 'CC') as modalidad_pago,
         LN_contrapartes.created_by, LN_contrapartes.modified_by,
         padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
         padrones.identificacion, 
         country.country_code as country_name, 
         clientes.nombre_cliente, 
         CONVERT(VARCHAR(19), LN_contrapartes.created, 121) as created, 
         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 as gestion,
         LN_gestiones.desde as desde, 
         CONVERT(VARCHAR, LN_gestiones.desde,103) AS gestion_desde,
         CONVERT(VARCHAR, LN_gestiones.hasta,103) AS gestion_hasta,
         LN_demo.informe as informe, LN_productos.dossier,
         IIF(ISNULL(LN_contrapartes.modalidad_pago, 'CC') = 'CC', NULL, pagos_transacciones.status) AS status,
         IIF(ISNULL(LN_contrapartes.modalidad_pago, 'CC') = 'CC', NULL, pagos_transacciones.valor) AS valor,
         IIF(ISNULL(LN_contrapartes.modalidad_pago, 'CC') = 'CC', NULL, pagos_transacciones.moneda) AS moneda
         --es acá
         ,ln_contrapartes.servicio_contratado,
         UPPER(productos.nombre_producto) as servicio_contratado_name, 
         case LN_gestiones.Iv_informe 
          when 1 then 'SI'
          when 0 then 'NO'
          else null 
         end as iv_informe,
         ln_contrapartes.pais_servicio as pais_servicio_cod, 
         pais_servicio.country_name as pais_servicio,ln_demo.docs_ok,ln_demo.integ_carga,ln_demo.integ_rech,ln_demo.integ_verif,
         iif(ln_demo.fecha_comprometida is null,iPPAL.fecha_comprometida,ln_demo.fecha_comprometida) as fecha_comprometida_informe,

         /*ln_demo.fecha_comprometida as fecha_comprometida_informe,*/iPPAL.fecha_comprometida as blue_comprometido,

         /* tipos_informe.nombre_tipo_informe as nombre_tarea,
          tPPAL.nombre_tipo_informe as nombre_informe,
          */
       
         
         LN_tareas.nombre_tarea,
         LN_tipo_informes.nombre_tipo_informe as nombre_informe,

         iPPAL.estado_informe as cod_estado_informe,informes.estado_informe as cod_estado_tarea,
         case
          when iPPAL.estado_informe = 'I' then 'Ingresado'
          when iPPAL.estado_informe = 'A' then 'No calificado'
          when iPPAL.estado_informe = 'X' then 'Carga Comercial'
          when iPPAL.estado_informe = 'T' then 'Respondido'
          when iPPAL.estado_informe = 'P' then 'En gestión'
          when iPPAL.estado_informe = 'W' then 'En espera'
          when iPPAL.estado_informe = 'M' then 'A Completar'
          when iPPAL.estado_informe = 'E' then 'En proceso'
          when iPPAL.estado_informe = 'F' then 'Finalizado'
          when iPPAL.estado_informe = 'K' then 'Aprobado'
          when iPPAL.estado_informe = 'R' then 'Observado'
          when iPPAL.estado_informe = 'C' then 'Rechazado'
          when iPPAL.estado_informe = 'N' then 'Anulado'
         end as estado_informe,
         case
          when informes.estado_informe = 'I' then 'Ingresado'
          when informes.estado_informe = 'A' then 'No calificado'
          when informes.estado_informe = 'X' then 'Carga Comercial'
          when informes.estado_informe = 'T' then 'Respondido'
          when informes.estado_informe = 'P' then 'En gestión'
          when informes.estado_informe = 'W' then 'En espera'
          when informes.estado_informe = 'M' then 'A Completar'
          when informes.estado_informe = 'E' then 'En proceso'
          when informes.estado_informe = 'F' then 'Finalizado'
          when informes.estado_informe = 'K' then 'Aprobado'
          when informes.estado_informe = 'R' then 'Observado'
          when informes.estado_informe = 'C' then 'Rechazado'
          when informes.estado_informe = 'N' then 'Anulado'
         end as estado_tarea,
         /*informes.fecha_iniciado as inicio_tarea,*/
         --informes.fecha_inicio as inicio_tarea,
         iif(informes.proximo_llamado is not null and informes.proximo_llamado > isnull(informes.fecha_inicio,'1901-01-01'),informes.proximo_llamado,informes.fecha_inicio) as inicio_tarea,

         informes.fecha_entregado as fin_tarea,informes.fecha_comprometida as fecha_comprometida_tarea,
         /*iPPAL.fecha_iniciado as inicio_informe,*/
         iPPAL.fecha_inicio as inicio_informe,
         iPPAL.fecha_entregado as fin_informe, 
         informes.fecha_entregado - informes.fecha_iniciado as tiempo_tarea,
         informes.fecha_entregado -informes.fecha_comprometida as diffTarea,
         iPPAL.fecha_entregado - iPPAL.fecha_iniciado as tiempo_informe,
         iPPAL.fecha_entregado -informes.fecha_comprometida as diffInforme,
         informes.informe as idTarea,informes.orden as ordTarea,
         uInforme.last_name + ' ' +  uInforme.first_name as usuario_informe,
         uTarea.last_name + ' ' + uTarea.first_name as usuario_tarea ,
         informes.prioridad as tarea_prioridad,
         iPPAL.prioridad as informe_prioridad,informes.pausa,
         informes.ready_to_start_trigger_task as idTareaPadre,
         informes.ready_to_start_date,
         informes.ready_to_start,
         informes.ready_to_start_user_id,
         '-' as estadoTareaPadre,LN_tareas.idTarea_Padre as dependencia,LN_tipo_informes.idTipoInforme,
                                    informes.proximo_llamado


         FROM LN_contrapartes
         INNER JOIN LN_gestiones on LN_gestiones.contraparte = LN_contrapartes.contraparte
         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 country pais_servicio ON LN_contrapartes.pais_servicio = pais_servicio.country_code

         INNER JOIN users users1 ON LN_contrapartes.created_by = users1.user_id
         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 dbo.DelimitedSplit8K(@V_plataforma, ',') exceptuados ON LN_contrapartes.servicio_contratado = convert(int,exceptuados.Item) 

         LEFT OUTER JOIN users users2 ON LN_contrapartes.modified_by = users2.user_id

         LEFT OUTER JOIN LN_demo ON (LN_contrapartes.contraparte = LN_demo.contraparte AND LN_gestiones.gestion = LN_demo.gestion)
         LEFT OUTER JOIN LN_productos ON LN_demo.producto = LN_productos.producto
         LEFT OUTER JOIN productos on productos.producto = LN_contrapartes.servicio_contratado
       
         inner join informes on (ln_demo.informe=informes.informe_padre  /*and informes.estado_informe not in ('X','K')*/)
         
         /*inner join tipos_informe on informes.id_tipo_informe=tipos_informe.id_tipo_informe */

         left join users uTarea on informes.asignado = uTarea.user_id
        
         /*inner join informes iPPAL on (ln_demo.informe=iPPAL.informe  and iPPAL.estado_informe not in ('X','K'))*/
         inner join informes iPPAL on (informes.informe_padre=iPPAL.informe  and iPPAL.estado_informe not in ('X','K'))

         
         --inner join tipos_informe tPPAL on iPPAL.id_tipo_informe=tPPAL.id_tipo_informe 

         left join users uInforme on iPPAL.asignado = uInforme.user_id
         INNER JOIN dbo.DelimitedSplit8K(@V_plataforma, ',') Segmentado on LN_contrapartes.servicio_contratado = Segmentado.Item 

         LEFT OUTER JOIN pagos_transacciones ON LN_contrapartes.contraparte = pagos_transacciones.contraparte
         inner join LN_tipo_informes on iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme  
         left join LN_tareas on LN_tareas.id_tipo_informe_blue=informes.id_tipo_informe 


         /*
          FROM LN_contrapartes
          INNER JOIN LN_gestiones on LN_gestiones.contraparte = LN_contrapartes.contraparte
          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 country pais_servicio ON LN_contrapartes.pais_servicio = pais_servicio.country_code
         
          INNER JOIN users users1 ON LN_contrapartes.created_by = users1.user_id
          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 dbo.DelimitedSplit8K(@V_plataforma, ',') exceptuados ON LN_contrapartes.servicio_contratado = convert(int,exceptuados.Item)
         
          LEFT OUTER JOIN users users2 ON LN_contrapartes.modified_by = users2.user_id
         
          LEFT OUTER JOIN LN_demo ON (LN_contrapartes.contraparte = LN_demo.contraparte AND LN_gestiones.gestion = LN_demo.gestion)
          LEFT OUTER JOIN LN_productos ON LN_demo.producto = LN_productos.producto
          LEFT OUTER JOIN productos on productos.producto = LN_contrapartes.servicio_contratado
         
          inner join informes on (ln_demo.informe=informes.informe_padre  /*and informes.estado_informe not in ('X','K')*/
)
          inner join tipos_informe on informes.id_tipo_informe=tipos_informe.id_tipo_informe 
          left join users uTarea on informes.asignado = uTarea.user_id
           
          inner join informes iPPAL on (ln_demo.informe=iPPAL.informe  and iPPAL.estado_informe not in ('X','K'))
          left join tipos_informe tPPAL on iPPAL.id_tipo_informe=tPPAL.id_tipo_informe 
          left join users uInforme on iPPAL.asignado = uInforme.user_id
          INNER JOIN dbo.DelimitedSplit8K(@V_plataforma, ',') Segmentado on LN_contrapartes.servicio_contratado = Segmentado.Item 
         
          LEFT OUTER JOIN pagos_transacciones ON LN_contrapartes.contraparte = pagos_transacciones.contraparte 
          left join LN_tipo_informes on iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme 
          left join LN_tareas on LN_tareas.id_tipo_informe_blue=informes.id_tipo_informe 
          */


         WHERE /*LN_contrapartes.cliente = @V_cliente
          AND LN_contrapartes.subcontratista = 0
          AND LN_contrapartes.activo = 1
          AND */
 LN_gestiones.desde <= CONVERT(date, GETDATE())
         AND LN_gestiones.hasta >= CONVERT(date, GETDATE())
         and ln_contrapartes.cliente !=110864291
         and isnull(ln_demo.visible,0)=0
         AND LN_contrapartes.activo = 1
         and iPPAL.estado_informe not in ('F','C','N','K')
         and informes.asignado = @V_user_id 
         and informes.estado_informe = @V_estado_informe 
         and informes.informe_padre is not null
         and ((informes.ready_to_start = 0 and informes.estado_informe = 'A') or informes.estado_informe != 'A')
         --ORDER BY fecha_comprometida_informe asc, padrones.nombre_persona,ordTarea asc
         ORDER BY 
          informes.prioridad asc,
          iif(informes.proximo_llamado is not null and informes.proximo_llamado > isnull(informes.fecha_inicio,'1901-01-01'),informes.proximo_llamado,informes.fecha_inicio) asc,
          padrones.nombre_persona
         end
       else IF (@V_estado_informe is NOT null AND @V_estado_informe ='Z')
         begin /*FILTRAMOS TAREAS POR USUARIO Y POR ESTADO A no calificado y listo para iniciar */
         SELECT @V_plataforma as plataforma,LN_contrapartes.servicio_contratado as Segmentado, LN_contrapartes.contraparte,ln_familias.nombre_familia, 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,
         CONVERT(VARCHAR, LN_contrapartes.vigencia_desde,103) AS vigencia_desde,
         CONVERT(VARCHAR, LN_contrapartes.vigencia_hasta,103) AS vigencia_hasta,
         LN_contrapartes.clave, LN_contrapartes.clave_temporal,
         CONVERT(VARCHAR(19), LN_contrapartes.clave_cambio, 121) as clave_cambio, 
         CONVERT(VARCHAR(19), LN_contrapartes.clave_expira, 121) as clave_expira, 
         CONVERT(VARCHAR(19), LN_contrapartes.last_login, 121) as last_login,
         ISNULL(LN_contrapartes.modalidad_pago, 'CC') as modalidad_pago,
         LN_contrapartes.created_by, LN_contrapartes.modified_by,
         padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
         padrones.identificacion, 
         country.country_code as country_name, 
         clientes.nombre_cliente, 
         CONVERT(VARCHAR(19), LN_contrapartes.created, 121) as created, 
         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 as gestion,
         LN_gestiones.desde as desde, 
         CONVERT(VARCHAR, LN_gestiones.desde,103) AS gestion_desde,
         CONVERT(VARCHAR, LN_gestiones.hasta,103) AS gestion_hasta,
         LN_demo.informe as informe, LN_productos.dossier,
         IIF(ISNULL(LN_contrapartes.modalidad_pago, 'CC') = 'CC', NULL, pagos_transacciones.status) AS status,
         IIF(ISNULL(LN_contrapartes.modalidad_pago, 'CC') = 'CC', NULL, pagos_transacciones.valor) AS valor,
         IIF(ISNULL(LN_contrapartes.modalidad_pago, 'CC') = 'CC', NULL, pagos_transacciones.moneda) AS moneda
         --es acá
         ,ln_contrapartes.servicio_contratado,
         UPPER(productos.nombre_producto) as servicio_contratado_name, 
         case LN_gestiones.Iv_informe 
          when 1 then 'SI'
          when 0 then 'NO'
          else null 
         end as iv_informe,
         ln_contrapartes.pais_servicio as pais_servicio_cod, 
         pais_servicio.country_name as pais_servicio,ln_demo.docs_ok,ln_demo.integ_carga,ln_demo.integ_rech,ln_demo.integ_verif,
         iif(ln_demo.fecha_comprometida is null,iPPAL.fecha_comprometida,ln_demo.fecha_comprometida) as fecha_comprometida_informe,

         /*ln_demo.fecha_comprometida as fecha_comprometida_informe,*/iPPAL.fecha_comprometida as blue_comprometido,

         /*tipos_informe.nombre_tipo_informe as nombre_tarea,tPPAL.nombre_tipo_informe as nombre_informe,*/
         LN_tareas.nombre_tarea,
         LN_tipo_informes.nombre_tipo_informe as nombre_informe,
        
         
         iPPAL.estado_informe as cod_estado_informe,informes.estado_informe as cod_estado_tarea,
         case
          when iPPAL.estado_informe = 'I' then 'Ingresado'
          when iPPAL.estado_informe = 'A' then 'No calificado'
          when iPPAL.estado_informe = 'X' then 'Carga Comercial'
          when iPPAL.estado_informe = 'T' then 'Respondido'
          when iPPAL.estado_informe = 'P' then 'En gestión'
          when iPPAL.estado_informe = 'W' then 'En espera'
          when iPPAL.estado_informe = 'M' then 'A Completar'
          when iPPAL.estado_informe = 'E' then 'En proceso'
          when iPPAL.estado_informe = 'F' then 'Finalizado'
          when iPPAL.estado_informe = 'K' then 'Aprobado'
          when iPPAL.estado_informe = 'R' then 'Observado'
          when iPPAL.estado_informe = 'C' then 'Rechazado'
          when iPPAL.estado_informe = 'N' then 'Anulado'
         end as estado_informe,
         case
          when informes.estado_informe = 'I' then 'Ingresado'
          when informes.estado_informe = 'A' then 'No calificado'
          when informes.estado_informe = 'X' then 'Carga Comercial'
          when informes.estado_informe = 'T' then 'Respondido'
          when informes.estado_informe = 'P' then 'En gestión'
          when informes.estado_informe = 'W' then 'En espera'
          when informes.estado_informe = 'M' then 'A Completar'
          when informes.estado_informe = 'E' then 'En proceso'
          when informes.estado_informe = 'F' then 'Finalizado'
          when informes.estado_informe = 'K' then 'Aprobado'
          when informes.estado_informe = 'R' then 'Observado'
          when informes.estado_informe = 'C' then 'Rechazado'
          when informes.estado_informe = 'N' then 'Anulado'
         end as estado_tarea,
         /*informes.fecha_iniciado as inicio_tarea,*/
         --informes.fecha_inicio as inicio_tarea,
         iif(informes.proximo_llamado is not null and informes.proximo_llamado > isnull(informes.fecha_inicio,'1901-01-01'),informes.proximo_llamado,informes.fecha_inicio) as inicio_tarea,

         informes.fecha_entregado as fin_tarea,informes.fecha_comprometida as fecha_comprometida_tarea,
         /*iPPAL.fecha_iniciado as inicio_informe,*/
         iPPAL.fecha_inicio as inicio_informe,
         iPPAL.fecha_entregado as fin_informe, 
         informes.fecha_entregado - informes.fecha_iniciado as tiempo_tarea,
         informes.fecha_entregado -informes.fecha_comprometida as diffTarea,
         iPPAL.fecha_entregado - iPPAL.fecha_iniciado as tiempo_informe,
         iPPAL.fecha_entregado -informes.fecha_comprometida as diffInforme,
         informes.informe as idTarea,informes.orden as ordTarea,
         uInforme.last_name + ' ' +  uInforme.first_name as usuario_informe,
         uTarea.last_name + ' ' + uTarea.first_name as usuario_tarea ,
         informes.prioridad as tarea_prioridad,
         iPPAL.prioridad as informe_prioridad,informes.pausa,
         informes.ready_to_start_trigger_task as idTareaPadre,
         informes.ready_to_start_date,
         informes.ready_to_start,
         informes.ready_to_start_user_id,
         '-' as estadoTareaPadre,LN_tareas.idTarea_Padre as dependencia ,LN_tipo_informes.idTipoInforme, informes.proximo_llamado

         FROM LN_contrapartes
         INNER JOIN LN_gestiones on LN_gestiones.contraparte = LN_contrapartes.contraparte
         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 country pais_servicio ON LN_contrapartes.pais_servicio = pais_servicio.country_code

         INNER JOIN users users1 ON LN_contrapartes.created_by = users1.user_id
         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 dbo.DelimitedSplit8K(@V_plataforma, ',') exceptuados ON LN_contrapartes.servicio_contratado = convert(int,exceptuados.Item) 

         LEFT OUTER JOIN users users2 ON LN_contrapartes.modified_by = users2.user_id

         LEFT OUTER JOIN LN_demo ON (LN_contrapartes.contraparte = LN_demo.contraparte AND LN_gestiones.gestion = LN_demo.gestion)
         LEFT OUTER JOIN LN_productos ON LN_demo.producto = LN_productos.producto
         LEFT OUTER JOIN productos on productos.producto = LN_contrapartes.servicio_contratado
       
         inner join informes on (ln_demo.informe=informes.informe_padre  /*and informes.estado_informe not in ('X','K')*/)
         
         /*inner join tipos_informe on informes.id_tipo_informe=tipos_informe.id_tipo_informe */

         left join users uTarea on informes.asignado = uTarea.user_id
        
         /*inner join informes iPPAL on (ln_demo.informe=iPPAL.informe  and iPPAL.estado_informe not in ('X','K'))*/
         inner join informes iPPAL on (informes.informe_padre=iPPAL.informe  and iPPAL.estado_informe not in ('X','K'))

         
         --inner join tipos_informe tPPAL on iPPAL.id_tipo_informe=tPPAL.id_tipo_informe 

         left join users uInforme on iPPAL.asignado = uInforme.user_id
         INNER JOIN dbo.DelimitedSplit8K(@V_plataforma, ',') Segmentado on LN_contrapartes.servicio_contratado = Segmentado.Item 

         LEFT OUTER JOIN pagos_transacciones ON LN_contrapartes.contraparte = pagos_transacciones.contraparte
         inner join LN_tipo_informes on iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme  
         left join LN_tareas on LN_tareas.id_tipo_informe_blue=informes.id_tipo_informe 

         /*
          FROM LN_contrapartes
          INNER JOIN LN_gestiones on LN_gestiones.contraparte = LN_contrapartes.contraparte
          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 country pais_servicio ON LN_contrapartes.pais_servicio = pais_servicio.country_code
         
          INNER JOIN users users1 ON LN_contrapartes.created_by = users1.user_id
          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 dbo.DelimitedSplit8K(@V_plataforma, ',') exceptuados ON LN_contrapartes.servicio_contratado = convert(int,exceptuados.Item)
         
          LEFT OUTER JOIN users users2 ON LN_contrapartes.modified_by = users2.user_id
         
          LEFT OUTER JOIN LN_demo ON (LN_contrapartes.contraparte = LN_demo.contraparte AND LN_gestiones.gestion = LN_demo.gestion)
          LEFT OUTER JOIN LN_productos ON LN_demo.producto = LN_productos.producto
          LEFT OUTER JOIN productos on productos.producto = LN_contrapartes.servicio_contratado
         
          inner join informes on (ln_demo.informe=informes.informe_padre  /*and informes.estado_informe not in ('X','K')*/
)
          inner join tipos_informe on informes.id_tipo_informe=tipos_informe.id_tipo_informe 
          left join users uTarea on informes.asignado = uTarea.user_id
           
          inner join informes iPPAL on (ln_demo.informe=iPPAL.informe  and iPPAL.estado_informe not in ('X','K'))
          inner join tipos_informe tPPAL on iPPAL.id_tipo_informe=tPPAL.id_tipo_informe 
          left join users uInforme on iPPAL.asignado = uInforme.user_id
          INNER JOIN dbo.DelimitedSplit8K(@V_plataforma, ',') Segmentado on LN_contrapartes.servicio_contratado = Segmentado.Item 
         
          LEFT OUTER JOIN pagos_transacciones ON LN_contrapartes.contraparte = pagos_transacciones.contraparte
          inner join LN_tipo_informes on iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme  
          left join LN_tareas on LN_tareas.id_tipo_informe_blue=informes.id_tipo_informe 
          */


         WHERE /*LN_contrapartes.cliente = @V_cliente
          AND LN_contrapartes.subcontratista = 0
          AND LN_contrapartes.activo = 1
          AND */
 LN_gestiones.desde <= CONVERT(date, GETDATE())
         AND LN_gestiones.hasta >= CONVERT(date, GETDATE())
         and ln_contrapartes.cliente !=110864291
         and isnull(ln_demo.visible,0)=0
         AND LN_contrapartes.activo = 1
         and iPPAL.estado_informe not in ('F','C','N','K')
         and informes.asignado = @V_user_id 
         and informes.estado_informe = 'A' AND informes.ready_to_start=1
         and informes.informe_padre is not null
         --ORDER BY fecha_comprometida_informe asc, padrones.nombre_persona,ordTarea asc
         ORDER BY 
          /*ordTarea asc*/ informes.prioridad asc,
          iif(informes.proximo_llamado is not null and informes.proximo_llamado > isnull(informes.fecha_inicio,'1901-01-01'),informes.proximo_llamado,informes.fecha_inicio) asc,
          padrones.nombre_persona
         end
       
       else IF (@V_estado_informe ='Y')


       /* AGREGADO 22/01/2024 */ 

       select  distinct @V_plataforma as plataforma,
       ln_contrapartes.cliente,
       LN_tipo_informes.nombre_tipo_informe as nombre_informe,
       LN_tareas.nombre_tarea,
       clientes.nombre_cliente,
       padrones.nombre_persona,
       country.country_name,
       padrones.identificador,
       padrones.identificacion as numero,
       --tareas.fecha_inicio as inicio_tarea,
       iif(tareas.proximo_llamado is not null and tareas.proximo_llamado > isnull(tareas.fecha_inicio,'1901-01-01'),tareas.proximo_llamado,tareas.fecha_inicio) as inicio_tarea,

       tareas.fecha_comprometida as fecha_comprometida_tarea,
       informes.fecha_comprometida as fecha_comprometida_informe,
       ln_contrapartes.contraparte,
       informes.informe,
       tareas.informe as idTarea, 
       LN_tipo_informes.idTipoInforme

       from LN_Team_Members
       inner join LN_Teams on LN_Teams.id_team = LN_Team_Members.id_team
       inner join LN_Team_Members b on b.id_team = LN_Team_Members.id_team and b.user_id != LN_Team_Members.user_id
       inner join ln_demo on ln_demo.idTeam = LN_Teams.id_team
       inner join informes on informes.informe = ln_demo.informe
       inner join informes tareas on tareas.informe_padre = informes.informe
       inner join LN_tareas on LN_tareas.idTarea = tareas.idTarea 
       inner join users on users.user_id = @V_user_id 
       inner join ln_contrapartes on ln_contrapartes.contraparte = ln_demo.contraparte
       inner join LN_tipo_informes on LN_tipo_informes.idTipoInforme = informes.id_tipo_informe
       inner join padrones on padrones.id_padron = ln_contrapartes.id_padron 
       inner join clientes on clientes.cliente = ln_contrapartes.cliente 
       inner join country on country.country_code = ln_contrapartes.country_code 
                            INNER JOIN dbo.DelimitedSplit8K(@V_plataforma, ',') Segmentado on LN_contrapartes.servicio_contratado = Segmentado.Item 

       where LN_Team_Members.user_id = @V_user_id 
       and LN_Teams.activo = 1 
       and LN_Team_Members.id_rol = 1 
       and ln_tareas.tipo_tarea = 'E'
       and tareas.estado_informe = 'F' 
       and informes.estado_informe not in ('F','K','X','C','N')
       -- agregado 04/06/2024
       and LN_demo.docs_ok = 1 
       --
       order by
        iif(tareas.proximo_llamado is not null and tareas.proximo_llamado > isnull(tareas.fecha_inicio,'1901-01-01'),tareas.proximo_llamado,tareas.fecha_inicio)
   
       /* FIN AGREGADO */







-- exec LN_panel_reports 'PANEL_TASKS_FILTRADO', 5546717,null, null,NULL,null,10,'Z'



    END
            

             if (@V_accion ='search_panel_actividad') 
                BEGIN        
                           
                            SELECT ln_roles.nombre as nombre_rol, @V_plataforma as plataforma,LN_contrapartes.servicio_contratado as Segmentado, LN_contrapartes.contraparte,ln_familias.nombre_familia, 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,
                            CONVERT(VARCHAR, LN_contrapartes.vigencia_desde,103) AS vigencia_desde,
                            CONVERT(VARCHAR, LN_contrapartes.vigencia_hasta,103) AS vigencia_hasta,
                            LN_contrapartes.clave, LN_contrapartes.clave_temporal,
                            CONVERT(VARCHAR(19), LN_contrapartes.clave_cambio, 121) as clave_cambio, 
                            CONVERT(VARCHAR(19), LN_contrapartes.clave_expira, 121) as clave_expira, 
                            CONVERT(VARCHAR(19), LN_contrapartes.last_login, 121) as last_login,
       ISNULL(LN_contrapartes.modalidad_pago, 'CC') as modalidad_pago,
                            LN_contrapartes.created_by, LN_contrapartes.modified_by,
                            padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
                            padrones.identificacion, 
       country.country_code as country_name, 
       clientes.nombre_cliente, 
                            CONVERT(VARCHAR(19), LN_contrapartes.created, 121) as created, 
                            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 as gestion,
       LN_gestiones.desde as desde, 
       CONVERT(VARCHAR, LN_gestiones.desde,103) AS gestion_desde,
                            CONVERT(VARCHAR, LN_gestiones.hasta,103) AS gestion_hasta,
                            LN_demo.informe as informe, LN_productos.dossier
       /*,
        IIF(ISNULL(LN_contrapartes.modalidad_pago, 'CC') = 'CC', NULL, pagos_transacciones.status) AS status,
        IIF(ISNULL(LN_contrapartes.modalidad_pago, 'CC') = 'CC', NULL, pagos_transacciones.valor) AS valor,
        IIF(ISNULL(LN_contrapartes.modalidad_pago, 'CC') = 'CC', NULL, pagos_transacciones.moneda) AS moneda
                                   */

       --es acá
       ,ln_contrapartes.servicio_contratado,
       UPPER(productos.nombre_producto) as servicio_contratado_name, 
       case LN_gestiones.Iv_informe 
        when 1 then 'SI'
        when 0 then 'NO'
        else null 
       end as iv_informe,

       ln_contrapartes.pais_servicio as pais_servicio_cod, 
       pais_servicio.country_name as pais_servicio,ln_demo.docs_ok,ln_demo.integ_carga,ln_demo.integ_rech,ln_demo.integ_verif,
       iif(ln_demo.fecha_comprometida is null,iPPAL.fecha_comprometida,ln_demo.fecha_comprometida) as fecha_comprometida_informe,

       /*ln_demo.fecha_comprometida as fecha_comprometida_informe,*/iPPAL.fecha_comprometida as blue_comprometido,
       /*
        tipos_informe.nombre_tipo_informe as nombre_tarea,
        tPPAL.nombre_tipo_informe as nombre_informe,
        */


       LN_tareas.nombre_tarea,
       LN_tipo_informes.nombre_tipo_informe as nombre_informe,
       
       iPPAL.estado_informe as cod_estado_informe,informes.estado_informe as cod_estado_tarea,
       case
        when iPPAL.estado_informe = 'I' then 'Ingresado'
        when iPPAL.estado_informe = 'A' then 'No calificado'
        when iPPAL.estado_informe = 'X' then 'Carga Comercial'
        when iPPAL.estado_informe = 'T' then 'Respondido'
        when iPPAL.estado_informe = 'P' then 'En gestión'
        when iPPAL.estado_informe = 'W' then 'En espera'
        when iPPAL.estado_informe = 'M' then 'A Completar'
        when iPPAL.estado_informe = 'E' then 'En proceso'
        when iPPAL.estado_informe = 'F' then 'Finalizado'
        when iPPAL.estado_informe = 'K' then 'Aprobado'
        when iPPAL.estado_informe = 'R' then 'Observado'
        when iPPAL.estado_informe = 'C' then 'Rechazado'
        when iPPAL.estado_informe = 'N' then 'Anulado'
       end as estado_informe,
       case
        when informes.estado_informe = 'I' then 'Ingresado'
        when informes.estado_informe = 'A' then 'No calificado'
        when informes.estado_informe = 'X' then 'Carga Comercial'
        when informes.estado_informe = 'T' then 'Respondido'
        when informes.estado_informe = 'P' then 'En gestión'
        when informes.estado_informe = 'W' then 'En espera'
        when informes.estado_informe = 'M' then 'A Completar'
        when informes.estado_informe = 'E' then 'En proceso'
        when informes.estado_informe = 'F' then 'Finalizado'
        when informes.estado_informe = 'K' then 'Aprobado'
        when informes.estado_informe = 'R' then 'Observado'
        when informes.estado_informe = 'C' then 'Rechazado'
        when informes.estado_informe = 'N' then 'Anulado'
       end as estado_tarea,
       informes.fecha_inicio as inicio_tarea,
       informes.fecha_entregado as fin_tarea,informes.fecha_comprometida as fecha_comprometida_tarea,
       iPPAL.fecha_inicio as inicio_informe,
       iPPAL.fecha_entregado as fin_informe, 
       informes.fecha_entregado - informes.fecha_iniciado as tiempo_tarea,
       informes.fecha_entregado -informes.fecha_comprometida as diffTarea,
       iPPAL.fecha_entregado - iPPAL.fecha_iniciado as tiempo_informe,
       iPPAL.fecha_entregado -informes.fecha_comprometida as diffInforme,
       informes.informe as idTarea,informes.orden as ordTarea,
       uInforme.last_name + ' ' +  uInforme.first_name as usuario_informe,
       uTarea.last_name + ' ' + uTarea.first_name as usuario_tarea ,
       informes.prioridad as tarea_prioridad,
       iPPAL.prioridad as informe_prioridad,informes.pausa,
       informes.ready_to_start_trigger_task as idTareaPadre,
       informes.ready_to_start_date,
       informes.ready_to_start,
       informes.ready_to_start_user_id,
       'Z' as estadoTareaPadre,LN_tareas.idTarea_Padre as dependencia 


                            FROM LN_contrapartes
                            INNER JOIN LN_gestiones on LN_gestiones.contraparte = LN_contrapartes.contraparte
                            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 country pais_servicio ON LN_contrapartes.pais_servicio = pais_servicio.country_code

                            INNER JOIN users users1 ON LN_contrapartes.created_by = users1.user_id
       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 dbo.DelimitedSplit8K(@V_plataforma, ',') exceptuados ON LN_contrapartes.servicio_contratado = convert(int,exceptuados.Item) 

                            LEFT OUTER JOIN users users2 ON LN_contrapartes.modified_by = users2.user_id

       LEFT OUTER JOIN LN_demo ON (LN_contrapartes.contraparte = LN_demo.contraparte AND LN_gestiones.gestion = LN_demo.gestion)
       LEFT OUTER JOIN LN_productos ON LN_demo.producto = LN_productos.producto
       LEFT OUTER JOIN productos on productos.producto = LN_contrapartes.servicio_contratado
       
       inner join informes on (ln_demo.informe=informes.informe_padre  /*and informes.estado_informe not in ('X','K')*/)
       inner join tipos_informe on informes.id_tipo_informe=tipos_informe.id_tipo_informe 
       left join users uTarea on informes.asignado = uTarea.user_id
        
       inner join informes iPPAL on (ln_demo.informe=iPPAL.informe  and iPPAL.estado_informe not in ('X','K'))
       inner join tipos_informe tPPAL on iPPAL.id_tipo_informe=tPPAL.id_tipo_informe 
       left join users uInforme on iPPAL.asignado = uInforme.user_id
       INNER JOIN dbo.DelimitedSplit8K(@V_plataforma, ',') Segmentado on LN_contrapartes.servicio_contratado = Segmentado.Item 
       
       /*LEFT OUTER JOIN pagos_transacciones ON LN_contrapartes.contraparte = pagos_transacciones.contraparte */
       

       /*left join LN_tareas on (tipos_informe.tipo_tarea = LN_tareas.idTarea )*/
/* left join LN_tareas on (tipos_informe.id_tipo_informe = LN_tareas.id_tipo_informe_blue)*/
       inner join LN_tipo_informes on iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme  
       left join LN_tareas on LN_tareas.id_tipo_informe_blue=informes.id_tipo_informe 

       inner join ln_roles on ln_tareas.perfil_usr_default=ln_roles.id_rol
       /*INNER JOIN dbo.DelimitedSplit8K(@lstDocksOK,',') listDocsOK on LN_tareas.tipo_tarea = (listDocsOK.Item)*/
/* INNER JOIN dbo.DelimitedSplit8K(@V_tipo_tareas,',') tipos_tareas on LN_tareas.tipo_tarea = (tipos_tareas.Item)*/
       INNER JOIN dbo.DelimitedSplit8K(@V_tipo_tareas,',') tipos_roles on ln_tareas.perfil_usr_default = (tipos_roles.Item)

       
       -- EXEC LN_panel_reports 'search_panel_actividad',null,null,null,NULL,null,10,NULL,NULL,NULL,null,null,null,null,null,null,null,'E,D,A'

       /*LN_tareas.idTarea_Padre as dependencia
       
        exec LN_panel_reports 'search_panel_docsok', 87455253,null, null,NULL,null,10,NULL,NULL,NULL,0
       
        */


                            WHERE /*LN_contrapartes.cliente = @V_cliente
                                                        AND LN_contrapartes.subcontratista = 0
                             AND LN_contrapartes.activo = 1
                                                        AND */
 LN_gestiones.desde <= CONVERT(date, GETDATE())
                            AND LN_gestiones.hasta >= CONVERT(date, GETDATE())
       and isnull(ln_demo.visible,0)=0
       AND LN_contrapartes.activo = 1
       and iPPAL.estado_informe not in ('F','C','N','K')
       --and LN_tareas.tipo_tarea in ('S','R')
       /*and ln_contrapartes.servicio_contratado in (10)*/ 
       and informes.informe_padre is not null
       
                            ORDER BY fecha_comprometida_informe asc, padrones.nombre_persona,ordTarea asc



       END   

   
   
   
   if (@V_accion ='search_panel_tareas') 
                BEGIN        
                           
                            SELECT @V_plataforma as plataforma,LN_contrapartes.servicio_contratado as Segmentado, LN_contrapartes.contraparte,ln_familias.nombre_familia, 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,
                            CONVERT(VARCHAR, LN_contrapartes.vigencia_desde,103) AS vigencia_desde,
                            CONVERT(VARCHAR, LN_contrapartes.vigencia_hasta,103) AS vigencia_hasta,
                            LN_contrapartes.clave, LN_contrapartes.clave_temporal,
                            CONVERT(VARCHAR(19), LN_contrapartes.clave_cambio, 121) as clave_cambio, 
                            CONVERT(VARCHAR(19), LN_contrapartes.clave_expira, 121) as clave_expira, 
                            CONVERT(VARCHAR(19), LN_contrapartes.last_login, 121) as last_login,
       ISNULL(LN_contrapartes.modalidad_pago, 'CC') as modalidad_pago,
                            LN_contrapartes.created_by, LN_contrapartes.modified_by,
                            padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
                            padrones.identificacion, 
       country.country_code as country_name, 
       clientes.nombre_cliente, 
                            CONVERT(VARCHAR(19), LN_contrapartes.created, 121) as created, 
                            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 as gestion,
       LN_gestiones.desde as desde, 
       CONVERT(VARCHAR, LN_gestiones.desde,103) AS gestion_desde,
                            CONVERT(VARCHAR, LN_gestiones.hasta,103) AS gestion_hasta,
                            LN_demo.informe as informe, LN_productos.dossier,
       IIF(ISNULL(LN_contrapartes.modalidad_pago, 'CC') = 'CC', NULL, pagos_transacciones.status) AS status,
       IIF(ISNULL(LN_contrapartes.modalidad_pago, 'CC') = 'CC', NULL, pagos_transacciones.valor) AS valor,
       IIF(ISNULL(LN_contrapartes.modalidad_pago, 'CC') = 'CC', NULL, pagos_transacciones.moneda) AS moneda
                            --es acá
       ,ln_contrapartes.servicio_contratado,
       UPPER(productos.nombre_producto) as servicio_contratado_name, 
       case LN_gestiones.Iv_informe 
        when 1 then 'SI'
        when 0 then 'NO'
        else null 
       end as iv_informe,
       iif(isnull(CDE.DE,0) > 0,1,0) as tiene_de, 
       iif(isnull(CLCS.LCS, 0) > 0,1,0) as tiene_lcs,
       iif(isnull(MLCS.LCS, 0) > 0,1,0) as tiene_mlcs,
       iif(isnull(PP.PP, 0) > 0,1,0) as tiene_pp,

       ln_contrapartes.pais_servicio as pais_servicio_cod, 
       pais_servicio.country_name as pais_servicio,ln_demo.docs_ok,ln_demo.integ_carga,ln_demo.integ_rech,ln_demo.integ_verif,
       iif(ln_demo.fecha_comprometida is null,iPPAL.fecha_comprometida,ln_demo.fecha_comprometida) as fecha_comprometida_informe,

       /*ln_demo.fecha_comprometida as fecha_comprometida_informe,*/iPPAL.fecha_comprometida as blue_comprometido,

       /*tipos_informe.nombre_tipo_informe as nombre_tarea,tPPAL.nombre_tipo_informe as nombre_informe,*/
       LN_tareas.nombre_tarea,
       LN_tipo_informes.nombre_tipo_informe as nombre_informe,

       iPPAL.estado_informe as cod_estado_informe,informes.estado_informe as cod_estado_tarea,
       case
        when iPPAL.estado_informe = 'I' then 'Ingresado'
        when iPPAL.estado_informe = 'A' then 'No calificado'
        when iPPAL.estado_informe = 'X' then 'Carga Comercial'
        when iPPAL.estado_informe = 'T' then 'Respondido'
        when iPPAL.estado_informe = 'P' then 'En gestión'
        when iPPAL.estado_informe = 'W' then 'En espera'
        when iPPAL.estado_informe = 'M' then 'A Completar'
        when iPPAL.estado_informe = 'E' then 'En proceso'
        when iPPAL.estado_informe = 'F' then 'Finalizado'
        when iPPAL.estado_informe = 'K' then 'Aprobado'
        when iPPAL.estado_informe = 'R' then 'Observado'
        when iPPAL.estado_informe = 'C' then 'Rechazado'
        when iPPAL.estado_informe = 'N' then 'Anulado'
       end as estado_informe,
       case
        when informes.estado_informe = 'I' then 'Ingresado'
        when informes.estado_informe = 'A' then 'No calificado'
        when informes.estado_informe = 'X' then 'Carga Comercial'
        when informes.estado_informe = 'T' then 'Respondido'
        when informes.estado_informe = 'P' then 'En gestión'
        when informes.estado_informe = 'W' then 'En espera'
        when informes.estado_informe = 'M' then 'A Completar'
        when informes.estado_informe = 'E' then 'En proceso'
        when informes.estado_informe = 'F' then 'Finalizado'
        when informes.estado_informe = 'K' then 'Aprobado'
        when informes.estado_informe = 'R' then 'Observado'
        when informes.estado_informe = 'C' then 'Rechazado'
        when informes.estado_informe = 'N' then 'Anulado'
       end as estado_tarea,
      /*
       case
       when informes.estado_informe = 'I' then 'Ingresado'
       when informes.estado_informe = 'A' then 'Asignado'
       when informes.estado_informe = 'T' then 'Respondido'
       when informes.estado_informe = 'P' then 'En gestión'
       when informes.estado_informe = 'M' then 'En espera'
       when informes.estado_informe = 'E' then 'En proceso'
       when informes.estado_informe = 'F' then 'Finalizado'
       when informes.estado_informe = 'K' then 'Aprobado'
       when informes.estado_informe = 'R' then 'Observado'
       when iPPAL.estado_informe = 'W' then 'En espera'
       end as estado_tareaBKP,
       */

       /*informes.fecha_iniciado as inicio_tarea,*/
       informes.fecha_inicio as inicio_tarea,
       informes.fecha_entregado as fin_tarea,informes.fecha_comprometida as fecha_comprometida_tarea,
       /*iPPAL.fecha_iniciado as inicio_informe,*/
       iPPAL.fecha_inicio as inicio_informe,
       iPPAL.fecha_entregado as fin_informe, 
       informes.fecha_entregado - informes.fecha_iniciado as tiempo_tarea,
       informes.fecha_entregado -informes.fecha_comprometida as diffTarea,
       iPPAL.fecha_entregado - iPPAL.fecha_iniciado as tiempo_informe,
       iPPAL.fecha_entregado -informes.fecha_comprometida as diffInforme,
       informes.informe as idTarea,informes.orden as ordTarea,
       uInforme.last_name + ' ' +  uInforme.first_name as usuario_informe,
       uTarea.last_name + ' ' + uTarea.first_name as usuario_tarea ,
       informes.prioridad as tarea_prioridad,
       iPPAL.prioridad as informe_prioridad,informes.pausa,
       informes.ready_to_start_trigger_task as idTareaPadre,
       informes.ready_to_start_date,
       informes.ready_to_start,
       informes.ready_to_start_user_id,
       'Z' as estadoTareaPadre,LN_tareas.idTarea_Padre as dependencia 

 -- select * from informes where informe = 100566626
-- update informes set pausa=1 where informe = 100566626
-- getdate()-ln_demo.fecha_comprometida as diffInforme 

                            FROM LN_contrapartes
                            INNER JOIN LN_gestiones on LN_gestiones.contraparte = LN_contrapartes.contraparte
                            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 country pais_servicio ON LN_contrapartes.pais_servicio = pais_servicio.country_code

                            INNER JOIN users users1 ON LN_contrapartes.created_by = users1.user_id
       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 dbo.DelimitedSplit8K(@V_plataforma, ',') exceptuados ON LN_contrapartes.servicio_contratado = convert(int,exceptuados.Item) 

                            LEFT OUTER JOIN users users2 ON LN_contrapartes.modified_by = users2.user_id

       LEFT OUTER JOIN LN_demo ON (LN_contrapartes.contraparte = LN_demo.contraparte AND LN_gestiones.gestion = LN_demo.gestion)
       LEFT OUTER JOIN LN_productos ON LN_demo.producto = LN_productos.producto
       LEFT OUTER JOIN productos on productos.producto = LN_contrapartes.servicio_contratado
       
       inner join informes on (ln_demo.informe=informes.informe_padre  /*and informes.estado_informe not in ('X','K')*/)
       inner join tipos_informe on informes.id_tipo_informe=tipos_informe.id_tipo_informe 
       left join users uTarea on informes.asignado = uTarea.user_id
        
       inner join informes iPPAL on (ln_demo.informe=iPPAL.informe  and iPPAL.estado_informe not in ('X','K'))
       inner join tipos_informe tPPAL on iPPAL.id_tipo_informe=tPPAL.id_tipo_informe 
       left join users uInforme on iPPAL.asignado = uInforme.user_id
       INNER JOIN dbo.DelimitedSplit8K(@V_plataforma, ',') Segmentado on LN_contrapartes.servicio_contratado = Segmentado.Item 

       LEFT OUTER JOIN pagos_transacciones ON LN_contrapartes.contraparte = pagos_transacciones.contraparte 

       left outer join (select FP.familia, count(*) as DE from 
            LN_familia_productos FP
            inner join 
            LN_cliente_productos CP on (CP.producto = FP.producto and CP.cliente = @V_cliente and CP.activo = 1)
            inner join 
            LN_productos P on P.producto = FP.producto 
            where FP.activo = 1
              and P.visible = 1 
              and P.producto_id in ('dependEconomica','dependEconomicaBal')
              group by FP.familia) CDE
            on (CDE.familia = LN_contraparte_familias.familia)
       left outer join (select FP.familia, count(*) as LCS from 
            LN_familia_productos FP
            inner join 
            LN_cliente_productos CP on (CP.producto = FP.producto and CP.cliente = @V_cliente and CP.activo = 1)
            inner join 
            LN_productos P on P.producto = FP.producto 
            where FP.activo = 1
              and P.visible = 1 
              and P.producto_id in ('limiteCredito')
              group by FP.familia) CLCS
            on (CLCS.familia = LN_contraparte_familias.familia)
       left outer join (select FP.familia, count(*) as LCS from 
            LN_familia_productos FP
            inner join 
            LN_cliente_productos CP on (CP.producto = FP.producto and CP.cliente = @V_cliente and CP.activo = 1)
            inner join 
            LN_productos P on P.producto = FP.producto 
            where FP.activo = 1
              and P.visible = 1 
              and P.producto_id in ('limiteCreditoMultiple')
              group by FP.familia) MLCS
            on (MLCS.familia = LN_contraparte_familias.familia)
       left outer join (select FP.familia, count(*) as PP from 
            LN_familia_productos FP
            inner join 
            LN_cliente_productos CP on (CP.producto = FP.producto and CP.cliente = @V_cliente and CP.activo = 1)
            inner join 
            LN_productos P on P.producto = FP.producto 
            where FP.activo = 1
              and P.visible = 1 
              and P.producto_id in ('planespago')
              group by FP.familia) PP
            on (PP.familia = LN_contraparte_familias.familia)
       /*left join LN_tareas on tipos_informe.tipo_tarea = LN_tareas.idTarea  --LN_tareas.idTarea_Padre as dependencia*/
       left join LN_tareas on LN_tareas.id_tipo_informe_blue=informes.id_tipo_informe  --LN_tareas.idTarea_Padre as dependencia
       inner join LN_tipo_informes on iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme  

                            WHERE /*LN_contrapartes.cliente = @V_cliente
                                                        AND LN_contrapartes.subcontratista = 0
                             AND LN_contrapartes.activo = 1
                                                        AND */
 LN_gestiones.desde <= CONVERT(date, GETDATE())
                            AND LN_gestiones.hasta >= CONVERT(date, GETDATE())
       and isnull(ln_demo.visible,0)=0
       AND LN_contrapartes.activo = 1
       and iPPAL.estado_informe not in ('F','C','N','K')
       /*and ln_contrapartes.servicio_contratado in (10)*/ 
       and informes.informe_padre is not null


                            ORDER BY fecha_comprometida_informe asc, padrones.nombre_persona,ordTarea asc


       END   

   if (@V_accion = 'panel_solo_informes')
   begin

    SELECT  @V_plataforma as plataforma,LN_contrapartes.servicio_contratado as Segmentado, LN_contrapartes.contraparte,ln_familias.nombre_familia, 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,
                            CONVERT(VARCHAR, LN_contrapartes.vigencia_desde,103) AS vigencia_desde,
                            CONVERT(VARCHAR, LN_contrapartes.vigencia_hasta,103) AS vigencia_hasta,
                            LN_contrapartes.clave, LN_contrapartes.clave_temporal,
                            CONVERT(VARCHAR(19), LN_contrapartes.clave_cambio, 121) as clave_cambio, 
                            CONVERT(VARCHAR(19), LN_contrapartes.clave_expira, 121) as clave_expira, 
                            CONVERT(VARCHAR(19), LN_contrapartes.last_login, 121) as last_login,
       ISNULL(LN_contrapartes.modalidad_pago, 'CC') as modalidad_pago,
                            LN_contrapartes.created_by, LN_contrapartes.modified_by,
                            padrones.identificador, padrones.numero, padrones.nombre_persona, identificadores.abreviatura,
                            padrones.identificacion, 
       country.country_code as country_name, 
       clientes.nombre_cliente, 
                            CONVERT(VARCHAR(19), LN_contrapartes.created, 121) as created, 
                            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 as gestion,
       LN_gestiones.desde as desde, 
       CONVERT(VARCHAR, LN_gestiones.desde,103) AS gestion_desde,
                            CONVERT(VARCHAR, LN_gestiones.hasta,103) AS gestion_hasta,
                            LN_demo.informe as informe, LN_productos.dossier,
       IIF(ISNULL(LN_contrapartes.modalidad_pago, 'CC') = 'CC', NULL, pagos_transacciones.status) AS status,
       IIF(ISNULL(LN_contrapartes.modalidad_pago, 'CC') = 'CC', NULL, pagos_transacciones.valor) AS valor,
       IIF(ISNULL(LN_contrapartes.modalidad_pago, 'CC') = 'CC', NULL, pagos_transacciones.moneda) AS moneda
                            --es acá
       ,ln_contrapartes.servicio_contratado,
       UPPER(productos.nombre_producto) as servicio_contratado_name, 
       case LN_gestiones.Iv_informe 
        when 1 then 'SI'
        when 0 then 'NO'
        else null 
       end as iv_informe,

       ln_contrapartes.pais_servicio as pais_servicio_cod, 
       pais_servicio.country_name as pais_servicio,ln_demo.docs_ok,ln_demo.integ_carga,ln_demo.integ_rech,ln_demo.integ_verif,
       iif(ln_demo.fecha_comprometida is null,iPPAL.fecha_comprometida,ln_demo.fecha_comprometida) as fecha_comprometida_informe,

       /*ln_demo.fecha_comprometida as fecha_comprometida_informe,*/iPPAL.fecha_comprometida as blue_comprometido,

       /*tipos_informe.nombre_tipo_informe as nombre_tarea,*/
/* tPPAL.nombre_tipo_informe as nombre_informe,*/
       iPPAL.estado_informe as cod_estado_informe,
       /*informes.estado_informe as cod_estado_tarea,*/
       LN_tareas.nombre_tarea,
       LN_tipo_informes.nombre_tipo_informe as nombre_informe,

       case
        when iPPAL.estado_informe = 'I' then 'Ingresado'
        when iPPAL.estado_informe = 'A' then 'No calificado'
        when iPPAL.estado_informe = 'X' then 'Carga Comercial'
        when iPPAL.estado_informe = 'T' then 'Respondido'
        when iPPAL.estado_informe = 'P' then 'En gestión'
        when iPPAL.estado_informe = 'W' then 'En espera'
        when iPPAL.estado_informe = 'M' then 'A Completar'
        when iPPAL.estado_informe = 'E' then 'En proceso'
        when iPPAL.estado_informe = 'F' then 'Finalizado'
        when iPPAL.estado_informe = 'K' then 'Aprobado'
        when iPPAL.estado_informe = 'R' then 'Observado'
        when iPPAL.estado_informe = 'C' then 'Rechazado'
        when iPPAL.estado_informe = 'N' then 'Anulado'
       end as estado_informe,
       /*case
        when informes.estado_informe = 'I' then 'Ingresado'
        when informes.estado_informe = 'A' then 'No calificado'
        when informes.estado_informe = 'X' then 'Carga Comercial'
        when informes.estado_informe = 'T' then 'Respondido'
        when informes.estado_informe = 'P' then 'En gestión'
        when informes.estado_informe = 'W' then 'En espera'
        when informes.estado_informe = 'M' then 'A Completar'
        when informes.estado_informe = 'E' then 'En proceso'
        when informes.estado_informe = 'F' then 'Finalizado'
        when informes.estado_informe = 'K' then 'Aprobado'
        when informes.estado_informe = 'R' then 'Observado'
        when informes.estado_informe = 'C' then 'Rechazado'
        when informes.estado_informe = 'N' then 'Anulado'
        end as estado_tarea,*/

      /*
       case
       when informes.estado_informe = 'I' then 'Ingresado'
       when informes.estado_informe = 'A' then 'Asignado'
       when informes.estado_informe = 'T' then 'Respondido'
       when informes.estado_informe = 'P' then 'En gestión'
       when informes.estado_informe = 'M' then 'En espera'
       when informes.estado_informe = 'E' then 'En proceso'
       when informes.estado_informe = 'F' then 'Finalizado'
       when informes.estado_informe = 'K' then 'Aprobado'
       when informes.estado_informe = 'R' then 'Observado'
       when iPPAL.estado_informe = 'W' then 'En espera'
       end as estado_tareaBKP,
       */

       /*informes.fecha_iniciado as inicio_tarea,*/
       /*informes.fecha_inicio as inicio_tarea,*/
       /*informes.fecha_entregado as fin_tarea,
        informes.fecha_comprometida as fecha_comprometida_tarea,*/

       /*iPPAL.fecha_iniciado as inicio_informe,*/
       iPPAL.fecha_inicio as inicio_informe,
       iPPAL.fecha_entregado as fin_informe, 
       /*
        informes.fecha_entregado - informes.fecha_iniciado as tiempo_tarea,
        informes.fecha_entregado -informes.fecha_comprometida as diffTarea,
        */

       iPPAL.fecha_entregado - iPPAL.fecha_iniciado as tiempo_informe,
       /*iPPAL.fecha_entregado -informes.fecha_comprometida as diffInforme,*/
       /*informes.informe as idTarea,informes.orden as ordTarea,*/
       uInforme.last_name + ' ' +  uInforme.first_name as usuario_informe,
       /*uTarea.last_name + ' ' + uTarea.first_name as usuario_tarea ,*/
       /*informes.prioridad as tarea_prioridad,*/
       iPPAL.prioridad as informe_prioridad 
       /*informes.pausa,*/
       /*999999 as idTareaPadre,'Z' as estadoTareaPadre*/

 -- select * from informes where informe = 100566626
-- update informes set pausa=1 where informe = 100566626
-- getdate()-ln_demo.fecha_comprometida as diffInforme 



                            FROM LN_contrapartes
                            INNER JOIN LN_gestiones on LN_gestiones.contraparte = LN_contrapartes.contraparte
                            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 country pais_servicio ON LN_contrapartes.pais_servicio = pais_servicio.country_code

                            INNER JOIN users users1 ON LN_contrapartes.created_by = users1.user_id
       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 dbo.DelimitedSplit8K(@V_plataforma, ',') exceptuados ON LN_contrapartes.servicio_contratado = convert(int,exceptuados.Item) 

                            LEFT OUTER JOIN users users2 ON LN_contrapartes.modified_by = users2.user_id

       LEFT OUTER JOIN LN_demo ON (LN_contrapartes.contraparte = LN_demo.contraparte AND LN_gestiones.gestion = LN_demo.gestion)
       LEFT OUTER JOIN LN_productos ON LN_demo.producto = LN_productos.producto
       LEFT OUTER JOIN productos on productos.producto = LN_contrapartes.servicio_contratado
       /*
        inner join informes on (ln_demo.informe=informes.informe_padre  and informes.estado_informe not in ('X','K'))
        inner join tipos_informe on informes.id_tipo_informe=tipos_informe.id_tipo_informe 
        left join users uTarea on informes.asignado = uTarea.user_id
         */

       inner join informes iPPAL on (ln_demo.informe=iPPAL.informe  and iPPAL.estado_informe not in ('X','K'))
       inner join tipos_informe tPPAL on iPPAL.id_tipo_informe=tPPAL.id_tipo_informe 
       left join users uInforme on iPPAL.asignado = uInforme.user_id
       INNER JOIN dbo.DelimitedSplit8K(@V_plataforma, ',') Segmentado on LN_contrapartes.servicio_contratado = Segmentado.Item 

       inner join LN_tipo_informes on iPPAL.id_tipo_informe=LN_tipo_informes.idTipoInforme  
       left join LN_tareas on LN_tareas.id_tipo_informe_blue=iPPAL.id_tipo_informe 

       LEFT OUTER JOIN pagos_transacciones ON LN_contrapartes.contraparte = pagos_transacciones.contraparte 

                            WHERE LN_gestiones.desde <= CONVERT(date, GETDATE())
                            AND LN_gestiones.hasta >= CONVERT(date, GETDATE())
       and ln_contrapartes.cliente !=110864291
       and isnull(ln_demo.visible,0)=0
       AND LN_contrapartes.activo = 1
       and iPPAL.estado_informe not in ('F','C','N','K')

       and iPPAL.informe_padre is null
                            ORDER BY fecha_comprometida_informe asc, padrones.nombre_persona
       /*,ordTarea asc*/


   end



-- exec LN_panel_reports "filt_panel_informesAGB","793639331","3920694",null,null,null,"47",null,"2024-04-23 00:00:00","2024-06-28 23:59:59",null,0,null,"9876082",null

            if (@V_accion ='filt_panel_informes') 
            BEGIN
                 if (@V_fecha_desde_publicacion is not null and @V_fecha_hasta_publicacion is not null)
     begin
      set @V_fecha_desde = null
      set @V_fecha_hasta = null
      set @V_publicado = 1
     end

      SELECT  
       iPPAL.fecha_comprometida,ln_demo.idTeam,iPPAL.idioma, LN_contrapartes.contraparte,LN_contrapartes.country_code,
                            padrones.identificador, padrones.nombre_persona, identificadores.abreviatura,
                            padrones.identificacion,clientes.nombre_cliente, 
                            LN_gestiones.gestion as gestion,
       CONVERT(VARCHAR, LN_gestiones.desde,103) AS gestion_desde,
                            LN_demo.informe as informe,
       LN_tipo_informes.nombre_tipo_informe as nombre_informe,
       iPPal.prioridad as dedicacion,
       convert(varchar(10),iPPAL.fecha_inicio,103) as inicio_informe,
       case
        when iPPAL.estado_informe = 'I' then 'Ingresado'
        when iPPAL.estado_informe = 'A' then 'No calificado'
        when iPPAL.estado_informe = 'X' then 'Carga Comercial'
        when iPPAL.estado_informe = 'T' then 'Respondido'
        when iPPAL.estado_informe = 'P' then 'En gestión'
        when iPPAL.estado_informe = 'W' then 'En espera'
        when iPPAL.estado_informe = 'M' then 'A Completar'
        when iPPAL.estado_informe = 'E' then 'En proceso'
        when iPPAL.estado_informe = 'F' then 'Finalizado'
        when iPPAL.estado_informe = 'K' then 'Aprobado'
        when iPPAL.estado_informe = 'R' then 'Observado'
        when iPPAL.estado_informe = 'C' then 'rechazado'
        when iPPAL.estado_informe = 'N' then 'Anulado'
       end as nombre_estado_informe,
                            ln_demo.fecha_publicacion as publicado, 
       ln_demo.fin_daga_ext,LN_demo.fin_daga_int, padrones.identificacion, country.country_name,ln_demo.TAT_front,ln_demo.TAT_prod,
       LN_contrapartes.id_referencia, 
       ISNULL(IV_busquedas.ref, '') + ' - ' + ISNULL(IV_busquedas.ref_nombre, '') AS referencia_interna, 
       IV_busquedas.ref_seccion as seccion, IV_busquedas.ref_cargo, 
       usersI.first_name + ' ' + usersI.last_name as ingresado_por, 
       sector.nombre_largo as sector,
       LN_familias.country_code as country_code_familia,
       LN_contrapartes.datos_comerciales



                            FROM LN_contrapartes
                            INNER JOIN LN_gestiones on LN_gestiones.contraparte = LN_contrapartes.contraparte
                            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 country pais_servicio ON LN_contrapartes.pais_servicio = pais_servicio.country_code
                            INNER JOIN users users1 ON LN_contrapartes.created_by = users1.user_id
       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 dbo.DelimitedSplit8K(@V_plataforma, ',') exceptuados ON LN_contrapartes.servicio_contratado = convert(int,exceptuados.Item) 
       LEFT OUTER JOIN users users2 ON LN_contrapartes.modified_by = users2.user_id
       LEFT OUTER JOIN LN_demo ON (LN_contrapartes.contraparte = LN_demo.contraparte AND LN_gestiones.gestion = LN_demo.gestion)
       LEFT OUTER JOIN LN_productos ON LN_demo.producto = LN_productos.producto
       LEFT OUTER JOIN productos on productos.producto = LN_contrapartes.servicio_contratado
       inner join informes iPPAL on (ln_demo.informe=iPPAL.informe /*and iPPAL.estado_informe not in ('X','F','C','N','K')*/) 
       LEFT join LN_tipo_informes ON LN_tipo_informes.idTipoInforme=iPPAL.id_tipo_informe
       /*inner join tipos_informe tPPAL on iPPAL.id_tipo_informe=tPPAL.id_tipo_informe */
       
       /*LEFT OUTER JOIN pagos_transacciones ON LN_contrapartes.contraparte = pagos_transacciones.contraparte */
       LEFT OUTER JOIN IV_busquedas on IV_busquedas.informe = LN_demo.informe

       LEFT OUTER JOIN users usersI ON usersI.user_id = iPPAL.ingresado_por 


       left join LN_cliente_datos_privados sector on (sector.cliente = ln_contrapartes.cliente and sector.idReg = ln_contrapartes.idSectorPriv) 


       
    
       WHERE /*LN_gestiones.desde <= CONVERT(date, GETDATE())
                                   AND LN_gestiones.hasta >= CONVERT(date, GETDATE())
        AND */
 LN_contrapartes.activo in (1)
       and ln_contrapartes.cliente = COALESCE(@V_cliente,ln_contrapartes.cliente)
       /*
        and (isnull(ln_demo.visible,0))=COALESCE(isnull(@V_publicado,0),ln_demo.visible)
        and (isnull(ln_demo.docs_ok,0))=COALESCE(@V_docsOK,ln_demo.docs_ok)
        */

       AND PADRONES.id_padron = COALESCE(@V_idPadron,padrones.id_padron)
       and ln_contrapartes.country_code= COALESCE(@V_country_code_tax_id,ln_contrapartes.country_code) 
       and iPPal.id_tipo_informe = COALESCE(@V_tipo_informe,iPPal.id_tipo_informe)
       AND iPPAL.estado_informe = COALESCE(@V_estado_informe,iPPAL.estado_informe)
       /*AGB 27-02-2023 VERIFICAR VOLVER A DESCOMENTAR*/

       and ((iPPAL.fecha_ingreso between @V_fecha_desde and @V_fecha_hasta) or (LN_demo.fecha_publicacion between @V_fecha_desde_publicacion and @V_fecha_hasta_publicacion))




       /*
        and iPPAL.cliente not in (2254875,3920694)
        */


       /*or (LN_demo.fecha_publicacion between @V_fecha_desde_publicacion and @V_fecha_hasta_publicacion))*/
-- and (LN_demo.fecha_publicacion between @V_fecha_desde_publicacion and @V_fecha_hasta_publicacion)
       


                            ORDER BY iPPAL.fecha_comprometida asc,  padrones.nombre_persona



            end

            if (@V_accion ='filt_panel_informesANT') 
                BEGIN        
     if (@V_fecha_desde_publicacion is not null and @V_fecha_hasta_publicacion is not null)
     begin
      set @V_fecha_desde = null
      set @V_fecha_hasta = null
      set @V_publicado = 1
     end

      SELECT  
       LN_contrapartes.contraparte,LN_contrapartes.country_code,
                            padrones.identificador, padrones.nombre_persona, identificadores.abreviatura,
                            padrones.identificacion,clientes.nombre_cliente, 
                            LN_gestiones.gestion as gestion,
       CONVERT(VARCHAR, LN_gestiones.desde,103) AS gestion_desde,
                            LN_demo.informe as informe,
       LN_tipo_informes.nombre_tipo_informe as nombre_informe,
       iPPal.prioridad as dedicacion,
       convert(varchar(10),iPPAL.fecha_inicio,103) as inicio_informe,
       case
        when iPPAL.estado_informe = 'I' then 'Ingresado'
        when iPPAL.estado_informe = 'A' then 'No calificado'
        when iPPAL.estado_informe = 'X' then 'Carga Comercial'
        when iPPAL.estado_informe = 'T' then 'Respondido'
        when iPPAL.estado_informe = 'P' then 'En gestión'
        when iPPAL.estado_informe = 'W' then 'En espera'
        when iPPAL.estado_informe = 'M' then 'A Completar'
        when iPPAL.estado_informe = 'E' then 'En proceso'
        when iPPAL.estado_informe = 'F' then 'Finalizado'
        when iPPAL.estado_informe = 'K' then 'Aprobado'
        when iPPAL.estado_informe = 'R' then 'Observado'
        when iPPAL.estado_informe = 'C' then 'rechazado'
        when iPPAL.estado_informe = 'N' then 'Anulado'
       end as nombre_estado_informe,
                            ln_demo.fecha_publicacion as publicado, 
       ln_demo.fin_daga_ext,LN_demo.fin_daga_int, padrones.identificacion, country.country_name,ln_demo.TAT_front,ln_demo.TAT_prod,
       LN_contrapartes.id_referencia, 
       ISNULL(IV_busquedas.ref, '') + ' - ' + ISNULL(IV_busquedas.ref_nombre, '') AS referencia_interna, 
       IV_busquedas.ref_seccion as seccion, IV_busquedas.ref_cargo, 
       usersI.first_name + ' ' + usersI.last_name as ingresado_por, 
       sector.nombre_largo as sector


/* POR CULPA DE TOMMY 
 SELECT  /*
 iPPAL.informe as inf2, ln_contrapartes.servicio_contratado, iPPAL.fecha_ingreso  as Ingreso,convert(varchar(10),iPPAL.fecha_inicio,103) as inicio_informe2,
convert(varchar(10),iPPAL.fecha_aprobacion,103) as fin_informe2,ln_demo.fecha_publicacion as publicado2, 
*/

LN_contrapartes.contraparte,ln_familias.nombre_familia, 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,
                            CONVERT(VARCHAR, LN_contrapartes.vigencia_desde,103) AS vigencia_desde,
                            CONVERT(VARCHAR, LN_contrapartes.vigencia_hasta,103) AS vigencia_hasta,
                            /*LN_contrapartes.clave, LN_contrapartes.clave_temporal,
                            CONVERT(VARCHAR(19), LN_contrapartes.clave_cambio, 121) as clave_cambio, 
                            CONVERT(VARCHAR(19), LN_contrapartes.clave_expira, 121) as clave_expira, */

                            CONVERT(VARCHAR(19), LN_contrapartes.last_login, 121) as last_login,
/*ISNULL(LN_contrapartes.modalidad_pago, 'CC') as modalidad_pago,*/

                            LN_contrapartes.created_by, LN_contrapartes.modified_by,
                            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(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 as gestion,
LN_gestiones.desde as desde, 
CONVERT(VARCHAR, LN_gestiones.desde,103) AS gestion_desde,
                            CONVERT(VARCHAR, LN_gestiones.hasta,103) AS gestion_hasta,
                            LN_demo.informe as informe, LN_productos.dossier,
ln_contrapartes.servicio_contratado,
UPPER(productos.nombre_producto) as servicio_contratado_name, 
case LN_gestiones.Iv_informe 
when 1 then 'SI'
when 0 then 'NO'
else null 
end as iv_informe,

ln_contrapartes.pais_servicio as pais_servicio_cod, 
pais_servicio.country_name as pais_servicio,

ln_demo.docs_ok,

ln_demo.integ_carga,ln_demo.integ_rech,ln_demo.integ_verif,
convert(varchar(10),ISNULL(ln_demo.fecha_comprometida,GETDATE()-1),103) AS fecha_comprometida,

/*tPPAL.nombre_tipo_informe as nombre_informe,*/

LN_tipo_informes.nombre_tipo_informe as nombre_informe,
iPPAL.estado_informe,
isnull(ln_demo.visible,0) as visible,

iPPal.id_tipo_informe,
iPPal.prioridad as dedicacion,

convert(varchar(10),iPPAL.fecha_inicio,103) as inicio_informe,
convert(varchar(10),iPPAL.fecha_aprobacion,103) as fin_informe,
case
when iPPAL.estado_informe = 'I' then 'Ingresado'
when iPPAL.estado_informe = 'A' then 'No calificado'
when iPPAL.estado_informe = 'X' then 'Carga Comercial'
when iPPAL.estado_informe = 'T' then 'Respondido'
when iPPAL.estado_informe = 'P' then 'En gestión'
when iPPAL.estado_informe = 'W' then 'En espera'
when iPPAL.estado_informe = 'M' then 'A Completar'
when iPPAL.estado_informe = 'E' then 'En proceso'
when iPPAL.estado_informe = 'F' then 'Finalizado'
when iPPAL.estado_informe = 'K' then 'Aprobado'
when iPPAL.estado_informe = 'R' then 'Observado'
when iPPAL.estado_informe = 'C' then 'Rechazado'
when iPPAL.estado_informe = 'N' then 'Anulado'
end as nombre_estado_informe,
                            ln_demo.fecha_publicacion as publicado, 
IV_busquedas.ref, IV_busquedas.ref_nombre, IV_busquedas.ref_cargo, IV_busquedas.ref_seccion,ln_demo.fin_daga_ext,LN_demo.fin_daga_int 
*/


                            FROM LN_contrapartes
                            INNER JOIN LN_gestiones on LN_gestiones.contraparte = LN_contrapartes.contraparte
                            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 country pais_servicio ON LN_contrapartes.pais_servicio = pais_servicio.country_code
                            INNER JOIN users users1 ON LN_contrapartes.created_by = users1.user_id
       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 dbo.DelimitedSplit8K(@V_plataforma, ',') exceptuados ON LN_contrapartes.servicio_contratado = convert(int,exceptuados.Item) 
       LEFT OUTER JOIN users users2 ON LN_contrapartes.modified_by = users2.user_id
       LEFT OUTER JOIN LN_demo ON (LN_contrapartes.contraparte = LN_demo.contraparte AND LN_gestiones.gestion = LN_demo.gestion)
       LEFT OUTER JOIN LN_productos ON LN_demo.producto = LN_productos.producto
       LEFT OUTER JOIN productos on productos.producto = LN_contrapartes.servicio_contratado
       inner join informes iPPAL on (ln_demo.informe=iPPAL.informe /*and iPPAL.estado_informe not in ('X','F','C','N','K')*/) 
       LEFT join LN_tipo_informes ON LN_tipo_informes.idTipoInforme=iPPAL.id_tipo_informe
       /*inner join tipos_informe tPPAL on iPPAL.id_tipo_informe=tPPAL.id_tipo_informe */
       
       /*LEFT OUTER JOIN pagos_transacciones ON LN_contrapartes.contraparte = pagos_transacciones.contraparte */
       LEFT OUTER JOIN IV_busquedas on IV_busquedas.informe = LN_demo.informe

       LEFT OUTER JOIN users usersI ON usersI.user_id = iPPAL.ingresado_por 


       left join LN_cliente_datos_privados sector on (sector.cliente = ln_contrapartes.cliente and sector.idReg = ln_contrapartes.idSectorPriv) 


       
    
       WHERE /*LN_gestiones.desde <= CONVERT(date, GETDATE())
                                   AND LN_gestiones.hasta >= CONVERT(date, GETDATE())
        AND */
 LN_contrapartes.activo in (1)
       and ln_contrapartes.cliente = COALESCE(@V_cliente,ln_contrapartes.cliente)
       /*
        and (isnull(ln_demo.visible,0))=COALESCE(isnull(@V_publicado,0),ln_demo.visible)
        and (isnull(ln_demo.docs_ok,0))=COALESCE(@V_docsOK,ln_demo.docs_ok)
        */

       AND PADRONES.id_padron = COALESCE(@V_idPadron,padrones.id_padron)
       and ln_contrapartes.country_code= COALESCE(@V_country_code_tax_id,ln_contrapartes.country_code) 
       and iPPal.id_tipo_informe = COALESCE(@V_tipo_informe,iPPal.id_tipo_informe)
       AND iPPAL.estado_informe = COALESCE(@V_estado_informe,iPPAL.estado_informe)
       /*AGB 27-02-2023 VERIFICAR VOLVER A DESCOMENTAR*/

       and ((iPPAL.fecha_ingreso between @V_fecha_desde and @V_fecha_hasta) or (LN_demo.fecha_publicacion between @V_fecha_desde_publicacion and @V_fecha_hasta_publicacion))




       /*
        and iPPAL.cliente not in (2254875,3920694)
        */


       /*or (LN_demo.fecha_publicacion between @V_fecha_desde_publicacion and @V_fecha_hasta_publicacion))*/
-- and (LN_demo.fecha_publicacion between @V_fecha_desde_publicacion and @V_fecha_hasta_publicacion)
       


                            ORDER BY iPPAL.fecha_comprometida asc,  padrones.nombre_persona



    END



            if (@V_accion ='search_panel_informes') 
                BEGIN        
                           
                            SELECT LN_contrapartes.contraparte,ln_familias.nombre_familia, 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,
                            CONVERT(VARCHAR, LN_contrapartes.vigencia_desde,103) AS vigencia_desde,
                            CONVERT(VARCHAR, LN_contrapartes.vigencia_hasta,103) AS vigencia_hasta,
                            LN_contrapartes.clave, LN_contrapartes.clave_temporal,
                            CONVERT(VARCHAR(19), LN_contrapartes.clave_cambio, 121) as clave_cambio, 
                            CONVERT(VARCHAR(19), LN_contrapartes.clave_expira, 121) as clave_expira, 
                            CONVERT(VARCHAR(19), LN_contrapartes.last_login, 121) as last_login,
       ISNULL(LN_contrapartes.modalidad_pago, 'CC') as modalidad_pago,
                            LN_contrapartes.created_by, LN_contrapartes.modified_by,
                            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(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 as gestion,
       LN_gestiones.desde as desde, 
       CONVERT(VARCHAR, LN_gestiones.desde,103) AS gestion_desde,
                            CONVERT(VARCHAR, LN_gestiones.hasta,103) AS gestion_hasta,
                            LN_demo.informe as informe, LN_productos.dossier,
       IIF(ISNULL(LN_contrapartes.modalidad_pago, 'CC') = 'CC', NULL, pagos_transacciones.status) AS status,
       IIF(ISNULL(LN_contrapartes.modalidad_pago, 'CC') = 'CC', NULL, pagos_transacciones.valor) AS valor,
       IIF(ISNULL(LN_contrapartes.modalidad_pago, 'CC') = 'CC', NULL, pagos_transacciones.moneda) AS moneda
                            --es acá
       ,ln_contrapartes.servicio_contratado,
       UPPER(productos.nombre_producto) as servicio_contratado_name, 
       case LN_gestiones.Iv_informe 
        when 1 then 'SI'
        when 0 then 'NO'
        else null 
       end as iv_informe,

       ln_contrapartes.pais_servicio as pais_servicio_cod, 
       pais_servicio.country_name as pais_servicio,ln_demo.docs_ok,ln_demo.integ_carga,ln_demo.integ_rech,ln_demo.integ_verif,ISNULL(ln_demo.fecha_comprometida,GETDATE()-1) AS fecha_comprometida,tPPAL.nombre_tipo_informe as nombre_informem,iPPAL.estado_informe

                            FROM LN_contrapartes
                            INNER JOIN LN_gestiones on LN_gestiones.contraparte = LN_contrapartes.contraparte
                            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 country pais_servicio ON LN_contrapartes.pais_servicio = pais_servicio.country_code

                            INNER JOIN users users1 ON LN_contrapartes.created_by = users1.user_id
       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 dbo.DelimitedSplit8K(@V_plataforma, ',') exceptuados ON LN_contrapartes.servicio_contratado = convert(int,exceptuados.Item) 

       LEFT OUTER JOIN users users2 ON LN_contrapartes.modified_by = users2.user_id

       LEFT OUTER JOIN LN_demo ON (LN_contrapartes.contraparte = LN_demo.contraparte AND LN_gestiones.gestion = LN_demo.gestion)
       LEFT OUTER JOIN LN_productos ON LN_demo.producto = LN_productos.producto
       LEFT OUTER JOIN productos on productos.producto = LN_contrapartes.servicio_contratado
       

      
       inner join informes iPPAL on (ln_demo.informe=iPPAL.informe and iPPAL.estado_informe not in ('X','F','C','N','K')) 

       inner join tipos_informe tPPAL on iPPAL.id_tipo_informe=tPPAL.id_tipo_informe 
     
       LEFT OUTER JOIN pagos_transacciones ON LN_contrapartes.contraparte = pagos_transacciones.contraparte 


                            WHERE /*LN_contrapartes.cliente = @V_cliente
                                                        AND LN_contrapartes.subcontratista = 0
                             AND LN_contrapartes.activo = 1
                                                        AND */
 
       LN_gestiones.desde <= CONVERT(date, GETDATE())
                            AND LN_gestiones.hasta >= CONVERT(date, GETDATE())
       and ln_contrapartes.cliente !=110864291
       and isnull(ln_demo.visible,0)=0
       AND LN_contrapartes.activo = 1
       and iPPAL.fecha_comprometida between @V_fecha_desde and @V_fecha_hasta 
       --and ln_contrapartes.servicio_contratado in (10)
                            ORDER BY padrones.nombre_persona


       END   


            if (@V_accion ='search_reports_pendientes') 
                BEGIN        
                           
                            SELECT LN_contrapartes.contraparte,ln_familias.nombre_familia, 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,
                            CONVERT(VARCHAR, LN_contrapartes.vigencia_desde,103) AS vigencia_desde,
                            CONVERT(VARCHAR, LN_contrapartes.vigencia_hasta,103) AS vigencia_hasta,
                            LN_contrapartes.clave, LN_contrapartes.clave_temporal,
                            CONVERT(VARCHAR(19), LN_contrapartes.clave_cambio, 121) as clave_cambio, 
                            CONVERT(VARCHAR(19), LN_contrapartes.clave_expira, 121) as clave_expira, 
                            CONVERT(VARCHAR(19), LN_contrapartes.last_login, 121) as last_login,
       ISNULL(LN_contrapartes.modalidad_pago, 'CC') as modalidad_pago,
                            LN_contrapartes.created_by, LN_contrapartes.modified_by,
                            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(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 as gestion,
       LN_gestiones.desde as desde, 
       CONVERT(VARCHAR, LN_gestiones.desde,103) AS gestion_desde,
                            CONVERT(VARCHAR, LN_gestiones.hasta,103) AS gestion_hasta,
                            LN_demo.informe as informe, LN_productos.dossier,
       IIF(ISNULL(LN_contrapartes.modalidad_pago, 'CC') = 'CC', NULL, pagos_transacciones.status) AS status,
       IIF(ISNULL(LN_contrapartes.modalidad_pago, 'CC') = 'CC', NULL, pagos_transacciones.valor) AS valor,
       IIF(ISNULL(LN_contrapartes.modalidad_pago, 'CC') = 'CC', NULL, pagos_transacciones.moneda) AS moneda
                            --es acá
       ,ln_contrapartes.servicio_contratado,
       UPPER(productos.nombre_producto) as servicio_contratado_name, 
       case LN_gestiones.Iv_informe 
        when 1 then 'SI'
        when 0 then 'NO'
        else null 
       end as iv_informe,
       iif(isnull(CDE.DE,0) > 0,1,0) as tiene_de, 
       iif(isnull(CLCS.LCS, 0) > 0,1,0) as tiene_lcs,
       iif(isnull(MLCS.LCS, 0) > 0,1,0) as tiene_mlcs,
       iif(isnull(PP.PP, 0) > 0,1,0) as tiene_pp,

       ln_contrapartes.pais_servicio as pais_servicio_cod, 
       pais_servicio.country_name as pais_servicio,ln_demo.docs_ok,ln_demo.integ_carga,ln_demo.integ_rech,ln_demo.integ_verif,ln_demo.fecha_comprometida 

                            FROM LN_contrapartes
                            INNER JOIN LN_gestiones on LN_gestiones.contraparte = LN_contrapartes.contraparte
                            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 country pais_servicio ON LN_contrapartes.pais_servicio = pais_servicio.country_code

                            INNER JOIN users users1 ON LN_contrapartes.created_by = users1.user_id
       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
                            LEFT OUTER JOIN users users2 ON LN_contrapartes.modified_by = users2.user_id

       LEFT OUTER JOIN LN_demo ON (LN_contrapartes.contraparte = LN_demo.contraparte
              AND LN_gestiones.gestion = LN_demo.gestion)
       LEFT OUTER JOIN LN_productos ON LN_demo.producto = LN_productos.producto
       LEFT OUTER JOIN productos on productos.producto = LN_contrapartes.servicio_contratado

     
       LEFT OUTER JOIN pagos_transacciones ON LN_contrapartes.contraparte = pagos_transacciones.contraparte 

       left outer join (select FP.familia, count(*) as DE from 
            LN_familia_productos FP
            inner join 
            LN_cliente_productos CP on (CP.producto = FP.producto and CP.cliente = @V_cliente and CP.activo = 1)
            inner join 
            LN_productos P on P.producto = FP.producto 
            where FP.activo = 1
              and P.visible = 1 
              and P.producto_id in ('dependEconomica','dependEconomicaBal')
              group by FP.familia) CDE
            on (CDE.familia = LN_contraparte_familias.familia)
       left outer join (select FP.familia, count(*) as LCS from 
            LN_familia_productos FP
            inner join 
            LN_cliente_productos CP on (CP.producto = FP.producto and CP.cliente = @V_cliente and CP.activo = 1)
            inner join 
            LN_productos P on P.producto = FP.producto 
            where FP.activo = 1
              and P.visible = 1 
              and P.producto_id in ('limiteCredito')
              group by FP.familia) CLCS
            on (CLCS.familia = LN_contraparte_familias.familia)
       left outer join (select FP.familia, count(*) as LCS from 
            LN_familia_productos FP
            inner join 
            LN_cliente_productos CP on (CP.producto = FP.producto and CP.cliente = @V_cliente and CP.activo = 1)
            inner join 
            LN_productos P on P.producto = FP.producto 
            where FP.activo = 1
              and P.visible = 1 
              and P.producto_id in ('limiteCreditoMultiple')
              group by FP.familia) MLCS
            on (MLCS.familia = LN_contraparte_familias.familia)
       left outer join (select FP.familia, count(*) as PP from 
            LN_familia_productos FP
            inner join 
            LN_cliente_productos CP on (CP.producto = FP.producto and CP.cliente = @V_cliente and CP.activo = 1)
            inner join 
            LN_productos P on P.producto = FP.producto 
            where FP.activo = 1
              and P.visible = 1 
              and P.producto_id in ('planespago')
              group by FP.familia) PP
            on (PP.familia = LN_contraparte_familias.familia)

                            WHERE /*LN_contrapartes.cliente = @V_cliente
                                                        AND LN_contrapartes.subcontratista = 0
                             AND LN_contrapartes.activo = 1
                                                        AND */
 LN_gestiones.desde <= CONVERT(date, GETDATE())
                            AND LN_gestiones.hasta >= CONVERT(date, GETDATE())
       AND LN_DEMO.docs_ok=1
       and ln_contrapartes.cliente !=110864291
       and isnull(ln_demo.visible,0)=0
       AND LN_contrapartes.activo = 1
                            ORDER BY padrones.nombre_persona


       END   


            if (@V_accion ='search_reports_cliente') 
                BEGIN        
                           
                            SELECT LN_contrapartes.contraparte,ln_familias.nombre_familia, 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,
                            CONVERT(VARCHAR, LN_contrapartes.vigencia_desde,103) AS vigencia_desde,
                            CONVERT(VARCHAR, LN_contrapartes.vigencia_hasta,103) AS vigencia_hasta,
                            LN_contrapartes.clave, LN_contrapartes.clave_temporal,
                            CONVERT(VARCHAR(19), LN_contrapartes.clave_cambio, 121) as clave_cambio, 
                            CONVERT(VARCHAR(19), LN_contrapartes.clave_expira, 121) as clave_expira, 
                            CONVERT(VARCHAR(19), LN_contrapartes.last_login, 121) as last_login,
       ISNULL(LN_contrapartes.modalidad_pago, 'CC') as modalidad_pago,
                            LN_contrapartes.created_by, LN_contrapartes.modified_by,
                            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(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 as gestion,
       LN_gestiones.desde as desde, 
       CONVERT(VARCHAR, LN_gestiones.desde,103) AS gestion_desde,
                            CONVERT(VARCHAR, LN_gestiones.hasta,103) AS gestion_hasta,
                            LN_demo.informe as informe, LN_productos.dossier,
       IIF(ISNULL(LN_contrapartes.modalidad_pago, 'CC') = 'CC', NULL, pagos_transacciones.status) AS status,
       IIF(ISNULL(LN_contrapartes.modalidad_pago, 'CC') = 'CC', NULL, pagos_transacciones.valor) AS valor,
       IIF(ISNULL(LN_contrapartes.modalidad_pago, 'CC') = 'CC', NULL, pagos_transacciones.moneda) AS moneda
                            --es acá
       ,ln_contrapartes.servicio_contratado,
       UPPER(productos.nombre_producto) as servicio_contratado_name, 
       case LN_gestiones.Iv_informe 
        when 1 then 'SI'
        when 0 then 'NO'
        else null 
       end as iv_informe,
       iif(isnull(CDE.DE,0) > 0,1,0) as tiene_de, 
       iif(isnull(CLCS.LCS, 0) > 0,1,0) as tiene_lcs,
       iif(isnull(MLCS.LCS, 0) > 0,1,0) as tiene_mlcs,
       iif(isnull(PP.PP, 0) > 0,1,0) as tiene_pp,

       ln_contrapartes.pais_servicio as pais_servicio_cod, 
       pais_servicio.country_name as pais_servicio,ln_demo.docs_ok,ln_demo.integ_carga,ln_demo.integ_rech,ln_demo.integ_verif,ln_demo.fecha_comprometida,
       informes.estado_informe,
       case
        when informes.estado_informe = 'I' then 'Ingresado'
        when informes.estado_informe = 'A' then 'No calificado'
        when informes.estado_informe = 'X' then 'Carga Comercial'
        when informes.estado_informe = 'T' then 'Respondido'
        when informes.estado_informe = 'P' then 'En gestión'
        when informes.estado_informe = 'W' then 'En espera'
        when informes.estado_informe = 'M' then 'A Completar'
        when informes.estado_informe = 'E' then 'En proceso'
        when informes.estado_informe = 'F' then 'Finalizado'
        when informes.estado_informe = 'K' then 'Aprobado'
        when informes.estado_informe = 'R' then 'Observado'
        when informes.estado_informe = 'C' then 'Rechazado'
        when informes.estado_informe = 'N' then 'Anulado'
       end as nombre_estado_informe,tipos_informe.nombre_tipo_informe 

-- exec LN_panel_reports 'search_reports_cliente', 422946826,2254875,null,null
                            FROM LN_contrapartes
                            INNER JOIN LN_gestiones on LN_gestiones.contraparte = LN_contrapartes.contraparte
                            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 country pais_servicio ON LN_contrapartes.pais_servicio = pais_servicio.country_code

                            INNER JOIN users users1 ON LN_contrapartes.created_by = users1.user_id
       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
                            LEFT OUTER JOIN users users2 ON LN_contrapartes.modified_by = users2.user_id

       LEFT OUTER JOIN LN_demo ON (LN_contrapartes.contraparte = LN_demo.contraparte
              AND LN_gestiones.gestion = LN_demo.gestion)
       LEFT OUTER JOIN LN_productos ON LN_demo.producto = LN_productos.producto
       LEFT OUTER JOIN productos on productos.producto = LN_contrapartes.servicio_contratado

       left join informes on (ln_demo.informe = informes.informe and informes.informe_padre is null) 
       left join tipos_informe on informes.id_tipo_informe = tipos_informe.id_tipo_informe 
       LEFT OUTER JOIN pagos_transacciones ON LN_contrapartes.contraparte = pagos_transacciones.contraparte 

       left outer join (select FP.familia, count(*) as DE from 
            LN_familia_productos FP
            inner join 
            LN_cliente_productos CP on (CP.producto = FP.producto and CP.cliente = @V_cliente and CP.activo = 1)
            inner join 
            LN_productos P on P.producto = FP.producto 
            where FP.activo = 1
              and P.visible = 1 
              and P.producto_id in ('dependEconomica','dependEconomicaBal')
              group by FP.familia) CDE
            on (CDE.familia = LN_contraparte_familias.familia)
       left outer join (select FP.familia, count(*) as LCS from 
            LN_familia_productos FP
            inner join 
            LN_cliente_productos CP on (CP.producto = FP.producto and CP.cliente = @V_cliente and CP.activo = 1)
            inner join 
            LN_productos P on P.producto = FP.producto 
            where FP.activo = 1
              and P.visible = 1 
              and P.producto_id in ('limiteCredito')
              group by FP.familia) CLCS
            on (CLCS.familia = LN_contraparte_familias.familia)
       left outer join (select FP.familia, count(*) as LCS from 
            LN_familia_productos FP
            inner join 
            LN_cliente_productos CP on (CP.producto = FP.producto and CP.cliente = @V_cliente and CP.activo = 1)
            inner join 
            LN_productos P on P.producto = FP.producto 
            where FP.activo = 1
              and P.visible = 1 
              and P.producto_id in ('limiteCreditoMultiple')
              group by FP.familia) MLCS
            on (MLCS.familia = LN_contraparte_familias.familia)
       left outer join (select FP.familia, count(*) as PP from 
            LN_familia_productos FP
            inner join 
            LN_cliente_productos CP on (CP.producto = FP.producto and CP.cliente = @V_cliente and CP.activo = 1)
            inner join 
            LN_productos P on P.producto = FP.producto 
            where FP.activo = 1
              and P.visible = 1 
              and P.producto_id in ('planespago')
              group by FP.familia) PP
            on (PP.familia = LN_contraparte_familias.familia)

                            WHERE LN_contrapartes.cliente = @V_cliente
                            AND LN_contrapartes.subcontratista = 0
       AND LN_DEMO.docs_ok=1
       and isnull(ln_demo.visible,0)=0 
       /* NO FILTRA POR SERVICIO YA QUE SE FILTRA EN EL CONTROLADOR */
       --and ln_contrapartes.servicio_contratado = isnull(@V_servicio_contratado,10) 
                            ORDER BY padrones.nombre_persona

       END   


            if (@V_accion ='reports_cliente_publicados') 
                BEGIN        
                           
                            SELECT LN_contrapartes.contraparte,ln_familias.nombre_familia, 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,
                            CONVERT(VARCHAR, LN_contrapartes.vigencia_desde,103) AS vigencia_desde,
                            CONVERT(VARCHAR, LN_contrapartes.vigencia_hasta,103) AS vigencia_hasta,
                            LN_contrapartes.clave, LN_contrapartes.clave_temporal,
                            CONVERT(VARCHAR(19), LN_contrapartes.clave_cambio, 121) as clave_cambio, 
                            CONVERT(VARCHAR(19), LN_contrapartes.clave_expira, 121) as clave_expira, 
                            CONVERT(VARCHAR(19), LN_contrapartes.last_login, 121) as last_login,
       ISNULL(LN_contrapartes.modalidad_pago, 'CC') as modalidad_pago,
                            LN_contrapartes.created_by, LN_contrapartes.modified_by,
                            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(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 as gestion,
       LN_gestiones.desde as desde, 
       CONVERT(VARCHAR, LN_gestiones.desde,103) AS gestion_desde,
                            CONVERT(VARCHAR, LN_gestiones.hasta,103) AS gestion_hasta,
                            LN_demo.informe as informe, LN_productos.dossier,
       IIF(ISNULL(LN_contrapartes.modalidad_pago, 'CC') = 'CC', NULL, pagos_transacciones.status) AS status,
       IIF(ISNULL(LN_contrapartes.modalidad_pago, 'CC') = 'CC', NULL, pagos_transacciones.valor) AS valor,
       IIF(ISNULL(LN_contrapartes.modalidad_pago, 'CC') = 'CC', NULL, pagos_transacciones.moneda) AS moneda
                            --es acá
       ,ln_contrapartes.servicio_contratado,
       UPPER(productos.nombre_producto) as servicio_contratado_name, 
       case LN_gestiones.Iv_informe 
        when 1 then 'SI'
        when 0 then 'NO'
        else null 
       end as iv_informe,
       iif(isnull(CDE.DE,0) > 0,1,0) as tiene_de, 
       iif(isnull(CLCS.LCS, 0) > 0,1,0) as tiene_lcs,
       iif(isnull(MLCS.LCS, 0) > 0,1,0) as tiene_mlcs,
       iif(isnull(PP.PP, 0) > 0,1,0) as tiene_pp,

       ln_contrapartes.pais_servicio as pais_servicio_cod, 
       pais_servicio.country_name as pais_servicio,ln_demo.docs_ok,ln_demo.integ_carga,ln_demo.integ_rech,ln_demo.integ_verif,
       
       ln_demo.fecha_comprometida,
       
       informes.estado_informe,
       case
        when informes.estado_informe = 'I' then 'Ingresado'
        when informes.estado_informe = 'A' then 'No calificado'
        when informes.estado_informe = 'X' then 'Carga Comercial'
        when informes.estado_informe = 'T' then 'Respondido'
        when informes.estado_informe = 'P' then 'En gestión'
        when informes.estado_informe = 'W' then 'En espera'
        when informes.estado_informe = 'M' then 'A Completar'
        when informes.estado_informe = 'E' then 'En proceso'
        when informes.estado_informe = 'F' then 'Finalizado'
        when informes.estado_informe = 'K' then 'Aprobado'
        when informes.estado_informe = 'R' then 'Observado'
        when informes.estado_informe = 'C' then 'Rechazado'
        when informes.estado_informe = 'N' then 'Anulado'
       end as nombre_estado_informe,tipos_informe.nombre_tipo_informe ,convert(varchar(10),ln_demo.fecha_publicacion,103) as fecha_publicacion 

                            FROM LN_contrapartes
                            INNER JOIN LN_gestiones on LN_gestiones.contraparte = LN_contrapartes.contraparte
                            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 country pais_servicio ON LN_contrapartes.pais_servicio = pais_servicio.country_code

                            INNER JOIN users users1 ON LN_contrapartes.created_by = users1.user_id
       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
                            LEFT OUTER JOIN users users2 ON LN_contrapartes.modified_by = users2.user_id

       LEFT OUTER JOIN LN_demo ON (LN_contrapartes.contraparte = LN_demo.contraparte
              AND LN_gestiones.gestion = LN_demo.gestion)
       LEFT OUTER JOIN LN_productos ON LN_demo.producto = LN_productos.producto
       LEFT OUTER JOIN productos on productos.producto = LN_contrapartes.servicio_contratado

       left join informes on (ln_demo.informe = informes.informe and informes.informe_padre is null) 
       left join tipos_informe on informes.id_tipo_informe = tipos_informe.id_tipo_informe 

       LEFT OUTER JOIN pagos_transacciones ON LN_contrapartes.contraparte = pagos_transacciones.contraparte 

       left outer join (select FP.familia, count(*) as DE from 
            LN_familia_productos FP
            inner join 
            LN_cliente_productos CP on (CP.producto = FP.producto and CP.cliente = @V_cliente and CP.activo = 1)
            inner join 
            LN_productos P on P.producto = FP.producto 
            where FP.activo = 1
              and P.visible = 1 
              and P.producto_id in ('dependEconomica','dependEconomicaBal')
              group by FP.familia) CDE
            on (CDE.familia = LN_contraparte_familias.familia)
       left outer join (select FP.familia, count(*) as LCS from 
            LN_familia_productos FP
            inner join 
            LN_cliente_productos CP on (CP.producto = FP.producto and CP.cliente = @V_cliente and CP.activo = 1)
            inner join 
            LN_productos P on P.producto = FP.producto 
            where FP.activo = 1
              and P.visible = 1 
              and P.producto_id in ('limiteCredito')
              group by FP.familia) CLCS
            on (CLCS.familia = LN_contraparte_familias.familia)
       left outer join (select FP.familia, count(*) as LCS from 
            LN_familia_productos FP
            inner join 
            LN_cliente_productos CP on (CP.producto = FP.producto and CP.cliente = @V_cliente and CP.activo = 1)
            inner join 
            LN_productos P on P.producto = FP.producto 
            where FP.activo = 1
              and P.visible = 1 
              and P.producto_id in ('limiteCreditoMultiple')
              group by FP.familia) MLCS
            on (MLCS.familia = LN_contraparte_familias.familia)
       left outer join (select FP.familia, count(*) as PP from 
            LN_familia_productos FP
            inner join 
            LN_cliente_productos CP on (CP.producto = FP.producto and CP.cliente = @V_cliente and CP.activo = 1)
            inner join 
            LN_productos P on P.producto = FP.producto 
            where FP.activo = 1
              and P.visible = 1 
              and P.producto_id in ('planespago')
              group by FP.familia) PP
            on (PP.familia = LN_contraparte_familias.familia)

                            WHERE LN_contrapartes.cliente = @V_cliente
                            AND LN_contrapartes.subcontratista = 0
       AND LN_DEMO.docs_ok=1
       and isnull(ln_demo.visible,0)=1 
                            ORDER BY padrones.nombre_persona

       END   


    if (@V_accion ='filt_panel_tareas') 
                BEGIN  

     SELECT  
     LN_contrapartes.contraparte,LN_contrapartes.country_code, country.country_name,
     padrones.identificador, identificadores.abreviatura, padrones.identificacion, padrones.nombre_persona, 
     clientes.nombre_cliente, 

     LN_gestiones.gestion as gestion,
     CONVERT(VARCHAR, LN_gestiones.desde,103) AS gestion_desde,

     LN_demo.informe as informe,
     iPPal.id_tipo_informe,
     LN_tipo_informes.nombre_tipo_informe as nombre_informe,

     informes.informe as tarea, 
     informes.idTarea, 
     ln_tareas.nombre_tarea, 

     informes.fecha_inicio,
     convert(varchar(10),informes.fecha_inicio,103) as fecha_inicio_dmy, 
     informes.fecha_inicio,
     convert(varchar(10),informes.fecha_inicio,103) as fecha_inicio_dmy, 

     informes.fecha_comprometida,
     convert(varchar(10),informes.fecha_comprometida,103) as fecha_comprometida_dmy,
     informes.proximo_llamado,
     convert(varchar(10),informes.proximo_llamado,103) as proximo_llamado_dmy,

     informes.prioridad as dedicacion,

     case
     when informes.estado_informe = 'I' then 'Ingresado'
     when informes.estado_informe = 'A' then 'No calificado'
     when informes.estado_informe = 'X' then 'Carga Comercial'
     when informes.estado_informe = 'T' then 'Respondido'
     when informes.estado_informe = 'P' then 'En gestión'
     when informes.estado_informe = 'W' then 'En espera'
     when informes.estado_informe = 'M' then 'A Completar'
     when informes.estado_informe = 'E' then 'En proceso'
     when informes.estado_informe = 'F' then 'Finalizado'
     when informes.estado_informe = 'K' then 'Aprobado'
     when informes.estado_informe = 'R' then 'Observado'
     when informes.estado_informe = 'C' then 'rechazado'
     when informes.estado_informe = 'N' then 'Anulado'
     end as nombre_estado,

     informes.asignado, 
     users.first_name + ' ' + users.last_name as usuario_asignado, 
     users.username


     FROM LN_contrapartes
     INNER JOIN LN_gestiones on LN_gestiones.contraparte = LN_contrapartes.contraparte
     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 dbo.DelimitedSplit8K(@V_plataforma, ',') exceptuados ON LN_contrapartes.servicio_contratado = convert(int,exceptuados.Item) 
     LEFT OUTER JOIN LN_demo ON (LN_contrapartes.contraparte = LN_demo.contraparte AND LN_gestiones.gestion = LN_demo.gestion)
     inner join informes iPPAL on (ln_demo.informe=iPPAL.informe ) 

     inner join informes  on (informes.informe_padre=iPPAL.informe ) 
     INNER JOIN users users ON users.user_id = informes.asignado

     LEFT join LN_tipo_informes ON LN_tipo_informes.idTipoInforme=iPPAL.id_tipo_informe
     left join ln_tareas on ln_tareas.idTarea = informes.idTarea

     WHERE  LN_contrapartes.activo in (1)
     and ln_contrapartes.cliente = COALESCE(@V_cliente,ln_contrapartes.cliente)

     AND PADRONES.id_padron = COALESCE(@V_idPadron,padrones.id_padron)
     and ln_contrapartes.country_code = COALESCE(@V_country_code_tax_id,ln_contrapartes.country_code) 

     and (informes.fecha_ingreso between @V_fecha_desde and @V_fecha_hasta)

     and informes.idTarea = COALESCE(convert(int,@p_tipo_tareas),informes.idTarea)
     and iPPal.id_tipo_informe = COALESCE(@V_tipo_informe,iPPal.id_tipo_informe)

     ORDER BY informes.fecha_comprometida asc,  padrones.nombre_persona
    END

END
GO