Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
4| Name | Data Type | Length | Description |
|---|---|---|---|
| @p_Cuit | varchar | 20 | |
| @p_dias | int | 4 | |
| @p_cantidad | int | 4 | |
| @p_contraparte | int | 4 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*
exec [LN_alertas_obtener_cheques] '20293314102',360,2147483647,184675
exec LN_alertas_obtener_cheques_cliente 5546348,'20293314102'
exec [obtener_cheques] '27179771131'
*/
/**
Para obtener la lista de cheques rechazados del producto "Alertas" de LED por CUIT
Deben obtenerse únicamente cheques rechazados SIN FONDOS, SIN fecha de levantamiento
o cheques por defectos formales
y de los últimos NN días (parametrizable default 360)
AND (ChequesBCRA.id_causa = 2 AND ChequesBCRA.fecha_levantamiento IS NULL)
or ChequesBCRA.id_causa = 1
AND ChequesBCRA.fecha_rechazo >= (GETDATE()-@p_dias)
Y de personas Fisicas, solo muestra los cheques personales
$cuit,$dias,2147483647,$id
**/
CREATE OR ALTER PROCEDURE dbo.LN_alertas_obtener_cheques
@p_Cuit varchar(20),
@p_dias int = 730,
@p_cantidad int = 2147483647,
@p_contraparte int = null
AS
BEGIN
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)
/* 14/10/2020 Busca que cantidad de dias tiene configurado el cliente */
DECLARE @p_diasch int = null
DECLARE @p_cliente int = null
if (@p_contraparte is not null)
begin
select @p_cliente = cliente from ln_contrapartes where contraparte = @p_contraparte
if (@p_cliente is not null)
select @p_diasch = max(dias) from ln_dias_alertas where tabla = 'cheques' and cliente = @p_cliente
if (@p_diasch is not null)
set @p_dias = @p_diasch
end
/* */
set @total_cheques = (select count(nro_cheque) from ChequesBCRA
where (cuit_firmante = @p_Cuit)
AND
(
(ChequesBCRA.id_causa = 2 AND ChequesBCRA.fecha_levantamiento IS NULL)
or
(ChequesBCRA.id_causa = 1)
)
AND ChequesBCRA.fecha_rechazo >= (GETDATE()-@p_dias)
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 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 @tipo = IIF(CharIndex('3',@p_Cuit)=1,'j',NULL)
IF @tipo = 'j'
BEGIN
-- Los Cheques que vienen a nombre de la empresa
SELECT top (@p_cantidad)
pf.nombre_persona AS 'nombre_persona_firmante',
cuit_firmante AS 'cuit_firmante',
'0' AS 'nombre_persona_relacionado',
'0' AS 'Cuit_relacionado',
nro_cheque,
pf.id_padron as idp,
'0' as idppr,
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,
convert(decimal(16,2),importe) as importe,
'0' AS cantidad,
Cheques_causales.codigo AS causa,
'a_nombre_de_empresa' AS tipo,
@total_cheques as total_cheques,
@p_dias as dias
FROM
ChequesBCRA
LEFT JOIN padrones AS pf ON (pf.identificacion = cuit_firmante and pf.habilitado = 1) --info firmante
INNER JOIN Cheques_causales ON (ChequesBCRA.id_causa = Cheques_causales.id_causa)
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 visible = 1
AND
/*ChequesBCRA.id_causa = 2
AND ChequesBCRA.fecha_levantamiento IS NULL*/
(
(ChequesBCRA.id_causa = 2 AND ChequesBCRA.fecha_levantamiento IS NULL)
or
(ChequesBCRA.id_causa = 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)
)
)
UNION ALL
-- Los registros de los firmantes de los cheques de la empresa
SELECT top (@p_cantidad)
pf.nombre_persona AS 'nombre_persona_firmante',
cuit_firmante AS 'cuit_firmante',
pr.nombre_persona AS 'nombre_persona_relacionado',
Cuit_relacionado AS 'Cuit_relacionado',
pf.id_padron as idp,
pr.id_padron as idppr,
'0' as nro_cheque,
'0' AS fecha_rechazo,
'0' AS fecha_levantamiento,
'0' AS fecha_pago,
'0' AS importe,
count(nro_cheque) as cantidad,
'0' AS causa,
'vinculaciones' AS tipo,
@total_cheques as total_cheques,
@p_dias as dias
FROM
ChequesBCRA
LEFT JOIN padrones AS pf ON (pf.identificacion = cuit_firmante and pf.habilitado = 1) --info firmante
LEFT JOIN padrones AS pr ON (pr.identificacion = Cuit_relacionado and pr.habilitado = 1) --info relacionado
INNER JOIN Cheques_causales ON (ChequesBCRA.id_causa = Cheques_causales.id_causa)
WHERE
(Cuit_relacionado = @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 visible = 1
AND
/*ChequesBCRA.id_causa = 2
AND ChequesBCRA.fecha_levantamiento IS NULL*/
(
(ChequesBCRA.id_causa = 2 AND ChequesBCRA.fecha_levantamiento IS NULL)
or
(ChequesBCRA.id_causa = 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)
)
)
group by pf.nombre_persona,ChequesBCRA.cuit_firmante,pr.nombre_persona,Cuit_relacionado,pf.id_padron,pr.id_padron
ORDER BY fecha_rechazo, nro_cheque DESC
END
ELSE
BEGIN
/* persona fisica */
-- Los cheques personales
SELECT top (@p_cantidad)
pf.nombre_persona AS 'nombre_persona_firmante',
cuit_firmante AS 'cuit_firmante',
'0' AS 'nombre_persona_relacionado',
'0' AS 'Cuit_relacionado',
nro_cheque,
pf.id_padron as idp,
'0' as idppr,
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,
convert(decimal(16,2),importe) as importe,
'0' AS cantidad,
Cheques_causales.codigo AS causa,
'propio' as tipo,
@total_cheques as total_cheques,
@p_dias as dias
FROM
ChequesBCRA
LEFT JOIN padrones AS pf ON (pf.identificacion = cuit_firmante and pf.habilitado = 1) --info firmante
INNER JOIN Cheques_causales ON (ChequesBCRA.id_causa = Cheques_causales.id_causa)
WHERE
( ( cuit_firmante = @p_Cuit) AND (cuit_relacionado is null or ltrim(rtrim(cuit_relacionado)) = ''))
/*AND fecha_rechazo > getdate() - 770*/ -- Solo lo tenia este select, se lo saque para que sea igual a los demas
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 visible = 1
AND
/*ChequesBCRA.id_causa = 2
AND ChequesBCRA.fecha_levantamiento IS NULL*/
(
(ChequesBCRA.id_causa = 2 AND ChequesBCRA.fecha_levantamiento IS NULL)
or
(ChequesBCRA.id_causa = 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)
)
)
/*
UNION ALL
-- Los cheques de las empresas en las que es firmante
SELECT top (@p_cantidad)
pf.nombre_persona AS 'nombre_persona_firmante',
cuit_firmante AS 'cuit_firmante',
pr.nombre_persona AS 'nombre_persona_relacionado',
Cuit_relacionado AS 'Cuit_relacionado',
nro_cheque,
pf.id_padron as idp,
pr.id_padron as idppr,
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,
convert(decimal(16,2),importe) as importe,
'0' AS cantidad,
Cheques_causales.codigo AS causa,
'empresa' as tipo,
@total_cheques as total_cheques
FROM
ChequesBCRA
LEFT JOIN padrones AS pf ON (pf.identificacion = cuit_firmante and pf.habilitado = 1) --info firmante
INNER JOIN padrones AS pr ON (pr.identificacion = Cuit_relacionado and pr.habilitado = 1) --info relacionado
INNER JOIN Cheques_causales ON (ChequesBCRA.id_causa = Cheques_causales.id_causa)
WHERE
( ( cuit_firmante = @p_Cuit) AND (cuit_relacionado is not null and ltrim(rtrim(cuit_relacionado)) != ''))
/*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.id_cheque > chequesBCRA.id_cheque)*/
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 visible = 1
AND ChequesBCRA.id_causa = 2
AND ChequesBCRA.fecha_levantamiento IS NULL
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 >= @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)
)
)
*/
ORDER BY nro_cheque ASC
END
END
GO
GO
/*
exec [LN_alertas_obtener_cheques] '20293314102',360,2147483647,184675
exec LN_alertas_obtener_cheques_cliente 5546348,'20293314102'
exec [obtener_cheques] '27179771131'
*/
/**
Para obtener la lista de cheques rechazados del producto "Alertas" de LED por CUIT
Deben obtenerse únicamente cheques rechazados SIN FONDOS, SIN fecha de levantamiento
o cheques por defectos formales
y de los últimos NN días (parametrizable default 360)
AND (ChequesBCRA.id_causa = 2 AND ChequesBCRA.fecha_levantamiento IS NULL)
or ChequesBCRA.id_causa = 1
AND ChequesBCRA.fecha_rechazo >= (GETDATE()-@p_dias)
Y de personas Fisicas, solo muestra los cheques personales
$cuit,$dias,2147483647,$id
**/
CREATE OR ALTER PROCEDURE dbo.LN_alertas_obtener_cheques
@p_Cuit varchar(20),
@p_dias int = 730,
@p_cantidad int = 2147483647,
@p_contraparte int = null
AS
BEGIN
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)
/* 14/10/2020 Busca que cantidad de dias tiene configurado el cliente */
DECLARE @p_diasch int = null
DECLARE @p_cliente int = null
if (@p_contraparte is not null)
begin
select @p_cliente = cliente from ln_contrapartes where contraparte = @p_contraparte
if (@p_cliente is not null)
select @p_diasch = max(dias) from ln_dias_alertas where tabla = 'cheques' and cliente = @p_cliente
if (@p_diasch is not null)
set @p_dias = @p_diasch
end
/* */
set @total_cheques = (select count(nro_cheque) from ChequesBCRA
where (cuit_firmante = @p_Cuit)
AND
(
(ChequesBCRA.id_causa = 2 AND ChequesBCRA.fecha_levantamiento IS NULL)
or
(ChequesBCRA.id_causa = 1)
)
AND ChequesBCRA.fecha_rechazo >= (GETDATE()-@p_dias)
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 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 @tipo = IIF(CharIndex('3',@p_Cuit)=1,'j',NULL)
IF @tipo = 'j'
BEGIN
-- Los Cheques que vienen a nombre de la empresa
SELECT top (@p_cantidad)
pf.nombre_persona AS 'nombre_persona_firmante',
cuit_firmante AS 'cuit_firmante',
'0' AS 'nombre_persona_relacionado',
'0' AS 'Cuit_relacionado',
nro_cheque,
pf.id_padron as idp,
'0' as idppr,
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,
convert(decimal(16,2),importe) as importe,
'0' AS cantidad,
Cheques_causales.codigo AS causa,
'a_nombre_de_empresa' AS tipo,
@total_cheques as total_cheques,
@p_dias as dias
FROM
ChequesBCRA
LEFT JOIN padrones AS pf ON (pf.identificacion = cuit_firmante and pf.habilitado = 1) --info firmante
INNER JOIN Cheques_causales ON (ChequesBCRA.id_causa = Cheques_causales.id_causa)
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 visible = 1
AND
/*ChequesBCRA.id_causa = 2
AND ChequesBCRA.fecha_levantamiento IS NULL*/
(
(ChequesBCRA.id_causa = 2 AND ChequesBCRA.fecha_levantamiento IS NULL)
or
(ChequesBCRA.id_causa = 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)
)
)
UNION ALL
-- Los registros de los firmantes de los cheques de la empresa
SELECT top (@p_cantidad)
pf.nombre_persona AS 'nombre_persona_firmante',
cuit_firmante AS 'cuit_firmante',
pr.nombre_persona AS 'nombre_persona_relacionado',
Cuit_relacionado AS 'Cuit_relacionado',
pf.id_padron as idp,
pr.id_padron as idppr,
'0' as nro_cheque,
'0' AS fecha_rechazo,
'0' AS fecha_levantamiento,
'0' AS fecha_pago,
'0' AS importe,
count(nro_cheque) as cantidad,
'0' AS causa,
'vinculaciones' AS tipo,
@total_cheques as total_cheques,
@p_dias as dias
FROM
ChequesBCRA
LEFT JOIN padrones AS pf ON (pf.identificacion = cuit_firmante and pf.habilitado = 1) --info firmante
LEFT JOIN padrones AS pr ON (pr.identificacion = Cuit_relacionado and pr.habilitado = 1) --info relacionado
INNER JOIN Cheques_causales ON (ChequesBCRA.id_causa = Cheques_causales.id_causa)
WHERE
(Cuit_relacionado = @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 visible = 1
AND
/*ChequesBCRA.id_causa = 2
AND ChequesBCRA.fecha_levantamiento IS NULL*/
(
(ChequesBCRA.id_causa = 2 AND ChequesBCRA.fecha_levantamiento IS NULL)
or
(ChequesBCRA.id_causa = 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)
)
)
group by pf.nombre_persona,ChequesBCRA.cuit_firmante,pr.nombre_persona,Cuit_relacionado,pf.id_padron,pr.id_padron
ORDER BY fecha_rechazo, nro_cheque DESC
END
ELSE
BEGIN
/* persona fisica */
-- Los cheques personales
SELECT top (@p_cantidad)
pf.nombre_persona AS 'nombre_persona_firmante',
cuit_firmante AS 'cuit_firmante',
'0' AS 'nombre_persona_relacionado',
'0' AS 'Cuit_relacionado',
nro_cheque,
pf.id_padron as idp,
'0' as idppr,
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,
convert(decimal(16,2),importe) as importe,
'0' AS cantidad,
Cheques_causales.codigo AS causa,
'propio' as tipo,
@total_cheques as total_cheques,
@p_dias as dias
FROM
ChequesBCRA
LEFT JOIN padrones AS pf ON (pf.identificacion = cuit_firmante and pf.habilitado = 1) --info firmante
INNER JOIN Cheques_causales ON (ChequesBCRA.id_causa = Cheques_causales.id_causa)
WHERE
( ( cuit_firmante = @p_Cuit) AND (cuit_relacionado is null or ltrim(rtrim(cuit_relacionado)) = ''))
/*AND fecha_rechazo > getdate() - 770*/ -- Solo lo tenia este select, se lo saque para que sea igual a los demas
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 visible = 1
AND
/*ChequesBCRA.id_causa = 2
AND ChequesBCRA.fecha_levantamiento IS NULL*/
(
(ChequesBCRA.id_causa = 2 AND ChequesBCRA.fecha_levantamiento IS NULL)
or
(ChequesBCRA.id_causa = 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)
)
)
/*
UNION ALL
-- Los cheques de las empresas en las que es firmante
SELECT top (@p_cantidad)
pf.nombre_persona AS 'nombre_persona_firmante',
cuit_firmante AS 'cuit_firmante',
pr.nombre_persona AS 'nombre_persona_relacionado',
Cuit_relacionado AS 'Cuit_relacionado',
nro_cheque,
pf.id_padron as idp,
pr.id_padron as idppr,
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,
convert(decimal(16,2),importe) as importe,
'0' AS cantidad,
Cheques_causales.codigo AS causa,
'empresa' as tipo,
@total_cheques as total_cheques
FROM
ChequesBCRA
LEFT JOIN padrones AS pf ON (pf.identificacion = cuit_firmante and pf.habilitado = 1) --info firmante
INNER JOIN padrones AS pr ON (pr.identificacion = Cuit_relacionado and pr.habilitado = 1) --info relacionado
INNER JOIN Cheques_causales ON (ChequesBCRA.id_causa = Cheques_causales.id_causa)
WHERE
( ( cuit_firmante = @p_Cuit) AND (cuit_relacionado is not null and ltrim(rtrim(cuit_relacionado)) != ''))
/*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.id_cheque > chequesBCRA.id_cheque)*/
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 visible = 1
AND ChequesBCRA.id_causa = 2
AND ChequesBCRA.fecha_levantamiento IS NULL
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 >= @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)
)
)
*/
ORDER BY nro_cheque ASC
END
END
GO
Depends On
5Used By
No items found