dbo.backend_cheques_rechazados

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

5
Name Data Type Length Description
@p_Cuit varchar 20
@p_id_persona int 4
@p_solo_contar tinyint 1
@p_meses smallint 2
@p_visible bit 1

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO

CREATE OR ALTER PROCEDURE dbo.backend_cheques_rechazados
@p_Cuit varchar(20),
@p_id_persona int,
@p_solo_contar tinyint,
@p_meses smallint,
@p_visible bit
AS


DECLARE @from_date date=CAST(DATEADD(month, (-1)*@p_meses, GETDATE()) AS DATE)
DECLARE @tipo varchar(2)
DECLARE @cheques_propios int = 0
DECLARE @cheques_a_empresas int = 0
DECLARE @p_5anios smalldatetime = getdate() - 1825
DECLARE @p_2anios smalldatetime = getdate() - 730
DECLARE @p_1anio  smalldatetime = getdate() - 365
SELECT @tipo = IIF(CharIndex('3',@p_Cuit)=1,'j',NULL)

BEGIN
  IF @tipo = 'j'
  BEGIN
 SELECT DISTINCT
   pf.id_padron      AS 'id_persona_firmante',
      pf.nombre_persona AS 'nombre_persona_firmante',
   cuit_firmante     AS 'cuit_firmante',
   pr.id_padron      AS 'id_persona_relacionado',
      pr.nombre_persona AS 'nombre_persona_relacionado',
   Cuit_relacionado  AS 'Cuit_relacionado',
      id_cheque,
      nro_cheque,
   CONVERT(varchar, ChequesBCRA.fecha_rechazo, 103)       AS fecha_rechazo,
      CONVERT(varchar, ChequesBCRA.fecha_levantamiento, 103) AS fecha_levantamiento,
      CONVERT(varchar, ChequesBCRA.fecha_pago, 103)          AS fecha_pago,
      importe,
  
      Cheques_causales.codigo AS codigo_causal,
      ChequesBCRA.id_causa,
      IIF(@p_Cuit=cuit_firmante,'propio','firmante') AS tipo,
      IIF(visible=1,'ACTIVO','INACTIVO') AS visible,
   IIF(
    (
    (
   (
     (
     (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) 
    ) 
  ),'DENTRO DEL PLAZO DE HABEAS DATA','INACTIVO POR HABEAS DATA') as habeas_data, 

   RIGHT('             '+convert(varchar(10),nro_cheque),10) as nro_cheque_char, 
   RIGHT('             '+convert(varchar(20),importe),13) as importe_char,
   convert(char(23), cheques_causales.codigo) as causal_char
    FROM
      ChequesBCRA
      LEFT JOIN padrones AS pf ON (pf.identificacion = cuit_firmante)    --info firmante
   LEFT JOIN padrones AS pr ON (pr.identificacion = Cuit_relacionado) --info relacionado
      INNER JOIN Cheques_causales ON (ChequesBCRA.id_causa = Cheques_causales.id_causa)
    WHERE 
   ( @p_Cuit = cuit_firmante OR @p_Cuit = Cuit_relacionado OR  @p_id_persona = id_persona_firmante OR @p_id_persona = id_persona_relacionado )
   AND fecha_rechazo >= @from_date
      --AND visible = @p_visible 
   AND ((@p_visible = '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) 
    ) 
  ))
  or
  ((@p_visible = '0' and (visible = '0' or not 
    (
    (
   (
     (
     (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 nro_cheque ASC  
  END
  ELSE
  BEGIN
    SELECT DISTINCT 
   pf.id_padron      AS 'id_persona_firmante',
      pf.nombre_persona AS 'nombre_persona_firmante',
   cuit_firmante     AS 'cuit_firmante',
   pr.id_padron      AS 'id_persona_relacionado',
      pr.nombre_persona AS 'nombre_persona_relacionado',
   Cuit_relacionado  AS 'Cuit_relacionado',
      id_cheque,
      nro_cheque,
      CONVERT(varchar, ChequesBCRA.fecha_rechazo, 103)       AS fecha_rechazo,
      CONVERT(varchar, ChequesBCRA.fecha_levantamiento, 103) AS fecha_levantamiento,
      CONVERT(varchar, ChequesBCRA.fecha_pago, 103)          AS fecha_pago,
      importe,
      Cheques_causales.codigo AS codigo_causal,
      ChequesBCRA.id_causa,
   IIF( ISNULL(Cuit_relacionado,'')='' AND ISNULL(id_persona_relacionado,'')='',
  'propio','empresa') as tipo,
      IIF(visible=1,'ACTIVO','INACTIVO') AS visible,
  IIF(
    (
    (
   (
     (
     (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) 
    ) 
  ),'DENTRO DEL PLAZO DE HABEAS DATA','INACTIVO POR HABEAS DATA') as habeas_data,
  
   RIGHT('             '+convert(varchar(10),nro_cheque),10) as nro_cheque_char, 
   RIGHT('             '+convert(varchar(20),importe),13) as importe_char,
   convert(char(23), cheques_causales.codigo) as causal_char

    FROM 
      ChequesBCRA
      LEFT JOIN padrones AS pf ON (pf.identificacion = cuit_firmante)    --info firmante
   LEFT JOIN padrones AS pr ON (pr.identificacion = Cuit_relacionado) --info relacionado
      INNER JOIN Cheques_causales ON (ChequesBCRA.id_causa = Cheques_causales.id_causa)
 WHERE 
      ( cuit_firmante = @p_Cuit OR id_persona_firmante = @p_id_persona )
      AND fecha_rechazo >= @from_date
      --AND visible = @p_visible 
   AND ((@p_visible = '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) 
    ) 
  ))
  or
  ((@p_visible = '0' and (visible = '0' or not 
    (
    (
   (
     (
     (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 nro_cheque ASC 
  END       
END

GO

Used By

No items found