dbo.LN_Reporte_Amx

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/* 
Tener en cuenta las familias que considera que necesitan y que no necesitan ingresar - 
(por ahora solo toma No criticos de Argentina, como los que no entran)

 En 1.3. Contrapartes que falta ingresar
 b.familia not in (29,30) 

 En 1.4. Contrapartes que por la familia no necesitan ingresar
 b.familia in (29,30) 

Verificar los casos de PY y UY
*/

CREATE OR ALTER PROCEDURE dbo.LN_Reporte_Amx
AS
BEGIN
SET NOCOUNT ON;

 declare @contrapartes decimal(10,3) = 
         (select COUNT(*) as cantidad
    from LN_contrapartes a
    inner join LN_contraparte_familias b on b.contraparte = a.contraparte
    where a.cliente = 5546348 and a.activo = 1) 

 declare @documentos decimal(10,3) = 
         (select COUNT(*) as cantidad
    from LN_docs b
   inner join  LN_contrapartes a on a.contraparte = b.contraparte and a.cliente = b.cliente and a.activo = 1
   where b.cliente = 5546348 
    and b.aplica = 1 and b.estado_doc != 'X') 

 select '1. Cantidad de Contrapartes' as Leyenda, 
        convert(int,@contrapartes) as Cantidad, 
     100 as Porcentaje
 
 union 
 select '1.2. Contrapartes que ingresaron' as Leyenda, 
        COUNT(*) as Cantidad, 
     convert(decimal(10,3),(COUNT(*) * 100 / @contrapartes)) as Porcentaje
  from LN_contrapartes a
 inner join LN_contraparte_familias b on b.contraparte = a.contraparte
 where a.cliente = 5546348 and a.ultimo_acceso is not null and a.activo = 1 
 
 union 
 select '1.3. Contrapartes que falta ingresar' as Leyenda, 
        COUNT(*) as Cantidad, 
     convert(decimal(10,3),(COUNT(*) * 100 / @contrapartes)) as Porcentaje
 from LN_contrapartes a
 inner join LN_contraparte_familias b on b.contraparte = a.contraparte
 where a.cliente = 5546348 and a.ultimo_acceso is null and a.activo = 1 
 and b.familia not in (29,30)
 
 union 
 select '1.4. Contrapartes que por la familia no necesitan ingresar' as Leyenda, 
        COUNT(*) as Cantidad, 
     convert(decimal(10,3),(COUNT(*) * 100 / @contrapartes)) as Porcentaje
  from LN_contrapartes a
 inner join LN_contraparte_familias b on b.contraparte = a.contraparte
 where a.cliente = 5546348 and a.ultimo_acceso is null and a.activo = 1 
 and b.familia in (29,30)
 
 union
 select 
 '2. Documentos solicitados' as Leyenda, 
 convert(int,@documentos) as cantidad, 
 100 as porcentaje
 
 union 
 select 
 case estado_doc
 when 'N' then '2.1. Documentos no ingresados'
 when 'I' then '2.2. Documentos ingresados aun sin verificar' 
 when 'V' then '2.3. Documentos verificados'
 when 'R' then '2.4. Documentos rechazados'
 end 
 as Leyenda, 
 COUNT(*) as Cantidad, 
 convert(decimal(10,3),(COUNT(*) * 100 / @documentos)) as Porcentaje
 from LN_docs b
 inner join  LN_contrapartes a on a.contraparte = b.contraparte and a.cliente = b.cliente and a.activo = 1
 where b.cliente = 5546348 
 and aplica = 1 and estado_doc != 'X'
 group by estado_doc

 order by Leyenda

END 
GO

Used By

No items found