dbo.LN_tipos_doc_carga_verif_

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

5
Name Data Type Length Description
@accion varchar 50
@p_cliente int 4
@p_doc_id int 4
@p_tipo_doc int 4
@p_user_id int 4

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE OR ALTER PROCEDURE dbo.LN_tipos_doc_carga_verif_
 -- Add the parameters for the stored procedure here
 @accion              varchar(50) = null,
 @p_cliente             int = null,
 @p_doc_id             int = null,
 @p_tipo_doc             int = null,
 @p_user_id             int = null
 
AS
BEGIN
 -- SET NOCOUNT ON added to prevent extra result sets from
 -- interfering with SELECT statements.
 SET NOCOUNT ON;

    -- Insert statements for procedure here

 if (@accion = 'tipos_doc_carga_cliente') begin

  if (@p_tipo_doc is null)

   select LN_tipos_doc_carga_verif.cliente, LN_tipos_doc_carga_verif.tipo_doc, LN_tipos_doc.nombre_tipo_doc, clientes.nombre_cliente,
     LN_tipos_doc.country_code, LN_tipos_doc.es_balance, LN_tipos_doc.es_manif_bienes, LN_tipos_doc.es_foto_perfil, 
     LN_tipos_doc.modalidad, country.country_name

   from LN_tipos_doc_carga_verif
   inner join LN_tipos_doc on LN_tipos_doc_carga_verif.tipo_doc = LN_tipos_doc.tipo_doc
   inner join clientes on LN_tipos_doc_carga_verif.cliente = clientes.cliente
   left outer join country on LN_tipos_doc.country_code = country.country_code
   where LN_tipos_doc_carga_verif.quien_carga = 'C'
   and LN_tipos_doc_carga_verif.cliente = @p_cliente
   and LN_tipos_doc_carga_verif.activo = 1
   order by LN_tipos_doc.nombre_tipo_doc

  else

   select LN_tipos_doc_carga_verif.cliente, LN_tipos_doc_carga_verif.tipo_doc, LN_tipos_doc.nombre_tipo_doc, clientes.nombre_cliente,
     LN_tipos_doc.country_code, LN_tipos_doc.es_balance, LN_tipos_doc.es_manif_bienes, LN_tipos_doc.es_foto_perfil, 
     LN_tipos_doc.modalidad, country.country_name

   from LN_tipos_doc_carga_verif
   inner join LN_tipos_doc on LN_tipos_doc_carga_verif.tipo_doc = LN_tipos_doc.tipo_doc
   inner join clientes on LN_tipos_doc_carga_verif.cliente = clientes.cliente
   left outer join country on LN_tipos_doc.country_code = country.country_code
   where LN_tipos_doc_carga_verif.quien_carga = 'C'
   and LN_tipos_doc_carga_verif.cliente = @p_cliente
   and LN_tipos_doc_carga_verif.tipo_doc = @p_tipo_doc
   and LN_tipos_doc_carga_verif.activo = 1
   order by LN_tipos_doc.nombre_tipo_doc

 end else


 if (@accion = 'tipos_doc_carga_backend') begin

  if (@p_tipo_doc is null)

   select LN_tipos_doc_carga_verif.cliente, LN_tipos_doc_carga_verif.tipo_doc, LN_tipos_doc.nombre_tipo_doc, clientes.nombre_cliente,
     LN_tipos_doc.country_code, LN_tipos_doc.es_balance, LN_tipos_doc.es_manif_bienes, LN_tipos_doc.es_foto_perfil, 
     LN_tipos_doc.modalidad, country.country_name

   from LN_tipos_doc_carga_verif
   inner join LN_tipos_doc on LN_tipos_doc_carga_verif.tipo_doc = LN_tipos_doc.tipo_doc
   inner join clientes on LN_tipos_doc_carga_verif.cliente = clientes.cliente
   left outer join country on LN_tipos_doc.country_code = country.country_code
   where LN_tipos_doc_carga_verif.quien_carga = 'F'
   and LN_tipos_doc_carga_verif.cliente = @p_cliente
   and LN_tipos_doc_carga_verif.activo = 1
   order by LN_tipos_doc.nombre_tipo_doc

  else

   select LN_tipos_doc_carga_verif.cliente, LN_tipos_doc_carga_verif.tipo_doc, LN_tipos_doc.nombre_tipo_doc, clientes.nombre_cliente,
     LN_tipos_doc.country_code, LN_tipos_doc.es_balance, LN_tipos_doc.es_manif_bienes, LN_tipos_doc.es_foto_perfil, 
     LN_tipos_doc.modalidad, country.country_name

   from LN_tipos_doc_carga_verif
   inner join LN_tipos_doc on LN_tipos_doc_carga_verif.tipo_doc = LN_tipos_doc.tipo_doc
   inner join clientes on LN_tipos_doc_carga_verif.cliente = clientes.cliente
   left outer join country on LN_tipos_doc.country_code = country.country_code
   where LN_tipos_doc_carga_verif.quien_carga = 'F'
   and LN_tipos_doc_carga_verif.cliente = @p_cliente
   and LN_tipos_doc_carga_verif.tipo_doc = @p_tipo_doc
   and LN_tipos_doc_carga_verif.activo = 1
   order by LN_tipos_doc.nombre_tipo_doc

 end else


 if (@accion = 'tipos_doc_verifica_cliente') begin

  if (@p_tipo_doc is null)

   select LN_tipos_doc_carga_verif.cliente, LN_tipos_doc_carga_verif.tipo_doc, LN_tipos_doc.nombre_tipo_doc, clientes.nombre_cliente,
     LN_tipos_doc.country_code, LN_tipos_doc.es_balance, LN_tipos_doc.es_manif_bienes, LN_tipos_doc.es_foto_perfil, 
     LN_tipos_doc.modalidad, country.country_name

   from LN_tipos_doc_carga_verif
   inner join LN_tipos_doc on LN_tipos_doc_carga_verif.tipo_doc = LN_tipos_doc.tipo_doc
   inner join clientes on LN_tipos_doc_carga_verif.cliente = clientes.cliente
   left outer join country on LN_tipos_doc.country_code = country.country_code
   where LN_tipos_doc_carga_verif.quien_verifica = 'C'
   and LN_tipos_doc_carga_verif.cliente = @p_cliente
   and LN_tipos_doc_carga_verif.activo = 1
   order by LN_tipos_doc.nombre_tipo_doc

  else

   select LN_tipos_doc_carga_verif.cliente, LN_tipos_doc_carga_verif.tipo_doc, LN_tipos_doc.nombre_tipo_doc, clientes.nombre_cliente,
     LN_tipos_doc.country_code, LN_tipos_doc.es_balance, LN_tipos_doc.es_manif_bienes, LN_tipos_doc.es_foto_perfil, 
     LN_tipos_doc.modalidad, country.country_name

   from LN_tipos_doc_carga_verif
   inner join LN_tipos_doc on LN_tipos_doc_carga_verif.tipo_doc = LN_tipos_doc.tipo_doc
   inner join clientes on LN_tipos_doc_carga_verif.cliente = clientes.cliente
   left outer join country on LN_tipos_doc.country_code = country.country_code
   where LN_tipos_doc_carga_verif.quien_verifica = 'C'
   and LN_tipos_doc_carga_verif.cliente = @p_cliente
   and LN_tipos_doc_carga_verif.tipo_doc = @p_tipo_doc
   and LN_tipos_doc_carga_verif.activo = 1
   order by LN_tipos_doc.nombre_tipo_doc


 end else

 -- consultar los pendientes de carga por parte del cliente , opcionalmente por doc_id
 if (@accion = 'docs_carga_cliente') begin

  if (@p_doc_id is null)

   select LN_docs.doc_id, LN_docs.doc_version, LN_docs.contraparte, LN_docs.gestion, LN_docs.estado_doc, LN_docs.cliente, LN_tipos_doc.nombre_tipo_doc,
     LN_tipos_doc.modalidad, LN_tipos_doc.es_balance, LN_tipos_doc.tipo_vigencia, LN_tipos_doc.es_foto_perfil, LN_tipos_doc.es_manif_bienes,
     case 
      when LN_docs.estado_doc = 'N' then 'No ingresado' 
      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 nombre_estado, LN_docs.texto_rechazo,
     convert(varchar(10), LN_docs.fecha_vigencia, 103) as fecha_vigencia,
     convert(varchar(10), LN_docs.vencimiento_carga, 103) as vencimiento_carga,
     convert(varchar(10), LN_docs.ingresado, 103) + ' ' + convert(varchar(5), LN_docs.ingresado, 14) as ingresado,
     convert(varchar(10), LN_docs.rechazado, 103) + ' ' + convert(varchar(5), LN_docs.rechazado, 14) as rechazado,
     convert(varchar(10), LN_docs.verificado_cliente, 103) + ' ' + convert(varchar(5), LN_docs.verificado_cliente, 14) as verificado_cliente,
     convert(varchar(10), LN_docs.verificado_backend, 103) + ' ' + convert(varchar(5), LN_docs.verificado_backend, 14) as verificado_backend,
     convert(varchar(10), LN_docs.created, 103) + ' ' + convert(varchar(5), LN_docs.created, 14) as created,
     LN_docs.ingresado_por, LN_docs.rechazado_por, LN_docs.verificado_backend_por, LN_docs.verificado_cliente_por,
     users.first_name + ' ' + users.last_name as ingresado_por_usuario,
     users2.first_name + ' ' + users2.last_name as rechazado_por_usuario,
     users3.first_name + ' ' + users3.last_name as verificado_backend_por_usuario,
     users4.first_name + ' ' + users4.last_name as verificado_cliente_por_usuario,
     padrones.nombre_persona, padrones.identificacion, padrones.numero, identificadores.identificador, identificadores.abreviatura,
     identificadores.country_code, country.country_name, identificadores.abreviatura + ' ' + padrones.identificacion as tax_id,

     '<button type="button" class="btn btn-fidelitas cargar" data-doc-id="' + convert(varchar,LN_docs.doc_id) + '"><i class="fa fa-upload"></i> Cargar</button>' as acciones

   from LN_docs 
   inner join LN_tipos_doc on LN_docs.tipo_doc = LN_tipos_doc.tipo_doc
   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_gestiones on (LN_contrapartes.contraparte = LN_gestiones.contraparte
          and LN_docs.gestion = LN_gestiones.gestion)

   inner join 
    (select LN_tipos_doc_carga_verif.cliente, LN_tipos_doc_carga_verif.tipo_doc
    from LN_tipos_doc_carga_verif
    where LN_tipos_doc_carga_verif.quien_carga = 'C'
    and LN_tipos_doc_carga_verif.cliente = @p_cliente
    and LN_tipos_doc_carga_verif.activo = 1) carga_cliente ON (LN_docs.tipo_doc = carga_cliente.tipo_doc AND LN_docs.cliente = carga_cliente.cliente)


   left outer join users on LN_docs.ingresado_por = users.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



   where LN_docs.estado_doc IN ('N','R')
   and LN_docs.aplica = 1
   order by LN_docs.vencimiento_carga, padrones.nombre_persona, LN_tipos_doc.nombre_tipo_doc

  else

   select LN_docs.doc_id, LN_docs.doc_version, LN_docs.contraparte, LN_docs.gestion, LN_docs.estado_doc, LN_docs.cliente, LN_tipos_doc.nombre_tipo_doc,
     LN_tipos_doc.modalidad, LN_tipos_doc.es_balance, LN_tipos_doc.tipo_vigencia, LN_tipos_doc.es_foto_perfil, LN_tipos_doc.es_manif_bienes,
     case 
      when LN_docs.estado_doc = 'N' then 'No ingresado' 
      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 nombre_estado, LN_docs.texto_rechazo,
     convert(varchar(10), LN_docs.fecha_vigencia, 103) as fecha_vigencia,
     convert(varchar(10), LN_docs.vencimiento_carga, 103) as vencimiento_carga,
     convert(varchar(10), LN_docs.ingresado, 103) + ' ' + convert(varchar(5), LN_docs.ingresado, 14) as ingresado,
     convert(varchar(10), LN_docs.rechazado, 103) + ' ' + convert(varchar(5), LN_docs.rechazado, 14) as rechazado,
     convert(varchar(10), LN_docs.verificado_cliente, 103) + ' ' + convert(varchar(5), LN_docs.verificado_cliente, 14) as verificado_cliente,
     convert(varchar(10), LN_docs.verificado_backend, 103) + ' ' + convert(varchar(5), LN_docs.verificado_backend, 14) as verificado_backend,
     convert(varchar(10), LN_docs.created, 103) + ' ' + convert(varchar(5), LN_docs.created, 14) as created,
     LN_docs.ingresado_por, LN_docs.rechazado_por, LN_docs.verificado_backend_por, LN_docs.verificado_cliente_por,
     users.first_name + ' ' + users.last_name as ingresado_por_usuario,
     users2.first_name + ' ' + users2.last_name as rechazado_por_usuario,
     users3.first_name + ' ' + users3.last_name as verificado_backend_por_usuario,
     users4.first_name + ' ' + users4.last_name as verificado_cliente_por_usuario,
     padrones.nombre_persona, padrones.identificacion, padrones.numero, identificadores.identificador, identificadores.abreviatura,
     identificadores.country_code, country.country_name, identificadores.abreviatura + ' ' + padrones.identificacion as tax_id,

     '<button type="button" class="btn btn-fidelitas cargar" data-doc-id="' + convert(varchar,LN_docs.doc_id) + '"><i class="fa fa-upload"></i> Cargar</button>' as acciones

   from LN_docs 
   inner join LN_tipos_doc on LN_docs.tipo_doc = LN_tipos_doc.tipo_doc
   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_gestiones on (LN_contrapartes.contraparte = LN_gestiones.contraparte
          and LN_docs.gestion = LN_gestiones.gestion)

   inner join 
    (select LN_tipos_doc_carga_verif.cliente, LN_tipos_doc_carga_verif.tipo_doc
    from LN_tipos_doc_carga_verif
    where LN_tipos_doc_carga_verif.quien_carga = 'C'
    and LN_tipos_doc_carga_verif.cliente = @p_cliente
    and LN_tipos_doc_carga_verif.activo = 1) carga_cliente ON (LN_docs.tipo_doc = carga_cliente.tipo_doc AND LN_docs.cliente = carga_cliente.cliente)


   left outer join users on LN_docs.ingresado_por = users.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



   where LN_docs.estado_doc IN ('N','R')
   and LN_docs.aplica = 1
   and LN_docs.doc_id = @p_doc_id
   order by LN_docs.vencimiento_carga, padrones.nombre_persona, LN_tipos_doc.nombre_tipo_doc



 end else


 -- consultar los pendientes de verificar por parte del cliente , opcionalmente por doc_id
 if (@accion = 'docs_verifica_cliente') begin

  if (@p_doc_id is null)

   select LN_docs.doc_id, LN_docs.doc_version, LN_docs.contraparte, LN_docs.gestion, LN_docs.estado_doc, LN_docs.cliente, LN_tipos_doc.nombre_tipo_doc,
     LN_tipos_doc.modalidad, LN_tipos_doc.es_balance, LN_tipos_doc.tipo_vigencia, LN_tipos_doc.es_foto_perfil, LN_tipos_doc.es_manif_bienes,
     case 
      when LN_docs.estado_doc = 'N' then 'No ingresado' 
      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 nombre_estado,
     convert(varchar(10), LN_docs.fecha_vigencia, 103) as fecha_vigencia,
     convert(varchar(10), LN_docs.vencimiento_carga, 103) as vencimiento_carga,
     convert(varchar(10), LN_docs.ingresado, 103) + ' ' + convert(varchar(5), LN_docs.ingresado, 14) as ingresado,
     convert(varchar(10), LN_docs.rechazado, 103) + ' ' + convert(varchar(5), LN_docs.rechazado, 14) as rechazado,
     convert(varchar(10), LN_docs.verificado_cliente, 103) + ' ' + convert(varchar(5), LN_docs.verificado_cliente, 14) as verificado_cliente,
     convert(varchar(10), LN_docs.verificado_backend, 103) + ' ' + convert(varchar(5), LN_docs.verificado_backend, 14) as verificado_backend,
     convert(varchar(10), LN_docs.created, 103) + ' ' + convert(varchar(5), LN_docs.created, 14) as created,
     LN_docs.ingresado_por, LN_docs.rechazado_por, LN_docs.verificado_backend_por, LN_docs.verificado_cliente_por,
     users.first_name + ' ' + users.last_name as ingresado_por_usuario,
     users2.first_name + ' ' + users2.last_name as rechazado_por_usuario,
     users3.first_name + ' ' + users3.last_name as verificado_backend_por_usuario,
     users4.first_name + ' ' + users4.last_name as verificado_cliente_por_usuario,
     padrones.nombre_persona, padrones.identificacion, padrones.numero, identificadores.identificador, identificadores.abreviatura,
     identificadores.country_code, country.country_name, identificadores.abreviatura + ' ' + padrones.identificacion as tax_id

   from LN_docs 
   inner join LN_tipos_doc on LN_docs.tipo_doc = LN_tipos_doc.tipo_doc
   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_gestiones on (LN_contrapartes.contraparte = LN_gestiones.contraparte
          and LN_docs.gestion = LN_gestiones.gestion)

   inner join 
    (select LN_tipos_doc_carga_verif.cliente, LN_tipos_doc_carga_verif.tipo_doc
    from LN_tipos_doc_carga_verif
    where LN_tipos_doc_carga_verif.quien_verifica = 'C'
    and LN_tipos_doc_carga_verif.cliente = @p_cliente
    and LN_tipos_doc_carga_verif.activo = 1) verifica_cliente ON (LN_docs.tipo_doc = verifica_cliente.tipo_doc AND LN_docs.cliente = verifica_cliente.cliente)


   left outer join users on LN_docs.ingresado_por = users.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



   where LN_docs.estado_doc IN ('I')
   and LN_docs.aplica = 1
   order by LN_docs.ingresado, padrones.nombre_persona, LN_tipos_doc.nombre_tipo_doc

  else

   select LN_docs.doc_id, LN_docs.doc_version, LN_docs.contraparte, LN_docs.gestion, LN_docs.estado_doc, LN_docs.cliente, LN_tipos_doc.nombre_tipo_doc,
     LN_tipos_doc.modalidad, LN_tipos_doc.es_balance, LN_tipos_doc.tipo_vigencia, LN_tipos_doc.es_foto_perfil, LN_tipos_doc.es_manif_bienes,
     case 
      when LN_docs.estado_doc = 'N' then 'No ingresado' 
      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 nombre_estado,
     convert(varchar(10), LN_docs.fecha_vigencia, 103) as fecha_vigencia,
     convert(varchar(10), LN_docs.vencimiento_carga, 103) as vencimiento_carga,
     convert(varchar(10), LN_docs.ingresado, 103) + ' ' + convert(varchar(5), LN_docs.ingresado, 14) as ingresado,
     convert(varchar(10), LN_docs.rechazado, 103) + ' ' + convert(varchar(5), LN_docs.rechazado, 14) as rechazado,
     convert(varchar(10), LN_docs.verificado_cliente, 103) + ' ' + convert(varchar(5), LN_docs.verificado_cliente, 14) as verificado_cliente,
     convert(varchar(10), LN_docs.verificado_backend, 103) + ' ' + convert(varchar(5), LN_docs.verificado_backend, 14) as verificado_backend,
     convert(varchar(10), LN_docs.created, 103) + ' ' + convert(varchar(5), LN_docs.created, 14) as created,
     LN_docs.ingresado_por, LN_docs.rechazado_por, LN_docs.verificado_backend_por, LN_docs.verificado_cliente_por,
     users.first_name + ' ' + users.last_name as ingresado_por_usuario,
     users2.first_name + ' ' + users2.last_name as rechazado_por_usuario,
     users3.first_name + ' ' + users3.last_name as verificado_backend_por_usuario,
     users4.first_name + ' ' + users4.last_name as verificado_cliente_por_usuario,
     padrones.nombre_persona, padrones.identificacion, padrones.numero, identificadores.identificador, identificadores.abreviatura,
     identificadores.country_code, country.country_name, identificadores.abreviatura + ' ' + padrones.identificacion as tax_id

   from LN_docs 
   inner join LN_tipos_doc on LN_docs.tipo_doc = LN_tipos_doc.tipo_doc
   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_gestiones on (LN_contrapartes.contraparte = LN_gestiones.contraparte
          and LN_docs.gestion = LN_gestiones.gestion)

   inner join 
    (select LN_tipos_doc_carga_verif.cliente, LN_tipos_doc_carga_verif.tipo_doc
    from LN_tipos_doc_carga_verif
    where LN_tipos_doc_carga_verif.quien_verifica = 'C'
    and LN_tipos_doc_carga_verif.cliente = @p_cliente
    and LN_tipos_doc_carga_verif.activo = 1) verifica_cliente ON (LN_docs.tipo_doc = verifica_cliente.tipo_doc AND LN_docs.cliente = verifica_cliente.cliente)


   left outer join users on LN_docs.ingresado_por = users.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



   where LN_docs.estado_doc IN ('I')
   and LN_docs.aplica = 1
   and LN_docs.doc_id = @p_doc_id
   order by LN_docs.ingresado, padrones.nombre_persona, LN_tipos_doc.nombre_tipo_doc


 end else


 -- consultar los cargados por parte del cliente estado ('I','V'), opcionalmente por doc_id
 if (@accion = 'docs_cargados_cliente') begin


  if (@p_doc_id is null)

   select LN_docs.doc_id, LN_docs.doc_version, LN_docs.contraparte, LN_docs.gestion, LN_docs.estado_doc, LN_docs.cliente, LN_tipos_doc.nombre_tipo_doc,
     LN_tipos_doc.modalidad, LN_tipos_doc.es_balance, LN_tipos_doc.tipo_vigencia, LN_tipos_doc.es_foto_perfil, LN_tipos_doc.es_manif_bienes,
     case 
      when LN_docs.estado_doc = 'N' then 'No ingresado' 
      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 nombre_estado,
     convert(varchar(10), LN_docs.fecha_vigencia, 103) as fecha_vigencia,
     convert(varchar(10), LN_docs.vencimiento_carga, 103) as vencimiento_carga,
     convert(varchar(10), LN_docs.ingresado, 103) + ' ' + convert(varchar(5), LN_docs.ingresado, 14) as ingresado,
     convert(varchar(10), LN_docs.rechazado, 103) + ' ' + convert(varchar(5), LN_docs.rechazado, 14) as rechazado,
     convert(varchar(10), LN_docs.verificado_cliente, 103) + ' ' + convert(varchar(5), LN_docs.verificado_cliente, 14) as verificado_cliente,
     convert(varchar(10), LN_docs.verificado_backend, 103) + ' ' + convert(varchar(5), LN_docs.verificado_backend, 14) as verificado_backend,
     convert(varchar(10), LN_docs.created, 103) + ' ' + convert(varchar(5), LN_docs.created, 14) as created,
     LN_docs.ingresado_por, LN_docs.rechazado_por, LN_docs.verificado_backend_por, LN_docs.verificado_cliente_por,
     users.first_name + ' ' + users.last_name as ingresado_por_usuario,
     users2.first_name + ' ' + users2.last_name as rechazado_por_usuario,
     users3.first_name + ' ' + users3.last_name as verificado_backend_por_usuario,
     users4.first_name + ' ' + users4.last_name as verificado_cliente_por_usuario,
     padrones.nombre_persona, padrones.identificacion, padrones.numero, identificadores.identificador, identificadores.abreviatura,
     identificadores.country_code, country.country_name, identificadores.abreviatura + ' ' + padrones.identificacion as tax_id,

     '<button type="button" class="btn btn-fidelitas cargar" data-doc-id="' + convert(varchar,LN_docs.doc_id) + '"><i class="fa fa-upload"></i> Cargar</button>' as acciones

   from LN_docs 
   inner join LN_tipos_doc on LN_docs.tipo_doc = LN_tipos_doc.tipo_doc
   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_gestiones on (LN_contrapartes.contraparte = LN_gestiones.contraparte
          and LN_docs.gestion = LN_gestiones.gestion)

   inner join 
    (select LN_tipos_doc_carga_verif.cliente, LN_tipos_doc_carga_verif.tipo_doc
    from LN_tipos_doc_carga_verif
    where LN_tipos_doc_carga_verif.quien_carga = 'C'
    and LN_tipos_doc_carga_verif.cliente = @p_cliente
    and LN_tipos_doc_carga_verif.activo = 1) carga_cliente ON (LN_docs.tipo_doc = carga_cliente.tipo_doc AND LN_docs.cliente = carga_cliente.cliente)


   left outer join users on LN_docs.ingresado_por = users.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



   where LN_docs.estado_doc IN ('I','V')
   and LN_docs.aplica = 1
   order by LN_docs.vencimiento_carga, padrones.nombre_persona, LN_tipos_doc.nombre_tipo_doc

  else

   select LN_docs.doc_id, LN_docs.doc_version, LN_docs.contraparte, LN_docs.gestion, LN_docs.estado_doc, LN_docs.cliente, LN_tipos_doc.nombre_tipo_doc,
     LN_tipos_doc.modalidad, LN_tipos_doc.es_balance, LN_tipos_doc.tipo_vigencia, LN_tipos_doc.es_foto_perfil, LN_tipos_doc.es_manif_bienes,
     case 
      when LN_docs.estado_doc = 'N' then 'No ingresado' 
      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 nombre_estado,
     convert(varchar(10), LN_docs.fecha_vigencia, 103) as fecha_vigencia,
     convert(varchar(10), LN_docs.vencimiento_carga, 103) as vencimiento_carga,
     convert(varchar(10), LN_docs.ingresado, 103) + ' ' + convert(varchar(5), LN_docs.ingresado, 14) as ingresado,
     convert(varchar(10), LN_docs.rechazado, 103) + ' ' + convert(varchar(5), LN_docs.rechazado, 14) as rechazado,
     convert(varchar(10), LN_docs.verificado_cliente, 103) + ' ' + convert(varchar(5), LN_docs.verificado_cliente, 14) as verificado_cliente,
     convert(varchar(10), LN_docs.verificado_backend, 103) + ' ' + convert(varchar(5), LN_docs.verificado_backend, 14) as verificado_backend,
     convert(varchar(10), LN_docs.created, 103) + ' ' + convert(varchar(5), LN_docs.created, 14) as created,
     LN_docs.ingresado_por, LN_docs.rechazado_por, LN_docs.verificado_backend_por, LN_docs.verificado_cliente_por,
     users.first_name + ' ' + users.last_name as ingresado_por_usuario,
     users2.first_name + ' ' + users2.last_name as rechazado_por_usuario,
     users3.first_name + ' ' + users3.last_name as verificado_backend_por_usuario,
     users4.first_name + ' ' + users4.last_name as verificado_cliente_por_usuario,
     padrones.nombre_persona, padrones.identificacion, padrones.numero, identificadores.identificador, identificadores.abreviatura,
     identificadores.country_code, country.country_name, identificadores.abreviatura + ' ' + padrones.identificacion as tax_id,

     '<button type="button" class="btn btn-fidelitas cargar" data-doc-id="' + convert(varchar,LN_docs.doc_id) + '"><i class="fa fa-upload"></i> Cargar</button>' as acciones

   from LN_docs 
   inner join LN_tipos_doc on LN_docs.tipo_doc = LN_tipos_doc.tipo_doc
   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_gestiones on (LN_contrapartes.contraparte = LN_gestiones.contraparte
          and LN_docs.gestion = LN_gestiones.gestion)

   inner join 
    (select LN_tipos_doc_carga_verif.cliente, LN_tipos_doc_carga_verif.tipo_doc
    from LN_tipos_doc_carga_verif
    where LN_tipos_doc_carga_verif.quien_carga = 'C'
    and LN_tipos_doc_carga_verif.cliente = @p_cliente
    and LN_tipos_doc_carga_verif.activo = 1) carga_cliente ON (LN_docs.tipo_doc = carga_cliente.tipo_doc AND LN_docs.cliente = carga_cliente.cliente)


   left outer join users on LN_docs.ingresado_por = users.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



   where LN_docs.estado_doc IN ('I','V')
   and LN_docs.aplica = 1
   and LN_docs.doc_id = @p_doc_id
   order by LN_docs.vencimiento_carga, padrones.nombre_persona, LN_tipos_doc.nombre_tipo_doc
  


 end else

 --- documentos verificados por el cliente 
 if (@accion = 'docs_verificados_cliente') begin


  if (@p_doc_id is null)

   select LN_docs.doc_id, LN_docs.doc_version, LN_docs.contraparte, LN_docs.gestion, LN_docs.estado_doc, LN_docs.cliente, LN_tipos_doc.nombre_tipo_doc,
     LN_tipos_doc.modalidad, LN_tipos_doc.es_balance, LN_tipos_doc.tipo_vigencia, LN_tipos_doc.es_foto_perfil, LN_tipos_doc.es_manif_bienes,
     case 
      when LN_docs.estado_doc = 'N' then 'No ingresado' 
      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 nombre_estado,
     convert(varchar(10), LN_docs.fecha_vigencia, 103) as fecha_vigencia,
     convert(varchar(10), LN_docs.vencimiento_carga, 103) as vencimiento_carga,
     convert(varchar(10), LN_docs.ingresado, 103) + ' ' + convert(varchar(5), LN_docs.ingresado, 14) as ingresado,
     convert(varchar(10), LN_docs.rechazado, 103) + ' ' + convert(varchar(5), LN_docs.rechazado, 14) as rechazado,
     convert(varchar(10), LN_docs.verificado_cliente, 103) + ' ' + convert(varchar(5), LN_docs.verificado_cliente, 14) as verificado_cliente,
     convert(varchar(10), LN_docs.verificado_backend, 103) + ' ' + convert(varchar(5), LN_docs.verificado_backend, 14) as verificado_backend,
     convert(varchar(10), LN_docs.created, 103) + ' ' + convert(varchar(5), LN_docs.created, 14) as created,
     LN_docs.ingresado_por, LN_docs.rechazado_por, LN_docs.verificado_backend_por, LN_docs.verificado_cliente_por,
     users.first_name + ' ' + users.last_name as ingresado_por_usuario,
     users2.first_name + ' ' + users2.last_name as rechazado_por_usuario,
     users3.first_name + ' ' + users3.last_name as verificado_backend_por_usuario,
     users4.first_name + ' ' + users4.last_name as verificado_cliente_por_usuario,
     padrones.nombre_persona, padrones.identificacion, padrones.numero, identificadores.identificador, identificadores.abreviatura,
     identificadores.country_code, country.country_name, identificadores.abreviatura + ' ' + padrones.identificacion as tax_id

   from LN_docs 
   inner join LN_tipos_doc on LN_docs.tipo_doc = LN_tipos_doc.tipo_doc
   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_gestiones on (LN_contrapartes.contraparte = LN_gestiones.contraparte
          and LN_docs.gestion = LN_gestiones.gestion)

   inner join 
    (select LN_tipos_doc_carga_verif.cliente, LN_tipos_doc_carga_verif.tipo_doc
    from LN_tipos_doc_carga_verif
    where LN_tipos_doc_carga_verif.quien_verifica = 'C'
    and LN_tipos_doc_carga_verif.cliente = @p_cliente
    and LN_tipos_doc_carga_verif.activo = 1) verifica_cliente ON (LN_docs.tipo_doc = verifica_cliente.tipo_doc AND LN_docs.cliente = verifica_cliente.cliente)


   left outer join users on LN_docs.ingresado_por = users.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



   where LN_docs.estado_doc = 'V'
   and LN_docs.aplica = 1
   order by LN_docs.vencimiento_carga, padrones.nombre_persona, LN_tipos_doc.nombre_tipo_doc

  else

   select LN_docs.doc_id, LN_docs.doc_version, LN_docs.contraparte, LN_docs.gestion, LN_docs.estado_doc, LN_docs.cliente, LN_tipos_doc.nombre_tipo_doc,
     LN_tipos_doc.modalidad, LN_tipos_doc.es_balance, LN_tipos_doc.tipo_vigencia, LN_tipos_doc.es_foto_perfil, LN_tipos_doc.es_manif_bienes,
     case 
      when LN_docs.estado_doc = 'N' then 'No ingresado' 
      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 nombre_estado,
     convert(varchar(10), LN_docs.fecha_vigencia, 103) as fecha_vigencia,
     convert(varchar(10), LN_docs.vencimiento_carga, 103) as vencimiento_carga,
     convert(varchar(10), LN_docs.ingresado, 103) + ' ' + convert(varchar(5), LN_docs.ingresado, 14) as ingresado,
     convert(varchar(10), LN_docs.rechazado, 103) + ' ' + convert(varchar(5), LN_docs.rechazado, 14) as rechazado,
     convert(varchar(10), LN_docs.verificado_cliente, 103) + ' ' + convert(varchar(5), LN_docs.verificado_cliente, 14) as verificado_cliente,
     convert(varchar(10), LN_docs.verificado_backend, 103) + ' ' + convert(varchar(5), LN_docs.verificado_backend, 14) as verificado_backend,
     convert(varchar(10), LN_docs.created, 103) + ' ' + convert(varchar(5), LN_docs.created, 14) as created,
     LN_docs.ingresado_por, LN_docs.rechazado_por, LN_docs.verificado_backend_por, LN_docs.verificado_cliente_por,
     users.first_name + ' ' + users.last_name as ingresado_por_usuario,
     users2.first_name + ' ' + users2.last_name as rechazado_por_usuario,
     users3.first_name + ' ' + users3.last_name as verificado_backend_por_usuario,
     users4.first_name + ' ' + users4.last_name as verificado_cliente_por_usuario,
     padrones.nombre_persona, padrones.identificacion, padrones.numero, identificadores.identificador, identificadores.abreviatura,
     identificadores.country_code, country.country_name, identificadores.abreviatura + ' ' + padrones.identificacion as tax_id

   from LN_docs 
   inner join LN_tipos_doc on LN_docs.tipo_doc = LN_tipos_doc.tipo_doc
   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_gestiones on (LN_contrapartes.contraparte = LN_gestiones.contraparte
          and LN_docs.gestion = LN_gestiones.gestion)

   inner join 
    (select LN_tipos_doc_carga_verif.cliente, LN_tipos_doc_carga_verif.tipo_doc
    from LN_tipos_doc_carga_verif
    where LN_tipos_doc_carga_verif.quien_verifica = 'C'
    and LN_tipos_doc_carga_verif.cliente = @p_cliente
    and LN_tipos_doc_carga_verif.activo = 1) verifica_cliente ON (LN_docs.tipo_doc = verifica_cliente.tipo_doc AND LN_docs.cliente = verifica_cliente.cliente)


   left outer join users on LN_docs.ingresado_por = users.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



   where LN_docs.estado_doc = 'V'
   and LN_docs.aplica = 1
   and LN_docs.doc_id = @p_doc_id
   order by LN_docs.vencimiento_carga, padrones.nombre_persona, LN_tipos_doc.nombre_tipo_doc


 end else


 --- documentos rechazados por el cliente 
 if (@accion = 'docs_rechazados_cliente') begin


  if (@p_doc_id is null)

   select LN_docs.doc_id, LN_docs.doc_version, LN_docs.contraparte, LN_docs.gestion, LN_docs.estado_doc, LN_docs.cliente, LN_tipos_doc.nombre_tipo_doc,
     LN_tipos_doc.modalidad, LN_tipos_doc.es_balance, LN_tipos_doc.tipo_vigencia, LN_tipos_doc.es_foto_perfil, LN_tipos_doc.es_manif_bienes,
     case 
      when LN_docs.estado_doc = 'N' then 'No ingresado' 
      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 nombre_estado, LN_docs.texto_rechazo,
     convert(varchar(10), LN_docs.fecha_vigencia, 103) as fecha_vigencia,
     convert(varchar(10), LN_docs.vencimiento_carga, 103) as vencimiento_carga,
     convert(varchar(10), LN_docs.ingresado, 103) + ' ' + convert(varchar(5), LN_docs.ingresado, 14) as ingresado,
     convert(varchar(10), LN_docs.rechazado, 103) + ' ' + convert(varchar(5), LN_docs.rechazado, 14) as rechazado,
     convert(varchar(10), LN_docs.verificado_cliente, 103) + ' ' + convert(varchar(5), LN_docs.verificado_cliente, 14) as verificado_cliente,
     convert(varchar(10), LN_docs.verificado_backend, 103) + ' ' + convert(varchar(5), LN_docs.verificado_backend, 14) as verificado_backend,
     convert(varchar(10), LN_docs.created, 103) + ' ' + convert(varchar(5), LN_docs.created, 14) as created,
     LN_docs.ingresado_por, LN_docs.rechazado_por, LN_docs.verificado_backend_por, LN_docs.verificado_cliente_por,
     users.first_name + ' ' + users.last_name as ingresado_por_usuario,
     users2.first_name + ' ' + users2.last_name as rechazado_por_usuario,
     users3.first_name + ' ' + users3.last_name as verificado_backend_por_usuario,
     users4.first_name + ' ' + users4.last_name as verificado_cliente_por_usuario,
     padrones.nombre_persona, padrones.identificacion, padrones.numero, identificadores.identificador, identificadores.abreviatura,
     identificadores.country_code, country.country_name, identificadores.abreviatura + ' ' + padrones.identificacion as tax_id

   from LN_docs 
   inner join LN_tipos_doc on LN_docs.tipo_doc = LN_tipos_doc.tipo_doc
   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_gestiones on (LN_contrapartes.contraparte = LN_gestiones.contraparte
          and LN_docs.gestion = LN_gestiones.gestion)

   inner join 
    (select LN_tipos_doc_carga_verif.cliente, LN_tipos_doc_carga_verif.tipo_doc
    from LN_tipos_doc_carga_verif
    where LN_tipos_doc_carga_verif.quien_verifica = 'C'
    and LN_tipos_doc_carga_verif.cliente = @p_cliente
    and LN_tipos_doc_carga_verif.activo = 1) verifica_cliente ON (LN_docs.tipo_doc = verifica_cliente.tipo_doc AND LN_docs.cliente = verifica_cliente.cliente)


   left outer join users on LN_docs.ingresado_por = users.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



   where LN_docs.estado_doc = 'R'
   and LN_docs.aplica = 1
   order by LN_docs.vencimiento_carga, padrones.nombre_persona, LN_tipos_doc.nombre_tipo_doc

  else

   select LN_docs.doc_id, LN_docs.doc_version, LN_docs.contraparte, LN_docs.gestion, LN_docs.estado_doc, LN_docs.cliente, LN_tipos_doc.nombre_tipo_doc,
     LN_tipos_doc.modalidad, LN_tipos_doc.es_balance, LN_tipos_doc.tipo_vigencia, LN_tipos_doc.es_foto_perfil, LN_tipos_doc.es_manif_bienes,
     case 
      when LN_docs.estado_doc = 'N' then 'No ingresado' 
      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 nombre_estado, LN_docs.texto_rechazo,
     convert(varchar(10), LN_docs.fecha_vigencia, 103) as fecha_vigencia,
     convert(varchar(10), LN_docs.vencimiento_carga, 103) as vencimiento_carga,
     convert(varchar(10), LN_docs.ingresado, 103) + ' ' + convert(varchar(5), LN_docs.ingresado, 14) as ingresado,
     convert(varchar(10), LN_docs.rechazado, 103) + ' ' + convert(varchar(5), LN_docs.rechazado, 14) as rechazado,
     convert(varchar(10), LN_docs.verificado_cliente, 103) + ' ' + convert(varchar(5), LN_docs.verificado_cliente, 14) as verificado_cliente,
     convert(varchar(10), LN_docs.verificado_backend, 103) + ' ' + convert(varchar(5), LN_docs.verificado_backend, 14) as verificado_backend,
     convert(varchar(10), LN_docs.created, 103) + ' ' + convert(varchar(5), LN_docs.created, 14) as created,
     LN_docs.ingresado_por, LN_docs.rechazado_por, LN_docs.verificado_backend_por, LN_docs.verificado_cliente_por,
     users.first_name + ' ' + users.last_name as ingresado_por_usuario,
     users2.first_name + ' ' + users2.last_name as rechazado_por_usuario,
     users3.first_name + ' ' + users3.last_name as verificado_backend_por_usuario,
     users4.first_name + ' ' + users4.last_name as verificado_cliente_por_usuario,
     padrones.nombre_persona, padrones.identificacion, padrones.numero, identificadores.identificador, identificadores.abreviatura,
     identificadores.country_code, country.country_name, identificadores.abreviatura + ' ' + padrones.identificacion as tax_id

   from LN_docs 
   inner join LN_tipos_doc on LN_docs.tipo_doc = LN_tipos_doc.tipo_doc
   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_gestiones on (LN_contrapartes.contraparte = LN_gestiones.contraparte
          and LN_docs.gestion = LN_gestiones.gestion)

   inner join 
    (select LN_tipos_doc_carga_verif.cliente, LN_tipos_doc_carga_verif.tipo_doc
    from LN_tipos_doc_carga_verif
    where LN_tipos_doc_carga_verif.quien_verifica = 'C'
    and LN_tipos_doc_carga_verif.cliente = @p_cliente
    and LN_tipos_doc_carga_verif.activo = 1) verifica_cliente ON (LN_docs.tipo_doc = verifica_cliente.tipo_doc AND LN_docs.cliente = verifica_cliente.cliente)


   left outer join users on LN_docs.ingresado_por = users.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



   where LN_docs.estado_doc = 'R'
   and LN_docs.aplica = 1
   and LN_docs.doc_id = @p_doc_id
   order by LN_docs.vencimiento_carga, padrones.nombre_persona, LN_tipos_doc.nombre_tipo_doc


 end


 --- Undo de verificación o rechazo de un documento por parte del cliente

 if (@accion = 'deshacer_documento') begin

  DECLARE @estado varchar(1)
  DECLARE @log varchar(max)
  DECLARE @usuario varchar(100)

  if (@p_doc_id > 0 AND @p_user_id > 0) begin

   if exists (select LN_tipos_doc_carga_verif.cliente, LN_tipos_doc_carga_verif.tipo_doc
      from LN_docs inner join LN_tipos_doc_carga_verif on (LN_docs.cliente = LN_tipos_doc_carga_verif.cliente
                   and LN_docs.tipo_doc = LN_tipos_doc_carga_verif.tipo_doc)
      where LN_docs.doc_id = @p_doc_id
      and LN_docs.estado_doc IN ('V', 'R')
      and LN_tipos_doc_carga_verif.quien_verifica = 'C'
      and LN_tipos_doc_carga_verif.activo = 1) begin

    select @estado = estado_doc, @log = convert(varchar(max), doc_log) from LN_docs where doc_id = @p_doc_id
    select @usuario = isnull(first_name,'') + ' ' + isnull(last_name,'') from users where user_id = @p_user_id

    set @log = @log + CHAR(13) + CHAR(10) + '[' + @usuario + ' - ' + CONVERT(VARCHAR,getdate(),103)+' '+CONVERT(VARCHAR(5),getdate(),14) + ']: '
    set @log = @log + iif(@estado = 'V', 'Deshacer verificación del documento.', 'Deshacer rechazo del documento')

    begin try

     update LN_docs set estado_doc = 'I', 
          verificado_cliente = NULL, 
          verificado_cliente_por = NULL, 
          rechazado = NULL, 
          rechazado_por = NULL,
          texto_rechazo = NULL,
          doc_log = @log,
          modified = GETDATE(),
          modified_by = @p_user_id
     where doc_id = @p_doc_id

     select 0 as result, iif(@estado = 'V', 'Verificación de documento revertida exitosamente', 'Rechazo de documento revertido exitosamente') as message, @estado AS estado_doc

    end try

    begin catch

     select 1 as result, 'Error de actualización de documento' as message, NULL as estado_doc

    end catch

   end else

    select 2 as result, 'No existe el documento o no corresponde verificación' as message, NULL as estado_doc

  end else

   select 3 as result, 'Error de parámetros' as message, NULL as estado_doc
 end

 
END
GO

Used By

No items found