dbo.LN_verificacion_docs_

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

9
Name Data Type Length Description
@accion varchar 30
@p_user_id int 4
@p_activo tinyint 1
@p_cliente int 4
@p_country_code varchar 2
@p_tipo_doc int 4
@p_contraparte int 4
@p_id_verif int 4
@plataforma varchar 20

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
/*

exec ln_verificacion_docs_ 'queue',422946826,1,1226057645

exec ln_verificacion_docs_ 'queue',422946826

exec ln_verificacion_docs_ 'FACON_AGRUPADO',422946826,null,null,null,null,null,null,10

@p_activo tinyint = 1,
@p_cliente int = null,
@p_country_code varchar(2) = null,
@p_tipo_doc int = null,
@p_contraparte int = null,
@p_id_verif int = null,
@poronga varchar(20) = '47,73,10'

select * from clientes where cliente in (1226057645,
1226057645,
3920694,
3920694,
3920694,
3920694,
3920694,
3920694,
4390310)

*/




-- =============================================
CREATE OR ALTER PROCEDURE dbo.LN_verificacion_docs_ 
 -- Add the parameters for the stored procedure here

 @accion          varchar(30),
 @p_user_id         int = null,
 @p_activo         tinyint = 1,
 @p_cliente         int = null,
 @p_country_code        varchar(2) = null,
 @p_tipo_doc         int = null,
 @p_contraparte        int = null,
 @p_id_verif         int = null,
 @plataforma         varchar(20) = '47,73,10'

 
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 (@plataforma is null)
 begin
  set @plataforma='47,73'
 end


 if (@accion = 'insert') begin

  if not exists (select user_id, cliente, country_code, tipo_doc, contraparte
      from LN_verificacion_docs
      where user_id = @p_user_id
      and cliente = @p_cliente
      and country_code = @p_country_code
      and tipo_doc = @p_tipo_doc
      and contraparte = @p_contraparte)

   insert into LN_verificacion_docs
   (user_id, activo, cliente, country_code, tipo_doc, contraparte)
   values
   (@p_user_id, @p_activo, @p_cliente, @p_country_code, @p_tipo_doc, @p_contraparte)
  
 end else

  if (@accion = 'delete') begin

   if (@p_id_verif is not null) 
    delete from LN_verificacion_docs
    where id_verif = @p_id_verif

  end else

   if (@accion = 'change') begin

    update LN_verificacion_docs set
     activo = iif(activo = 1, 0, 1)
    where id_verif = @p_id_verif

   end else
   
    if (@accion = 'search') begin

     if (@p_user_id is null) 
    
      select users.first_name, users.last_name, users.email, users.username,
        clientes.nombre_cliente, country.country_name, clientes.cli_codigo,
        LN_tipos_doc.nombre_tipo_doc, padrones.identificador, padrones.identificacion,
        padrones.numero, identificadores.abreviatura, padrones.nombre_persona,
        LN_verificacion_docs.cliente, LN_verificacion_docs.country_code,
        LN_verificacion_docs.tipo_doc, LN_verificacion_docs.contraparte,
        LN_verificacion_docs.activo, LN_verificacion_docs.user_id,
        LN_verificacion_docs.id_verif
      from LN_verificacion_docs
      inner join users on LN_verificacion_docs.user_id = users.user_id
      left outer join clientes on LN_verificacion_docs.cliente = clientes.cliente
      left outer join LN_contrapartes on LN_verificacion_docs.contraparte = LN_contrapartes.contraparte
      left outer join padrones ON LN_contrapartes.id_padron = padrones.id_padron
      left outer join identificadores on padrones.identificador = identificadores.identificador
      left outer join LN_tipos_doc on LN_verificacion_docs.tipo_doc = LN_tipos_doc.tipo_doc
      left outer join country on LN_verificacion_docs.country_code = country.country_code
      order by users.first_name, users.last_name

     else 

      select users.first_name, users.last_name, users.email, users.username,
        clientes.nombre_cliente, country.country_name, clientes.cli_codigo,
        LN_tipos_doc.nombre_tipo_doc, padrones.identificador, padrones.identificacion,
        padrones.numero, identificadores.abreviatura, padrones.nombre_persona,
        LN_verificacion_docs.cliente, LN_verificacion_docs.country_code,
        LN_verificacion_docs.tipo_doc, LN_verificacion_docs.contraparte,
        LN_verificacion_docs.activo, LN_verificacion_docs.user_id,
        LN_verificacion_docs.id_verif
      from LN_verificacion_docs
      inner join users on LN_verificacion_docs.user_id = users.user_id
      left outer join clientes on LN_verificacion_docs.cliente = clientes.cliente
      left outer join LN_contrapartes on LN_verificacion_docs.contraparte = LN_contrapartes.contraparte
      left outer join padrones ON LN_contrapartes.id_padron = padrones.id_padron
      left outer join identificadores on padrones.identificador = identificadores.identificador
      left outer join LN_tipos_doc on LN_verificacion_docs.tipo_doc = LN_tipos_doc.tipo_doc
      left outer join country on LN_verificacion_docs.country_code = country.country_code
      where LN_verificacion_docs.user_id = @p_user_id
      order by users.first_name, users.last_name

    
    end else

     IF (@p_user_id is not null) BEGIN
      CREATE TABLE #tempDocsTable (
       doc_id    int,
       PRIMARY KEY NONCLUSTERED (doc_id ASC)
      )

      DECLARE @docs VARCHAR(MAX)=''
      DECLARE @doc int
      
      DECLARE @cc varchar(2), @cl int, @td int, @cont int

      DECLARE Permisos CURSOR FOR

      select country_code, cliente, tipo_doc, contraparte
      from LN_verificacion_docs
      where user_id = @p_user_id
      and activo = 1
      order by country_code, cliente, tipo_doc, contraparte


      OPEN Permisos

      FETCH NEXT FROM Permisos INTO @cc, @cl, @td, @cont

      WHILE @@FETCH_STATUS = 0 BEGIN
       
       if (isnull(@cont,0) > 0) begin
        /* por contraparte : ignora cliente y paĆ­s */

        if (isnull(@td,0) > 0)

         DECLARE Documentos CURSOR FOR
         
         select doc_id from LN_docs
         where contraparte = @cont
         and estado_doc = 'I'
         and tipo_doc = @td

        else
         
         DECLARE Documentos CURSOR FOR

         select doc_id from LN_docs
         where contraparte = @cont
         and estado_doc = 'I'      
        
       end else begin
        /* contraparte nula */

        if (isnull(@cl,0) > 0) begin
         /* por cliente */
         if (@td is null AND @cc is null)

          DECLARE Documentos CURSOR FOR

          select doc_id from LN_docs
          where cliente = @cl
          and estado_doc = 'I'

         else

          if (@td > 0 AND @cc is null)

           DECLARE Documentos CURSOR FOR

           select doc_id from LN_docs
           where cliente = @cl
           and estado_doc = 'I'
           and tipo_doc = @td

          else

           if (@td is null AND @cc is not null)

            DECLARE Documentos CURSOR FOR

            select LN_docs.doc_id from LN_docs
             inner join LN_tipos_doc on LN_docs.tipo_doc = LN_tipos_doc.tipo_doc
            where LN_docs.cliente = @cl
            and LN_docs.estado_doc = 'I'
            and LN_tipos_doc.country_code = @cc

           else

            DECLARE Documentos CURSOR FOR

            select LN_docs.doc_id from LN_docs
             inner join LN_tipos_doc on LN_docs.tipo_doc = LN_tipos_doc.tipo_doc
            where LN_docs.cliente = @cl
            and LN_docs.estado_doc = 'I'
            and LN_docs.tipo_doc = @td
            and LN_tipos_doc.country_code = @cc

        end else begin
         /* cliente nulo */

         if (@td is null AND @cc is null)

          DECLARE Documentos CURSOR FOR

          select doc_id from LN_docs
          where estado_doc = 'I'

         else

          if (@td > 0 AND @cc is null)

           DECLARE Documentos CURSOR FOR

           select doc_id from LN_docs
           where estado_doc = 'I'
           and tipo_doc = @td

          else


           if (@td is null AND @cc is not null)

            DECLARE Documentos CURSOR FOR

            select LN_docs.doc_id from LN_docs
             inner join LN_tipos_doc on LN_docs.tipo_doc = LN_tipos_doc.tipo_doc
            where LN_docs.estado_doc = 'I'
            and LN_tipos_doc.country_code = @cc

           else

            DECLARE Documentos CURSOR FOR

            select LN_docs.doc_id from LN_docs
             inner join LN_tipos_doc on LN_docs.tipo_doc = LN_tipos_doc.tipo_doc
            where LN_docs.estado_doc = 'I'
            and LN_docs.tipo_doc = @td
            and LN_tipos_doc.country_code = @cc


        end

       end



       Open Documentos
       FETCH NEXT FROM Documentos INTO @doc
       WHILE @@FETCH_STATUS = 0 BEGIN
       --select @docs as ffff
        if (@docs != '') begin set @docs = @docs + ',' end
        set @docs = @docs + convert(varchar, @doc)
        FETCH NEXT FROM Documentos INTO @doc

        BEGIN TRY
         INSERT INTO #tempDocsTable (doc_id) VALUES (@doc)

        END TRY
        BEGIN CATCH
        END CATCH
        
       END
       Close Documentos
       Deallocate Documentos


       FETCH NEXT FROM Permisos INTO @cc, @cl, @td, @cont
      END

      CLOSE Permisos
      DEALLOCATE Permisos
      --select * from #tempDocsTable
         --INSERT INTO #tempDocsTable (doc_id) VALUES (287126)



      /* ACCION PARA NUEVOS FACONES QUE AGRUPAN DOCUMENTOS */
      IF (@p_cliente IS NULL AND @accion='FACON_AGRUPADO' AND @docs IS NOT NULL) /*SI NO SE ESPECIFICA CLIENTE ASUMIMOS TODOS LOS CLIENTES*/
        BEGIN
        
        /*AGB RAMI*/
        SELECT 'AA' as gg,@plataforma as PLATAFORMA,LN_contrapartes.servicio_contratado as Segmentado,
        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.fecha_vigencia, 121) AS fecha_vigencia_ymd,
         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,
         CONVERT(VARCHAR,isnull(LN_docs.ingresado,LN_docs.created),103)+' '+CONVERT(VARCHAR(5),isnull(LN_docs.ingresado,LN_docs.created),14) as ingresado,

         
         CONVERT(VARCHAR,isnull(LN_docs.ingresado,LN_docs.created),103) AS ingresado_dmy,
         CONVERT(VARCHAR,isnull(LN_docs.ingresado,LN_docs.created),121) AS ingresado_ymd,
         CONVERT(VARCHAR,LN_docs.rechazado,103)+' '+CONVERT(VARCHAR(5),LN_docs.rechazado,14) as rechazado,
         CONVERT(VARCHAR,LN_docs.verificado_backend,103)+' '+CONVERT(VARCHAR(5),LN_docs.verificado_backend,14) 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.identificacion, 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_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(10), LN_docs.inicio_ejercicio, 103) AS inicio_ejercicio,
         CONVERT(VARCHAR(10), LN_docs.fin_ejercicio, 103) AS fin_ejercicio,
         CONVERT(VARCHAR(10), LN_docs.inicio_ejercicio, 121) AS inicio_ejercicio_ymd,
         CONVERT(VARCHAR(10), LN_docs.fin_ejercicio, 121) AS fin_ejercicio_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,

         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 ,
         informes.informe,ln_demo.integ_carga,ln_demo.integ_rech,ln_demo.integ_verif,ln_demo.docs_ok ,
         iif(LN_contrapartes.carga_inicial=0,'NO','SI') as carga_inicial,
         isnull(LN_contrapartes.limite_carga_inicial,getdate()-1) as limite_carga_inicial, getdate()-LN_contrapartes.limite_carga_inicial as limite,productos.nombre_producto as nombre_servicio
         ,ln_familias.nombre_familia


        FROM LN_docs
        /*INNER JOIN dbo.DelimitedSplit8K(@docs, ',') Docs on LN_docs.doc_id = Docs.Item*/
        INNER JOIN #tempDocsTable ON LN_docs.doc_id = #tempDocsTable.doc_id
        INNER JOIN clientes ON LN_docs.cliente = clientes.cliente
        INNER JOIN LN_contrapartes ON LN_docs.contraparte = LN_contrapartes.contraparte
           -- 04/06/2024 (que los documentos sean de la gestion actual)
        INNER JOIN LN_gestiones on (LN_gestiones.contraparte = LN_docs.contraparte and LN_gestiones.gestion = LN_docs.gestion and LN_gestiones.vigente = 1)
        --
        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 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 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 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 join ln_demo on (ln_docs.contraparte = ln_demo.contraparte and ln_docs.gestion = ln_demo.gestion)
        LEFT join informes on ln_demo.informe = informes.informe 
        INNER JOIN dbo.DelimitedSplit8K(@plataforma, ',') Segmentado on LN_contrapartes.servicio_contratado = Segmentado.Item 
/* AGB */
        INNER join productos on ln_contrapartes.servicio_contratado = productos.producto
        INNER JOIN LN_contraparte_familias on ln_contraparte_familias.contraparte = ln_contrapartes.contraparte
        INNER JOIN LN_familias on LN_familias.familia = ln_contraparte_familias.familia

        where LN_tipos_doc.tipo_doc in (select tipo_doc from ln_tipos_doc where tipo_doc_padre is null ) 
        /*and LN_docs.doc_id in ( select LN_docs.doc_id from LN_docs  where LN_docs.estado_doc = 'I')*/
        
/* AGB */
-- exec ln_verificacion_docs_AGB 'FACON_AGRUPADO',422946826 
-- exec ln_verificacion_docs_ 'FACON_AGRUPADO',422946826 
-- exec ln_verificacion_docs_ 'FACON_AGRUPADO',422946826,null,null,null,null,null,null,47

        ORDER BY LN_docs.ingresado
        

        END


      /*AGB INSERTA */
      if (@docs IS NOT NULL AND @accion !='FACON_AGRUPADO') 
       begin
       IF (@p_cliente IS NULL) /*SI NO SE ESPECIFICA CLIENTE ASUMIMOS TODOS LOS CLIENTES MENOS EL BBVA 1226057645 */
        BEGIN
        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.fecha_vigencia, 121) AS fecha_vigencia_ymd,
         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,
         CONVERT(VARCHAR,LN_docs.ingresado,103)+' '+CONVERT(VARCHAR(5),LN_docs.ingresado,14) as ingresado,
         CONVERT(VARCHAR,LN_docs.ingresado,103) AS ingresado_dmy,
         CONVERT(VARCHAR,LN_docs.ingresado,121) AS ingresado_ymd,
         CONVERT(VARCHAR,LN_docs.rechazado,103)+' '+CONVERT(VARCHAR(5),LN_docs.rechazado,14) as rechazado,
         CONVERT(VARCHAR,LN_docs.verificado_backend,103)+' '+CONVERT(VARCHAR(5),LN_docs.verificado_backend,14) 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.identificacion, 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_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(10), LN_docs.inicio_ejercicio, 103) AS inicio_ejercicio,
         CONVERT(VARCHAR(10), LN_docs.fin_ejercicio, 103) AS fin_ejercicio,
         CONVERT(VARCHAR(10), LN_docs.inicio_ejercicio, 121) AS inicio_ejercicio_ymd,
         CONVERT(VARCHAR(10), LN_docs.fin_ejercicio, 121) AS fin_ejercicio_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,

         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 ,
         informes.informe, 
         ln_familias.nombre_familia

        FROM LN_docs
        /*INNER JOIN dbo.DelimitedSplit8K(@docs, ',') Docs on LN_docs.doc_id = Docs.Item*/
        INNER JOIN #tempDocsTable ON LN_docs.doc_id = #tempDocsTable.doc_id

        INNER JOIN clientes ON LN_docs.cliente = clientes.cliente
        INNER JOIN LN_contrapartes ON LN_docs.contraparte = LN_contrapartes.contraparte
        -- 04/06/2024 (que los documentos sean de la gestion actual)
        INNER JOIN LN_gestiones on (LN_gestiones.contraparte = LN_docs.contraparte and LN_gestiones.gestion = LN_docs.gestion and LN_gestiones.vigente = 1)
        --
        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 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 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 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 != 1226057645 */
        inner join ln_demo on (ln_docs.contraparte = ln_demo.contraparte and ln_docs.gestion = ln_demo.gestion)
        inner join informes on ln_demo.informe = informes.informe 
        INNER JOIN LN_contraparte_familias on ln_contraparte_familias.contraparte = ln_contrapartes.contraparte
        INNER JOIN LN_familias on LN_familias.familia = ln_contraparte_familias.familia
/* AGB */
/* where LN_tipos_doc.tipo_doc in (select tipo_doc from ln_tipos_doc where tipo_doc_padre is null )
lo remuevo porque hay documentos que estĆ”n como hijos de otros pero en los facones anteriores son principales y no se los ve para verificar, implementar un action diferente en el SP
*/

        



/* AGB */
        

        ORDER BY LN_docs.ingresado
        END

       IF (@p_cliente IS NOT NULL) /*SE LISTAN SOLO LOS DEL CLIENTE SOLICITADO 1226057645 */
        BEGIN
        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.fecha_vigencia, 121) AS fecha_vigencia_ymd,
         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, gestion,
         CONVERT(VARCHAR,LN_docs.ingresado,103)+' '+CONVERT(VARCHAR(5),LN_docs.ingresado,14) as ingresado,
         CONVERT(VARCHAR,LN_docs.ingresado,103) AS ingresado_dmy,
         CONVERT(VARCHAR,LN_docs.ingresado,121) AS ingresado_ymd,
         CONVERT(VARCHAR,LN_docs.rechazado,103)+' '+CONVERT(VARCHAR(5),LN_docs.rechazado,14) as rechazado,
         CONVERT(VARCHAR,LN_docs.verificado_backend,103)+' '+CONVERT(VARCHAR(5),LN_docs.verificado_backend,14) 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.identificacion, 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_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(10), LN_docs.inicio_ejercicio, 103) AS inicio_ejercicio,
         CONVERT(VARCHAR(10), LN_docs.fin_ejercicio, 103) AS fin_ejercicio,
         CONVERT(VARCHAR(10), LN_docs.inicio_ejercicio, 121) AS inicio_ejercicio_ymd,
         CONVERT(VARCHAR(10), LN_docs.fin_ejercicio, 121) AS fin_ejercicio_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,

         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_familias.nombre_familia
        FROM LN_docs
        /*INNER JOIN dbo.DelimitedSplit8K(@docs, ',') Docs on LN_docs.doc_id = Docs.Item*/
        INNER JOIN #tempDocsTable ON LN_docs.doc_id = #tempDocsTable.doc_id

        INNER JOIN clientes ON LN_docs.cliente = clientes.cliente
        INNER JOIN LN_contrapartes ON LN_docs.contraparte = LN_contrapartes.contraparte
        -- 04/06/2024 (que los documentos sean de la gestion actual)
        INNER JOIN LN_gestiones on (LN_gestiones.contraparte = LN_docs.contraparte and LN_gestiones.gestion = LN_docs.gestion and LN_gestiones.vigente = 1)
        --
        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 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 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 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
        INNER JOIN LN_contraparte_familias on ln_contraparte_familias.contraparte = ln_contrapartes.contraparte
        INNER JOIN LN_familias on LN_familias.familia = ln_contraparte_familias.familia
        WHERE ln_docs.cliente = @p_cliente
        /* AGB */
        --and LN_tipos_doc.tipo_doc in (select tipo_doc from ln_tipos_doc where tipo_doc_padre is null )
        /* AGB */
        ORDER BY LN_docs.ingresado
        END
       end
      DROP TABLE #tempDocsTable 

     END
 
END
GO

Used By

No items found