dbo.obtener_card_cheques_rechazados

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.obtener_card_cheques_rechazados
@p_Cuit varchar(20)
AS
BEGIN
    SET NOCOUNT ON;
 DECLARE @p_5anios smalldatetime = getdate() - 1825
    DECLARE @p_2anios smalldatetime = getdate() - 730
    DECLARE @p_1anio  smalldatetime = getdate() - 365
    DECLARE @total_cheques int = 0
    DECLARE @tipo varchar(2)
    declare @cheques_rechazados int, @cheques_abonados int, @cheques_defectos_formales int

    select @cheques_rechazados = count(*) from ChequesBCRA  
    WHERE (Cuit_firmante = @p_Cuit)
     AND (id_cheque = (select max(id_cheque) from chequesBCRA b 
                      where (b.cuit_firmante = chequesBCRA.cuit_firmante)
                       and (b.nro_cheque = chequesBCRA.nro_cheque)
                       and (b.visible = 1)))
        AND (id_causa = 2)
        AND (visible = 1)
     AND (fecha_levantamiento IS NULL)
     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) 
    )
   )
 
 select @cheques_abonados= count(*) from ChequesBCRA 
 WHERE
   (Cuit_firmante = @p_Cuit)
         AND id_cheque = (select max(id_cheque) from chequesBCRA b 
       where b.cuit_firmante = chequesBCRA.cuit_firmante 
         and b.nro_cheque = chequesBCRA.nro_cheque 
         and b.visible = 1) 
        AND (id_causa = 2)
        AND (visible = 1)
     AND (fecha_levantamiento IS NOT NULL)
     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) 
   )
  )



    select @cheques_defectos_formales = count(*) from ChequesBCRA  
    WHERE (Cuit_firmante = @p_Cuit)
     AND (id_cheque = (select max(id_cheque) from chequesBCRA b 
                      where (b.cuit_firmante = chequesBCRA.cuit_firmante)
                       and (b.nro_cheque = chequesBCRA.nro_cheque)
                       and (b.visible = 1)))
        AND (id_causa = 1)
        AND (visible = 1)
     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) 
    )
   )

 select 
        @cheques_rechazados as cheques_rechazados,
        @cheques_abonados as cheques_abonados,
        @cheques_defectos_formales as cheques_defectos_formales
 
END

GO

Depends On

1

Used By

No items found