dbo.LN_alertas_cheques

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

3
Name Data Type Length Description
@p_Cuit varchar 20
@p_dias int 4
@rechazados int 4

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO

/**

DADO UN CUIT, PARA OBTENER LA CANTIDAD DE CHEQUES RECHAZADOS SIN FONDOS NO PAGADOS 
(SIN FECHA DE LEVANTAMIENTO) DE LOS ULTIMOS NN (DEFAULT 360) DIAS
y 
CHEQUES POR DEFECTOS FORMALES DE LOS ULTIMOS NN Dias

  AND ((ChequesBCRA.id_causa = 2 AND ChequesBCRA.fecha_levantamiento IS NULL)
   or (ChequesBCRA.id_causa = 1))
  AND ChequesBCRA.fecha_rechazo >= (GETDATE()-@p_dias)



**/


CREATE OR ALTER PROCEDURE dbo.LN_alertas_cheques
    
    @p_Cuit       varchar(20),
    @p_dias       int = 360,
    @rechazados      int = NULL OUTPUT

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 = 0, @cheques_abonados int = 0 , @cheques_defectos_formales int = 0

    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 
            (
       (ChequesBCRA.id_causa = 2 AND ChequesBCRA.fecha_levantamiento IS NULL)
       or 
       (ChequesBCRA.id_causa = 1)
       )

        AND (visible = 1)
  AND ChequesBCRA.fecha_rechazo >= (GETDATE()-@p_dias)

     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 >= @p_2anios)
                                 ) 
                                 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_2anios)
                             ) 
                             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 >= @p_2anios)
                                     ) 
                                     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_2anios)
                                 ) 
                                 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*/


 SET @rechazados = @cheques_rechazados

 /*SET @abonados = @cheques_abonados
  SET @defectos = @cheques_defectos_formales*/

 
END

GO

Depends On

1

Used By

No items found