dbo.LN_docs_

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

21
Name Data Type Length Description
@accion varchar 30
@p_doc_id int 4
@p_cliente int 4
@p_contraparte int 4
@p_tipo_doc int 4
@p_doc_version int 4
@p_estado_doc varchar 1
@p_vencimiento_carga datetime 8
@p_fecha_vigencia datetime 8
@p_doc_attach tinyint 1
@p_es_balance tinyint 1
@p_inicio_ejercicio datetime 8
@p_fin_ejercicio datetime 8
@p_texto_rechazo varchar 500
@p_doc_log text -1
@p_gestion int 4
@p_user_id int 4
@p_valoracion int 4
@p_revisado bit 1
@p_chequeo bit 1
@p_tiempo int 4

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*
LN_docs_ 'acciones_pendientes', NULL, 1313127297, 33093, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 31380, NULL
LN_docs_ 'select', 286802, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL

*/

-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE OR ALTER PROCEDURE dbo.LN_docs_ 
 -- Add the parameters for the stored procedure here
 
 @accion       varchar(30),
 @p_doc_id      int,
 @p_cliente      int,
 @p_contraparte     int,
 @p_tipo_doc      int,
 @p_doc_version     int,
 @p_estado_doc     varchar(1),
 @p_vencimiento_carga   datetime,
 @p_fecha_vigencia    datetime,
 @p_doc_attach     tinyint,
 @p_es_balance     tinyint,
 @p_inicio_ejercicio    datetime,
 @p_fin_ejercicio    datetime,
 @p_texto_rechazo    varchar(500),
 @p_doc_log      text,
 @p_gestion      int,
 @p_user_id      int, 
 @p_valoracion int = null,
 @p_revisado bit = null, 
 @p_chequeo bit = 0, 
 @p_tiempo int = 30 -- minutos a tener en cuenta en el chequeo de si alguien tiene tomado ese doc


AS
BEGIN
 -- SET NOCOUNT ON added to prevent extra result sets from
 -- interfering with SELECT statements.
 SET NOCOUNT ON;

    -- Insert statements for procedure here
 DECLARE @doc_id int
 DECLARE @nombre varchar(100)

 /* 12/02/2024: Se hace el chequeo que el documento no este siendo trabajado por otro usuario en los últimos (@p_tiempo) minutos */
 if (@p_chequeo = 1) 
 begin
  declare @p_error bit = null, @p_mensaje varchar(200) = null 
  exec [ln_docs_chequeo] 'CHEQUEO', '47', @p_doc_id, @p_user_id, @p_tiempo, @p_error output, @p_mensaje output 
  if @p_error = 1 
  begin
   select @p_error as error, @p_mensaje as mensaje 
   return 
  end 
 end 

 IF (@accion = 'SEARCH') BEGIN
  IF @p_cliente is null 
   select @p_cliente = cliente 
     from ln_contrapartes 
     where contraparte = @p_contraparte
   
  IF @p_gestion is null 
   select @p_gestion = gestion 
    from ln_gestiones 
     where contraparte = @p_contraparte
     and vigente = 1
     and desde <= getdate() and hasta >= getdate()
 END 

 IF (@accion = 'REVISADO') 
 BEGIN
  UPDATE LN_docs SET
  revisado = @p_revisado,
  modified = GETDATE(),
  modified_by = @p_user_id
  WHERE LN_docs.doc_id = @p_doc_id
  RETURN 
 END 


 IF (@accion = 'VALORACION') 
 BEGIN
  UPDATE LN_docs SET
  valoracion = @p_valoracion, 
  revisado = @p_revisado,
  modified = GETDATE(),
  modified_by = @p_user_id
  WHERE LN_docs.doc_id = @p_doc_id
  RETURN 
 END 

 IF (@p_user_id IS NOT NULL) BEGIN

  SELECT @nombre = first_name + ' ' + last_name
  FROM users
  WHERE user_id = @p_user_id

 END ELSE BEGIN
  SET @nombre = ''
 END





 /***/
 
 IF (@accion = 'INSERT') BEGIN

  INSERT INTO LN_docs
  (cliente, contraparte, tipo_doc, doc_version, estado_doc, vencimiento_carga, fecha_vigencia,
  doc_attach, es_balance, inicio_ejercicio, fin_ejercicio, gestion,
  ingresado, ingresado_por, rechazado, rechazado_por, verificado_backend, verificado_backend_por,
  verificado_cliente, verificado_cliente_por, texto_rechazo, doc_log, created, created_by)

  VALUES

  (@p_cliente, @p_contraparte, @p_tipo_doc, @p_doc_version, @p_estado_doc, @p_vencimiento_carga, @p_fecha_vigencia,
  @p_doc_attach, @p_es_balance, @p_inicio_ejercicio, @p_fin_ejercicio, @p_gestion,
  NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, CONVERT(VARCHAR(10), GETDATE(),103) + ' ' + CONVERT(VARCHAR(5), GETDATE(), 14) + ': Creación del documento' + iif(@nombre <> '', ' por ' + @nombre, '') + '.' , GETDATE(), @p_user_id)

  SET @doc_id = SCOPE_IDENTITY()

  /* Generación de los campos del documento según configuración */
  EXEC LN_doc_campos_ 'GENERATE', @doc_id, null, null, null, null, null, null, null, @p_user_id

  --SELECT @doc_id AS doc_id

 END ELSE

  IF (@accion = 'VERIFICA_BACKEND') BEGIN

   UPDATE LN_docs SET
   verificado_backend = GETDATE(),
   verificado_backend_por = @p_user_id,
   estado_doc = 'V',
   doc_log = CONVERT(VARCHAR(max),doc_log) + CHAR(10) + CONVERT(VARCHAR(10), GETDATE(),103) + ' ' + CONVERT(VARCHAR(5), GETDATE(), 14) + ': Verificación de documento en backend por ' + @nombre,
   modified = GETDATE(),
   modified_by = @p_user_id

   WHERE LN_docs.doc_id = @p_doc_id
   

  END ELSE

   IF (@accion = 'VERIFICA_CLIENTE') BEGIN

    UPDATE LN_docs SET
    verificado_cliente = GETDATE(),
    verificado_cliente_por = @p_user_id,
    estado_doc = 'V',
    doc_log = CONVERT(VARCHAR(max),doc_log) + CHAR(10) + CONVERT(VARCHAR(10), GETDATE(),103) + ' ' + CONVERT(VARCHAR(5), GETDATE(), 14) + ': Verificación de documento en cliente por ' + @nombre,
    modified = GETDATE(),
    modified_by = @p_user_id
    WHERE LN_docs.doc_id = @p_doc_id
   
   END ELSE

    IF (@accion = 'RECHAZADO') BEGIN
     
     UPDATE LN_docs SET
     rechazado = GETDATE(),
     rechazado_por = @p_user_id,
     estado_doc = 'R',
     texto_rechazo = @p_texto_rechazo,
     doc_log = CONVERT(VARCHAR(max),doc_log) + CHAR(10) + CONVERT(VARCHAR(10), GETDATE(),103) + ' ' + CONVERT(VARCHAR(5), GETDATE(), 14) + ': Rechazo de documento por ' + @nombre + '. Motivo del rechazo: ' + @p_texto_rechazo,
     modified = GETDATE(),
     modified_by = @p_user_id
     WHERE LN_docs.doc_id = @p_doc_id

    END ELSE


     IF (@accion = 'UPDATE') BEGIN

      UPDATE LN_docs SET
      cliente = @p_cliente, 
      contraparte = @p_contraparte, 
      tipo_doc = @p_tipo_doc,
      vencimiento_carga = @p_vencimiento_carga, 
      fecha_vigencia = @p_fecha_vigencia,
      doc_attach = @p_doc_attach,
      es_balance = @p_es_balance, 
      inicio_ejercicio = @p_inicio_ejercicio,
      fin_ejercicio = @p_fin_ejercicio,
      doc_version = @p_doc_version,
      estado_doc = @p_estado_doc,
      texto_rechazo = @p_texto_rechazo,
      doc_log = CONVERT(VARCHAR(max),doc_log) + CHAR(10) + CONVERT(VARCHAR(10), GETDATE(),103) + ' ' + CONVERT(VARCHAR(5), GETDATE(), 14) + ': Modificación de datos del documento por ' + @nombre,
      modified = GETDATE(),
      modified_by = @p_user_id
      WHERE LN_docs.doc_id = @p_doc_id


     END ELSE

      IF (@accion = 'INGRESADO') BEGIN

       UPDATE LN_docs SET
       ingresado = GETDATE(),
       ingresado_por = @p_user_id,
       estado_doc = 'I',
       doc_log = CONVERT(VARCHAR(max),doc_log) + CHAR(10) + CONVERT(VARCHAR(10), GETDATE(),103) + ' ' + CONVERT(VARCHAR(5), GETDATE(), 14) + iif(@p_user_id is not null, ': Ingreso de documento por ' + @nombre, ': Ingreso de documento por el proveedor'),
       modified = GETDATE(),
       modified_by = @p_user_id
       WHERE LN_docs.doc_id = @p_doc_id

      END ELSE
       IF (@accion = 'SELECT') BEGIN

        SELECT LN_docs.valoracion, LN_docs.doc_id, LN_docs.contraparte, LN_docs.cliente, LN_docs.tipo_doc,
         LN_docs.doc_version, LN_docs.estado_doc, LN_docs.doc_log, LN_docs.doc_attach,
         CASE 
          WHEN LN_docs.estado_doc = 'N' THEN 'Pendiente de ingreso'
          WHEN LN_docs.estado_doc = 'I' THEN 'Ingresado'
          WHEN LN_docs.estado_doc = 'R' THEN 'Rechazado'
          WHEN LN_docs.estado_doc = 'V' THEN 'Verificado'
         END AS estado_documento,
         CASE 
          WHEN LN_docs.estado_doc = 'N' THEN 'text-info'
          WHEN LN_docs.estado_doc = 'I' THEN 'text-warning'
          WHEN LN_docs.estado_doc = 'R' THEN 'text-danger'
          WHEN LN_docs.estado_doc = 'V' THEN 'text-success'
         END AS class_estado,
         CASE 
          WHEN LN_docs.estado_doc = 'N' THEN 'cloud-upload fa-cloud-upload-alt'
          WHEN LN_docs.estado_doc = 'I' THEN 'exclamation'
          WHEN LN_docs.estado_doc = 'R' THEN 'times'
          WHEN LN_docs.estado_doc = 'V' THEN 'check'
         END AS icon_estado,
         CONVERT(VARCHAR, LN_docs.fecha_vigencia, 103) AS fecha_vigencia,

         iif(LN_docs.fecha_vigencia IS NOT NULL,          
          CASE
           WHEN LN_tipos_doc.tipo_vigencia = 'M' THEN CONVERT(VARCHAR,DATEADD(DAY,1,DATEADD(MONTH,-1,LN_docs.fecha_vigencia)),103)
           WHEN LN_tipos_doc.tipo_vigencia = 'B' THEN CONVERT(VARCHAR,DATEADD(DAY,1,DATEADD(MONTH,-2,LN_docs.fecha_vigencia)),103)
           WHEN LN_tipos_doc.tipo_vigencia = 'T' THEN CONVERT(VARCHAR,DATEADD(DAY,1,DATEADD(MONTH,-3,LN_docs.fecha_vigencia)),103)
           WHEN LN_tipos_doc.tipo_vigencia = 'C' THEN CONVERT(VARCHAR,DATEADD(DAY,1,DATEADD(MONTH,-4,LN_docs.fecha_vigencia)),103)
           WHEN LN_tipos_doc.tipo_vigencia = 'S' THEN CONVERT(VARCHAR,DATEADD(DAY,1,DATEADD(MONTH,-6,LN_docs.fecha_vigencia)),103)
           WHEN LN_tipos_doc.tipo_vigencia = 'A' THEN CONVERT(VARCHAR,DATEADD(DAY,1,DATEADD(MONTH,-12,LN_docs.fecha_vigencia)),103)
           ELSE NULL
          END, NULL) AS inicio_vigencia,

         CONVERT(VARCHAR, LN_docs.vencimiento_carga, 103) AS vencimiento_carga,
         ISNULL(LN_tipos_doc.es_balance, 0) AS es_balance, ISNULL(LN_tipos_doc.es_foto_perfil, 0) AS es_foto_perfil, 
         iif(LN_tipos_doc.es_balance > 0, ISNULL(LN_tipos_doc.es_manif_bienes, 0), 0) AS es_manif_bienes,
         LN_docs.texto_rechazo,
         CONVERT(VARCHAR(10), LN_docs.inicio_ejercicio, 103) AS inicio_ejercicio,
         CONVERT(VARCHAR(10), LN_docs.fin_ejercicio, 103) AS fin_ejercicio, ln_docs.gestion,
         iif(LN_docs.ingresado IS NOT NULL, CONVERT(VARCHAR,LN_docs.ingresado,103)+' '+CONVERT(VARCHAR(5),LN_docs.ingresado,14), null) as ingresado,
         iif(LN_docs.rechazado IS NOT NULL, CONVERT(VARCHAR,LN_docs.rechazado,103)+' '+CONVERT(VARCHAR(5),LN_docs.rechazado,14), null) as rechazado,
         iif(LN_docs.verificado_backend IS NOT NULL, CONVERT(VARCHAR,LN_docs.verificado_backend,103)+' '+CONVERT(VARCHAR(5),LN_docs.verificado_backend,14), NULL) as verificado_backend,
         CONVERT(VARCHAR(19),LN_docs.verificado_cliente,121) as verificado_cliente,
         CONVERT(VARCHAR(19),LN_docs.created,121) as created,
         CONVERT(VARCHAR(19),LN_docs.modified,121) as modified,
         LN_docs.ingresado_por, LN_docs.rechazado_por, LN_docs.verificado_backend_por,
         LN_docs.verificado_cliente_por, LN_docs.created_by, LN_docs.modified_by,
         clientes.nombre_cliente, padrones.nombre_persona, padrones.identificador, padrones.id_padron, padrones.tipo_persona, padrones.sexo,
         padrones.numero, padrones.identificacion, identificadores.abreviatura, identificadores.country_code,
         country.country_name, LN_contrapartes.activo, LN_contrapartes.nombre_contacto,
         LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
         ltrim(rtrim(LN_tipos_doc.nombre_tipo_doc)) as nombre_tipo_doc, LN_tipos_doc.tipo_vigencia, LN_docs.id_externo,
         users1.first_name + ' ' + users1.last_name AS ingresado_por_usuario,
         users2.first_name + ' ' + users2.last_name AS rechazado_por_usuario,
         isnull(users2.aliasname, users2.first_name + ' ' + users2.last_name) as rechazado_por_alias, 
         users3.first_name + ' ' + users3.last_name AS verificado_backend_por_usuario,
         isnull(users3.aliasname, users3.first_name + ' ' + users3.last_name) as verificado_backend_por_alias, 
         users4.first_name + ' ' + users4.last_name AS verificado_cliente_por_usuario,
         users5.first_name + ' ' + users5.last_name AS created_by_usuario,
         users6.first_name + ' ' + users6.last_name AS modified_by_usuario,

         balances_contables.id_balance,
         balances_contables.fecha_balance, balances_contables.ejercicio, 
         balances_contables.periodo, balances_contables.visible, 
         balances_contables.estado, balances_contables.ruta_archivo,
         convert(varchar, balances_contables.fecha_balance, 103) as fecha_cierre,
         balances_contables.moneda, monedas.nombre_moneda,

         LN_contrapartes.id_padre, padrones2.nombre_persona as nombre_persona_padre,
         padrones2.identificador as identificador_padre, padrones2.numero as numero_padre,
         padrones2.identificacion as identificacion_padre,
         identificadores2.abreviatura as abreviatura_padre, padre.id_padron as id_padron_padre,isnull(LN_docs.revisado,0) as revisado,ln_demo.informe AS informe,ln_docs.aplica,LN_contrapartes.servicio_contratado 
          ,ln_tipos_doc.es_evidencia,ln_tipos_doc.es_dni,ln_tipos_doc.consentimiento,LN_tipos_doc.es_hit


        FROM LN_docs
        INNER JOIN clientes ON LN_docs.cliente = clientes.cliente
        INNER JOIN LN_contrapartes ON LN_docs.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 country ON identificadores.country_code = country.country_code
        INNER JOIN LN_tipos_doc ON LN_docs.tipo_doc = LN_tipos_doc.tipo_doc

        LEFT OUTER JOIN users users1 ON LN_docs.ingresado_por = users1.user_id
        LEFT OUTER JOIN users users2 ON LN_docs.rechazado_por = users2.user_id
        LEFT OUTER JOIN users users3 ON LN_docs.verificado_backend_por = users3.user_id
        LEFT OUTER JOIN users users4 ON LN_docs.verificado_cliente_por = users4.user_id
        LEFT OUTER JOIN users users5 ON LN_docs.created_by = users5.user_id
        LEFT OUTER JOIN users users6 ON LN_docs.modified_by = users6.user_id

        LEFT OUTER JOIN balances_contables on LN_docs.id_externo = balances_contables.id_balance
        LEFT OUTER JOIN monedas ON balances_contables.moneda = monedas.moneda

        LEFT OUTER JOIN LN_contrapartes padre ON LN_contrapartes.id_padre = padre.contraparte
        LEFT OUTER JOIN padrones padrones2 ON padre.id_padron = padrones2.id_padron
        LEFT OUTER JOIN identificadores identificadores2 ON padrones2.identificador = identificadores2.identificador
        left join ln_demo on (ln_docs.contraparte = ln_demo.contraparte and ln_docs.gestion=ln_demo.gestion) 
        WHERE LN_docs.doc_id = @p_doc_id

       END ELSE


        if (@accion = 'acciones_pendientes') begin
         /* web de contrapartes: acciones pendientes incluye pendientes y rechazados */

         SELECT LN_docs.doc_id, LN_docs.contraparte, LN_docs.cliente, LN_docs.tipo_doc,
          LN_docs.doc_version, LN_docs.estado_doc, LN_docs.doc_log, LN_docs.doc_attach,
          CASE 
           WHEN LN_docs.estado_doc = 'N' THEN 'Pendiente de ingreso'
           WHEN LN_docs.estado_doc = 'I' THEN 'Ingresado'
           WHEN LN_docs.estado_doc = 'R' THEN 'Rechazado'
           WHEN LN_docs.estado_doc = 'V' THEN 'Verificado'
          END AS estado_documento,
          CASE 
           WHEN LN_docs.estado_doc = 'N' THEN 'text-info'
           WHEN LN_docs.estado_doc = 'I' THEN 'text-warning'
           WHEN LN_docs.estado_doc = 'R' THEN 'text-danger'
           WHEN LN_docs.estado_doc = 'V' THEN 'text-success'
          END AS class_estado,
          CASE 
           WHEN LN_docs.estado_doc = 'N' THEN 'cloud-upload fa-cloud-upload-alt'
           WHEN LN_docs.estado_doc = 'I' THEN 'exclamation'
           WHEN LN_docs.estado_doc = 'R' THEN 'times'
           WHEN LN_docs.estado_doc = 'V' THEN 'check'
          END AS icon_estado,

          CONVERT(VARCHAR, LN_docs.fecha_vigencia, 103) AS fecha_vigencia,

          iif(LN_docs.fecha_vigencia IS NOT NULL,          
           CASE
            WHEN LN_tipos_doc.tipo_vigencia = 'M' THEN CONVERT(VARCHAR,DATEADD(DAY,1,DATEADD(MONTH,-1,LN_docs.fecha_vigencia)),103)
            WHEN LN_tipos_doc.tipo_vigencia = 'B' THEN CONVERT(VARCHAR,DATEADD(DAY,1,DATEADD(MONTH,-2,LN_docs.fecha_vigencia)),103)
            WHEN LN_tipos_doc.tipo_vigencia = 'T' THEN CONVERT(VARCHAR,DATEADD(DAY,1,DATEADD(MONTH,-3,LN_docs.fecha_vigencia)),103)
            WHEN LN_tipos_doc.tipo_vigencia = 'C' THEN CONVERT(VARCHAR,DATEADD(DAY,1,DATEADD(MONTH,-4,LN_docs.fecha_vigencia)),103)
            WHEN LN_tipos_doc.tipo_vigencia = 'S' THEN CONVERT(VARCHAR,DATEADD(DAY,1,DATEADD(MONTH,-6,LN_docs.fecha_vigencia)),103)
            WHEN LN_tipos_doc.tipo_vigencia = 'A' THEN CONVERT(VARCHAR,DATEADD(DAY,1,DATEADD(MONTH,-12,LN_docs.fecha_vigencia)),103)
            ELSE NULL
           END, NULL) AS inicio_vigencia,

          CONVERT(VARCHAR, LN_docs.vencimiento_carga, 103) AS vencimiento_carga,
          ISNULL(LN_tipos_doc.es_balance, 0) AS es_balance, ISNULL(LN_tipos_doc.es_foto_perfil, 0) AS es_foto_perfil,
          iif(LN_tipos_doc.es_balance > 0, ISNULL(LN_tipos_doc.es_manif_bienes, 0), 0) AS es_manif_bienes,
          CONVERT(VARCHAR(10), LN_docs.inicio_ejercicio, 103) AS inicio_ejercicio,
          CONVERT(VARCHAR(10), LN_docs.fin_ejercicio, 103) AS fin_ejercicio, gestion,
          iif(LN_docs.ingresado IS NOT NULL, CONVERT(VARCHAR,LN_docs.ingresado,103)+' '+CONVERT(VARCHAR(5),LN_docs.ingresado,14), null) as ingresado,
          iif(LN_docs.rechazado IS NOT NULL, CONVERT(VARCHAR,LN_docs.rechazado,103)+' '+CONVERT(VARCHAR(5),LN_docs.rechazado,14), null) as rechazado,
          iif(LN_docs.verificado_backend IS NOT NULL, CONVERT(VARCHAR,LN_docs.verificado_backend,103)+' '+CONVERT(VARCHAR(5),LN_docs.verificado_backend,14), NULL) as verificado_backend,
          CONVERT(VARCHAR(19),LN_docs.verificado_cliente,121) as verificado_cliente,
          CONVERT(VARCHAR(19),LN_docs.created,121) as created,
          CONVERT(VARCHAR(19),LN_docs.modified,121) as modified,
          LN_docs.ingresado_por, LN_docs.rechazado_por, LN_docs.verificado_backend_por,
          LN_docs.verificado_cliente_por, LN_docs.created_by, LN_docs.modified_by,
          clientes.nombre_cliente, padrones.nombre_persona, padrones.identificador, padrones.id_padron,
          padrones.numero, identificadores.abreviatura, identificadores.country_code,
          country.country_name, LN_contrapartes.activo, LN_contrapartes.nombre_contacto,
          LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
          upper(ltrim(rtrim(LN_tipos_doc.nombre_tipo_doc))) as nombre_tipo_doc, LN_tipos_doc.tipo_vigencia, LN_docs.id_externo,
          users1.first_name + ' ' + users1.last_name AS ingresado_por_usuario,
          users2.first_name + ' ' + users2.last_name AS rechazado_por_usuario,
          isnull(users2.aliasname, users2.first_name + ' ' + users2.last_name) as rechazado_por_alias, 
          users3.first_name + ' ' + users3.last_name AS verificado_backend_por_usuario,
          isnull(users3.aliasname, users3.first_name + ' ' + users3.last_name) as verificado_backend_por_alias, 
          users4.first_name + ' ' + users4.last_name AS verificado_cliente_por_usuario,
          users5.first_name + ' ' + users5.last_name AS created_by_usuario,
          users6.first_name + ' ' + users6.last_name AS modified_by_usuario,LN_contrapartes.servicio_contratado
          



         FROM LN_docs
         INNER JOIN clientes ON LN_docs.cliente = clientes.cliente
         INNER JOIN LN_contrapartes ON LN_docs.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 country ON identificadores.country_code = country.country_code
         INNER JOIN LN_tipos_doc ON LN_docs.tipo_doc = LN_tipos_doc.tipo_doc

         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
         /* 10/01/2023: lo cambiamos por left join para que traiga todos los documentos que estan el LN_Docs con aplica=1,
                         porque el caso de los subset no son del set original de la familia (con el inner join no los traia), 
             le ponemos orden 999 para que los muestre al final de la lista */
 
         /*INNER*/ LEFT JOIN LN_set_docs ON LN_familias.set_doc = LN_set_docs.set_doc
         /*INNER*/ LEFT JOIN LN_set_tipo_doc ON (LN_set_docs.set_doc = LN_set_tipo_doc.set_doc 
                 AND LN_docs.tipo_doc = LN_set_tipo_doc.tipo_doc
                                                                    AND LN_set_tipo_doc.activo = 1)

         LEFT OUTER JOIN LN_tipos_doc_carga_verif ON (clientes.cliente = LN_tipos_doc_carga_verif.cliente
                    AND LN_docs.tipo_doc = LN_tipos_doc_carga_verif.tipo_doc
                    and LN_tipos_doc_carga_verif.familia = ln_contraparte_familias.familia)

         LEFT OUTER JOIN users users1 ON LN_docs.ingresado_por = users1.user_id
         LEFT OUTER JOIN users users2 ON LN_docs.rechazado_por = users2.user_id
         LEFT OUTER JOIN users users3 ON LN_docs.verificado_backend_por = users3.user_id
         LEFT OUTER JOIN users users4 ON LN_docs.verificado_cliente_por = users4.user_id
         LEFT OUTER JOIN users users5 ON LN_docs.created_by = users5.user_id
         LEFT OUTER JOIN users users6 ON LN_docs.modified_by = users6.user_id
          
         WHERE LN_docs.cliente = @p_cliente
         AND LN_docs.contraparte = @p_contraparte
         AND LN_docs.estado_doc IN ('N', 'R')
         AND LN_docs.aplica = 1
         AND LN_docs.gestion = @p_gestion
         AND ISNULL(LN_tipos_doc_carga_verif.quien_carga, 'L') = 'L'

         ORDER BY --ltrim(rtrim(LN_tipos_doc.nombre_tipo_doc))  ASC,
                 clientes.nombre_cliente, padrones.nombre_persona, 
           isnull(LN_set_tipo_doc.orden,999), 
           LN_docs.doc_version
        end else

         if (@accion = 'documentacion_ingresada') begin
          /* web contrapartes: documentacion ingresada incluye ingresados y verificados */

          SELECT LN_docs.doc_id, LN_docs.contraparte, LN_docs.cliente, LN_docs.tipo_doc,
           LN_docs.doc_version, LN_docs.estado_doc, LN_docs.doc_log, LN_docs.doc_attach,
           CASE 
            WHEN LN_docs.estado_doc = 'N' THEN 'Pendiente de ingreso'
            WHEN LN_docs.estado_doc = 'I' THEN 'Ingresado'
            WHEN LN_docs.estado_doc = 'R' THEN 'Rechazado'
            WHEN LN_docs.estado_doc = 'V' THEN 'Verificado'
           END AS estado_documento,
           CASE 
            WHEN LN_docs.estado_doc = 'N' THEN 'text-info'
            WHEN LN_docs.estado_doc = 'I' THEN 'text-warning'
            WHEN LN_docs.estado_doc = 'R' THEN 'text-danger'
            WHEN LN_docs.estado_doc = 'V' THEN 'text-success'
           END AS class_estado,
           CASE 
            WHEN LN_docs.estado_doc = 'N' THEN 'cloud-upload fa-cloud-upload-alt'
            WHEN LN_docs.estado_doc = 'I' THEN 'exclamation'
            WHEN LN_docs.estado_doc = 'R' THEN 'times'
            WHEN LN_docs.estado_doc = 'V' THEN 'check'
           END AS icon_estado,

           CONVERT(VARCHAR, LN_docs.fecha_vigencia, 103) AS fecha_vigencia,

           iif(LN_docs.fecha_vigencia IS NOT NULL,          
            CASE
             WHEN LN_tipos_doc.tipo_vigencia = 'M' THEN CONVERT(VARCHAR,DATEADD(DAY,1,DATEADD(MONTH,-1,LN_docs.fecha_vigencia)),103)
             WHEN LN_tipos_doc.tipo_vigencia = 'B' THEN CONVERT(VARCHAR,DATEADD(DAY,1,DATEADD(MONTH,-2,LN_docs.fecha_vigencia)),103)
             WHEN LN_tipos_doc.tipo_vigencia = 'T' THEN CONVERT(VARCHAR,DATEADD(DAY,1,DATEADD(MONTH,-3,LN_docs.fecha_vigencia)),103)
             WHEN LN_tipos_doc.tipo_vigencia = 'C' THEN CONVERT(VARCHAR,DATEADD(DAY,1,DATEADD(MONTH,-4,LN_docs.fecha_vigencia)),103)
             WHEN LN_tipos_doc.tipo_vigencia = 'S' THEN CONVERT(VARCHAR,DATEADD(DAY,1,DATEADD(MONTH,-6,LN_docs.fecha_vigencia)),103)
             WHEN LN_tipos_doc.tipo_vigencia = 'A' THEN CONVERT(VARCHAR,DATEADD(DAY,1,DATEADD(MONTH,-12,LN_docs.fecha_vigencia)),103)
             ELSE NULL
            END, NULL) AS inicio_vigencia,

           CONVERT(VARCHAR, LN_docs.vencimiento_carga, 103) AS vencimiento_carga,
           ISNULL(LN_tipos_doc.es_balance, 0) AS es_balance, ISNULL(LN_tipos_doc.es_foto_perfil, 0) AS es_foto_perfil,
           iif(LN_tipos_doc.es_balance > 0, ISNULL(LN_tipos_doc.es_manif_bienes, 0), 0) AS es_manif_bienes,
           CONVERT(VARCHAR(10), LN_docs.inicio_ejercicio, 103) AS inicio_ejercicio,
           CONVERT(VARCHAR(10), LN_docs.fin_ejercicio, 103) AS fin_ejercicio, gestion,
           iif(LN_docs.ingresado IS NOT NULL, CONVERT(VARCHAR,LN_docs.ingresado,103)+' '+CONVERT(VARCHAR(5),LN_docs.ingresado,14), null) as ingresado,
           iif(LN_docs.rechazado IS NOT NULL, CONVERT(VARCHAR,LN_docs.rechazado,103)+' '+CONVERT(VARCHAR(5),LN_docs.rechazado,14), null) as rechazado,
           iif(LN_docs.verificado_backend IS NOT NULL, CONVERT(VARCHAR,LN_docs.verificado_backend,103)+' '+CONVERT(VARCHAR(5),LN_docs.verificado_backend,14), NULL) as verificado_backend,
           CONVERT(VARCHAR(19),LN_docs.verificado_cliente,121) as verificado_cliente,
           CONVERT(VARCHAR(19),LN_docs.created,121) as created,
           CONVERT(VARCHAR(19),LN_docs.modified,121) as modified,
           LN_docs.ingresado_por, LN_docs.rechazado_por, LN_docs.verificado_backend_por,
           LN_docs.verificado_cliente_por, LN_docs.created_by, LN_docs.modified_by,
           clientes.nombre_cliente, padrones.nombre_persona, padrones.identificador, padrones.id_padron,
           padrones.numero, identificadores.abreviatura, identificadores.country_code,
           country.country_name, LN_contrapartes.activo, LN_contrapartes.nombre_contacto,
           LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
           upper(ltrim(rtrim(LN_tipos_doc.nombre_tipo_doc))) as nombre_tipo_doc, LN_tipos_doc.tipo_vigencia, LN_docs.id_externo,
           users1.first_name + ' ' + users1.last_name AS ingresado_por_usuario,
           users2.first_name + ' ' + users2.last_name AS rechazado_por_usuario,
           isnull(users2.aliasname, users2.first_name + ' ' + users2.last_name) as rechazado_por_alias, 
           users3.first_name + ' ' + users3.last_name AS verificado_backend_por_usuario,
           isnull(users3.aliasname, users3.first_name + ' ' + users3.last_name) as verificado_backend_por_alias, 
           users4.first_name + ' ' + users4.last_name AS verificado_cliente_por_usuario,
           users5.first_name + ' ' + users5.last_name AS created_by_usuario,
           users6.first_name + ' ' + users6.last_name AS modified_by_usuario,LN_contrapartes.servicio_contratado

          FROM LN_docs
          INNER JOIN clientes ON LN_docs.cliente = clientes.cliente
          INNER JOIN LN_contrapartes ON LN_docs.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 country ON identificadores.country_code = country.country_code
          INNER JOIN LN_tipos_doc ON LN_docs.tipo_doc = LN_tipos_doc.tipo_doc

          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
          /* 10/01/2023: lo cambiamos por left join para que traiga todos los documentos que estan el LN_Docs con aplica=1,
                          porque el caso de los subset no son del set original de la familia (con el inner join no los traia), 
              le ponemos orden 999 para que los muestre al final de la lista */
 
          /*INNER*/ LEFT JOIN LN_set_docs ON LN_familias.set_doc = LN_set_docs.set_doc
          /*INNER*/ LEFT JOIN LN_set_tipo_doc ON (LN_set_docs.set_doc = LN_set_tipo_doc.set_doc 
                  AND LN_docs.tipo_doc = LN_set_tipo_doc.tipo_doc
                                                                        AND LN_set_tipo_doc.activo = 1)

          LEFT OUTER JOIN LN_tipos_doc_carga_verif ON (clientes.cliente = LN_tipos_doc_carga_verif.cliente
                     AND LN_docs.tipo_doc = LN_tipos_doc_carga_verif.tipo_doc
                     and LN_tipos_doc_carga_verif.familia = ln_contraparte_familias.familia)


          LEFT OUTER JOIN users users1 ON LN_docs.ingresado_por = users1.user_id
          LEFT OUTER JOIN users users2 ON LN_docs.rechazado_por = users2.user_id
          LEFT OUTER JOIN users users3 ON LN_docs.verificado_backend_por = users3.user_id
          LEFT OUTER JOIN users users4 ON LN_docs.verificado_cliente_por = users4.user_id
          LEFT OUTER JOIN users users5 ON LN_docs.created_by = users5.user_id
          LEFT OUTER JOIN users users6 ON LN_docs.modified_by = users6.user_id
          
          WHERE LN_docs.cliente = @p_cliente
          AND LN_docs.contraparte = @p_contraparte
          AND LN_docs.estado_doc IN ('I', 'V')
          AND LN_docs.aplica = 1
          AND LN_docs.gestion = @p_gestion
          AND ISNULL(LN_tipos_doc_carga_verif.quien_carga, 'L') = 'L'

          ORDER BY --ltrim(rtrim(LN_tipos_doc.nombre_tipo_doc)) ASC,
          clientes.nombre_cliente, padrones.nombre_persona, 
             isnull(LN_set_tipo_doc.orden,999),
             LN_docs.doc_version
             
         end
 
     
       
       
       ELSE BEGIN

        /****** SEARCH de documentos ******/

        /** Modificación 07/06/2018 : debe pasarse ID de gestión para traer únicamente documentos de una gestión determinada */

        DECLARE @caso INT

        SET @caso = CASE
         
         WHEN (@p_cliente IS NULL AND @p_contraparte IS NULL AND @p_tipo_doc IS NULL AND @p_doc_version IS NULL AND @p_estado_doc IS NULL) THEN 1
         WHEN (@p_cliente > 0 AND @p_contraparte IS NULL AND @p_tipo_doc IS NULL AND @p_doc_version IS NULL AND @p_estado_doc IS NULL) THEN 2
         WHEN (@p_cliente IS NULL AND @p_contraparte > 0 AND @p_tipo_doc IS NULL AND @p_doc_version IS NULL AND @p_estado_doc IS NULL) THEN 3
         WHEN (@p_cliente > 0 AND @p_contraparte > 0 AND @p_tipo_doc IS NULL AND @p_doc_version IS NULL AND @p_estado_doc IS NULL) THEN 4

         WHEN (@p_cliente IS NULL AND @p_contraparte IS NULL AND @p_tipo_doc > 0 AND @p_doc_version IS NULL AND @p_estado_doc IS NULL) THEN 5

         WHEN (@p_cliente > 0 AND @p_contraparte IS NULL AND @p_tipo_doc > 0 AND @p_doc_version IS NULL AND @p_estado_doc IS NULL) THEN 6
         WHEN (@p_cliente IS NULL AND @p_contraparte > 0 AND @p_tipo_doc > 0 AND @p_doc_version IS NULL AND @p_estado_doc IS NULL) THEN 7
         WHEN (@p_cliente > 0 AND @p_contraparte > 0 AND @p_tipo_doc > 0 AND @p_doc_version IS NULL AND @p_estado_doc IS NULL) THEN 8

         WHEN (@p_cliente IS NULL AND @p_contraparte IS NULL AND @p_tipo_doc > 0 AND @p_doc_version > 0 AND @p_estado_doc IS NULL) THEN 9
         WHEN (@p_cliente > 0 AND @p_contraparte IS NULL AND @p_tipo_doc > 0 AND @p_doc_version > 0 AND @p_estado_doc IS NULL) THEN 10
         WHEN (@p_cliente IS NULL AND @p_contraparte > 0 AND @p_tipo_doc > 0 AND @p_doc_version > 0 AND @p_estado_doc IS NULL) THEN 11
         WHEN (@p_cliente > 0 AND @p_contraparte > 0 AND @p_tipo_doc > 0 AND @p_doc_version > 0 AND @p_estado_doc IS NULL) THEN 12

         WHEN (@p_cliente IS NULL AND @p_contraparte IS NULL AND @p_tipo_doc IS NULL AND @p_doc_version IS NULL AND @p_estado_doc IS NOT NULL) THEN 13
         WHEN (@p_cliente > 0 AND @p_contraparte IS NULL AND @p_tipo_doc IS NULL AND @p_doc_version IS NULL AND @p_estado_doc IS NOT NULL) THEN 14
         WHEN (@p_cliente IS NULL AND @p_contraparte > 0 AND @p_tipo_doc IS NULL AND @p_doc_version IS NULL AND @p_estado_doc IS NOT NULL) THEN 15
         WHEN (@p_cliente > 0 AND @p_contraparte > 0 AND @p_tipo_doc IS NULL AND @p_doc_version IS NULL AND @p_estado_doc IS NOT NULL) THEN 16

         WHEN (@p_cliente IS NULL AND @p_contraparte IS NULL AND @p_tipo_doc > 0 AND @p_doc_version IS NULL AND @p_estado_doc IS NOT NULL) THEN 17
         WHEN (@p_cliente > 0 AND @p_contraparte IS NULL AND @p_tipo_doc > 0 AND @p_doc_version IS NULL AND @p_estado_doc IS NOT NULL) THEN 18
         WHEN (@p_cliente IS NULL AND @p_contraparte > 0 AND @p_tipo_doc > 0 AND @p_doc_version IS NULL AND @p_estado_doc IS NOT NULL) THEN 19
         WHEN (@p_cliente > 0 AND @p_contraparte > 0 AND @p_tipo_doc > 0 AND @p_doc_version IS NULL AND @p_estado_doc IS NOT NULL) THEN 20

         WHEN (@p_cliente IS NULL AND @p_contraparte IS NULL AND @p_tipo_doc > 0 AND @p_doc_version > 0 AND @p_estado_doc IS NOT NULL) THEN 21
         WHEN (@p_cliente > 0 AND @p_contraparte IS NULL AND @p_tipo_doc > 0 AND @p_doc_version > 0 AND @p_estado_doc IS NOT NULL) THEN 22
         WHEN (@p_cliente IS NULL AND @p_contraparte > 0 AND @p_tipo_doc > 0 AND @p_doc_version > 0 AND @p_estado_doc IS NOT NULL) THEN 23
         WHEN (@p_cliente > 0 AND @p_contraparte > 0 AND @p_tipo_doc > 0 AND @p_doc_version > 0 AND @p_estado_doc IS NOT NULL) THEN 24

        END

        IF (@caso = 1) 

         SELECT LN_docs.doc_id, LN_docs.contraparte, LN_docs.cliente, LN_docs.tipo_doc,
          LN_docs.doc_version, LN_docs.estado_doc, LN_docs.doc_log, LN_docs.doc_attach,
          CASE 
           WHEN LN_docs.estado_doc = 'N' THEN 'Pendiente de ingreso'
           WHEN LN_docs.estado_doc = 'I' THEN 'Ingresado'
           WHEN LN_docs.estado_doc = 'R' THEN 'Rechazado'
           WHEN LN_docs.estado_doc = 'V' THEN 'Verificado'
          END AS estado_documento,
          CASE 
           WHEN LN_docs.estado_doc = 'N' THEN 'text-info'
           WHEN LN_docs.estado_doc = 'I' THEN 'text-warning'
           WHEN LN_docs.estado_doc = 'R' THEN 'text-danger'
           WHEN LN_docs.estado_doc = 'V' THEN 'text-success'
          END AS class_estado,
          CASE 
           WHEN LN_docs.estado_doc = 'N' THEN 'cloud-upload fa-cloud-upload-alt'
           WHEN LN_docs.estado_doc = 'I' THEN 'exclamation'
           WHEN LN_docs.estado_doc = 'R' THEN 'times'
           WHEN LN_docs.estado_doc = 'V' THEN 'check'
          END AS icon_estado,

          CONVERT(VARCHAR, LN_docs.fecha_vigencia, 103) AS fecha_vigencia,
          CONVERT(VARCHAR, LN_docs.vencimiento_carga, 103) AS vencimiento_carga,
          ISNULL(LN_tipos_doc.es_balance, 0) AS es_balance, ISNULL(LN_tipos_doc.es_foto_perfil, 0) AS es_foto_perfil,
          iif(LN_tipos_doc.es_balance > 0, ISNULL(LN_tipos_doc.es_manif_bienes, 0), 0) AS es_manif_bienes,
          CONVERT(VARCHAR(10), LN_docs.inicio_ejercicio, 103) AS inicio_ejercicio,
          CONVERT(VARCHAR(10), LN_docs.fin_ejercicio, 103) AS fin_ejercicio, gestion,
          iif(LN_docs.ingresado IS NOT NULL, CONVERT(VARCHAR,LN_docs.ingresado,103)+' '+CONVERT(VARCHAR(5),LN_docs.ingresado,14), null) as ingresado,
          iif(LN_docs.rechazado IS NOT NULL, CONVERT(VARCHAR,LN_docs.rechazado,103)+' '+CONVERT(VARCHAR(5),LN_docs.rechazado,14), null) as rechazado,
          iif(LN_docs.verificado_backend IS NOT NULL, CONVERT(VARCHAR,LN_docs.verificado_backend,103)+' '+CONVERT(VARCHAR(5),LN_docs.verificado_backend,14), NULL) as verificado_backend,
          CONVERT(VARCHAR(19),LN_docs.verificado_cliente,121) as verificado_cliente,
          CONVERT(VARCHAR(19),LN_docs.created,121) as created,
          CONVERT(VARCHAR(19),LN_docs.modified,121) as modified,
          LN_docs.ingresado_por, LN_docs.rechazado_por, LN_docs.verificado_backend_por,
          LN_docs.verificado_cliente_por, LN_docs.created_by, LN_docs.modified_by,
          clientes.nombre_cliente, padrones.nombre_persona, padrones.identificador, padrones.id_padron,
          padrones.numero, identificadores.abreviatura, identificadores.country_code,
          country.country_name, LN_contrapartes.activo, LN_contrapartes.nombre_contacto,
          LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
          ltrim(rtrim(LN_tipos_doc.nombre_tipo_doc)) as nombre_tipo_doc, LN_tipos_doc.tipo_vigencia, LN_docs.id_externo,
          users1.first_name + ' ' + users1.last_name AS ingresado_por_usuario,
          users2.first_name + ' ' + users2.last_name AS rechazado_por_usuario,
          isnull(users2.aliasname, users2.first_name + ' ' + users2.last_name) as rechazado_por_alias, 
          users3.first_name + ' ' + users3.last_name AS verificado_backend_por_usuario,
          isnull(users3.aliasname, users3.first_name + ' ' + users3.last_name) as verificado_backend_por_alias, 
          users4.first_name + ' ' + users4.last_name AS verificado_cliente_por_usuario,
          users5.first_name + ' ' + users5.last_name AS created_by_usuario,
          users6.first_name + ' ' + users6.last_name AS modified_by_usuario,LN_contrapartes.servicio_contratado, 
          DOC.orden

         FROM LN_docs
         INNER JOIN clientes ON LN_docs.cliente = clientes.cliente
         INNER JOIN LN_contrapartes ON LN_docs.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 country ON identificadores.country_code = country.country_code
         INNER JOIN LN_tipos_doc ON LN_docs.tipo_doc = LN_tipos_doc.tipo_doc


         LEFT JOIN (select contraparte, LN_set_tipo_doc.tipo_doc, orden
            from ln_contraparte_familias 
            inner join ln_familias on ln_familias.familia = ln_contraparte_familias.familia
                     inner join LN_set_tipo_doc on LN_set_tipo_doc.set_doc = LN_familias.set_doc) DOC 
            on DOC.contraparte = ln_docs.contraparte and DOC.tipo_doc = ln_docs.tipo_doc 

         LEFT OUTER JOIN users users1 ON LN_docs.ingresado_por = users1.user_id
         LEFT OUTER JOIN users users2 ON LN_docs.rechazado_por = users2.user_id
         LEFT OUTER JOIN users users3 ON LN_docs.verificado_backend_por = users3.user_id
         LEFT OUTER JOIN users users4 ON LN_docs.verificado_cliente_por = users4.user_id
         LEFT OUTER JOIN users users5 ON LN_docs.created_by = users5.user_id
         LEFT OUTER JOIN users users6 ON LN_docs.modified_by = users6.user_id         

         --ORDER BY ltrim(rtrim(LN_tipos_doc.nombre_tipo_doc)) ASC
         ORDER BY DOC.orden ASC, ltrim(rtrim(LN_tipos_doc.nombre_tipo_doc)) ASC
         /*
          ,clientes.nombre_cliente, padrones.nombre_persona, LN_docs.doc_version
          */

        ELSE
        
         IF (@caso = 2) 

          SELECT LN_docs.doc_id, LN_docs.contraparte, LN_docs.cliente, LN_docs.tipo_doc,
           LN_docs.doc_version, LN_docs.estado_doc, LN_docs.doc_log, LN_docs.doc_attach,
           CASE 
            WHEN LN_docs.estado_doc = 'N' THEN 'Pendiente de ingreso'
            WHEN LN_docs.estado_doc = 'I' THEN 'Ingresado'
            WHEN LN_docs.estado_doc = 'R' THEN 'Rechazado'
            WHEN LN_docs.estado_doc = 'V' THEN 'Verificado'
           END AS estado_documento,
           CASE 
            WHEN LN_docs.estado_doc = 'N' THEN 'text-info'
            WHEN LN_docs.estado_doc = 'I' THEN 'text-warning'
            WHEN LN_docs.estado_doc = 'R' THEN 'text-danger'
            WHEN LN_docs.estado_doc = 'V' THEN 'text-success'
           END AS class_estado,
           CASE 
            WHEN LN_docs.estado_doc = 'N' THEN 'cloud-upload fa-cloud-upload-alt'
            WHEN LN_docs.estado_doc = 'I' THEN 'exclamation'
            WHEN LN_docs.estado_doc = 'R' THEN 'times'
            WHEN LN_docs.estado_doc = 'V' THEN 'check'
           END AS icon_estado,

           CONVERT(VARCHAR, LN_docs.fecha_vigencia, 103) AS fecha_vigencia,
           CONVERT(VARCHAR, LN_docs.vencimiento_carga, 103) AS vencimiento_carga,
           ISNULL(LN_tipos_doc.es_balance, 0) AS es_balance, ISNULL(LN_tipos_doc.es_foto_perfil, 0) AS es_foto_perfil,
           iif(LN_tipos_doc.es_balance > 0, ISNULL(LN_tipos_doc.es_manif_bienes, 0), 0) AS es_manif_bienes,
           CONVERT(VARCHAR(10), LN_docs.inicio_ejercicio, 103) AS inicio_ejercicio,
           CONVERT(VARCHAR(10), LN_docs.fin_ejercicio, 103) AS fin_ejercicio, gestion,
           iif(LN_docs.ingresado IS NOT NULL, CONVERT(VARCHAR,LN_docs.ingresado,103)+' '+CONVERT(VARCHAR(5),LN_docs.ingresado,14), null) as ingresado,
           iif(LN_docs.rechazado IS NOT NULL, CONVERT(VARCHAR,LN_docs.rechazado,103)+' '+CONVERT(VARCHAR(5),LN_docs.rechazado,14), null) as rechazado,
           iif(LN_docs.verificado_backend IS NOT NULL, CONVERT(VARCHAR,LN_docs.verificado_backend,103)+' '+CONVERT(VARCHAR(5),LN_docs.verificado_backend,14), NULL) as verificado_backend,
           CONVERT(VARCHAR(19),LN_docs.verificado_cliente,121) as verificado_cliente,
           CONVERT(VARCHAR(19),LN_docs.created,121) as created,
           CONVERT(VARCHAR(19),LN_docs.modified,121) as modified,
           LN_docs.ingresado_por, LN_docs.rechazado_por, LN_docs.verificado_backend_por,
           LN_docs.verificado_cliente_por, LN_docs.created_by, LN_docs.modified_by,
           clientes.nombre_cliente, padrones.nombre_persona, padrones.identificador, padrones.id_padron,
           padrones.numero, identificadores.abreviatura, identificadores.country_code,
           country.country_name, LN_contrapartes.activo, LN_contrapartes.nombre_contacto,
           LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
           ltrim(rtrim(LN_tipos_doc.nombre_tipo_doc)) as nombre_tipo_doc, LN_tipos_doc.tipo_vigencia, LN_docs.id_externo,
           users1.first_name + ' ' + users1.last_name AS ingresado_por_usuario,
           users2.first_name + ' ' + users2.last_name AS rechazado_por_usuario,
           isnull(users2.aliasname, users2.first_name + ' ' + users2.last_name) as rechazado_por_alias, 
           users3.first_name + ' ' + users3.last_name AS verificado_backend_por_usuario,
           isnull(users3.aliasname, users3.first_name + ' ' + users3.last_name) as verificado_backend_por_alias, 
           users4.first_name + ' ' + users4.last_name AS verificado_cliente_por_usuario,
           users5.first_name + ' ' + users5.last_name AS created_by_usuario,
           users6.first_name + ' ' + users6.last_name AS modified_by_usuario,LN_contrapartes.servicio_contratado, 
           DOC.orden

          FROM LN_docs
          INNER JOIN clientes ON LN_docs.cliente = clientes.cliente
          INNER JOIN LN_contrapartes ON LN_docs.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 country ON identificadores.country_code = country.country_code
          INNER JOIN LN_tipos_doc ON LN_docs.tipo_doc = LN_tipos_doc.tipo_doc

           LEFT JOIN (select contraparte, LN_set_tipo_doc.tipo_doc, orden
            from ln_contraparte_familias 
            inner join ln_familias on ln_familias.familia = ln_contraparte_familias.familia
                     inner join LN_set_tipo_doc on LN_set_tipo_doc.set_doc = LN_familias.set_doc) DOC 
            on DOC.contraparte = ln_docs.contraparte and DOC.tipo_doc = ln_docs.tipo_doc 

          LEFT OUTER JOIN users users1 ON LN_docs.ingresado_por = users1.user_id
          LEFT OUTER JOIN users users2 ON LN_docs.rechazado_por = users2.user_id
          LEFT OUTER JOIN users users3 ON LN_docs.verificado_backend_por = users3.user_id
          LEFT OUTER JOIN users users4 ON LN_docs.verificado_cliente_por = users4.user_id
          LEFT OUTER JOIN users users5 ON LN_docs.created_by = users5.user_id
          LEFT OUTER JOIN users users6 ON LN_docs.modified_by = users6.user_id
          
          WHERE LN_docs.cliente = @p_cliente
          AND LN_docs.gestion = @p_gestion

          ORDER BY DOC.orden, ltrim(rtrim(LN_tipos_doc.nombre_tipo_doc)) ASC,clientes.nombre_cliente, padrones.nombre_persona, LN_docs.doc_version
          
         ELSE
          
          IF (@caso = 3) 

           SELECT LN_docs.doc_id, LN_docs.contraparte, LN_docs.cliente, LN_docs.tipo_doc,
            LN_docs.doc_version, LN_docs.estado_doc, LN_docs.doc_log, LN_docs.doc_attach,
            CASE 
             WHEN LN_docs.estado_doc = 'N' THEN 'Pendiente de ingreso'
             WHEN LN_docs.estado_doc = 'I' THEN 'Ingresado'
             WHEN LN_docs.estado_doc = 'R' THEN 'Rechazado'
             WHEN LN_docs.estado_doc = 'V' THEN 'Verificado'
            END AS estado_documento,
            CASE 
             WHEN LN_docs.estado_doc = 'N' THEN 'text-info'
             WHEN LN_docs.estado_doc = 'I' THEN 'text-warning'
             WHEN LN_docs.estado_doc = 'R' THEN 'text-danger'
             WHEN LN_docs.estado_doc = 'V' THEN 'text-success'
            END AS class_estado,
            CASE 
             WHEN LN_docs.estado_doc = 'N' THEN 'cloud-upload fa-cloud-upload-alt'
             WHEN LN_docs.estado_doc = 'I' THEN 'exclamation'
             WHEN LN_docs.estado_doc = 'R' THEN 'times'
             WHEN LN_docs.estado_doc = 'V' THEN 'check'
            END AS icon_estado,

            CONVERT(VARCHAR, LN_docs.fecha_vigencia, 103) AS fecha_vigencia,
            CONVERT(VARCHAR, LN_docs.vencimiento_carga, 103) AS vencimiento_carga,
            ISNULL(LN_tipos_doc.es_balance, 0) AS es_balance, ISNULL(LN_tipos_doc.es_foto_perfil, 0) AS es_foto_perfil,
            iif(LN_tipos_doc.es_balance > 0, ISNULL(LN_tipos_doc.es_manif_bienes, 0), 0) AS es_manif_bienes,
            CONVERT(VARCHAR(10), LN_docs.inicio_ejercicio, 103) AS inicio_ejercicio,
            CONVERT(VARCHAR(10), LN_docs.fin_ejercicio, 103) AS fin_ejercicio, gestion,
            iif(LN_docs.ingresado IS NOT NULL, CONVERT(VARCHAR,LN_docs.ingresado,103)+' '+CONVERT(VARCHAR(5),LN_docs.ingresado,14), null) as ingresado,
            iif(LN_docs.rechazado IS NOT NULL, CONVERT(VARCHAR,LN_docs.rechazado,103)+' '+CONVERT(VARCHAR(5),LN_docs.rechazado,14), null) as rechazado,
            iif(LN_docs.verificado_backend IS NOT NULL, CONVERT(VARCHAR,LN_docs.verificado_backend,103)+' '+CONVERT(VARCHAR(5),LN_docs.verificado_backend,14), NULL) as verificado_backend,
            CONVERT(VARCHAR(19),LN_docs.verificado_cliente,121) as verificado_cliente,
            CONVERT(VARCHAR(19),LN_docs.created,121) as created,
            CONVERT(VARCHAR(19),LN_docs.modified,121) as modified,
            LN_docs.ingresado_por, LN_docs.rechazado_por, LN_docs.verificado_backend_por,
            LN_docs.verificado_cliente_por, LN_docs.created_by, LN_docs.modified_by,
            clientes.nombre_cliente, padrones.nombre_persona, padrones.identificador, padrones.id_padron,
            padrones.numero, identificadores.abreviatura, identificadores.country_code,
            country.country_name, LN_contrapartes.activo, LN_contrapartes.nombre_contacto,
            LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
            ltrim(rtrim(LN_tipos_doc.nombre_tipo_doc)) as nombre_tipo_doc, LN_tipos_doc.tipo_vigencia, LN_docs.id_externo,
            users1.first_name + ' ' + users1.last_name AS ingresado_por_usuario,
            users2.first_name + ' ' + users2.last_name AS rechazado_por_usuario,
            isnull(users2.aliasname, users2.first_name + ' ' + users2.last_name) as rechazado_por_alias, 
            users3.first_name + ' ' + users3.last_name AS verificado_backend_por_usuario,
            isnull(users3.aliasname, users3.first_name + ' ' + users3.last_name) as verificado_backend_por_alias,
            users4.first_name + ' ' + users4.last_name AS verificado_cliente_por_usuario,
            users5.first_name + ' ' + users5.last_name AS created_by_usuario,
            users6.first_name + ' ' + users6.last_name AS modified_by_usuario,LN_contrapartes.servicio_contratado,
            doc.orden

           FROM LN_docs
           INNER JOIN clientes ON LN_docs.cliente = clientes.cliente
           INNER JOIN LN_contrapartes ON LN_docs.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 country ON identificadores.country_code = country.country_code
           INNER JOIN LN_tipos_doc ON LN_docs.tipo_doc = LN_tipos_doc.tipo_doc
           
           LEFT JOIN (select contraparte, LN_set_tipo_doc.tipo_doc, orden
            from ln_contraparte_familias 
            inner join ln_familias on ln_familias.familia = ln_contraparte_familias.familia
                     inner join LN_set_tipo_doc on LN_set_tipo_doc.set_doc = LN_familias.set_doc) DOC 
            on DOC.contraparte = ln_docs.contraparte and DOC.tipo_doc = ln_docs.tipo_doc 

           LEFT OUTER JOIN users users1 ON LN_docs.ingresado_por = users1.user_id
           LEFT OUTER JOIN users users2 ON LN_docs.rechazado_por = users2.user_id
           LEFT OUTER JOIN users users3 ON LN_docs.verificado_backend_por = users3.user_id
           LEFT OUTER JOIN users users4 ON LN_docs.verificado_cliente_por = users4.user_id
           LEFT OUTER JOIN users users5 ON LN_docs.created_by = users5.user_id
           LEFT OUTER JOIN users users6 ON LN_docs.modified_by = users6.user_id
          
           WHERE LN_docs.contraparte = @p_contraparte
           AND LN_docs.gestion = @p_gestion

           ORDER BY Doc.orden, ltrim(rtrim(LN_tipos_doc.nombre_tipo_doc)) ASC,clientes.nombre_cliente, padrones.nombre_persona, LN_docs.doc_version


          ELSE

           IF (@caso = 4) 

            SELECT LN_docs.doc_id, LN_docs.contraparte, LN_docs.cliente, LN_docs.tipo_doc,
             LN_docs.doc_version, LN_docs.estado_doc, LN_docs.doc_log, LN_docs.doc_attach,
             CASE 
              WHEN LN_docs.estado_doc = 'N' THEN 'Pendiente de ingreso'
              WHEN LN_docs.estado_doc = 'I' THEN 'Ingresado'
              WHEN LN_docs.estado_doc = 'R' THEN 'Rechazado'
              WHEN LN_docs.estado_doc = 'V' THEN 'Verificado'
             END AS estado_documento,
             CASE 
              WHEN LN_docs.estado_doc = 'N' THEN 'text-info'
              WHEN LN_docs.estado_doc = 'I' THEN 'text-warning'
              WHEN LN_docs.estado_doc = 'R' THEN 'text-danger'
              WHEN LN_docs.estado_doc = 'V' THEN 'text-success'
             END AS class_estado,
             CASE 
              WHEN LN_docs.estado_doc = 'N' THEN 'cloud-upload fa-cloud-upload-alt'
              WHEN LN_docs.estado_doc = 'I' THEN 'exclamation'
              WHEN LN_docs.estado_doc = 'R' THEN 'times'
              WHEN LN_docs.estado_doc = 'V' THEN 'check'
             END AS icon_estado,

             CONVERT(VARCHAR, LN_docs.fecha_vigencia, 103) AS fecha_vigencia,
             CONVERT(VARCHAR, LN_docs.vencimiento_carga, 103) AS vencimiento_carga,
             ISNULL(LN_tipos_doc.es_balance, 0) AS es_balance, ISNULL(LN_tipos_doc.es_foto_perfil, 0) AS es_foto_perfil,
             iif(LN_tipos_doc.es_balance > 0, ISNULL(LN_tipos_doc.es_manif_bienes, 0), 0) AS es_manif_bienes,
             CONVERT(VARCHAR(10), LN_docs.inicio_ejercicio, 103) AS inicio_ejercicio,
             CONVERT(VARCHAR(10), LN_docs.fin_ejercicio, 103) AS fin_ejercicio, gestion,
             iif(LN_docs.ingresado IS NOT NULL, CONVERT(VARCHAR,LN_docs.ingresado,103)+' '+CONVERT(VARCHAR(5),LN_docs.ingresado,14), null) as ingresado,
             iif(LN_docs.rechazado IS NOT NULL, CONVERT(VARCHAR,LN_docs.rechazado,103)+' '+CONVERT(VARCHAR(5),LN_docs.rechazado,14), null) as rechazado,
             iif(LN_docs.verificado_backend IS NOT NULL, CONVERT(VARCHAR,LN_docs.verificado_backend,103)+' '+CONVERT(VARCHAR(5),LN_docs.verificado_backend,14), NULL) as verificado_backend,
             CONVERT(VARCHAR(19),LN_docs.verificado_cliente,121) as verificado_cliente,
             CONVERT(VARCHAR(19),LN_docs.created,121) as created,
             CONVERT(VARCHAR(19),LN_docs.modified,121) as modified,
             LN_docs.ingresado_por, LN_docs.rechazado_por, LN_docs.verificado_backend_por,
             LN_docs.verificado_cliente_por, LN_docs.created_by, LN_docs.modified_by,
             clientes.nombre_cliente, padrones.nombre_persona, padrones.identificador, padrones.id_padron,
             padrones.numero, identificadores.abreviatura, identificadores.country_code,
             country.country_name, LN_contrapartes.activo, LN_contrapartes.nombre_contacto,
             LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
             LN_tipos_doc.nombre_tipo_doc, LN_tipos_doc.tipo_vigencia, LN_docs.id_externo,
             users1.first_name + ' ' + users1.last_name AS ingresado_por_usuario,
             users2.first_name + ' ' + users2.last_name AS rechazado_por_usuario,
             isnull(users2.aliasname, users2.first_name + ' ' + users2.last_name) as rechazado_por_alias, 
             users3.first_name + ' ' + users3.last_name AS verificado_backend_por_usuario,
             isnull(users3.aliasname, users3.first_name + ' ' + users3.last_name) as verificado_backend_por_alias,
             users4.first_name + ' ' + users4.last_name AS verificado_cliente_por_usuario,
             users5.first_name + ' ' + users5.last_name AS created_by_usuario,
             users6.first_name + ' ' + users6.last_name AS modified_by_usuario,LN_contrapartes.servicio_contratado , 
             Doc.orden

            FROM LN_docs
            INNER JOIN clientes ON LN_docs.cliente = clientes.cliente
            INNER JOIN LN_contrapartes ON LN_docs.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 country ON identificadores.country_code = country.country_code
            INNER JOIN LN_tipos_doc ON LN_docs.tipo_doc = LN_tipos_doc.tipo_doc


            
            LEFT JOIN (select contraparte, LN_set_tipo_doc.tipo_doc, orden
               from ln_contraparte_familias 
               inner join ln_familias on ln_familias.familia = ln_contraparte_familias.familia
               inner join LN_set_tipo_doc on LN_set_tipo_doc.set_doc = LN_familias.set_doc) DOC 
               on DOC.contraparte = ln_docs.contraparte and DOC.tipo_doc = ln_docs.tipo_doc



            INNER JOIN
             (/*select LN_producto_tipo_doc.tipo_doc, MIN(LN_producto_tipo_doc.orden) as orden
              from LN_producto_tipo_doc
              inner join LN_familia_productos 
              on LN_producto_tipo_doc.producto = LN_familia_productos.producto
              inner join LN_contraparte_familias
              on LN_familia_productos.familia = LN_contraparte_familias.familia
              inner join LN_contrapartes 
              on LN_contraparte_familias.contraparte = LN_contrapartes.contraparte
              inner join LN_cliente_productos
              on (LN_familia_productos.producto = LN_cliente_productos.producto
              and LN_contrapartes.cliente = LN_cliente_productos.cliente)
              where LN_contrapartes.contraparte = @p_contraparte
              and LN_contraparte_familias.activo = 1
              and LN_cliente_productos.activo = 1
              and LN_familia_productos.activo = 1
              group by LN_producto_tipo_doc.tipo_doc*/

             
             
             select LN_set_tipo_doc.tipo_doc, MIN(LN_set_tipo_doc.orden) AS orden
             from LN_set_tipo_doc
             inner join LN_familias on LN_set_tipo_doc.set_doc = LN_familias.set_doc
             inner join LN_contraparte_familias on LN_familias.familia = LN_contraparte_familias.familia
             inner join LN_contrapartes on LN_contraparte_familias.contraparte = LN_contrapartes.contraparte
             inner join LN_familia_productos on LN_contraparte_familias.familia = LN_familia_productos.familia
             inner join LN_productos on LN_familia_productos.producto = LN_productos.producto
             inner join LN_cliente_productos
              on (LN_familia_productos.producto = LN_cliente_productos.producto
               and LN_contrapartes.cliente = LN_cliente_productos.cliente)
             where LN_contraparte_familias.contraparte = @p_contraparte
             and LN_contraparte_familias.activo = 1
             and LN_cliente_productos.activo = 1
             and LN_productos.documentos = 1
             and LN_familia_productos.activo = 1
             group by LN_set_tipo_doc.tipo_doc) CONFIG ON LN_tipos_doc.tipo_doc = CONFIG.tipo_doc


            LEFT OUTER JOIN users users1 ON LN_docs.ingresado_por = users1.user_id
            LEFT OUTER JOIN users users2 ON LN_docs.rechazado_por = users2.user_id
            LEFT OUTER JOIN users users3 ON LN_docs.verificado_backend_por = users3.user_id
            LEFT OUTER JOIN users users4 ON LN_docs.verificado_cliente_por = users4.user_id
            LEFT OUTER JOIN users users5 ON LN_docs.created_by = users5.user_id
            LEFT OUTER JOIN users users6 ON LN_docs.modified_by = users6.user_id
          
            WHERE LN_docs.cliente = @p_cliente
            AND LN_docs.contraparte = @p_contraparte
            AND LN_docs.gestion = @p_gestion

            ORDER BY Doc.orden, LN_tipos_doc.nombre_tipo_doc ASC,clientes.nombre_cliente, padrones.nombre_persona,CONFIG.orden, LN_docs.doc_version

           ELSE

            IF (@caso = 5) 

             SELECT LN_docs.doc_id, LN_docs.contraparte, LN_docs.cliente, LN_docs.tipo_doc,
              LN_docs.doc_version, LN_docs.estado_doc, LN_docs.doc_log, LN_docs.doc_attach,
              CASE 
               WHEN LN_docs.estado_doc = 'N' THEN 'Pendiente de ingreso'
               WHEN LN_docs.estado_doc = 'I' THEN 'Ingresado'
               WHEN LN_docs.estado_doc = 'R' THEN 'Rechazado'
               WHEN LN_docs.estado_doc = 'V' THEN 'Verificado'
              END AS estado_documento,
              CASE 
               WHEN LN_docs.estado_doc = 'N' THEN 'text-info'
               WHEN LN_docs.estado_doc = 'I' THEN 'text-warning'
               WHEN LN_docs.estado_doc = 'R' THEN 'text-danger'
               WHEN LN_docs.estado_doc = 'V' THEN 'text-success'
              END AS class_estado,
              CASE 
               WHEN LN_docs.estado_doc = 'N' THEN 'cloud-upload fa-cloud-upload-alt'
               WHEN LN_docs.estado_doc = 'I' THEN 'exclamation'
               WHEN LN_docs.estado_doc = 'R' THEN 'times'
               WHEN LN_docs.estado_doc = 'V' THEN 'check'
              END AS icon_estado,

              CONVERT(VARCHAR, LN_docs.fecha_vigencia, 103) AS fecha_vigencia,
              CONVERT(VARCHAR, LN_docs.vencimiento_carga, 103) AS vencimiento_carga,
              ISNULL(LN_tipos_doc.es_balance, 0) AS es_balance, ISNULL(LN_tipos_doc.es_foto_perfil, 0) AS es_foto_perfil,
              iif(LN_tipos_doc.es_balance > 0, ISNULL(LN_tipos_doc.es_manif_bienes, 0), 0) AS es_manif_bienes,
              CONVERT(VARCHAR(10), LN_docs.inicio_ejercicio, 103) AS inicio_ejercicio,
              CONVERT(VARCHAR(10), LN_docs.fin_ejercicio, 103) AS fin_ejercicio, gestion,
              iif(LN_docs.ingresado IS NOT NULL, CONVERT(VARCHAR,LN_docs.ingresado,103)+' '+CONVERT(VARCHAR(5),LN_docs.ingresado,14), null) as ingresado,
              iif(LN_docs.rechazado IS NOT NULL, CONVERT(VARCHAR,LN_docs.rechazado,103)+' '+CONVERT(VARCHAR(5),LN_docs.rechazado,14), null) as rechazado,
              iif(LN_docs.verificado_backend IS NOT NULL, CONVERT(VARCHAR,LN_docs.verificado_backend,103)+' '+CONVERT(VARCHAR(5),LN_docs.verificado_backend,14), NULL) as verificado_backend,
              CONVERT(VARCHAR(19),LN_docs.verificado_cliente,121) as verificado_cliente,
              CONVERT(VARCHAR(19),LN_docs.created,121) as created,
              CONVERT(VARCHAR(19),LN_docs.modified,121) as modified,
              LN_docs.ingresado_por, LN_docs.rechazado_por, LN_docs.verificado_backend_por,
              LN_docs.verificado_cliente_por, LN_docs.created_by, LN_docs.modified_by,
              clientes.nombre_cliente, padrones.nombre_persona, padrones.identificador, padrones.id_padron,
              padrones.numero, identificadores.abreviatura, identificadores.country_code,
              country.country_name, LN_contrapartes.activo, LN_contrapartes.nombre_contacto,
              LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
              LN_tipos_doc.nombre_tipo_doc, LN_tipos_doc.tipo_vigencia, LN_docs.id_externo,
              users1.first_name + ' ' + users1.last_name AS ingresado_por_usuario,
              users2.first_name + ' ' + users2.last_name AS rechazado_por_usuario,
              isnull(users2.aliasname, users2.first_name + ' ' + users2.last_name) as rechazado_por_alias, 
              users3.first_name + ' ' + users3.last_name AS verificado_backend_por_usuario,
              isnull(users3.aliasname, users3.first_name + ' ' + users3.last_name) as verificado_backend_por_alias, 
              users4.first_name + ' ' + users4.last_name AS verificado_cliente_por_usuario,
              users5.first_name + ' ' + users5.last_name AS created_by_usuario,
              users6.first_name + ' ' + users6.last_name AS modified_by_usuario,LN_contrapartes.servicio_contratado, 
              Doc.orden

             FROM LN_docs
             INNER JOIN clientes ON LN_docs.cliente = clientes.cliente
             INNER JOIN LN_contrapartes ON LN_docs.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 country ON identificadores.country_code = country.country_code
             INNER JOIN LN_tipos_doc ON LN_docs.tipo_doc = LN_tipos_doc.tipo_doc
             LEFT JOIN (select contraparte, LN_set_tipo_doc.tipo_doc, orden
              from ln_contraparte_familias 
              inner join ln_familias on ln_familias.familia = ln_contraparte_familias.familia
              inner join LN_set_tipo_doc on LN_set_tipo_doc.set_doc = LN_familias.set_doc) DOC 
              on DOC.contraparte = ln_docs.contraparte and DOC.tipo_doc = ln_docs.tipo_doc 
             LEFT OUTER JOIN users users1 ON LN_docs.ingresado_por = users1.user_id
             LEFT OUTER JOIN users users2 ON LN_docs.rechazado_por = users2.user_id
             LEFT OUTER JOIN users users3 ON LN_docs.verificado_backend_por = users3.user_id
             LEFT OUTER JOIN users users4 ON LN_docs.verificado_cliente_por = users4.user_id
             LEFT OUTER JOIN users users5 ON LN_docs.created_by = users5.user_id
             LEFT OUTER JOIN users users6 ON LN_docs.modified_by = users6.user_id
          
             WHERE LN_docs.tipo_doc = @p_tipo_doc
             AND LN_docs.gestion = @p_gestion

             ORDER BY Doc.orden, LN_tipos_doc.nombre_tipo_doc ASC,clientes.nombre_cliente, padrones.nombre_persona, LN_docs.doc_version

            ELSE

             IF (@caso = 6) 

              SELECT LN_docs.doc_id, LN_docs.contraparte, LN_docs.cliente, LN_docs.tipo_doc,
               LN_docs.doc_version, LN_docs.estado_doc, LN_docs.doc_log, LN_docs.doc_attach,
               CASE 
                WHEN LN_docs.estado_doc = 'N' THEN 'Pendiente de ingreso'
                WHEN LN_docs.estado_doc = 'I' THEN 'Ingresado'
                WHEN LN_docs.estado_doc = 'R' THEN 'Rechazado'
                WHEN LN_docs.estado_doc = 'V' THEN 'Verificado'
               END AS estado_documento,
               CASE 
                WHEN LN_docs.estado_doc = 'N' THEN 'text-info'
                WHEN LN_docs.estado_doc = 'I' THEN 'text-warning'
                WHEN LN_docs.estado_doc = 'R' THEN 'text-danger'
                WHEN LN_docs.estado_doc = 'V' THEN 'text-success'
               END AS class_estado,
               CASE 
                WHEN LN_docs.estado_doc = 'N' THEN 'cloud-upload fa-cloud-upload-alt'
                WHEN LN_docs.estado_doc = 'I' THEN 'exclamation'
                WHEN LN_docs.estado_doc = 'R' THEN 'times'
                WHEN LN_docs.estado_doc = 'V' THEN 'check'
               END AS icon_estado,

               CONVERT(VARCHAR, LN_docs.fecha_vigencia, 103) AS fecha_vigencia,
               CONVERT(VARCHAR, LN_docs.vencimiento_carga, 103) AS vencimiento_carga,
               ISNULL(LN_tipos_doc.es_balance, 0) AS es_balance, ISNULL(LN_tipos_doc.es_foto_perfil, 0) AS es_foto_perfil,
               iif(LN_tipos_doc.es_balance > 0, ISNULL(LN_tipos_doc.es_manif_bienes, 0), 0) AS es_manif_bienes,
               CONVERT(VARCHAR(10), LN_docs.inicio_ejercicio, 103) AS inicio_ejercicio,
               CONVERT(VARCHAR(10), LN_docs.fin_ejercicio, 103) AS fin_ejercicio, gestion,
               iif(LN_docs.ingresado IS NOT NULL, CONVERT(VARCHAR,LN_docs.ingresado,103)+' '+CONVERT(VARCHAR(5),LN_docs.ingresado,14), null) as ingresado,
               iif(LN_docs.rechazado IS NOT NULL, CONVERT(VARCHAR,LN_docs.rechazado,103)+' '+CONVERT(VARCHAR(5),LN_docs.rechazado,14), null) as rechazado,
               iif(LN_docs.verificado_backend IS NOT NULL, CONVERT(VARCHAR,LN_docs.verificado_backend,103)+' '+CONVERT(VARCHAR(5),LN_docs.verificado_backend,14), NULL) as verificado_backend,
               CONVERT(VARCHAR(19),LN_docs.verificado_cliente,121) as verificado_cliente,
               CONVERT(VARCHAR(19),LN_docs.created,121) as created,
               CONVERT(VARCHAR(19),LN_docs.modified,121) as modified,
               LN_docs.ingresado_por, LN_docs.rechazado_por, LN_docs.verificado_backend_por,
               LN_docs.verificado_cliente_por, LN_docs.created_by, LN_docs.modified_by,
               clientes.nombre_cliente, padrones.nombre_persona, padrones.identificador, padrones.id_padron,
               padrones.numero, identificadores.abreviatura, identificadores.country_code,
               country.country_name, LN_contrapartes.activo, LN_contrapartes.nombre_contacto,
               LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
               LN_tipos_doc.nombre_tipo_doc, LN_tipos_doc.tipo_vigencia, LN_docs.id_externo,
               users1.first_name + ' ' + users1.last_name AS ingresado_por_usuario,
               users2.first_name + ' ' + users2.last_name AS rechazado_por_usuario,
               isnull(users2.aliasname, users2.first_name + ' ' + users2.last_name) as rechazado_por_alias, 
               users3.first_name + ' ' + users3.last_name AS verificado_backend_por_usuario,
               isnull(users3.aliasname, users3.first_name + ' ' + users3.last_name) as verificado_backend_por_alias, 
               users4.first_name + ' ' + users4.last_name AS verificado_cliente_por_usuario,
               users5.first_name + ' ' + users5.last_name AS created_by_usuario,
               users6.first_name + ' ' + users6.last_name AS modified_by_usuario,LN_contrapartes.servicio_contratado, 
               Doc.orden

              FROM LN_docs
              INNER JOIN clientes ON LN_docs.cliente = clientes.cliente
              INNER JOIN LN_contrapartes ON LN_docs.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 country ON identificadores.country_code = country.country_code
              INNER JOIN LN_tipos_doc ON LN_docs.tipo_doc = LN_tipos_doc.tipo_doc

              LEFT JOIN (select contraparte, LN_set_tipo_doc.tipo_doc, orden
               from ln_contraparte_familias 
               inner join ln_familias on ln_familias.familia = ln_contraparte_familias.familia
               inner join LN_set_tipo_doc on LN_set_tipo_doc.set_doc = LN_familias.set_doc) DOC 
               on DOC.contraparte = ln_docs.contraparte and DOC.tipo_doc = ln_docs.tipo_doc 

              LEFT OUTER JOIN users users1 ON LN_docs.ingresado_por = users1.user_id
              LEFT OUTER JOIN users users2 ON LN_docs.rechazado_por = users2.user_id
              LEFT OUTER JOIN users users3 ON LN_docs.verificado_backend_por = users3.user_id
              LEFT OUTER JOIN users users4 ON LN_docs.verificado_cliente_por = users4.user_id
              LEFT OUTER JOIN users users5 ON LN_docs.created_by = users5.user_id
              LEFT OUTER JOIN users users6 ON LN_docs.modified_by = users6.user_id
          
              WHERE LN_docs.cliente = @p_cliente
              AND LN_docs.tipo_doc = @p_tipo_doc
              AND LN_docs.gestion = @p_gestion

              ORDER BY doc.orden, LN_tipos_doc.nombre_tipo_doc ASC,clientes.nombre_cliente, padrones.nombre_persona, LN_docs.doc_version


             ELSE

              IF (@caso = 7) 

               SELECT LN_docs.doc_id, LN_docs.contraparte, LN_docs.cliente, LN_docs.tipo_doc,
                LN_docs.doc_version, LN_docs.estado_doc, LN_docs.doc_log, LN_docs.doc_attach,
                CASE 
                 WHEN LN_docs.estado_doc = 'N' THEN 'Pendiente de ingreso'
                 WHEN LN_docs.estado_doc = 'I' THEN 'Ingresado'
                 WHEN LN_docs.estado_doc = 'R' THEN 'Rechazado'
                 WHEN LN_docs.estado_doc = 'V' THEN 'Verificado'
                END AS estado_documento,
                CASE 
                 WHEN LN_docs.estado_doc = 'N' THEN 'text-info'
                 WHEN LN_docs.estado_doc = 'I' THEN 'text-warning'
                 WHEN LN_docs.estado_doc = 'R' THEN 'text-danger'
                 WHEN LN_docs.estado_doc = 'V' THEN 'text-success'
                END AS class_estado,
                CASE 
                 WHEN LN_docs.estado_doc = 'N' THEN 'cloud-upload fa-cloud-upload-alt'
                 WHEN LN_docs.estado_doc = 'I' THEN 'exclamation'
                 WHEN LN_docs.estado_doc = 'R' THEN 'times'
                 WHEN LN_docs.estado_doc = 'V' THEN 'check'
                END AS icon_estado,

                CONVERT(VARCHAR, LN_docs.fecha_vigencia, 103) AS fecha_vigencia,
                CONVERT(VARCHAR, LN_docs.vencimiento_carga, 103) AS vencimiento_carga,
                ISNULL(LN_tipos_doc.es_balance, 0) AS es_balance, ISNULL(LN_tipos_doc.es_foto_perfil, 0) AS es_foto_perfil,
                iif(LN_tipos_doc.es_balance > 0, ISNULL(LN_tipos_doc.es_manif_bienes, 0), 0) AS es_manif_bienes,
                CONVERT(VARCHAR(10), LN_docs.inicio_ejercicio, 103) AS inicio_ejercicio,
                CONVERT(VARCHAR(10), LN_docs.fin_ejercicio, 103) AS fin_ejercicio, gestion,
                iif(LN_docs.ingresado IS NOT NULL, CONVERT(VARCHAR,LN_docs.ingresado,103)+' '+CONVERT(VARCHAR(5),LN_docs.ingresado,14), null) as ingresado,
                iif(LN_docs.rechazado IS NOT NULL, CONVERT(VARCHAR,LN_docs.rechazado,103)+' '+CONVERT(VARCHAR(5),LN_docs.rechazado,14), null) as rechazado,
                iif(LN_docs.verificado_backend IS NOT NULL, CONVERT(VARCHAR,LN_docs.verificado_backend,103)+' '+CONVERT(VARCHAR(5),LN_docs.verificado_backend,14), NULL) as verificado_backend,
                CONVERT(VARCHAR(19),LN_docs.verificado_cliente,121) as verificado_cliente,
                CONVERT(VARCHAR(19),LN_docs.created,121) as created,
                CONVERT(VARCHAR(19),LN_docs.modified,121) as modified,
                LN_docs.ingresado_por, LN_docs.rechazado_por, LN_docs.verificado_backend_por,
                LN_docs.verificado_cliente_por, LN_docs.created_by, LN_docs.modified_by,
                clientes.nombre_cliente, padrones.nombre_persona, padrones.identificador, padrones.id_padron,
                padrones.numero, identificadores.abreviatura, identificadores.country_code,
                country.country_name, LN_contrapartes.activo, LN_contrapartes.nombre_contacto,
                LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
                LN_tipos_doc.nombre_tipo_doc, LN_tipos_doc.tipo_vigencia, LN_docs.id_externo,
                users1.first_name + ' ' + users1.last_name AS ingresado_por_usuario,
                users2.first_name + ' ' + users2.last_name AS rechazado_por_usuario,
                isnull(users2.aliasname, users2.first_name + ' ' + users2.last_name) as rechazado_por_alias, 
                users3.first_name + ' ' + users3.last_name AS verificado_backend_por_usuario,
                isnull(users3.aliasname, users3.first_name + ' ' + users3.last_name) as verificado_backend_por_alias, 
                users4.first_name + ' ' + users4.last_name AS verificado_cliente_por_usuario,
                users5.first_name + ' ' + users5.last_name AS created_by_usuario,
                users6.first_name + ' ' + users6.last_name AS modified_by_usuario,LN_contrapartes.servicio_contratado, 
                doc.orden

               FROM LN_docs
               INNER JOIN clientes ON LN_docs.cliente = clientes.cliente
               INNER JOIN LN_contrapartes ON LN_docs.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 country ON identificadores.country_code = country.country_code
               INNER JOIN LN_tipos_doc ON LN_docs.tipo_doc = LN_tipos_doc.tipo_doc

               LEFT JOIN (select contraparte, LN_set_tipo_doc.tipo_doc, orden
                from ln_contraparte_familias 
                inner join ln_familias on ln_familias.familia = ln_contraparte_familias.familia
                inner join LN_set_tipo_doc on LN_set_tipo_doc.set_doc = LN_familias.set_doc) DOC 
                on DOC.contraparte = ln_docs.contraparte and DOC.tipo_doc = ln_docs.tipo_doc 

               LEFT OUTER JOIN users users1 ON LN_docs.ingresado_por = users1.user_id
               LEFT OUTER JOIN users users2 ON LN_docs.rechazado_por = users2.user_id
               LEFT OUTER JOIN users users3 ON LN_docs.verificado_backend_por = users3.user_id
               LEFT OUTER JOIN users users4 ON LN_docs.verificado_cliente_por = users4.user_id
               LEFT OUTER JOIN users users5 ON LN_docs.created_by = users5.user_id
               LEFT OUTER JOIN users users6 ON LN_docs.modified_by = users6.user_id
          
               WHERE LN_docs.contraparte = @p_tipo_doc
               AND LN_docs.tipo_doc = @p_tipo_doc
               AND LN_docs.gestion = @p_gestion

               ORDER BY doc.orden, LN_tipos_doc.nombre_tipo_doc ASC,clientes.nombre_cliente, padrones.nombre_persona, LN_docs.doc_version

              ELSE

               IF (@caso = 8) 

                SELECT LN_docs.doc_id, LN_docs.contraparte, LN_docs.cliente, LN_docs.tipo_doc,
                 LN_docs.doc_version, LN_docs.estado_doc, LN_docs.doc_log, LN_docs.doc_attach,
                 CASE 
                  WHEN LN_docs.estado_doc = 'N' THEN 'Pendiente de ingreso'
                  WHEN LN_docs.estado_doc = 'I' THEN 'Ingresado'
                  WHEN LN_docs.estado_doc = 'R' THEN 'Rechazado'
                  WHEN LN_docs.estado_doc = 'V' THEN 'Verificado'
                 END AS estado_documento,
                 CASE 
                  WHEN LN_docs.estado_doc = 'N' THEN 'text-info'
                  WHEN LN_docs.estado_doc = 'I' THEN 'text-warning'
                  WHEN LN_docs.estado_doc = 'R' THEN 'text-danger'
                  WHEN LN_docs.estado_doc = 'V' THEN 'text-success'
                 END AS class_estado,
                 CASE 
                  WHEN LN_docs.estado_doc = 'N' THEN 'cloud-upload fa-cloud-upload-alt'
                  WHEN LN_docs.estado_doc = 'I' THEN 'exclamation'
                  WHEN LN_docs.estado_doc = 'R' THEN 'times'
                  WHEN LN_docs.estado_doc = 'V' THEN 'check'
                 END AS icon_estado,

                 CONVERT(VARCHAR, LN_docs.fecha_vigencia, 103) AS fecha_vigencia,
                 CONVERT(VARCHAR, LN_docs.vencimiento_carga, 103) AS vencimiento_carga,
                 ISNULL(LN_tipos_doc.es_balance, 0) AS es_balance, ISNULL(LN_tipos_doc.es_foto_perfil, 0) AS es_foto_perfil,
                 iif(LN_tipos_doc.es_balance > 0, ISNULL(LN_tipos_doc.es_manif_bienes, 0), 0) AS es_manif_bienes,
                 CONVERT(VARCHAR(10), LN_docs.inicio_ejercicio, 103) AS inicio_ejercicio,
                 CONVERT(VARCHAR(10), LN_docs.fin_ejercicio, 103) AS fin_ejercicio, gestion,
                 iif(LN_docs.ingresado IS NOT NULL, CONVERT(VARCHAR,LN_docs.ingresado,103)+' '+CONVERT(VARCHAR(5),LN_docs.ingresado,14), null) as ingresado,
                 iif(LN_docs.rechazado IS NOT NULL, CONVERT(VARCHAR,LN_docs.rechazado,103)+' '+CONVERT(VARCHAR(5),LN_docs.rechazado,14), null) as rechazado,
                 iif(LN_docs.verificado_backend IS NOT NULL, CONVERT(VARCHAR,LN_docs.verificado_backend,103)+' '+CONVERT(VARCHAR(5),LN_docs.verificado_backend,14), NULL) as verificado_backend,
                 CONVERT(VARCHAR(19),LN_docs.verificado_cliente,121) as verificado_cliente,
                 CONVERT(VARCHAR(19),LN_docs.created,121) as created,
                 CONVERT(VARCHAR(19),LN_docs.modified,121) as modified,
                 LN_docs.ingresado_por, LN_docs.rechazado_por, LN_docs.verificado_backend_por,
                 LN_docs.verificado_cliente_por, LN_docs.created_by, LN_docs.modified_by,
                 clientes.nombre_cliente, padrones.nombre_persona, padrones.identificador, padrones.id_padron,
                 padrones.numero, identificadores.abreviatura, identificadores.country_code,
                 country.country_name, LN_contrapartes.activo, LN_contrapartes.nombre_contacto,
                 LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
                 LN_tipos_doc.nombre_tipo_doc, LN_tipos_doc.tipo_vigencia, LN_docs.id_externo,
                 users1.first_name + ' ' + users1.last_name AS ingresado_por_usuario,
                 users2.first_name + ' ' + users2.last_name AS rechazado_por_usuario,
                 isnull(users2.aliasname, users2.first_name + ' ' + users2.last_name) as rechazado_por_alias, 
                 users3.first_name + ' ' + users3.last_name AS verificado_backend_por_usuario,
                 isnull(users3.aliasname, users3.first_name + ' ' + users3.last_name) as verificado_backend_por_alias,
                 users4.first_name + ' ' + users4.last_name AS verificado_cliente_por_usuario,
                 users5.first_name + ' ' + users5.last_name AS created_by_usuario,
                 users6.first_name + ' ' + users6.last_name AS modified_by_usuario,LN_contrapartes.servicio_contratado,
                 LN_tipos_doc.consentimiento,LN_tipos_doc.es_dni ,ln_tipos_doc.es_evidencia 
                 ,doc.orden
                FROM LN_docs
                INNER JOIN clientes ON LN_docs.cliente = clientes.cliente
                INNER JOIN LN_contrapartes ON LN_docs.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 country ON identificadores.country_code = country.country_code
                INNER JOIN LN_tipos_doc ON LN_docs.tipo_doc = LN_tipos_doc.tipo_doc

                LEFT JOIN (select contraparte, LN_set_tipo_doc.tipo_doc, orden
                 from ln_contraparte_familias 
                 inner join ln_familias on ln_familias.familia = ln_contraparte_familias.familia
                 inner join LN_set_tipo_doc on LN_set_tipo_doc.set_doc = LN_familias.set_doc) DOC 
                 on DOC.contraparte = ln_docs.contraparte and DOC.tipo_doc = ln_docs.tipo_doc 

                LEFT OUTER JOIN users users1 ON LN_docs.ingresado_por = users1.user_id
                LEFT OUTER JOIN users users2 ON LN_docs.rechazado_por = users2.user_id
                LEFT OUTER JOIN users users3 ON LN_docs.verificado_backend_por = users3.user_id
                LEFT OUTER JOIN users users4 ON LN_docs.verificado_cliente_por = users4.user_id
                LEFT OUTER JOIN users users5 ON LN_docs.created_by = users5.user_id
                LEFT OUTER JOIN users users6 ON LN_docs.modified_by = users6.user_id
          
                WHERE LN_docs.cliente = @p_cliente
                AND LN_docs.contraparte = @p_contraparte
                AND LN_docs.tipo_doc = @p_tipo_doc
                AND LN_docs.gestion = @p_gestion

                ORDER BY doc.orden, LN_tipos_doc.nombre_tipo_doc ASC,clientes.nombre_cliente, padrones.nombre_persona, LN_docs.doc_version

               ELSE

                IF (@caso = 9) 

                 SELECT LN_docs.doc_id, LN_docs.contraparte, LN_docs.cliente, LN_docs.tipo_doc,
                  LN_docs.doc_version, LN_docs.estado_doc, LN_docs.doc_log, LN_docs.doc_attach,
                  CASE 
                   WHEN LN_docs.estado_doc = 'N' THEN 'Pendiente de ingreso'
                   WHEN LN_docs.estado_doc = 'I' THEN 'Ingresado'
                   WHEN LN_docs.estado_doc = 'R' THEN 'Rechazado'
                   WHEN LN_docs.estado_doc = 'V' THEN 'Verificado'
                  END AS estado_documento,
                  CASE 
                   WHEN LN_docs.estado_doc = 'N' THEN 'text-info'
                   WHEN LN_docs.estado_doc = 'I' THEN 'text-warning'
                   WHEN LN_docs.estado_doc = 'R' THEN 'text-danger'
                   WHEN LN_docs.estado_doc = 'V' THEN 'text-success'
                  END AS class_estado,
                  CASE 
                   WHEN LN_docs.estado_doc = 'N' THEN 'cloud-upload fa-cloud-upload-alt'
                   WHEN LN_docs.estado_doc = 'I' THEN 'exclamation'
                   WHEN LN_docs.estado_doc = 'R' THEN 'times'
                   WHEN LN_docs.estado_doc = 'V' THEN 'check'
                  END AS icon_estado,

                  CONVERT(VARCHAR, LN_docs.fecha_vigencia, 103) AS fecha_vigencia,
                  CONVERT(VARCHAR, LN_docs.vencimiento_carga, 103) AS vencimiento_carga,
                  ISNULL(LN_tipos_doc.es_balance, 0) AS es_balance, ISNULL(LN_tipos_doc.es_foto_perfil, 0) AS es_foto_perfil,
                  iif(LN_tipos_doc.es_balance > 0, ISNULL(LN_tipos_doc.es_manif_bienes, 0), 0) AS es_manif_bienes,
                  CONVERT(VARCHAR(10), LN_docs.inicio_ejercicio, 103) AS inicio_ejercicio,
                  CONVERT(VARCHAR(10), LN_docs.fin_ejercicio, 103) AS fin_ejercicio, gestion,
                  iif(LN_docs.ingresado IS NOT NULL, CONVERT(VARCHAR,LN_docs.ingresado,103)+' '+CONVERT(VARCHAR(5),LN_docs.ingresado,14), null) as ingresado,
                  iif(LN_docs.rechazado IS NOT NULL, CONVERT(VARCHAR,LN_docs.rechazado,103)+' '+CONVERT(VARCHAR(5),LN_docs.rechazado,14), null) as rechazado,
                  iif(LN_docs.verificado_backend IS NOT NULL, CONVERT(VARCHAR,LN_docs.verificado_backend,103)+' '+CONVERT(VARCHAR(5),LN_docs.verificado_backend,14), NULL) as verificado_backend,
                  CONVERT(VARCHAR(19),LN_docs.verificado_cliente,121) as verificado_cliente,
                  CONVERT(VARCHAR(19),LN_docs.created,121) as created,
                  CONVERT(VARCHAR(19),LN_docs.modified,121) as modified,
                  LN_docs.ingresado_por, LN_docs.rechazado_por, LN_docs.verificado_backend_por,
                  LN_docs.verificado_cliente_por, LN_docs.created_by, LN_docs.modified_by,
                  clientes.nombre_cliente, padrones.nombre_persona, padrones.identificador, padrones.id_padron,
                  padrones.numero, identificadores.abreviatura, identificadores.country_code,
                  country.country_name, LN_contrapartes.activo, LN_contrapartes.nombre_contacto,
                  LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
                  LN_tipos_doc.nombre_tipo_doc, LN_tipos_doc.tipo_vigencia, LN_docs.id_externo,
                  users1.first_name + ' ' + users1.last_name AS ingresado_por_usuario,
                  users2.first_name + ' ' + users2.last_name AS rechazado_por_usuario,
                  isnull(users2.aliasname, users2.first_name + ' ' + users2.last_name) as rechazado_por_alias, 
                  users3.first_name + ' ' + users3.last_name AS verificado_backend_por_usuario,
                  isnull(users3.aliasname, users3.first_name + ' ' + users3.last_name) as verificado_backend_por_alias,
                  users4.first_name + ' ' + users4.last_name AS verificado_cliente_por_usuario,
                  users5.first_name + ' ' + users5.last_name AS created_by_usuario,
                  users6.first_name + ' ' + users6.last_name AS modified_by_usuario,LN_contrapartes.servicio_contratado 
                  ,doc.orden 
                 FROM LN_docs
                 INNER JOIN clientes ON LN_docs.cliente = clientes.cliente
                 INNER JOIN LN_contrapartes ON LN_docs.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 country ON identificadores.country_code = country.country_code
                 INNER JOIN LN_tipos_doc ON LN_docs.tipo_doc = LN_tipos_doc.tipo_doc

                 LEFT JOIN (select contraparte, LN_set_tipo_doc.tipo_doc, orden
                 from ln_contraparte_familias 
                 inner join ln_familias on ln_familias.familia = ln_contraparte_familias.familia
                 inner join LN_set_tipo_doc on LN_set_tipo_doc.set_doc = LN_familias.set_doc) DOC 
                 on DOC.contraparte = ln_docs.contraparte and DOC.tipo_doc = ln_docs.tipo_doc 

                 LEFT OUTER JOIN users users1 ON LN_docs.ingresado_por = users1.user_id
                 LEFT OUTER JOIN users users2 ON LN_docs.rechazado_por = users2.user_id
                 LEFT OUTER JOIN users users3 ON LN_docs.verificado_backend_por = users3.user_id
                 LEFT OUTER JOIN users users4 ON LN_docs.verificado_cliente_por = users4.user_id
                 LEFT OUTER JOIN users users5 ON LN_docs.created_by = users5.user_id
                 LEFT OUTER JOIN users users6 ON LN_docs.modified_by = users6.user_id
          
                 WHERE LN_docs.tipo_doc = @p_tipo_doc
                 AND LN_docs.doc_version = @p_doc_version
                 AND LN_docs.gestion = @p_gestion

                 ORDER BY doc.orden, LN_tipos_doc.nombre_tipo_doc ASC,clientes.nombre_cliente, padrones.nombre_persona, LN_docs.doc_version

                ELSE

                 IF (@caso = 10) 

                  SELECT LN_docs.doc_id, LN_docs.contraparte, LN_docs.cliente, LN_docs.tipo_doc,
                   LN_docs.doc_version, LN_docs.estado_doc, LN_docs.doc_log, LN_docs.doc_attach,
                   CASE 
                    WHEN LN_docs.estado_doc = 'N' THEN 'Pendiente de ingreso'
                    WHEN LN_docs.estado_doc = 'I' THEN 'Ingresado'
                    WHEN LN_docs.estado_doc = 'R' THEN 'Rechazado'
                    WHEN LN_docs.estado_doc = 'V' THEN 'Verificado'
                   END AS estado_documento,
                   CASE 
                    WHEN LN_docs.estado_doc = 'N' THEN 'text-info'
                    WHEN LN_docs.estado_doc = 'I' THEN 'text-warning'
                    WHEN LN_docs.estado_doc = 'R' THEN 'text-danger'
                    WHEN LN_docs.estado_doc = 'V' THEN 'text-success'
                   END AS class_estado,
                   CASE 
                    WHEN LN_docs.estado_doc = 'N' THEN 'cloud-upload fa-cloud-upload-alt'
                    WHEN LN_docs.estado_doc = 'I' THEN 'exclamation'
                    WHEN LN_docs.estado_doc = 'R' THEN 'times'
                    WHEN LN_docs.estado_doc = 'V' THEN 'check'
                   END AS icon_estado,

                   CONVERT(VARCHAR, LN_docs.fecha_vigencia, 103) AS fecha_vigencia,
                   CONVERT(VARCHAR, LN_docs.vencimiento_carga, 103) AS vencimiento_carga,
                   ISNULL(LN_tipos_doc.es_balance, 0) AS es_balance, ISNULL(LN_tipos_doc.es_foto_perfil, 0) AS es_foto_perfil,
                   iif(LN_tipos_doc.es_balance > 0, ISNULL(LN_tipos_doc.es_manif_bienes, 0), 0) AS es_manif_bienes,
                   CONVERT(VARCHAR(10), LN_docs.inicio_ejercicio, 103) AS inicio_ejercicio,
                   CONVERT(VARCHAR(10), LN_docs.fin_ejercicio, 103) AS fin_ejercicio, gestion,
                   iif(LN_docs.ingresado IS NOT NULL, CONVERT(VARCHAR,LN_docs.ingresado,103)+' '+CONVERT(VARCHAR(5),LN_docs.ingresado,14), null) as ingresado,
                   iif(LN_docs.rechazado IS NOT NULL, CONVERT(VARCHAR,LN_docs.rechazado,103)+' '+CONVERT(VARCHAR(5),LN_docs.rechazado,14), null) as rechazado,
                   iif(LN_docs.verificado_backend IS NOT NULL, CONVERT(VARCHAR,LN_docs.verificado_backend,103)+' '+CONVERT(VARCHAR(5),LN_docs.verificado_backend,14), NULL) as verificado_backend,
                   CONVERT(VARCHAR(19),LN_docs.verificado_cliente,121) as verificado_cliente,
                   CONVERT(VARCHAR(19),LN_docs.created,121) as created,
                   CONVERT(VARCHAR(19),LN_docs.modified,121) as modified,
                   LN_docs.ingresado_por, LN_docs.rechazado_por, LN_docs.verificado_backend_por,
                   LN_docs.verificado_cliente_por, LN_docs.created_by, LN_docs.modified_by,
                   clientes.nombre_cliente, padrones.nombre_persona, padrones.identificador, padrones.id_padron,
                   padrones.numero, identificadores.abreviatura, identificadores.country_code,
                   country.country_name, LN_contrapartes.activo, LN_contrapartes.nombre_contacto,
                   LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
                   LN_tipos_doc.nombre_tipo_doc, LN_tipos_doc.tipo_vigencia, LN_docs.id_externo,
                   users1.first_name + ' ' + users1.last_name AS ingresado_por_usuario,
                   users2.first_name + ' ' + users2.last_name AS rechazado_por_usuario,
                   isnull(users2.aliasname, users2.first_name + ' ' + users2.last_name) as rechazado_por_alias, 
                   users3.first_name + ' ' + users3.last_name AS verificado_backend_por_usuario,
                   isnull(users3.aliasname, users3.first_name + ' ' + users3.last_name) as verificado_backend_por_alias,
                   users4.first_name + ' ' + users4.last_name AS verificado_cliente_por_usuario,
                   users5.first_name + ' ' + users5.last_name AS created_by_usuario,
                   users6.first_name + ' ' + users6.last_name AS modified_by_usuario,LN_contrapartes.servicio_contratado
                   , doc.orden
                  FROM LN_docs
                  INNER JOIN clientes ON LN_docs.cliente = clientes.cliente
                  INNER JOIN LN_contrapartes ON LN_docs.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 country ON identificadores.country_code = country.country_code
                  INNER JOIN LN_tipos_doc ON LN_docs.tipo_doc = LN_tipos_doc.tipo_doc

                  LEFT JOIN (select contraparte, LN_set_tipo_doc.tipo_doc, orden
                    from ln_contraparte_familias 
                    inner join ln_familias on ln_familias.familia = ln_contraparte_familias.familia
                    inner join LN_set_tipo_doc on LN_set_tipo_doc.set_doc = LN_familias.set_doc) DOC 
                    on DOC.contraparte = ln_docs.contraparte and DOC.tipo_doc = ln_docs.tipo_doc 

                  LEFT OUTER JOIN users users1 ON LN_docs.ingresado_por = users1.user_id
                  LEFT OUTER JOIN users users2 ON LN_docs.rechazado_por = users2.user_id
                  LEFT OUTER JOIN users users3 ON LN_docs.verificado_backend_por = users3.user_id
                  LEFT OUTER JOIN users users4 ON LN_docs.verificado_cliente_por = users4.user_id
                  LEFT OUTER JOIN users users5 ON LN_docs.created_by = users5.user_id
                  LEFT OUTER JOIN users users6 ON LN_docs.modified_by = users6.user_id
          
                  WHERE LN_docs.cliente = @p_cliente
                  AND LN_docs.tipo_doc = @p_tipo_doc
                  AND LN_docs.doc_version = @p_doc_version
                  AND LN_docs.gestion = @p_gestion

                  ORDER BY doc.orden, LN_tipos_doc.nombre_tipo_doc ASC,clientes.nombre_cliente, padrones.nombre_persona, LN_docs.doc_version

                 ELSE

                  IF (@caso = 11) 

                   SELECT LN_docs.doc_id, LN_docs.contraparte, LN_docs.cliente, LN_docs.tipo_doc,
                    LN_docs.doc_version, LN_docs.estado_doc, LN_docs.doc_log, LN_docs.doc_attach,
                    CASE 
                     WHEN LN_docs.estado_doc = 'N' THEN 'Pendiente de ingreso'
                     WHEN LN_docs.estado_doc = 'I' THEN 'Ingresado'
                     WHEN LN_docs.estado_doc = 'R' THEN 'Rechazado'
                     WHEN LN_docs.estado_doc = 'V' THEN 'Verificado'
                    END AS estado_documento,
                    CASE 
                     WHEN LN_docs.estado_doc = 'N' THEN 'text-info'
                     WHEN LN_docs.estado_doc = 'I' THEN 'text-warning'
                     WHEN LN_docs.estado_doc = 'R' THEN 'text-danger'
                     WHEN LN_docs.estado_doc = 'V' THEN 'text-success'
                    END AS class_estado,
                    CASE 
                     WHEN LN_docs.estado_doc = 'N' THEN 'cloud-upload fa-cloud-upload-alt'
                     WHEN LN_docs.estado_doc = 'I' THEN 'exclamation'
                     WHEN LN_docs.estado_doc = 'R' THEN 'times'
                     WHEN LN_docs.estado_doc = 'V' THEN 'check'
                    END AS icon_estado,

                    CONVERT(VARCHAR, LN_docs.fecha_vigencia, 103) AS fecha_vigencia,
                    CONVERT(VARCHAR, LN_docs.vencimiento_carga, 103) AS vencimiento_carga,
                    ISNULL(LN_tipos_doc.es_balance, 0) AS es_balance, ISNULL(LN_tipos_doc.es_foto_perfil, 0) AS es_foto_perfil,
                    iif(LN_tipos_doc.es_balance > 0, ISNULL(LN_tipos_doc.es_manif_bienes, 0), 0) AS es_manif_bienes,
                    CONVERT(VARCHAR(10), LN_docs.inicio_ejercicio, 103) AS inicio_ejercicio,
                    CONVERT(VARCHAR(10), LN_docs.fin_ejercicio, 103) AS fin_ejercicio, gestion,
                    iif(LN_docs.ingresado IS NOT NULL, CONVERT(VARCHAR,LN_docs.ingresado,103)+' '+CONVERT(VARCHAR(5),LN_docs.ingresado,14), null) as ingresado,
                    iif(LN_docs.rechazado IS NOT NULL, CONVERT(VARCHAR,LN_docs.rechazado,103)+' '+CONVERT(VARCHAR(5),LN_docs.rechazado,14), null) as rechazado,
                    iif(LN_docs.verificado_backend IS NOT NULL, CONVERT(VARCHAR,LN_docs.verificado_backend,103)+' '+CONVERT(VARCHAR(5),LN_docs.verificado_backend,14), NULL) as verificado_backend,
                    CONVERT(VARCHAR(19),LN_docs.verificado_cliente,121) as verificado_cliente,
                    CONVERT(VARCHAR(19),LN_docs.created,121) as created,
                    CONVERT(VARCHAR(19),LN_docs.modified,121) as modified,
                    LN_docs.ingresado_por, LN_docs.rechazado_por, LN_docs.verificado_backend_por,
                    LN_docs.verificado_cliente_por, LN_docs.created_by, LN_docs.modified_by,
                    clientes.nombre_cliente, padrones.nombre_persona, padrones.identificador, padrones.id_padron,
                    padrones.numero, identificadores.abreviatura, identificadores.country_code,
                    country.country_name, LN_contrapartes.activo, LN_contrapartes.nombre_contacto,
                    LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
                    LN_tipos_doc.nombre_tipo_doc, LN_tipos_doc.tipo_vigencia, LN_docs.id_externo,
                    users1.first_name + ' ' + users1.last_name AS ingresado_por_usuario,
                    users2.first_name + ' ' + users2.last_name AS rechazado_por_usuario,
                    isnull(users2.aliasname, users2.first_name + ' ' + users2.last_name) as rechazado_por_alias, 
                    users3.first_name + ' ' + users3.last_name AS verificado_backend_por_usuario,
                    isnull(users3.aliasname, users3.first_name + ' ' + users3.last_name) as verificado_backend_por_alias,
                    users4.first_name + ' ' + users4.last_name AS verificado_cliente_por_usuario,
                    users5.first_name + ' ' + users5.last_name AS created_by_usuario,
                    users6.first_name + ' ' + users6.last_name AS modified_by_usuario,LN_contrapartes.servicio_contratado
                    ,doc.orden
                   FROM LN_docs
                   INNER JOIN clientes ON LN_docs.cliente = clientes.cliente
                   INNER JOIN LN_contrapartes ON LN_docs.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 country ON identificadores.country_code = country.country_code
                   INNER JOIN LN_tipos_doc ON LN_docs.tipo_doc = LN_tipos_doc.tipo_doc
                   LEFT JOIN (select contraparte, LN_set_tipo_doc.tipo_doc, orden
                   from ln_contraparte_familias 
                   inner join ln_familias on ln_familias.familia = ln_contraparte_familias.familia
                   inner join LN_set_tipo_doc on LN_set_tipo_doc.set_doc = LN_familias.set_doc) DOC 
                   on DOC.contraparte = ln_docs.contraparte and DOC.tipo_doc = ln_docs.tipo_doc 
                   LEFT OUTER JOIN users users1 ON LN_docs.ingresado_por = users1.user_id
                   LEFT OUTER JOIN users users2 ON LN_docs.rechazado_por = users2.user_id
                   LEFT OUTER JOIN users users3 ON LN_docs.verificado_backend_por = users3.user_id
                   LEFT OUTER JOIN users users4 ON LN_docs.verificado_cliente_por = users4.user_id
                   LEFT OUTER JOIN users users5 ON LN_docs.created_by = users5.user_id
                   LEFT OUTER JOIN users users6 ON LN_docs.modified_by = users6.user_id
          
                   WHERE LN_docs.contraparte = @p_contraparte
                   AND LN_docs.tipo_doc = @p_tipo_doc
                   AND LN_docs.doc_version = @p_doc_version
                   AND LN_docs.gestion = @p_gestion

                   ORDER BY Doc.orden, LN_tipos_doc.nombre_tipo_doc ASC,clientes.nombre_cliente, padrones.nombre_persona, LN_docs.doc_version

                  ELSE

                   IF (@caso = 12) 

                    SELECT LN_docs.doc_id, LN_docs.contraparte, LN_docs.cliente, LN_docs.tipo_doc,
                     LN_docs.doc_version, LN_docs.estado_doc, LN_docs.doc_log, LN_docs.doc_attach,
                     CASE 
                      WHEN LN_docs.estado_doc = 'N' THEN 'Pendiente de ingreso'
                      WHEN LN_docs.estado_doc = 'I' THEN 'Ingresado'
                      WHEN LN_docs.estado_doc = 'R' THEN 'Rechazado'
                      WHEN LN_docs.estado_doc = 'V' THEN 'Verificado'
                     END AS estado_documento,
                     CASE 
                      WHEN LN_docs.estado_doc = 'N' THEN 'text-info'
                      WHEN LN_docs.estado_doc = 'I' THEN 'text-warning'
                      WHEN LN_docs.estado_doc = 'R' THEN 'text-danger'
                      WHEN LN_docs.estado_doc = 'V' THEN 'text-success'
                     END AS class_estado,
                     CASE 
                      WHEN LN_docs.estado_doc = 'N' THEN 'cloud-upload fa-cloud-upload-alt'
                      WHEN LN_docs.estado_doc = 'I' THEN 'exclamation'
                      WHEN LN_docs.estado_doc = 'R' THEN 'times'
                      WHEN LN_docs.estado_doc = 'V' THEN 'check'
                     END AS icon_estado,

                     CONVERT(VARCHAR, LN_docs.fecha_vigencia, 103) AS fecha_vigencia,
                     CONVERT(VARCHAR, LN_docs.vencimiento_carga, 103) AS vencimiento_carga,
                     ISNULL(LN_tipos_doc.es_balance, 0) AS es_balance, ISNULL(LN_tipos_doc.es_foto_perfil, 0) AS es_foto_perfil,
                     iif(LN_tipos_doc.es_balance > 0, ISNULL(LN_tipos_doc.es_manif_bienes, 0), 0) AS es_manif_bienes,
                     CONVERT(VARCHAR(10), LN_docs.inicio_ejercicio, 103) AS inicio_ejercicio,
                     CONVERT(VARCHAR(10), LN_docs.fin_ejercicio, 103) AS fin_ejercicio, gestion,
                     iif(LN_docs.ingresado IS NOT NULL, CONVERT(VARCHAR,LN_docs.ingresado,103)+' '+CONVERT(VARCHAR(5),LN_docs.ingresado,14), null) as ingresado,
                     iif(LN_docs.rechazado IS NOT NULL, CONVERT(VARCHAR,LN_docs.rechazado,103)+' '+CONVERT(VARCHAR(5),LN_docs.rechazado,14), null) as rechazado,
                     iif(LN_docs.verificado_backend IS NOT NULL, CONVERT(VARCHAR,LN_docs.verificado_backend,103)+' '+CONVERT(VARCHAR(5),LN_docs.verificado_backend,14), NULL) as verificado_backend,
                     CONVERT(VARCHAR(19),LN_docs.verificado_cliente,121) as verificado_cliente,
                     CONVERT(VARCHAR(19),LN_docs.created,121) as created,
                     CONVERT(VARCHAR(19),LN_docs.modified,121) as modified,
                     LN_docs.ingresado_por, LN_docs.rechazado_por, LN_docs.verificado_backend_por,
                     LN_docs.verificado_cliente_por, LN_docs.created_by, LN_docs.modified_by,
                     clientes.nombre_cliente, padrones.nombre_persona, padrones.identificador, padrones.id_padron,
                     padrones.numero, identificadores.abreviatura, identificadores.country_code,
                     country.country_name, LN_contrapartes.activo, LN_contrapartes.nombre_contacto,
                     LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
                     LN_tipos_doc.nombre_tipo_doc, LN_tipos_doc.tipo_vigencia, LN_docs.id_externo,
                     users1.first_name + ' ' + users1.last_name AS ingresado_por_usuario,
                     users2.first_name + ' ' + users2.last_name AS rechazado_por_usuario,
                     isnull(users2.aliasname, users2.first_name + ' ' + users2.last_name) as rechazado_por_alias, 
                     users3.first_name + ' ' + users3.last_name AS verificado_backend_por_usuario,
                     isnull(users3.aliasname, users3.first_name + ' ' + users3.last_name) as verificado_backend_por_alias, 
                     users4.first_name + ' ' + users4.last_name AS verificado_cliente_por_usuario,
                     users5.first_name + ' ' + users5.last_name AS created_by_usuario,
                     users6.first_name + ' ' + users6.last_name AS modified_by_usuario,LN_contrapartes.servicio_contratado
                     ,doc.orden
                    FROM LN_docs
                    INNER JOIN clientes ON LN_docs.cliente = clientes.cliente
                    INNER JOIN LN_contrapartes ON LN_docs.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 country ON identificadores.country_code = country.country_code
                    INNER JOIN LN_tipos_doc ON LN_docs.tipo_doc = LN_tipos_doc.tipo_doc
                    LEFT JOIN (select contraparte, LN_set_tipo_doc.tipo_doc, orden
                    from ln_contraparte_familias 
                    inner join ln_familias on ln_familias.familia = ln_contraparte_familias.familia
                    inner join LN_set_tipo_doc on LN_set_tipo_doc.set_doc = LN_familias.set_doc) DOC 
                    on DOC.contraparte = ln_docs.contraparte and DOC.tipo_doc = ln_docs.tipo_doc 

                    LEFT OUTER JOIN users users1 ON LN_docs.ingresado_por = users1.user_id
                    LEFT OUTER JOIN users users2 ON LN_docs.rechazado_por = users2.user_id
                    LEFT OUTER JOIN users users3 ON LN_docs.verificado_backend_por = users3.user_id
                    LEFT OUTER JOIN users users4 ON LN_docs.verificado_cliente_por = users4.user_id
                    LEFT OUTER JOIN users users5 ON LN_docs.created_by = users5.user_id
                    LEFT OUTER JOIN users users6 ON LN_docs.modified_by = users6.user_id
          
                    WHERE LN_docs.cliente = @p_cliente
                    AND LN_docs.contraparte = @p_contraparte
                    AND LN_docs.tipo_doc = @p_tipo_doc
                    AND LN_docs.doc_version = @p_doc_version
                    AND LN_docs.gestion = @p_gestion

                    ORDER BY clientes.nombre_cliente, padrones.nombre_persona, doc.orden, LN_tipos_doc.nombre_tipo_doc, LN_docs.doc_version

                   ELSE

                    IF (@caso = 13) 

                     SELECT LN_docs.doc_id, LN_docs.contraparte, LN_docs.cliente, LN_docs.tipo_doc,
                      LN_docs.doc_version, LN_docs.estado_doc, LN_docs.doc_log, LN_docs.doc_attach,
                      CASE 
                       WHEN LN_docs.estado_doc = 'N' THEN 'Pendiente de ingreso'
                       WHEN LN_docs.estado_doc = 'I' THEN 'Ingresado'
                       WHEN LN_docs.estado_doc = 'R' THEN 'Rechazado'
                       WHEN LN_docs.estado_doc = 'V' THEN 'Verificado'
                      END AS estado_documento,
                      CASE 
                       WHEN LN_docs.estado_doc = 'N' THEN 'text-info'
                       WHEN LN_docs.estado_doc = 'I' THEN 'text-warning'
                       WHEN LN_docs.estado_doc = 'R' THEN 'text-danger'
                       WHEN LN_docs.estado_doc = 'V' THEN 'text-success'
                      END AS class_estado,
                      CASE 
                       WHEN LN_docs.estado_doc = 'N' THEN 'cloud-upload fa-cloud-upload-alt'
                       WHEN LN_docs.estado_doc = 'I' THEN 'exclamation'
                       WHEN LN_docs.estado_doc = 'R' THEN 'times'
                       WHEN LN_docs.estado_doc = 'V' THEN 'check'
                      END AS icon_estado,

                      CONVERT(VARCHAR, LN_docs.fecha_vigencia, 103) AS fecha_vigencia,
                      CONVERT(VARCHAR, LN_docs.vencimiento_carga, 103) AS vencimiento_carga,
                      ISNULL(LN_tipos_doc.es_balance, 0) AS es_balance, ISNULL(LN_tipos_doc.es_foto_perfil, 0) AS es_foto_perfil,
                      iif(LN_tipos_doc.es_balance > 0, ISNULL(LN_tipos_doc.es_manif_bienes, 0), 0) AS es_manif_bienes,
                      CONVERT(VARCHAR(10), LN_docs.inicio_ejercicio, 103) AS inicio_ejercicio,
                      CONVERT(VARCHAR(10), LN_docs.fin_ejercicio, 103) AS fin_ejercicio, gestion,
                      iif(LN_docs.ingresado IS NOT NULL, CONVERT(VARCHAR,LN_docs.ingresado,103)+' '+CONVERT(VARCHAR(5),LN_docs.ingresado,14), null) as ingresado,
                      iif(LN_docs.rechazado IS NOT NULL, CONVERT(VARCHAR,LN_docs.rechazado,103)+' '+CONVERT(VARCHAR(5),LN_docs.rechazado,14), null) as rechazado,
                      iif(LN_docs.verificado_backend IS NOT NULL, CONVERT(VARCHAR,LN_docs.verificado_backend,103)+' '+CONVERT(VARCHAR(5),LN_docs.verificado_backend,14), NULL) as verificado_backend,
                      CONVERT(VARCHAR(19),LN_docs.verificado_cliente,121) as verificado_cliente,
                      CONVERT(VARCHAR(19),LN_docs.created,121) as created,
                      CONVERT(VARCHAR(19),LN_docs.modified,121) as modified,
                      LN_docs.ingresado_por, LN_docs.rechazado_por, LN_docs.verificado_backend_por,
                      LN_docs.verificado_cliente_por, LN_docs.created_by, LN_docs.modified_by,
                      clientes.nombre_cliente, padrones.nombre_persona, padrones.identificador, padrones.id_padron,
                      padrones.numero, identificadores.abreviatura, identificadores.country_code,
                      country.country_name, LN_contrapartes.activo, LN_contrapartes.nombre_contacto,
                      LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
                      LN_tipos_doc.nombre_tipo_doc, LN_tipos_doc.tipo_vigencia, LN_docs.id_externo,
                      users1.first_name + ' ' + users1.last_name AS ingresado_por_usuario,
                      users2.first_name + ' ' + users2.last_name AS rechazado_por_usuario,
                      isnull(users2.aliasname, users2.first_name + ' ' + users2.last_name) as rechazado_por_alias, 
                      users3.first_name + ' ' + users3.last_name AS verificado_backend_por_usuario,
                      isnull(users3.aliasname, users3.first_name + ' ' + users3.last_name) as verificado_backend_por_alias,
                      users4.first_name + ' ' + users4.last_name AS verificado_cliente_por_usuario,
                      users5.first_name + ' ' + users5.last_name AS created_by_usuario,
                      users6.first_name + ' ' + users6.last_name AS modified_by_usuario,LN_contrapartes.servicio_contratado
                      ,doc.orden
                     FROM LN_docs
                     INNER JOIN clientes ON LN_docs.cliente = clientes.cliente
                     INNER JOIN LN_contrapartes ON LN_docs.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 country ON identificadores.country_code = country.country_code
                     INNER JOIN LN_tipos_doc ON LN_docs.tipo_doc = LN_tipos_doc.tipo_doc
                     LEFT JOIN (select contraparte, LN_set_tipo_doc.tipo_doc, orden
                     from ln_contraparte_familias 
                     inner join ln_familias on ln_familias.familia = ln_contraparte_familias.familia
                     inner join LN_set_tipo_doc on LN_set_tipo_doc.set_doc = LN_familias.set_doc) DOC 
                     on DOC.contraparte = ln_docs.contraparte and DOC.tipo_doc = ln_docs.tipo_doc 
                     LEFT OUTER JOIN users users1 ON LN_docs.ingresado_por = users1.user_id
                     LEFT OUTER JOIN users users2 ON LN_docs.rechazado_por = users2.user_id
                     LEFT OUTER JOIN users users3 ON LN_docs.verificado_backend_por = users3.user_id
                     LEFT OUTER JOIN users users4 ON LN_docs.verificado_cliente_por = users4.user_id
                     LEFT OUTER JOIN users users5 ON LN_docs.created_by = users5.user_id
                     LEFT OUTER JOIN users users6 ON LN_docs.modified_by = users6.user_id
                     WHERE LN_docs.estado_doc = @p_estado_doc
                     AND LN_docs.gestion = @p_gestion

                     ORDER BY clientes.nombre_cliente, padrones.nombre_persona, doc.orden, LN_tipos_doc.nombre_tipo_doc, LN_docs.doc_version

                    ELSE
        
                     IF (@caso = 14) 

                      SELECT LN_docs.doc_id, LN_docs.contraparte, LN_docs.cliente, LN_docs.tipo_doc,
                       LN_docs.doc_version, LN_docs.estado_doc, LN_docs.doc_log, LN_docs.doc_attach,
                       CASE 
                        WHEN LN_docs.estado_doc = 'N' THEN 'Pendiente de ingreso'
                        WHEN LN_docs.estado_doc = 'I' THEN 'Ingresado'
                        WHEN LN_docs.estado_doc = 'R' THEN 'Rechazado'
                        WHEN LN_docs.estado_doc = 'V' THEN 'Verificado'
                       END AS estado_documento,
                       CASE 
                        WHEN LN_docs.estado_doc = 'N' THEN 'text-info'
                        WHEN LN_docs.estado_doc = 'I' THEN 'text-warning'
                        WHEN LN_docs.estado_doc = 'R' THEN 'text-danger'
                        WHEN LN_docs.estado_doc = 'V' THEN 'text-success'
                       END AS class_estado,
                       CASE 
                        WHEN LN_docs.estado_doc = 'N' THEN 'cloud-upload fa-cloud-upload-alt'
                        WHEN LN_docs.estado_doc = 'I' THEN 'exclamation'
                        WHEN LN_docs.estado_doc = 'R' THEN 'times'
                        WHEN LN_docs.estado_doc = 'V' THEN 'check'
                       END AS icon_estado,

                       CONVERT(VARCHAR, LN_docs.fecha_vigencia, 103) AS fecha_vigencia,
                       CONVERT(VARCHAR, LN_docs.vencimiento_carga, 103) AS vencimiento_carga,
                       ISNULL(LN_tipos_doc.es_balance, 0) AS es_balance, ISNULL(LN_tipos_doc.es_foto_perfil, 0) AS es_foto_perfil,
                       iif(LN_tipos_doc.es_balance > 0, ISNULL(LN_tipos_doc.es_manif_bienes, 0), 0) AS es_manif_bienes,
                       CONVERT(VARCHAR(10), LN_docs.inicio_ejercicio, 103) AS inicio_ejercicio,
                       CONVERT(VARCHAR(10), LN_docs.fin_ejercicio, 103) AS fin_ejercicio, gestion,
                       iif(LN_docs.ingresado IS NOT NULL, CONVERT(VARCHAR,LN_docs.ingresado,103)+' '+CONVERT(VARCHAR(5),LN_docs.ingresado,14), null) as ingresado,
                       iif(LN_docs.rechazado IS NOT NULL, CONVERT(VARCHAR,LN_docs.rechazado,103)+' '+CONVERT(VARCHAR(5),LN_docs.rechazado,14), null) as rechazado,
                       iif(LN_docs.verificado_backend IS NOT NULL, CONVERT(VARCHAR,LN_docs.verificado_backend,103)+' '+CONVERT(VARCHAR(5),LN_docs.verificado_backend,14), NULL) as verificado_backend,
                       CONVERT(VARCHAR(19),LN_docs.verificado_cliente,121) as verificado_cliente,
                       CONVERT(VARCHAR(19),LN_docs.created,121) as created,
                       CONVERT(VARCHAR(19),LN_docs.modified,121) as modified,
                       LN_docs.ingresado_por, LN_docs.rechazado_por, LN_docs.verificado_backend_por,
                       LN_docs.verificado_cliente_por, LN_docs.created_by, LN_docs.modified_by,
                       clientes.nombre_cliente, padrones.nombre_persona, padrones.identificador, padrones.id_padron,
                       padrones.numero, identificadores.abreviatura, identificadores.country_code,
                       country.country_name, LN_contrapartes.activo, LN_contrapartes.nombre_contacto,
                       LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
                       LN_tipos_doc.nombre_tipo_doc, LN_tipos_doc.tipo_vigencia, LN_docs.id_externo,
                       users1.first_name + ' ' + users1.last_name AS ingresado_por_usuario,
                       users2.first_name + ' ' + users2.last_name AS rechazado_por_usuario,
                       isnull(users2.aliasname, users2.first_name + ' ' + users2.last_name) as rechazado_por_alias, 
                       users3.first_name + ' ' + users3.last_name AS verificado_backend_por_usuario,
                       isnull(users3.aliasname, users3.first_name + ' ' + users3.last_name) as verificado_backend_por_alias,
                       users4.first_name + ' ' + users4.last_name AS verificado_cliente_por_usuario,
                       users5.first_name + ' ' + users5.last_name AS created_by_usuario,
                       users6.first_name + ' ' + users6.last_name AS modified_by_usuario,LN_contrapartes.servicio_contratado
                       ,doc.orden
                      FROM LN_docs
                      INNER JOIN clientes ON LN_docs.cliente = clientes.cliente
                      INNER JOIN LN_contrapartes ON LN_docs.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 country ON identificadores.country_code = country.country_code
                      INNER JOIN LN_tipos_doc ON LN_docs.tipo_doc = LN_tipos_doc.tipo_doc
                      LEFT JOIN (select contraparte, LN_set_tipo_doc.tipo_doc, orden
                    from ln_contraparte_familias 
                    inner join ln_familias on ln_familias.familia = ln_contraparte_familias.familia
                    inner join LN_set_tipo_doc on LN_set_tipo_doc.set_doc = LN_familias.set_doc) DOC 
                    on DOC.contraparte = ln_docs.contraparte and DOC.tipo_doc = ln_docs.tipo_doc 

                      LEFT OUTER JOIN users users1 ON LN_docs.ingresado_por = users1.user_id
                      LEFT OUTER JOIN users users2 ON LN_docs.rechazado_por = users2.user_id
                      LEFT OUTER JOIN users users3 ON LN_docs.verificado_backend_por = users3.user_id
                      LEFT OUTER JOIN users users4 ON LN_docs.verificado_cliente_por = users4.user_id
                      LEFT OUTER JOIN users users5 ON LN_docs.created_by = users5.user_id
                      LEFT OUTER JOIN users users6 ON LN_docs.modified_by = users6.user_id
          
                      WHERE LN_docs.cliente = @p_cliente
                      AND LN_docs.estado_doc = @p_estado_doc
                      AND LN_docs.gestion = @p_gestion

                      ORDER BY clientes.nombre_cliente, padrones.nombre_persona, doc.orden, LN_tipos_doc.nombre_tipo_doc, LN_docs.doc_version
          
                     ELSE
          
                      IF (@caso = 15) 

                       SELECT LN_docs.doc_id, LN_docs.contraparte, LN_docs.cliente, LN_docs.tipo_doc,
                        LN_docs.doc_version, LN_docs.estado_doc, LN_docs.doc_log, LN_docs.doc_attach,
                        CASE 
                         WHEN LN_docs.estado_doc = 'N' THEN 'Pendiente de ingreso'
                         WHEN LN_docs.estado_doc = 'I' THEN 'Ingresado'
                         WHEN LN_docs.estado_doc = 'R' THEN 'Rechazado'
                         WHEN LN_docs.estado_doc = 'V' THEN 'Verificado'
                        END AS estado_documento,
                        CASE 
                         WHEN LN_docs.estado_doc = 'N' THEN 'text-info'
                         WHEN LN_docs.estado_doc = 'I' THEN 'text-warning'
                         WHEN LN_docs.estado_doc = 'R' THEN 'text-danger'
                         WHEN LN_docs.estado_doc = 'V' THEN 'text-success'
                        END AS class_estado,
                        CASE 
                         WHEN LN_docs.estado_doc = 'N' THEN 'cloud-upload fa-cloud-upload-alt'
                         WHEN LN_docs.estado_doc = 'I' THEN 'exclamation'
                         WHEN LN_docs.estado_doc = 'R' THEN 'times'
                         WHEN LN_docs.estado_doc = 'V' THEN 'check'
                        END AS icon_estado,

                        CONVERT(VARCHAR, LN_docs.fecha_vigencia, 103) AS fecha_vigencia,
                        CONVERT(VARCHAR, LN_docs.vencimiento_carga, 103) AS vencimiento_carga,
                        ISNULL(LN_tipos_doc.es_balance, 0) AS es_balance, ISNULL(LN_tipos_doc.es_foto_perfil, 0) AS es_foto_perfil,
                        iif(LN_tipos_doc.es_balance > 0, ISNULL(LN_tipos_doc.es_manif_bienes, 0), 0) AS es_manif_bienes,
                        CONVERT(VARCHAR(10), LN_docs.inicio_ejercicio, 103) AS inicio_ejercicio,
                        CONVERT(VARCHAR(10), LN_docs.fin_ejercicio, 103) AS fin_ejercicio, gestion,
                        iif(LN_docs.ingresado IS NOT NULL, CONVERT(VARCHAR,LN_docs.ingresado,103)+' '+CONVERT(VARCHAR(5),LN_docs.ingresado,14), null) as ingresado,
                        iif(LN_docs.rechazado IS NOT NULL, CONVERT(VARCHAR,LN_docs.rechazado,103)+' '+CONVERT(VARCHAR(5),LN_docs.rechazado,14), null) as rechazado,
                        iif(LN_docs.verificado_backend IS NOT NULL, CONVERT(VARCHAR,LN_docs.verificado_backend,103)+' '+CONVERT(VARCHAR(5),LN_docs.verificado_backend,14), NULL) as verificado_backend,
                        CONVERT(VARCHAR(19),LN_docs.verificado_cliente,121) as verificado_cliente,
                        CONVERT(VARCHAR(19),LN_docs.created,121) as created,
                        CONVERT(VARCHAR(19),LN_docs.modified,121) as modified,
                        LN_docs.ingresado_por, LN_docs.rechazado_por, LN_docs.verificado_backend_por,
                        LN_docs.verificado_cliente_por, LN_docs.created_by, LN_docs.modified_by,
                        clientes.nombre_cliente, padrones.nombre_persona, padrones.identificador, padrones.id_padron,
                        padrones.numero, identificadores.abreviatura, identificadores.country_code,
                        country.country_name, LN_contrapartes.activo, LN_contrapartes.nombre_contacto,
                        LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
                        LN_tipos_doc.nombre_tipo_doc, LN_tipos_doc.tipo_vigencia, LN_docs.id_externo,
                        users1.first_name + ' ' + users1.last_name AS ingresado_por_usuario,
                        users2.first_name + ' ' + users2.last_name AS rechazado_por_usuario,
                        isnull(users2.aliasname, users2.first_name + ' ' + users2.last_name) as rechazado_por_alias, 
                        users3.first_name + ' ' + users3.last_name AS verificado_backend_por_usuario,
                        isnull(users3.aliasname, users3.first_name + ' ' + users3.last_name) as verificado_backend_por_alias, 
                        users4.first_name + ' ' + users4.last_name AS verificado_cliente_por_usuario,
                        users5.first_name + ' ' + users5.last_name AS created_by_usuario,
                        users6.first_name + ' ' + users6.last_name AS modified_by_usuario,LN_contrapartes.servicio_contratado
                        , doc.orden
                       FROM LN_docs
                       INNER JOIN clientes ON LN_docs.cliente = clientes.cliente
                       INNER JOIN LN_contrapartes ON LN_docs.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 country ON identificadores.country_code = country.country_code
                       INNER JOIN LN_tipos_doc ON LN_docs.tipo_doc = LN_tipos_doc.tipo_doc
                       LEFT JOIN (select contraparte, LN_set_tipo_doc.tipo_doc, orden
                        from ln_contraparte_familias 
                        inner join ln_familias on ln_familias.familia = ln_contraparte_familias.familia
                        inner join LN_set_tipo_doc on LN_set_tipo_doc.set_doc = LN_familias.set_doc) DOC 
                        on DOC.contraparte = ln_docs.contraparte and DOC.tipo_doc = ln_docs.tipo_doc 
                       LEFT OUTER JOIN users users1 ON LN_docs.ingresado_por = users1.user_id
                       LEFT OUTER JOIN users users2 ON LN_docs.rechazado_por = users2.user_id
                       LEFT OUTER JOIN users users3 ON LN_docs.verificado_backend_por = users3.user_id
                       LEFT OUTER JOIN users users4 ON LN_docs.verificado_cliente_por = users4.user_id
                       LEFT OUTER JOIN users users5 ON LN_docs.created_by = users5.user_id
                       LEFT OUTER JOIN users users6 ON LN_docs.modified_by = users6.user_id
          
                       WHERE LN_docs.contraparte = @p_contraparte
                       AND LN_docs.estado_doc = @p_estado_doc
                       AND LN_docs.gestion = @p_gestion

                       ORDER BY clientes.nombre_cliente, padrones.nombre_persona, doc.orden, LN_tipos_doc.nombre_tipo_doc, LN_docs.doc_version


                      ELSE

                       IF (@caso = 16) 

                        SELECT LN_docs.doc_id, LN_docs.contraparte, LN_docs.cliente, LN_docs.tipo_doc,
                         LN_docs.doc_version, LN_docs.estado_doc, LN_docs.doc_log, LN_docs.doc_attach,
                         CASE 
                          WHEN LN_docs.estado_doc = 'N' THEN 'Pendiente de ingreso'
                          WHEN LN_docs.estado_doc = 'I' THEN 'Ingresado'
                          WHEN LN_docs.estado_doc = 'R' THEN 'Rechazado'
                          WHEN LN_docs.estado_doc = 'V' THEN 'Verificado'
                         END AS estado_documento,
                         CASE 
                          WHEN LN_docs.estado_doc = 'N' THEN 'text-info'
                          WHEN LN_docs.estado_doc = 'I' THEN 'text-warning'
                          WHEN LN_docs.estado_doc = 'R' THEN 'text-danger'
                          WHEN LN_docs.estado_doc = 'V' THEN 'text-success'
                         END AS class_estado,
                         CASE 
                          WHEN LN_docs.estado_doc = 'N' THEN 'cloud-upload fa-cloud-upload-alt'
                          WHEN LN_docs.estado_doc = 'I' THEN 'exclamation'
                          WHEN LN_docs.estado_doc = 'R' THEN 'times'
                          WHEN LN_docs.estado_doc = 'V' THEN 'check'
                         END AS icon_estado,

                         CONVERT(VARCHAR, LN_docs.fecha_vigencia, 103) AS fecha_vigencia,
                         CONVERT(VARCHAR, LN_docs.vencimiento_carga, 103) AS vencimiento_carga,
                         ISNULL(LN_tipos_doc.es_balance, 0) AS es_balance, ISNULL(LN_tipos_doc.es_foto_perfil, 0) AS es_foto_perfil,
                         iif(LN_tipos_doc.es_balance > 0, ISNULL(LN_tipos_doc.es_manif_bienes, 0), 0) AS es_manif_bienes,
                         CONVERT(VARCHAR(10), LN_docs.inicio_ejercicio, 103) AS inicio_ejercicio,
                         CONVERT(VARCHAR(10), LN_docs.fin_ejercicio, 103) AS fin_ejercicio, gestion,
                         iif(LN_docs.ingresado IS NOT NULL, CONVERT(VARCHAR,LN_docs.ingresado,103)+' '+CONVERT(VARCHAR(5),LN_docs.ingresado,14), null) as ingresado,
                         iif(LN_docs.rechazado IS NOT NULL, CONVERT(VARCHAR,LN_docs.rechazado,103)+' '+CONVERT(VARCHAR(5),LN_docs.rechazado,14), null) as rechazado,
                         iif(LN_docs.verificado_backend IS NOT NULL, CONVERT(VARCHAR,LN_docs.verificado_backend,103)+' '+CONVERT(VARCHAR(5),LN_docs.verificado_backend,14), NULL) as verificado_backend,
                         CONVERT(VARCHAR(19),LN_docs.verificado_cliente,121) as verificado_cliente,
                         CONVERT(VARCHAR(19),LN_docs.created,121) as created,
                         CONVERT(VARCHAR(19),LN_docs.modified,121) as modified,
                         LN_docs.ingresado_por, LN_docs.rechazado_por, LN_docs.verificado_backend_por,
                         LN_docs.verificado_cliente_por, LN_docs.created_by, LN_docs.modified_by,
                         clientes.nombre_cliente, padrones.nombre_persona, padrones.identificador, padrones.id_padron,
                         padrones.numero, identificadores.abreviatura, identificadores.country_code,
                         country.country_name, LN_contrapartes.activo, LN_contrapartes.nombre_contacto,
                         LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
                         LN_tipos_doc.nombre_tipo_doc, LN_tipos_doc.tipo_vigencia, LN_docs.id_externo,
                         users1.first_name + ' ' + users1.last_name AS ingresado_por_usuario,
                         users2.first_name + ' ' + users2.last_name AS rechazado_por_usuario,
                         isnull(users2.aliasname, users2.first_name + ' ' + users2.last_name) as rechazado_por_alias, 
                         users3.first_name + ' ' + users3.last_name AS verificado_backend_por_usuario,
                         isnull(users3.aliasname, users3.first_name + ' ' + users3.last_name) as verificado_backend_por_alias,
                         users4.first_name + ' ' + users4.last_name AS verificado_cliente_por_usuario,
                         users5.first_name + ' ' + users5.last_name AS created_by_usuario,
                         users6.first_name + ' ' + users6.last_name AS modified_by_usuario,LN_contrapartes.servicio_contratado
                         , doc.orden
                        FROM LN_docs
                        INNER JOIN clientes ON LN_docs.cliente = clientes.cliente
                        INNER JOIN LN_contrapartes ON LN_docs.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 country ON identificadores.country_code = country.country_code
                        INNER JOIN LN_tipos_doc ON LN_docs.tipo_doc = LN_tipos_doc.tipo_doc

                        LEFT JOIN (select contraparte, LN_set_tipo_doc.tipo_doc, orden
                    from ln_contraparte_familias 
                    inner join ln_familias on ln_familias.familia = ln_contraparte_familias.familia
                    inner join LN_set_tipo_doc on LN_set_tipo_doc.set_doc = LN_familias.set_doc) DOC 
                    on DOC.contraparte = ln_docs.contraparte and DOC.tipo_doc = ln_docs.tipo_doc 

                        LEFT OUTER JOIN users users1 ON LN_docs.ingresado_por = users1.user_id
                        LEFT OUTER JOIN users users2 ON LN_docs.rechazado_por = users2.user_id
                        LEFT OUTER JOIN users users3 ON LN_docs.verificado_backend_por = users3.user_id
                        LEFT OUTER JOIN users users4 ON LN_docs.verificado_cliente_por = users4.user_id
                        LEFT OUTER JOIN users users5 ON LN_docs.created_by = users5.user_id
                        LEFT OUTER JOIN users users6 ON LN_docs.modified_by = users6.user_id
          
                        WHERE LN_docs.cliente = @p_cliente
                        AND LN_docs.contraparte = @p_contraparte
                        AND LN_docs.estado_doc = @p_estado_doc
                        AND LN_docs.gestion = @p_gestion

                        ORDER BY clientes.nombre_cliente, padrones.nombre_persona, doc.orden, LN_tipos_doc.nombre_tipo_doc, LN_docs.doc_version

                       ELSE

                        IF (@caso = 17) 

                         SELECT LN_docs.doc_id, LN_docs.contraparte, LN_docs.cliente, LN_docs.tipo_doc,
                          LN_docs.doc_version, LN_docs.estado_doc, LN_docs.doc_log, LN_docs.doc_attach,
                          CONVERT(VARCHAR, LN_docs.fecha_vigencia, 103) AS fecha_vigencia,
                          CONVERT(VARCHAR, LN_docs.vencimiento_carga, 103) AS vencimiento_carga,
                          ISNULL(LN_tipos_doc.es_balance, 0) AS es_balance, ISNULL(LN_tipos_doc.es_foto_perfil, 0) AS es_foto_perfil,
                          iif(LN_tipos_doc.es_balance > 0, ISNULL(LN_tipos_doc.es_manif_bienes, 0), 0) AS es_manif_bienes,
                          CONVERT(VARCHAR(10), LN_docs.inicio_ejercicio, 103) AS inicio_ejercicio,
                          CONVERT(VARCHAR(10), LN_docs.fin_ejercicio, 103) AS fin_ejercicio, gestion,
                          iif(LN_docs.ingresado IS NOT NULL, CONVERT(VARCHAR,LN_docs.ingresado,103)+' '+CONVERT(VARCHAR(5),LN_docs.ingresado,14), null) as ingresado,
                          iif(LN_docs.rechazado IS NOT NULL, CONVERT(VARCHAR,LN_docs.rechazado,103)+' '+CONVERT(VARCHAR(5),LN_docs.rechazado,14), null) as rechazado,
                          iif(LN_docs.verificado_backend IS NOT NULL, CONVERT(VARCHAR,LN_docs.verificado_backend,103)+' '+CONVERT(VARCHAR(5),LN_docs.verificado_backend,14), NULL) as verificado_backend,
                          CONVERT(VARCHAR(19),LN_docs.verificado_cliente,121) as verificado_cliente,
                          CONVERT(VARCHAR(19),LN_docs.created,121) as created,
                          CONVERT(VARCHAR(19),LN_docs.modified,121) as modified,
                          LN_docs.ingresado_por, LN_docs.rechazado_por, LN_docs.verificado_backend_por,
                          LN_docs.verificado_cliente_por, LN_docs.created_by, LN_docs.modified_by,
                          clientes.nombre_cliente, padrones.nombre_persona, padrones.identificador, padrones.id_padron,
                          padrones.numero, identificadores.abreviatura, identificadores.country_code,
                          country.country_name, LN_contrapartes.activo, LN_contrapartes.nombre_contacto,
                          LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
                          LN_tipos_doc.nombre_tipo_doc, LN_tipos_doc.tipo_vigencia, LN_docs.id_externo,
                          users1.first_name + ' ' + users1.last_name AS ingresado_por_usuario,
                          users2.first_name + ' ' + users2.last_name AS rechazado_por_usuario,
                          isnull(users2.aliasname, users2.first_name + ' ' + users2.last_name) as rechazado_por_alias, 
                          users3.first_name + ' ' + users3.last_name AS verificado_backend_por_usuario,
                          isnull(users3.aliasname, users3.first_name + ' ' + users3.last_name) as verificado_backend_por_alias,
                          users4.first_name + ' ' + users4.last_name AS verificado_cliente_por_usuario,
                          users5.first_name + ' ' + users5.last_name AS created_by_usuario,
                          users6.first_name + ' ' + users6.last_name AS modified_by_usuario,LN_contrapartes.servicio_contratado
                          , doc.orden
                         FROM LN_docs
                         INNER JOIN clientes ON LN_docs.cliente = clientes.cliente
                         INNER JOIN LN_contrapartes ON LN_docs.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 country ON identificadores.country_code = country.country_code
                         INNER JOIN LN_tipos_doc ON LN_docs.tipo_doc = LN_tipos_doc.tipo_doc

                         LEFT JOIN (select contraparte, LN_set_tipo_doc.tipo_doc, orden
                          from ln_contraparte_familias 
                          inner join ln_familias on ln_familias.familia = ln_contraparte_familias.familia
                          inner join LN_set_tipo_doc on LN_set_tipo_doc.set_doc = LN_familias.set_doc) DOC 
                          on DOC.contraparte = ln_docs.contraparte and DOC.tipo_doc = ln_docs.tipo_doc 

                         LEFT OUTER JOIN users users1 ON LN_docs.ingresado_por = users1.user_id
                         LEFT OUTER JOIN users users2 ON LN_docs.rechazado_por = users2.user_id
                         LEFT OUTER JOIN users users3 ON LN_docs.verificado_backend_por = users3.user_id
                         LEFT OUTER JOIN users users4 ON LN_docs.verificado_cliente_por = users4.user_id
                         LEFT OUTER JOIN users users5 ON LN_docs.created_by = users5.user_id
                         LEFT OUTER JOIN users users6 ON LN_docs.modified_by = users6.user_id
          
                         WHERE LN_docs.tipo_doc = @p_tipo_doc
                         AND LN_docs.estado_doc = @p_estado_doc
                         AND LN_docs.gestion = @p_gestion

                         ORDER BY clientes.nombre_cliente, padrones.nombre_persona, doc.orden, LN_tipos_doc.nombre_tipo_doc, LN_docs.doc_version

                        ELSE

                         IF (@caso = 18) 

                          SELECT LN_docs.doc_id, LN_docs.contraparte, LN_docs.cliente, LN_docs.tipo_doc,
                           LN_docs.doc_version, LN_docs.estado_doc, LN_docs.doc_log, LN_docs.doc_attach,
                           CONVERT(VARCHAR, LN_docs.fecha_vigencia, 103) AS fecha_vigencia,
                           CONVERT(VARCHAR, LN_docs.vencimiento_carga, 103) AS vencimiento_carga,
                           ISNULL(LN_tipos_doc.es_balance, 0) AS es_balance, ISNULL(LN_tipos_doc.es_foto_perfil, 0) AS es_foto_perfil,
                           iif(LN_tipos_doc.es_balance > 0, ISNULL(LN_tipos_doc.es_manif_bienes, 0), 0) AS es_manif_bienes,
                           CONVERT(VARCHAR(10), LN_docs.inicio_ejercicio, 103) AS inicio_ejercicio,
                           CONVERT(VARCHAR(10), LN_docs.fin_ejercicio, 103) AS fin_ejercicio, gestion,
                           iif(LN_docs.ingresado IS NOT NULL, CONVERT(VARCHAR,LN_docs.ingresado,103)+' '+CONVERT(VARCHAR(5),LN_docs.ingresado,14), null) as ingresado,
                           iif(LN_docs.rechazado IS NOT NULL, CONVERT(VARCHAR,LN_docs.rechazado,103)+' '+CONVERT(VARCHAR(5),LN_docs.rechazado,14), null) as rechazado,
                           iif(LN_docs.verificado_backend IS NOT NULL, CONVERT(VARCHAR,LN_docs.verificado_backend,103)+' '+CONVERT(VARCHAR(5),LN_docs.verificado_backend,14), NULL) as verificado_backend,
                           CONVERT(VARCHAR(19),LN_docs.verificado_cliente,121) as verificado_cliente,
                           CONVERT(VARCHAR(19),LN_docs.created,121) as created,
                           CONVERT(VARCHAR(19),LN_docs.modified,121) as modified,
                           LN_docs.ingresado_por, LN_docs.rechazado_por, LN_docs.verificado_backend_por,
                           LN_docs.verificado_cliente_por, LN_docs.created_by, LN_docs.modified_by,
                           clientes.nombre_cliente, padrones.nombre_persona, padrones.identificador, padrones.id_padron,
                           padrones.numero, identificadores.abreviatura, identificadores.country_code,
                           country.country_name, LN_contrapartes.activo, LN_contrapartes.nombre_contacto,
                           LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
                           LN_tipos_doc.nombre_tipo_doc, LN_tipos_doc.tipo_vigencia, LN_docs.id_externo,
                           users1.first_name + ' ' + users1.last_name AS ingresado_por_usuario,
                           users2.first_name + ' ' + users2.last_name AS rechazado_por_usuario,
                           isnull(users2.aliasname, users2.first_name + ' ' + users2.last_name) as rechazado_por_alias, 
                           users3.first_name + ' ' + users3.last_name AS verificado_backend_por_usuario,
                           isnull(users3.aliasname, users3.first_name + ' ' + users3.last_name) as verificado_backend_por_alias,
                           users4.first_name + ' ' + users4.last_name AS verificado_cliente_por_usuario,
                           users5.first_name + ' ' + users5.last_name AS created_by_usuario,
                           users6.first_name + ' ' + users6.last_name AS modified_by_usuario,LN_contrapartes.servicio_contratado
                           , doc.orden
                          FROM LN_docs
                          INNER JOIN clientes ON LN_docs.cliente = clientes.cliente
                          INNER JOIN LN_contrapartes ON LN_docs.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 country ON identificadores.country_code = country.country_code
                          INNER JOIN LN_tipos_doc ON LN_docs.tipo_doc = LN_tipos_doc.tipo_doc

                          LEFT JOIN (select contraparte, LN_set_tipo_doc.tipo_doc, orden
                          from ln_contraparte_familias 
                          inner join ln_familias on ln_familias.familia = ln_contraparte_familias.familia
                          inner join LN_set_tipo_doc on LN_set_tipo_doc.set_doc = LN_familias.set_doc) DOC 
                          on DOC.contraparte = ln_docs.contraparte and DOC.tipo_doc = ln_docs.tipo_doc 

                          LEFT OUTER JOIN users users1 ON LN_docs.ingresado_por = users1.user_id
                          LEFT OUTER JOIN users users2 ON LN_docs.rechazado_por = users2.user_id
                          LEFT OUTER JOIN users users3 ON LN_docs.verificado_backend_por = users3.user_id
                          LEFT OUTER JOIN users users4 ON LN_docs.verificado_cliente_por = users4.user_id
                          LEFT OUTER JOIN users users5 ON LN_docs.created_by = users5.user_id
                          LEFT OUTER JOIN users users6 ON LN_docs.modified_by = users6.user_id
          
                          WHERE LN_docs.cliente = @p_cliente
                          AND LN_docs.tipo_doc = @p_tipo_doc
                          AND LN_docs.estado_doc = @p_estado_doc
                          AND LN_docs.gestion = @p_gestion

                          ORDER BY clientes.nombre_cliente, padrones.nombre_persona, doc.orden, LN_tipos_doc.nombre_tipo_doc, LN_docs.doc_version


                         ELSE

                          IF (@caso = 19) 

                           SELECT LN_docs.doc_id, LN_docs.contraparte, LN_docs.cliente, LN_docs.tipo_doc,
                            LN_docs.doc_version, LN_docs.estado_doc, LN_docs.doc_log, LN_docs.doc_attach,
                            CONVERT(VARCHAR, LN_docs.fecha_vigencia, 103) AS fecha_vigencia,
                            CONVERT(VARCHAR, LN_docs.vencimiento_carga, 103) AS vencimiento_carga,
                            ISNULL(LN_tipos_doc.es_balance, 0) AS es_balance, ISNULL(LN_tipos_doc.es_foto_perfil, 0) AS es_foto_perfil,
                            iif(LN_tipos_doc.es_balance > 0, ISNULL(LN_tipos_doc.es_manif_bienes, 0), 0) AS es_manif_bienes,
                            CONVERT(VARCHAR(10), LN_docs.inicio_ejercicio, 103) AS inicio_ejercicio,
                            CONVERT(VARCHAR(10), LN_docs.fin_ejercicio, 103) AS fin_ejercicio, gestion,
                            iif(LN_docs.ingresado IS NOT NULL, CONVERT(VARCHAR,LN_docs.ingresado,103)+' '+CONVERT(VARCHAR(5),LN_docs.ingresado,14), null) as ingresado,
                            iif(LN_docs.rechazado IS NOT NULL, CONVERT(VARCHAR,LN_docs.rechazado,103)+' '+CONVERT(VARCHAR(5),LN_docs.rechazado,14), null) as rechazado,
                            iif(LN_docs.verificado_backend IS NOT NULL, CONVERT(VARCHAR,LN_docs.verificado_backend,103)+' '+CONVERT(VARCHAR(5),LN_docs.verificado_backend,14), NULL) as verificado_backend,
                            CONVERT(VARCHAR(19),LN_docs.verificado_cliente,121) as verificado_cliente,
                            CONVERT(VARCHAR(19),LN_docs.created,121) as created,
                            CONVERT(VARCHAR(19),LN_docs.modified,121) as modified,
                            LN_docs.ingresado_por, LN_docs.rechazado_por, LN_docs.verificado_backend_por,
                            LN_docs.verificado_cliente_por, LN_docs.created_by, LN_docs.modified_by,
                            clientes.nombre_cliente, padrones.nombre_persona, padrones.identificador, padrones.id_padron,
                            padrones.numero, identificadores.abreviatura, identificadores.country_code,
                            country.country_name, LN_contrapartes.activo, LN_contrapartes.nombre_contacto,
                            LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
                            LN_tipos_doc.nombre_tipo_doc, LN_tipos_doc.tipo_vigencia, LN_docs.id_externo,
                            users1.first_name + ' ' + users1.last_name AS ingresado_por_usuario,
                            users2.first_name + ' ' + users2.last_name AS rechazado_por_usuario,
                            isnull(users2.aliasname, users2.first_name + ' ' + users2.last_name) as rechazado_por_alias, 
                            users3.first_name + ' ' + users3.last_name AS verificado_backend_por_usuario,
                            isnull(users3.aliasname, users3.first_name + ' ' + users3.last_name) as verificado_backend_por_alias,
                            users4.first_name + ' ' + users4.last_name AS verificado_cliente_por_usuario,
                            users5.first_name + ' ' + users5.last_name AS created_by_usuario,
                            users6.first_name + ' ' + users6.last_name AS modified_by_usuario,LN_contrapartes.servicio_contratado
                            , doc.orden
                           FROM LN_docs
                           INNER JOIN clientes ON LN_docs.cliente = clientes.cliente
                           INNER JOIN LN_contrapartes ON LN_docs.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 country ON identificadores.country_code = country.country_code
                           INNER JOIN LN_tipos_doc ON LN_docs.tipo_doc = LN_tipos_doc.tipo_doc
                           LEFT JOIN (select contraparte, LN_set_tipo_doc.tipo_doc, orden
                            from ln_contraparte_familias 
                            inner join ln_familias on ln_familias.familia = ln_contraparte_familias.familia
                            inner join LN_set_tipo_doc on LN_set_tipo_doc.set_doc = LN_familias.set_doc) DOC 
                            on DOC.contraparte = ln_docs.contraparte and DOC.tipo_doc = ln_docs.tipo_doc 
                           LEFT OUTER JOIN users users1 ON LN_docs.ingresado_por = users1.user_id
                           LEFT OUTER JOIN users users2 ON LN_docs.rechazado_por = users2.user_id
                           LEFT OUTER JOIN users users3 ON LN_docs.verificado_backend_por = users3.user_id
                           LEFT OUTER JOIN users users4 ON LN_docs.verificado_cliente_por = users4.user_id
                           LEFT OUTER JOIN users users5 ON LN_docs.created_by = users5.user_id
                           LEFT OUTER JOIN users users6 ON LN_docs.modified_by = users6.user_id
          
                           WHERE LN_docs.contraparte = @p_tipo_doc
                           AND LN_docs.tipo_doc = @p_tipo_doc
                           AND LN_docs.estado_doc = @p_estado_doc
                           AND LN_docs.gestion = @p_gestion

                           ORDER BY clientes.nombre_cliente, padrones.nombre_persona, doc.orden, LN_tipos_doc.nombre_tipo_doc, LN_docs.doc_version

                          ELSE

                           IF (@caso = 20) 

                            SELECT '20' as caso, LN_docs.doc_id, LN_docs.contraparte, LN_docs.cliente, LN_docs.tipo_doc,
                             LN_docs.doc_version, LN_docs.estado_doc, LN_docs.doc_log, LN_docs.doc_attach,
                             CONVERT(VARCHAR, LN_docs.fecha_vigencia, 103) AS fecha_vigencia,
                             CONVERT(VARCHAR, LN_docs.vencimiento_carga, 103) AS vencimiento_carga,
                             ISNULL(LN_tipos_doc.es_balance, 0) AS es_balance, ISNULL(LN_tipos_doc.es_foto_perfil, 0) AS es_foto_perfil,
                             iif(LN_tipos_doc.es_balance > 0, ISNULL(LN_tipos_doc.es_manif_bienes, 0), 0) AS es_manif_bienes,
                             CONVERT(VARCHAR(10), LN_docs.inicio_ejercicio, 103) AS inicio_ejercicio,
                             CONVERT(VARCHAR(10), LN_docs.fin_ejercicio, 103) AS fin_ejercicio, gestion,
                             iif(LN_docs.ingresado IS NOT NULL, CONVERT(VARCHAR,LN_docs.ingresado,103)+' '+CONVERT(VARCHAR(5),LN_docs.ingresado,14), null) as ingresado,
                             iif(LN_docs.rechazado IS NOT NULL, CONVERT(VARCHAR,LN_docs.rechazado,103)+' '+CONVERT(VARCHAR(5),LN_docs.rechazado,14), null) as rechazado,
                             iif(LN_docs.verificado_backend IS NOT NULL, CONVERT(VARCHAR,LN_docs.verificado_backend,103)+' '+CONVERT(VARCHAR(5),LN_docs.verificado_backend,14), NULL) as verificado_backend,
                             CONVERT(VARCHAR(19),LN_docs.verificado_cliente,121) as verificado_cliente,
                             CONVERT(VARCHAR(19),LN_docs.created,121) as created,
                             CONVERT(VARCHAR(19),LN_docs.modified,121) as modified,
                             LN_docs.ingresado_por, LN_docs.rechazado_por, LN_docs.verificado_backend_por,
                             LN_docs.verificado_cliente_por, LN_docs.created_by, LN_docs.modified_by,
                             clientes.nombre_cliente, padrones.nombre_persona, padrones.identificador, padrones.id_padron,
                             padrones.numero, identificadores.abreviatura, identificadores.country_code,
                             country.country_name, LN_contrapartes.activo, LN_contrapartes.nombre_contacto,
                             LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
                             LN_tipos_doc.nombre_tipo_doc, LN_tipos_doc.tipo_vigencia, LN_docs.id_externo,
                             users1.first_name + ' ' + users1.last_name AS ingresado_por_usuario,
                             users2.first_name + ' ' + users2.last_name AS rechazado_por_usuario,
                             isnull(users2.aliasname, users2.first_name + ' ' + users2.last_name) as rechazado_por_alias, 
                             users3.first_name + ' ' + users3.last_name AS verificado_backend_por_usuario,
                             isnull(users3.aliasname, users3.first_name + ' ' + users3.last_name) as verificado_backend_por_alias,
                             users4.first_name + ' ' + users4.last_name AS verificado_cliente_por_usuario,
                             users5.first_name + ' ' + users5.last_name AS created_by_usuario,
                             users6.first_name + ' ' + users6.last_name AS modified_by_usuario,LN_contrapartes.servicio_contratado
                             , doc.orden
                            FROM LN_docs
                            INNER JOIN clientes ON LN_docs.cliente = clientes.cliente
                            INNER JOIN LN_contrapartes ON LN_docs.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 country ON identificadores.country_code = country.country_code
                            INNER JOIN LN_tipos_doc ON LN_docs.tipo_doc = LN_tipos_doc.tipo_doc

                            LEFT JOIN (select contraparte, LN_set_tipo_doc.tipo_doc, orden
                            from ln_contraparte_familias 
                            inner join ln_familias on ln_familias.familia = ln_contraparte_familias.familia
                            inner join LN_set_tipo_doc on LN_set_tipo_doc.set_doc = LN_familias.set_doc) DOC 
                            on DOC.contraparte = ln_docs.contraparte and DOC.tipo_doc = ln_docs.tipo_doc 

                            LEFT OUTER JOIN users users1 ON LN_docs.ingresado_por = users1.user_id
                            LEFT OUTER JOIN users users2 ON LN_docs.rechazado_por = users2.user_id
                            LEFT OUTER JOIN users users3 ON LN_docs.verificado_backend_por = users3.user_id
                            LEFT OUTER JOIN users users4 ON LN_docs.verificado_cliente_por = users4.user_id
                            LEFT OUTER JOIN users users5 ON LN_docs.created_by = users5.user_id
                            LEFT OUTER JOIN users users6 ON LN_docs.modified_by = users6.user_id
          
                            WHERE LN_docs.cliente = @p_cliente
                            AND LN_docs.contraparte = @p_contraparte
                            AND LN_docs.tipo_doc = @p_tipo_doc
                            AND LN_docs.estado_doc = @p_estado_doc
                            AND LN_docs.gestion = @p_gestion

                            ORDER BY clientes.nombre_cliente, padrones.nombre_persona, doc.orden, LN_tipos_doc.nombre_tipo_doc, LN_docs.doc_version

                           ELSE

                            IF (@caso = 21) 

                             SELECT '21' as caso, LN_docs.doc_id, LN_docs.contraparte, LN_docs.cliente, LN_docs.tipo_doc,
                              LN_docs.doc_version, LN_docs.estado_doc, LN_docs.doc_log, LN_docs.doc_attach,
                              CONVERT(VARCHAR, LN_docs.fecha_vigencia, 103) AS fecha_vigencia,
                              CONVERT(VARCHAR, LN_docs.vencimiento_carga, 103) AS vencimiento_carga,
                              ISNULL(LN_tipos_doc.es_balance, 0) AS es_balance, ISNULL(LN_tipos_doc.es_foto_perfil, 0) AS es_foto_perfil,
                              iif(LN_tipos_doc.es_balance > 0, ISNULL(LN_tipos_doc.es_manif_bienes, 0), 0) AS es_manif_bienes,
                              CONVERT(VARCHAR(10), LN_docs.inicio_ejercicio, 103) AS inicio_ejercicio,
                              CONVERT(VARCHAR(10), LN_docs.fin_ejercicio, 103) AS fin_ejercicio, gestion,
                              iif(LN_docs.ingresado IS NOT NULL, CONVERT(VARCHAR,LN_docs.ingresado,103)+' '+CONVERT(VARCHAR(5),LN_docs.ingresado,14), null) as ingresado,
                              iif(LN_docs.rechazado IS NOT NULL, CONVERT(VARCHAR,LN_docs.rechazado,103)+' '+CONVERT(VARCHAR(5),LN_docs.rechazado,14), null) as rechazado,
                              iif(LN_docs.verificado_backend IS NOT NULL, CONVERT(VARCHAR,LN_docs.verificado_backend,103)+' '+CONVERT(VARCHAR(5),LN_docs.verificado_backend,14), NULL) as verificado_backend,
                              CONVERT(VARCHAR(19),LN_docs.verificado_cliente,121) as verificado_cliente,
                              CONVERT(VARCHAR(19),LN_docs.created,121) as created,
                              CONVERT(VARCHAR(19),LN_docs.modified,121) as modified,
                              LN_docs.ingresado_por, LN_docs.rechazado_por, LN_docs.verificado_backend_por,
                              LN_docs.verificado_cliente_por, LN_docs.created_by, LN_docs.modified_by,
                              clientes.nombre_cliente, padrones.nombre_persona, padrones.identificador, padrones.id_padron,
                              padrones.numero, identificadores.abreviatura, identificadores.country_code,
                              country.country_name, LN_contrapartes.activo, LN_contrapartes.nombre_contacto,
                              LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
                              LN_tipos_doc.nombre_tipo_doc, LN_tipos_doc.tipo_vigencia, LN_docs.id_externo,
                              users1.first_name + ' ' + users1.last_name AS ingresado_por_usuario,
                              users2.first_name + ' ' + users2.last_name AS rechazado_por_usuario,
                              isnull(users2.aliasname, users2.first_name + ' ' + users2.last_name) as rechazado_por_alias, 
                              users3.first_name + ' ' + users3.last_name AS verificado_backend_por_usuario,
                              isnull(users3.aliasname, users3.first_name + ' ' + users3.last_name) as verificado_backend_por_alias,
                              users4.first_name + ' ' + users4.last_name AS verificado_cliente_por_usuario,
                              users5.first_name + ' ' + users5.last_name AS created_by_usuario,
                              users6.first_name + ' ' + users6.last_name AS modified_by_usuario,LN_contrapartes.servicio_contratado
                              , doc.orden 
                             FROM LN_docs
                             INNER JOIN clientes ON LN_docs.cliente = clientes.cliente
                             INNER JOIN LN_contrapartes ON LN_docs.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 country ON identificadores.country_code = country.country_code
                             INNER JOIN LN_tipos_doc ON LN_docs.tipo_doc = LN_tipos_doc.tipo_doc
                             LEFT JOIN (select contraparte, LN_set_tipo_doc.tipo_doc, orden
                             from ln_contraparte_familias 
                             inner join ln_familias on ln_familias.familia = ln_contraparte_familias.familia
                             inner join LN_set_tipo_doc on LN_set_tipo_doc.set_doc = LN_familias.set_doc) DOC 
                             on DOC.contraparte = ln_docs.contraparte and DOC.tipo_doc = ln_docs.tipo_doc 
                             LEFT OUTER JOIN users users1 ON LN_docs.ingresado_por = users1.user_id
                             LEFT OUTER JOIN users users2 ON LN_docs.rechazado_por = users2.user_id
                             LEFT OUTER JOIN users users3 ON LN_docs.verificado_backend_por = users3.user_id
                             LEFT OUTER JOIN users users4 ON LN_docs.verificado_cliente_por = users4.user_id
                             LEFT OUTER JOIN users users5 ON LN_docs.created_by = users5.user_id
                             LEFT OUTER JOIN users users6 ON LN_docs.modified_by = users6.user_id
          
                             WHERE LN_docs.tipo_doc = @p_tipo_doc
                             AND LN_docs.doc_version = @p_doc_version
                             AND LN_docs.estado_doc = @p_estado_doc
                             AND LN_docs.gestion = @p_gestion

                             ORDER BY clientes.nombre_cliente, padrones.nombre_persona, doc.orden, LN_tipos_doc.nombre_tipo_doc, LN_docs.doc_version

                            ELSE

                             IF (@caso = 22) 

                              SELECT '22' as caso, LN_docs.doc_id, LN_docs.contraparte, LN_docs.cliente, LN_docs.tipo_doc,
                               LN_docs.doc_version, LN_docs.estado_doc, LN_docs.doc_log, LN_docs.doc_attach,
                               CONVERT(VARCHAR, LN_docs.fecha_vigencia, 103) AS fecha_vigencia,
                               CONVERT(VARCHAR, LN_docs.vencimiento_carga, 103) AS vencimiento_carga,
                               ISNULL(LN_tipos_doc.es_balance, 0) AS es_balance, ISNULL(LN_tipos_doc.es_foto_perfil, 0) AS es_foto_perfil,
                               iif(LN_tipos_doc.es_balance > 0, ISNULL(LN_tipos_doc.es_manif_bienes, 0), 0) AS es_manif_bienes,
                               CONVERT(VARCHAR(10), LN_docs.inicio_ejercicio, 103) AS inicio_ejercicio,
                               CONVERT(VARCHAR(10), LN_docs.fin_ejercicio, 103) AS fin_ejercicio, gestion,
                               iif(LN_docs.ingresado IS NOT NULL, CONVERT(VARCHAR,LN_docs.ingresado,103)+' '+CONVERT(VARCHAR(5),LN_docs.ingresado,14), null) as ingresado,
                               iif(LN_docs.rechazado IS NOT NULL, CONVERT(VARCHAR,LN_docs.rechazado,103)+' '+CONVERT(VARCHAR(5),LN_docs.rechazado,14), null) as rechazado,
                               iif(LN_docs.verificado_backend IS NOT NULL, CONVERT(VARCHAR,LN_docs.verificado_backend,103)+' '+CONVERT(VARCHAR(5),LN_docs.verificado_backend,14), NULL) as verificado_backend,
                               CONVERT(VARCHAR(19),LN_docs.verificado_cliente,121) as verificado_cliente,
                               CONVERT(VARCHAR(19),LN_docs.created,121) as created,
                               CONVERT(VARCHAR(19),LN_docs.modified,121) as modified,
                               LN_docs.ingresado_por, LN_docs.rechazado_por, LN_docs.verificado_backend_por,
                               LN_docs.verificado_cliente_por, LN_docs.created_by, LN_docs.modified_by,
                               clientes.nombre_cliente, padrones.nombre_persona, padrones.identificador, padrones.id_padron,
                               padrones.numero, identificadores.abreviatura, identificadores.country_code,
                               country.country_name, LN_contrapartes.activo, LN_contrapartes.nombre_contacto,
                               LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
                               LN_tipos_doc.nombre_tipo_doc, LN_tipos_doc.tipo_vigencia, LN_docs.id_externo,
                               users1.first_name + ' ' + users1.last_name AS ingresado_por_usuario,
                               users2.first_name + ' ' + users2.last_name AS rechazado_por_usuario,
                               isnull(users2.aliasname, users2.first_name + ' ' + users2.last_name) as rechazado_por_alias, 
                               users3.first_name + ' ' + users3.last_name AS verificado_backend_por_usuario,
                               isnull(users3.aliasname, users3.first_name + ' ' + users3.last_name) as verificado_backend_por_alias, 
                               users4.first_name + ' ' + users4.last_name AS verificado_cliente_por_usuario,
                               users5.first_name + ' ' + users5.last_name AS created_by_usuario,
                               users6.first_name + ' ' + users6.last_name AS modified_by_usuario,LN_contrapartes.servicio_contratado
                               , doc.orden 
                              FROM LN_docs
                              INNER JOIN clientes ON LN_docs.cliente = clientes.cliente
                              INNER JOIN LN_contrapartes ON LN_docs.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 country ON identificadores.country_code = country.country_code
                              INNER JOIN LN_tipos_doc ON LN_docs.tipo_doc = LN_tipos_doc.tipo_doc

                              LEFT JOIN (select contraparte, LN_set_tipo_doc.tipo_doc, orden
                               from ln_contraparte_familias 
                               inner join ln_familias on ln_familias.familia = ln_contraparte_familias.familia
                               inner join LN_set_tipo_doc on LN_set_tipo_doc.set_doc = LN_familias.set_doc) DOC 
                               on DOC.contraparte = ln_docs.contraparte and DOC.tipo_doc = ln_docs.tipo_doc 

                              LEFT OUTER JOIN users users1 ON LN_docs.ingresado_por = users1.user_id
                              LEFT OUTER JOIN users users2 ON LN_docs.rechazado_por = users2.user_id
                              LEFT OUTER JOIN users users3 ON LN_docs.verificado_backend_por = users3.user_id
                              LEFT OUTER JOIN users users4 ON LN_docs.verificado_cliente_por = users4.user_id
                              LEFT OUTER JOIN users users5 ON LN_docs.created_by = users5.user_id
                              LEFT OUTER JOIN users users6 ON LN_docs.modified_by = users6.user_id
          
                              WHERE LN_docs.cliente = @p_cliente
                              AND LN_docs.tipo_doc = @p_tipo_doc
                              AND LN_docs.doc_version = @p_doc_version
                              AND LN_docs.estado_doc = @p_estado_doc
                              AND LN_docs.gestion = @p_gestion

                              ORDER BY clientes.nombre_cliente, padrones.nombre_persona, doc.orden, LN_tipos_doc.nombre_tipo_doc, LN_docs.doc_version

                             ELSE

                              IF (@caso = 23) 

                               SELECT '23' as caso, LN_docs.doc_id, LN_docs.contraparte, LN_docs.cliente, LN_docs.tipo_doc,
                                LN_docs.doc_version, LN_docs.estado_doc, LN_docs.doc_log, LN_docs.doc_attach,
                                CONVERT(VARCHAR, LN_docs.fecha_vigencia, 103) AS fecha_vigencia,
                                CONVERT(VARCHAR, LN_docs.vencimiento_carga, 103) AS vencimiento_carga,
                                ISNULL(LN_tipos_doc.es_balance, 0) AS es_balance, ISNULL(LN_tipos_doc.es_foto_perfil, 0) AS es_foto_perfil,
                                iif(LN_tipos_doc.es_balance > 0, ISNULL(LN_tipos_doc.es_manif_bienes, 0), 0) AS es_manif_bienes,
                                CONVERT(VARCHAR(10), LN_docs.inicio_ejercicio, 103) AS inicio_ejercicio,
                                CONVERT(VARCHAR(10), LN_docs.fin_ejercicio, 103) AS fin_ejercicio, gestion,
                                iif(LN_docs.rechazado IS NOT NULL, CONVERT(VARCHAR,LN_docs.rechazado,103)+' '+CONVERT(VARCHAR(5),LN_docs.rechazado,14), null) as rechazado,
                                iif(LN_docs.verificado_backend IS NOT NULL, CONVERT(VARCHAR,LN_docs.verificado_backend,103)+' '+CONVERT(VARCHAR(5),LN_docs.verificado_backend,14), NULL) as verificado_backend,
                                CONVERT(VARCHAR(19),LN_docs.verificado_cliente,121) as verificado_cliente,
                                CONVERT(VARCHAR(19),LN_docs.created,121) as created,
                                CONVERT(VARCHAR(19),LN_docs.modified,121) as modified,
                                LN_docs.ingresado_por, LN_docs.rechazado_por, LN_docs.verificado_backend_por,
                                LN_docs.verificado_cliente_por, LN_docs.created_by, LN_docs.modified_by,
                                clientes.nombre_cliente, padrones.nombre_persona, padrones.identificador, padrones.id_padron,
                                padrones.numero, identificadores.abreviatura, identificadores.country_code,
                                country.country_name, LN_contrapartes.activo, LN_contrapartes.nombre_contacto,
                                LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
                                LN_tipos_doc.nombre_tipo_doc, LN_tipos_doc.tipo_vigencia, LN_docs.id_externo,
                                users1.first_name + ' ' + users1.last_name AS ingresado_por_usuario,
                                users2.first_name + ' ' + users2.last_name AS rechazado_por_usuario,
                                isnull(users2.aliasname, users2.first_name + ' ' + users2.last_name) as rechazado_por_alias, 
                                users3.first_name + ' ' + users3.last_name AS verificado_backend_por_usuario,
                                isnull(users3.aliasname, users3.first_name + ' ' + users3.last_name) as verificado_backend_por_alias,
                                users4.first_name + ' ' + users4.last_name AS verificado_cliente_por_usuario,
                                users5.first_name + ' ' + users5.last_name AS created_by_usuario,
                                users6.first_name + ' ' + users6.last_name AS modified_by_usuario,LN_contrapartes.servicio_contratado
                                , doc.orden
                               FROM LN_docs
                               INNER JOIN clientes ON LN_docs.cliente = clientes.cliente
                               INNER JOIN LN_contrapartes ON LN_docs.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 country ON identificadores.country_code = country.country_code
                               INNER JOIN LN_tipos_doc ON LN_docs.tipo_doc = LN_tipos_doc.tipo_doc
                               LEFT JOIN (select contraparte, LN_set_tipo_doc.tipo_doc, orden
                               from ln_contraparte_familias 
                               inner join ln_familias on ln_familias.familia = ln_contraparte_familias.familia
                               inner join LN_set_tipo_doc on LN_set_tipo_doc.set_doc = LN_familias.set_doc) DOC 
                               on DOC.contraparte = ln_docs.contraparte and DOC.tipo_doc = ln_docs.tipo_doc 
                               LEFT OUTER JOIN users users1 ON LN_docs.ingresado_por = users1.user_id
                               LEFT OUTER JOIN users users2 ON LN_docs.rechazado_por = users2.user_id
                               LEFT OUTER JOIN users users3 ON LN_docs.verificado_backend_por = users3.user_id
                               LEFT OUTER JOIN users users4 ON LN_docs.verificado_cliente_por = users4.user_id
                               LEFT OUTER JOIN users users5 ON LN_docs.created_by = users5.user_id
                               LEFT OUTER JOIN users users6 ON LN_docs.modified_by = users6.user_id
          
                               WHERE LN_docs.contraparte = @p_contraparte
                               AND LN_docs.tipo_doc = @p_tipo_doc
                               AND LN_docs.doc_version = @p_doc_version
                               AND LN_docs.estado_doc = @p_estado_doc
                               AND LN_docs.gestion = @p_gestion

                               ORDER BY clientes.nombre_cliente, padrones.nombre_persona, doc.orden, LN_tipos_doc.nombre_tipo_doc, LN_docs.doc_version

                              ELSE

                               SELECT '24-else' as caso, LN_docs.doc_id, LN_docs.contraparte, LN_docs.cliente, LN_docs.tipo_doc,
                                LN_docs.doc_version, LN_docs.estado_doc, LN_docs.doc_log, LN_docs.doc_attach,
                                CONVERT(VARCHAR, LN_docs.fecha_vigencia, 103) AS fecha_vigencia,
                                CONVERT(VARCHAR, LN_docs.vencimiento_carga, 103) AS vencimiento_carga,
                                ISNULL(LN_tipos_doc.es_balance, 0) AS es_balance, ISNULL(LN_tipos_doc.es_foto_perfil, 0) AS es_foto_perfil,
                                iif(LN_tipos_doc.es_balance > 0, ISNULL(LN_tipos_doc.es_manif_bienes, 0), 0) AS es_manif_bienes,
                                CONVERT(VARCHAR(10), LN_docs.inicio_ejercicio, 103) AS inicio_ejercicio,
                                CONVERT(VARCHAR(10), LN_docs.fin_ejercicio, 103) AS fin_ejercicio, gestion,
                                iif(LN_docs.ingresado IS NOT NULL, CONVERT(VARCHAR,LN_docs.ingresado,103)+' '+CONVERT(VARCHAR(5),LN_docs.ingresado,14), null) as ingresado,
                                iif(LN_docs.rechazado IS NOT NULL, CONVERT(VARCHAR,LN_docs.rechazado,103)+' '+CONVERT(VARCHAR(5),LN_docs.rechazado,14), null) as rechazado,
                                iif(LN_docs.verificado_backend IS NOT NULL, CONVERT(VARCHAR,LN_docs.verificado_backend,103)+' '+CONVERT(VARCHAR(5),LN_docs.verificado_backend,14), NULL) as verificado_backend,
                                CONVERT(VARCHAR(19),LN_docs.verificado_cliente,121) as verificado_cliente,
                                CONVERT(VARCHAR(19),LN_docs.created,121) as created,
                                CONVERT(VARCHAR(19),LN_docs.modified,121) as modified,
                                LN_docs.ingresado_por, LN_docs.rechazado_por, LN_docs.verificado_backend_por,
                                LN_docs.verificado_cliente_por, LN_docs.created_by, LN_docs.modified_by,
                                clientes.nombre_cliente, padrones.nombre_persona, padrones.identificador, padrones.id_padron,
                                padrones.numero, identificadores.abreviatura, identificadores.country_code,
                                country.country_name, LN_contrapartes.activo, LN_contrapartes.nombre_contacto,
                                LN_contrapartes.email_contacto, LN_contrapartes.telefono_contacto,
                                LN_tipos_doc.nombre_tipo_doc, LN_tipos_doc.tipo_vigencia, LN_docs.id_externo,
                                users1.first_name + ' ' + users1.last_name AS ingresado_por_usuario,
                                users2.first_name + ' ' + users2.last_name AS rechazado_por_usuario,
                                isnull(users2.aliasname, users2.first_name + ' ' + users2.last_name) as rechazado_por_alias, 
                                users3.first_name + ' ' + users3.last_name AS verificado_backend_por_usuario,
                                isnull(users3.aliasname, users3.first_name + ' ' + users3.last_name) as verificado_backend_por_alias,
                                users4.first_name + ' ' + users4.last_name AS verificado_cliente_por_usuario,
                                users5.first_name + ' ' + users5.last_name AS created_by_usuario,
                                users6.first_name + ' ' + users6.last_name AS modified_by_usuario,LN_contrapartes.servicio_contratado
                                , doc.orden 
                               FROM LN_docs
                               INNER JOIN clientes ON LN_docs.cliente = clientes.cliente
                               INNER JOIN LN_contrapartes ON LN_docs.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 country ON identificadores.country_code = country.country_code
                               INNER JOIN LN_tipos_doc ON LN_docs.tipo_doc = LN_tipos_doc.tipo_doc


                               LEFT JOIN (select contraparte, LN_set_tipo_doc.tipo_doc, orden
                               from ln_contraparte_familias 
                               inner join ln_familias on ln_familias.familia = ln_contraparte_familias.familia
                               inner join LN_set_tipo_doc on LN_set_tipo_doc.set_doc = LN_familias.set_doc) DOC 
                               on DOC.contraparte = ln_docs.contraparte and DOC.tipo_doc = ln_docs.tipo_doc 
                               LEFT OUTER JOIN users users1 ON LN_docs.ingresado_por = users1.user_id
                               LEFT OUTER JOIN users users2 ON LN_docs.rechazado_por = users2.user_id
                               LEFT OUTER JOIN users users3 ON LN_docs.verificado_backend_por = users3.user_id
                               LEFT OUTER JOIN users users4 ON LN_docs.verificado_cliente_por = users4.user_id
                               LEFT OUTER JOIN users users5 ON LN_docs.created_by = users5.user_id
                               LEFT OUTER JOIN users users6 ON LN_docs.modified_by = users6.user_id
          
                               WHERE LN_docs.cliente = @p_cliente
                               AND LN_docs.contraparte = @p_contraparte
                               AND LN_docs.tipo_doc = @p_tipo_doc
                               AND LN_docs.doc_version = @p_doc_version
                               AND LN_docs.estado_doc = @p_estado_doc
                               AND LN_docs.gestion = @p_gestion

                               ORDER BY clientes.nombre_cliente, padrones.nombre_persona, doc.orden, LN_tipos_doc.nombre_tipo_doc, LN_docs.doc_version









         

       END 
       /*** END SEARCH ***/

       

END

GO