dbo.ws_obtener_cuadro_cheques_new

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

1
Name Data Type Length Description
@p_Cuit varchar 20

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO

CREATE OR ALTER PROCEDURE dbo.ws_obtener_cuadro_cheques_new
@p_Cuit varchar(20)
AS
BEGIN
DECLARE @tipo varchar(1)
DECLARE @p_5anios smalldatetime = getdate() - 1825
DECLARE @p_2anios smalldatetime = getdate() - 730
DECLARE @p_1anio  smalldatetime = getdate() - 365

DECLARE @propios_1_1 smallint = 0
DECLARE @monto_1_1   DECIMAL(15,2)  = 0
DECLARE @propios_1_2 smallint = 0
DECLARE @monto_1_2   DECIMAL(15,2)  = 0
DECLARE @propios_1_3 smallint = 0
DECLARE @monto_1_3   DECIMAL(15,2)  = 0

DECLARE @propios_2_1 smallint = 0
DECLARE @monto_2_1   DECIMAL(15,2)  = 0
DECLARE @propios_2_2 smallint = 0
DECLARE @monto_2_2   DECIMAL(15,2)  = 0
DECLARE @propios_2_3 smallint = 0
DECLARE @monto_2_3   DECIMAL(15,2)  = 0

DECLARE @propios_3_1 smallint = 0
DECLARE @monto_3_1   DECIMAL(15,2)  = 0
DECLARE @propios_3_2 smallint = 0
DECLARE @monto_3_2   DECIMAL(15,2)  = 0
DECLARE @propios_3_3 smallint = 0
DECLARE @monto_3_3   DECIMAL(15,2)  = 0

DECLARE @propios_levantados_1 smallint  = 0
DECLARE @monto_levantados_1   DECIMAL(15,2)  = 0

DECLARE @propios_levantados_2 smallint = 0
DECLARE @monto_levantados_2   DECIMAL(15,2)  = 0

DECLARE @propios_levantados_3 smallint = 0
DECLARE @monto_levantados_3   DECIMAL(15,2)  = 0

DECLARE @empresa_1_1 smallint = 0
DECLARE @monto_empresa_1_1   DECIMAL(15,2)  = 0
DECLARE @empresa_1_2 smallint = 0
DECLARE @monto_empresa_1_2   DECIMAL(15,2)  = 0
DECLARE @empresa_1_3 smallint = 0
DECLARE @monto_empresa_1_3   DECIMAL(15,2)  = 0

DECLARE @empresa_2_1 smallint = 0
DECLARE @monto_empresa_2_1   DECIMAL(15,2)  = 0
DECLARE @empresa_2_2 smallint = 0
DECLARE @monto_empresa_2_2   DECIMAL(15,2)  = 0
DECLARE @empresa_2_3 smallint = 0
DECLARE @monto_empresa_2_3   DECIMAL(15,2)  = 0

DECLARE @empresa_3_1 smallint = 0
DECLARE @monto_empresa_3_1   DECIMAL(15,2)  = 0
DECLARE @empresa_3_2 smallint = 0
DECLARE @monto_empresa_3_2   DECIMAL(15,2)  = 0
DECLARE @empresa_3_3 smallint = 0
DECLARE @monto_empresa_3_3   DECIMAL(15,2)  = 0

DECLARE @empresa_levantados_1 smallint  = 0
DECLARE @monto_empresa_levantados_1   DECIMAL(15,2)  = 0

DECLARE @empresa_levantados_2 smallint = 0
DECLARE @monto_empresa_levantados_2   DECIMAL(15,2)  = 0

DECLARE @empresa_levantados_3 smallint = 0
DECLARE @monto_empresa_levantados_3   DECIMAL(15,2)  = 0
 
DECLARE @cuit_relacionado varchar(20)
DECLARE @importe DECIMAL(15,2)
DECLARE @rechazo DATE
DECLARE @levantamiento DATE
DECLARE @titulo_causal VARCHAR(100)
DECLARE @titulo_semestre VARCHAR(100)
DECLARE @total_rechazos DECIMAL(15,2)
DECLARE @total_abonados DECIMAL(15,2) 
DECLARE @dias smallint
DECLARE @hay_propios char(1) = 'N'
DECLARE @hay_empresas char(1) = 'N'
declare @hoy date = convert(date,getdate())

DECLARE @causal       int = 1
DECLARE @semestre     int = 1

 DECLARE bn CURSOR FOR

  SELECT cuit_relacionado, convert(decimal(15,2),importe), convert(date,fecha_rechazo), id_causa, convert(date,fecha_levantamiento)
    FROM chequesBCRA
   WHERE cuit_firmante = @p_Cuit
     AND visible = 1
     AND not exists(select * from chequesBCRA b 
                     where b.cuit_firmante = chequesBCRA.cuit_firmante 
           and b.nro_cheque = chequesBCRA.nro_cheque 
        and b.visible = 1 
        and b.created > chequesBCRA.created)
     AND 
   (
     (
    (
      (
      (fecha_levantamiento IS NULL ) AND (fecha_rechazo >= @p_5anios) 
      ) OR
      ((
      (fecha_levantamiento >= @p_5anios) AND ((DATEDIFF(day,fecha_rechazo,fecha_levantamiento)) <= 15)) 
       AND 
      (((fecha_pago IS NOT NULL ) AND (fecha_levantamiento >= (GETDATE() - 2))) 
      OR
      (((fecha_pago IS NULL) AND (fecha_levantamiento >= (GETDATE() - 2))) AND (fecha_rechazo >= @p_5anios)) 
      )) 
    ) 
    OR 
    (
      (
      (fecha_levantamiento >= @p_5anios) AND (((DATEDIFF(day,fecha_rechazo,fecha_levantamiento) ) >= 16 ) AND ((DATEDIFF(day,fecha_rechazo,fecha_levantamiento) ) <= 90)) 
      ) 
      AND 
      (
      ((fecha_pago IS NOT NULL) AND (fecha_levantamiento >= @p_1anio))
      OR 
      (((fecha_pago IS NULL) AND (fecha_levantamiento >= @p_1anio) ) AND (fecha_rechazo >= @p_5anios)) 
      ) 
    ) 
     ) 
     OR 
     (
     (((fecha_levantamiento >= @p_5anios) AND ((DATEDIFF(day,fecha_rechazo,fecha_levantamiento)) > 90)) AND (fecha_levantamiento >= @p_2anios)) 
     AND (fecha_rechazo >= @p_5anios) 
     ) 
   )
  
  ORDER BY fecha_rechazo ASC  
 OPEN bn  
  -- Lectura de la primera causal del cursor
 Fetch next from bn INTO @cuit_relacionado, @importe, @rechazo, @causal, @levantamiento
 
 WHILE (@@FETCH_STATUS <> -1 )
 BEGIN
       set @dias = DATEDIFF(day,@rechazo,@hoy)
    --select @dias
    if (@dias < 180)                   begin set @semestre = 1 end 
    if (@dias >= 180 and @dias < 365)  begin set @semestre = 2 end 
    if (@dias >= 365)                  begin set @semestre = 3 end 
    if (ltrim(rtrim(@Cuit_relacionado)) = '') begin set @Cuit_relacionado = null end 
    if (@cuit_relacionado is null) 
    begin
     set @hay_propios = 'S'
     if (@causal = 1) 
     begin 
        if (@semestre = 1) 
           begin 
           set @propios_1_1 = @propios_1_1 + 1 
           set @monto_1_1   = @monto_1_1 + @importe
           end 
        if (@semestre = 2) 
           begin 
           set @propios_1_2 = @propios_1_2 + 1 
           set @monto_1_2   = @monto_1_2 + @importe
           end 
        if (@semestre = 3) 
           begin 
           set @propios_1_3 = @propios_1_3 + 1 
           set @monto_1_3   = @monto_1_3 + @importe
           end 
              end 
     if (@causal = 2) 
     begin 
        if (@semestre = 1) 
           begin 
           set @propios_2_1 = @propios_2_1 + 1 
           set @monto_2_1   = @monto_2_1 + @importe
           end 
        if (@semestre = 2) 
           begin 
           set @propios_2_2 = @propios_2_2 + 1 
           set @monto_2_2   = @monto_2_2 + @importe
           end 
        if (@semestre = 3) 
           begin 
           set @propios_2_3 = @propios_2_3 + 1 
           set @monto_2_3   = @monto_2_3 + @importe
           end 
     end 

     if (@causal = 3) 
     begin 
        if (@semestre = 1) 
           begin 
           set @propios_3_1 = @propios_3_1 + 1 
           set @monto_3_1   = @monto_3_1 + @importe
           end 
        if (@semestre = 2) 
           begin 
           set @propios_3_2 = @propios_3_2 + 1 
           set @monto_3_2   = @monto_3_2 + @importe
           end 
        if (@semestre = 3) 
           begin 
           set @propios_3_3 = @propios_3_3 + 1 
           set @monto_3_3   = @monto_3_3 + @importe
           end 
     end 

     if (@levantamiento is not null) 
     begin
        if (@semestre = 1) 
           begin 
           set @propios_levantados_1 = @propios_levantados_1 + 1 
           set @monto_levantados_1   = @monto_levantados_1 + @importe
           end 
        if (@semestre = 2) 
           begin 
           set @propios_levantados_2 = @propios_levantados_2 + 1 
           set @monto_levantados_2   = @monto_levantados_2 + @importe
           end 
        if (@semestre = 3) 
           begin 
           set @propios_levantados_3 = @propios_levantados_3 + 1 
           set @monto_levantados_3   = @monto_levantados_3 + @importe
           end 
     end 
    end 
    else 
       begin
     if (@causal = 1) 
        begin 
        if (@semestre = 1) 
           begin 
           set @empresa_1_1 = @empresa_1_1 + 1 
           set @monto_empresa_1_1   = @monto_empresa_1_1 + @importe
           end 
        if (@semestre = 2) 
           begin 
           set @empresa_1_2 = @empresa_1_2 + 1 
           set @monto_empresa_1_2   = @monto_empresa_1_2 + @importe
           end 
        if (@semestre = 3) 
           begin 
           set @empresa_1_3 = @empresa_1_3 + 1 
           set @monto_empresa_1_3   = @monto_empresa_1_3 + @importe
           end 
        end 

     if (@causal = 2) 
        begin 
        if (@semestre = 1) 
           begin 
           set @empresa_2_1 = @empresa_2_1 + 1 
           set @monto_empresa_2_1   = @monto_empresa_2_1 + @importe
           end 
        if (@semestre = 2) 
           begin 
           set @empresa_2_2 = @empresa_2_2 + 1 
           set @monto_empresa_2_2   = @monto_empresa_2_2 + @importe
           end 
        if (@semestre = 3) 
           begin 
           set @empresa_2_3 = @empresa_2_3 + 1 
           set @monto_empresa_2_3   = @monto_empresa_2_3 + @importe
           end 
        end 


     if (@causal = 3) 
        begin 
        if (@semestre = 1) 
           begin 
           set @empresa_3_1 = @empresa_3_1 + 1 
           set @monto_empresa_3_1   = @monto_empresa_3_1 + @importe
           end 
        if (@semestre = 2) 
           begin 
           set @empresa_3_2 = @empresa_3_2 + 1 
           set @monto_empresa_3_2   = @monto_empresa_3_2 + @importe
           end 
        if (@semestre = 3) 
           begin 
           set @empresa_3_3 = @empresa_3_3 + 1 
           set @monto_empresa_3_3   = @monto_empresa_3_3 + @importe
           end 
     end 

     if (@levantamiento is not null) 
     begin
        if (@semestre = 1) 
           begin 
           set @empresa_levantados_1 = @empresa_levantados_1 + 1 
           set @monto_empresa_levantados_1   = @monto_empresa_levantados_1 + @importe
           end 
        if (@semestre = 2) 
           begin 
           set @empresa_levantados_2 = @empresa_levantados_2 + 1 
           set @monto_empresa_levantados_2   = @monto_empresa_levantados_2 + @importe
           end 
        if (@semestre = 3) 
           begin 
           set @empresa_levantados_3 = @empresa_levantados_3 + 1 
           set @monto_empresa_levantados_3   = @monto_empresa_levantados_3 + @importe
           end 
     end
   end 
    Fetch next from bn INTO @cuit_relacionado, @importe, @rechazo, @causal, @levantamiento
 END
 CLOSE bn
 DEALLOCATE bn 
 
  SELECT @propios_1_1 as   propios_1_1  ,
     @monto_1_1   as   monto_1_1   ,
     @propios_1_2 as   propios_1_2 ,
     @monto_1_2   as   monto_1_2   ,
     @propios_1_3 as   propios_1_3 ,
     @monto_1_3   as   monto_1_3   ,
     @propios_2_1 as   propios_2_1 ,
     @monto_2_1   as   monto_2_1   ,
     @propios_2_2 as   propios_2_2 ,
     @monto_2_2   as   monto_2_2   ,
     @propios_2_3 as   propios_2_3 ,
     @monto_2_3   as   monto_2_3   ,
     @propios_3_1 as   propios_3_1 ,
     @monto_3_1   as   monto_3_1   ,
     @propios_3_2 as   propios_3_2 ,
     @monto_3_2   as   monto_3_2   ,
     @propios_3_3 as   propios_3_3 ,
     @monto_3_3   as   monto_3_3   ,
     @propios_levantados_1 as   propios_levantados_1  ,
     @monto_levantados_1   as   monto_levantados_1   ,
     @propios_levantados_2 as   propios_levantados_2 ,
     @monto_levantados_2   as   monto_levantados_2   ,
     @propios_levantados_3 as   propios_levantados_3 ,
     @monto_levantados_3   as   monto_levantados_3   ,
     @empresa_1_1 as  empresa_1_1 ,
     @monto_empresa_1_1   as   monto_empresa_1_1   ,
     @empresa_1_2 as   empresa_1_2 ,
     @monto_empresa_1_2   as   monto_empresa_1_2   ,
     @empresa_1_3 as   empresa_1_3 ,
     @monto_empresa_1_3   as   monto_empresa_1_3   ,
     @empresa_2_1 as   empresa_2_1 ,
     @monto_empresa_2_1   as   monto_empresa_2_1   ,
     @empresa_2_2 as   empresa_2_2 ,
     @monto_empresa_2_2   as   monto_empresa_2_2   ,
     @empresa_2_3 as   empresa_2_3 ,
     @monto_empresa_2_3   as   monto_empresa_2_3   ,
     @empresa_3_1 as   empresa_3_1 ,
     @monto_empresa_3_1   as   monto_empresa_3_1   ,
     @empresa_3_2 as   empresa_3_2 ,
     @monto_empresa_3_2   as   monto_empresa_3_2   ,
     @empresa_3_3 as   empresa_3_3 ,
     @monto_empresa_3_3   as   monto_empresa_3_3   ,
     @empresa_levantados_1  as   empresa_levantados_1  ,
     @monto_empresa_levantados_1   as   monto_empresa_levantados_1   ,
     @empresa_levantados_2 as   empresa_levantados_2 ,
     @monto_empresa_levantados_2   as   monto_empresa_levantados_2   ,
     @empresa_levantados_3 as   empresa_levantados_3 ,
     @monto_empresa_levantados_3   monto_empresa_levantados_3

END

GO

Depends On

1

Used By

No items found