dbo.LN_documentos

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

6
Name Data Type Length Description
@p_estado varchar 1
@p_user_id int 4
@p_cliente int 4
@p_fecha_desde date 3
@p_fecha_hasta date 3
@p_servicio_contratado varchar 20

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: STORE PARA CONSULTAR DESDE BACKEND LOS DOCUMENTOS RECHAZADOS O VERIFICADOS

-- =============================================
CREATE OR ALTER PROCEDURE dbo.LN_documentos 
 -- Add the parameters for the stored procedure here
 @p_estado         varchar(1),
 @p_user_id         int = NULL, 
 @p_cliente int = NULL,
 @p_fecha_desde date = null,
 @p_fecha_hasta date = null,
 @p_servicio_contratado VARCHAR(20)=NULL


-- exec [LN_documentos] 'V'

AS
BEGIN
 -- SET NOCOUNT ON added to prevent extra result sets from
 -- interfering with SELECT statements.
 SET NOCOUNT ON;
 declare @cli_desde int = 0, @cli_hasta int = 2147483647 
 
 if (@p_cliente is not null) 
 begin
  set @cli_desde = @p_cliente
  set @cli_hasta = @p_cliente
 end

 if (@p_fecha_desde is null)
 begin
  set @p_fecha_desde = getdate()-45
 end

 if (@p_fecha_hasta is null)
 begin
  set @p_fecha_hasta = getdate()
 end

 IF ( @p_servicio_contratado IS NULL )
  BEGIN
   SET @p_servicio_contratado = '10,47';
  END

 set @p_fecha_hasta = dateadd(d,1,@p_fecha_hasta) --(porque toma las 0 horas)

    -- Insert statements for procedure here

  SELECT top 7000 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, 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.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,
   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,
   users3.first_name + ' ' + users3.last_name AS verificado_backend_por_usuario,
   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,

   CONVERT(VARCHAR,LN_docs.ingresado,121) AS ingresado_ymd,
   CONVERT(VARCHAR,LN_docs.rechazado,121) AS rechazado_ymd,
   CONVERT(VARCHAR,LN_docs.verificado_backend,121) AS verificado_ymd,

   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

  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 dbo.DelimitedSplit8K(@p_servicio_contratado,',') Servicios ON LN_contrapartes.servicio_contratado=Servicios.Item
  -- 05/06/2024
  INNER JOIN LN_Gestiones ON (LN_Gestiones.contraparte = LN_docs.contraparte and LN_Gestiones.vigente = 1 and LN_gestiones.gestion = LN_docs.gestion)
  --
  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

  WHERE LN_docs.estado_doc = @p_estado
  /*and ln_docs.verificado_backend between @p_fecha_desde and @p_fecha_hasta */
  and ln_contrapartes.cliente between @cli_desde and @cli_hasta
  /* AGB */
  and LN_tipos_doc.tipo_doc in (select tipo_doc from ln_tipos_doc where tipo_doc_padre is null )
  /* AGB */
  and (ln_docs.verificado_backend between  @p_fecha_desde and @p_fecha_hasta or ln_docs.rechazado between  @p_fecha_desde and @p_fecha_hasta)

  ORDER BY LN_docs.verificado_backend desc, LN_docs.rechazado desc
END
GO

Used By

No items found