Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
5| Name | Data Type | Length | Description |
|---|---|---|---|
| @id_cliente | int | 4 | |
| @fecha_proceso | date | 3 | |
| @todo_retomar | char | 1 | |
| @cuit_procesar | varchar | 20 | |
| @ultimos_12_24_meses | int | 4 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*
obt
exec sp_procesos_cuit_enrichment '1627875378', '2024-12-23', 'T',null, 12
-- screening PAE cada 3 meses
empleados
exec sp_procesos_cuit_enrichment '2046807993', '2023-05-15' , 'T',null, 12
proveedores
exec sp_procesos_cuit_enrichment '2046807993', '2023-05-16' , 'T',null, 12
subcontratistas
exec sp_procesos_cuit_enrichment '2046807993', '2023-05-17' , 'T',null, 12
--
select distinct cliente from procesos_cuit where fecha = '2023-05-15'
*/
CREATE OR ALTER PROCEDURE dbo.sp_procesos_cuit_enrichment
@id_cliente int,
@fecha_proceso date,
@todo_retomar char(1), -- 'T' procesar todo el lote - 'R' retomar lote ya empezado - 'I' individual
@cuit_procesar varchar(20) = null,
@ultimos_12_24_meses int = 24
AS
BEGIN
SET NOCOUNT ON;
set @ultimos_12_24_meses = (@ultimos_12_24_meses - 1) * (-1)
declare @p_Cuit varchar(20)
declare @W_Fecha_Juicio date = convert(date, getdate())
set @W_Fecha_Juicio = dateadd(dd,-365,@W_Fecha_Juicio)
declare @W_PETICION int = 0
declare @W_PROVEIDO int = 0
declare @W_CONCLUIDO int = 0
declare @W_CYQ int = 0
declare @W_PEDIDO_QUIEBRA int = 0
declare @W_QUIEBRA int = 0
declare @W_JEV int = 0
declare @W_JEH int = 0
declare @W_JEC int= 0
declare @W_cant_judicial int = 0
declare @ult_mes_bcra char(7)
declare @ult_mes_bcra2 char(7)
declare @cant_bcra int = 0
declare @monto_bcra decimal(16,2)
declare @monto decimal(16,2)
declare @bcra_temp table (codigo_ent int)
declare @bcra_peor table (codigo_ent int, fec_inf varchar(6), situacion int, total decimal(16,2))
declare @p_codigo_ent int
declare @score decimal (5,2)
declare @motivos varchar(max)
declare @p_nombre varchar(200)
declare @p_nrodoc varchar(10)
declare @p_causa varchar(5)
declare @p_fecha_causa date
declare @p_5anios date = getdate() - (5*365)
declare @p_2anios date = getdate() - (2*365)
declare @p_1anio smalldatetime = getdate() - 365
declare @p_3meses date = getdate() - (90)
declare @dtStart date, @dtEnd date, @dtEnd_cuit date
declare @peor int
declare @mes_peor varchar(6)
declare @monto_peor_bcra decimal(16,2)
DECLARE @total_cheques_SL int = 0
declare @monto_cheques_SL decimal(16,2) = 0
DECLARE @total_cheques_L int = 0
declare @monto_cheques_L decimal(16,2) = 0
DECLARE @total_cheques_ua_SL int = 0
declare @monto_cheques_ua_SL decimal(16,2) = 0
DECLARE @total_cheques_ua_L int = 0
declare @monto_cheques_ua_L decimal(16,2) = 0
declare @empleados_cuit table (
hombres decimal(10,2),
mujeres decimal(10,2),
total decimal(10,2),
fecha varchar(10))
declare @cant_empleados int = 0
declare @fecha_inscripcion varchar(50) = null
declare @fecha_contrato_social varchar(50) = null
declare @fecha_constitucion varchar(50) = null
declare @fecha_defuncion date = null
declare @fecha_inicio_actividad date = null
if (@todo_retomar = 'T')
begin
delete from procesos_cuit_enrichment
where cliente = @id_cliente
and fecha_proceso = @fecha_proceso
DECLARE recorre1 CURSOR
FOR
SELECT distinct cuit FROM procesos_cuit
where cliente = @id_cliente
and fecha = @fecha_proceso
--and cuit like '2%'
ORDER BY cuit
end
if (@todo_retomar = 'R')
begin
DECLARE recorre1 CURSOR
FOR
SELECT distinct cuit FROM procesos_cuit
where cliente = @id_cliente
and fecha = @fecha_proceso
and cuit > (select max(cuit) from procesos_cuit_enrichment where cliente = @id_cliente and fecha_proceso = @fecha_proceso)
/*
and cuit in (
'30715609653',
'30715642553',
'33715640649'
)
*/
ORDER BY cuit
end
if (@todo_retomar = 'I')
begin
delete from procesos_cuit_enrichment
where cliente = @id_cliente
and fecha_proceso = @fecha_proceso
and cuit = @cuit_procesar
DECLARE recorre1 CURSOR
FOR
SELECT distinct cuit FROM procesos_cuit
where cliente = @id_cliente
and fecha = @fecha_proceso
and cuit = @cuit_procesar
end
OPEN recorre1
Fetch next from recorre1 INTO @p_cuit
WHILE (@@FETCH_STATUS <> -1 )
BEGIN
set @W_PETICION = 0
set @W_PROVEIDO = 0
set @W_CONCLUIDO= 0
set @W_CYQ = 0
set @W_PEDIDO_QUIEBRA = 0
set @W_QUIEBRA = 0
set @W_JEV = 0
set @W_JEH = 0
set @W_JEC = 0
set @W_cant_judicial = 0
set @ult_mes_bcra = null
set @ult_mes_bcra2 = null
set @cant_bcra = 0
set @monto_bcra= 0
set @monto = 0
set @score = 0
set @motivos = null
set @fecha_inscripcion = null
set @fecha_contrato_social = null
set @fecha_constitucion = null
set @fecha_defuncion = null
select @fecha_constitucion = isnull(fecha_cons,''),
@fecha_inscripcion = isnull(fecha_ins_rpc,''),
@fecha_contrato_social = isnull(fecha_contrato_social,'')
from datos_sociedades
where cuit = @p_Cuit
set @fecha_constitucion = LTRIM(RTRIM(@fecha_constitucion))
set @fecha_contrato_social = LTRIM(RTRIM(@fecha_contrato_social))
set @fecha_inscripcion = LTRIM(RTRIM(@fecha_inscripcion))
if (@fecha_constitucion = '' or @fecha_constitucion = '1901-01-01') set @fecha_constitucion = null
if (@fecha_inscripcion = '' or @fecha_inscripcion = '1901-01-01') set @fecha_inscripcion = null
if (@fecha_contrato_social = '' or @fecha_contrato_social = '1901-01-01') set @fecha_contrato_social = null
if (@fecha_inscripcion is null)
begin
select @fecha_inscripcion = isnull(c02_fecha_ins_rpc,'')
from DATOS_PERSONAS
where c01_cuit = @p_Cuit
end
set @fecha_inscripcion = LTRIM(RTRIM(@fecha_inscripcion))
if (@fecha_inscripcion = '' or @fecha_inscripcion = '1901-01-01') set @fecha_inscripcion = null
if (@fecha_inscripcion is null)
begin
select @fecha_inscripcion = convert(varchar(50),min(fecha_inscripcion))
from padron_impuestos
where id_padron = (select id_padron from padrones where identificacion = @p_Cuit and habilitado = 1)
and fecha_inscripcion != '1901-01-01'
end
-- fecha de inicio actividad toma la menor fecha de los impuestos
select @fecha_inicio_actividad = convert(varchar(50),min(fecha_inscripcion))
from padron_impuestos
where id_padron = (select id_padron from padrones where identificacion = @p_Cuit and habilitado = 1)
and fecha_inscripcion != '1901-01-01'
if (@fecha_inscripcion = '' or @fecha_inscripcion = '1901-01-01') set @fecha_inscripcion = null
if (@fecha_inscripcion is null)
begin
if (@fecha_contrato_social is not null) set @fecha_inscripcion = @fecha_constitucion
end
if (@fecha_inscripcion = '' or @fecha_inscripcion = '1901-01-01') set @fecha_inscripcion = null
if (@fecha_inscripcion is null)
begin
if (@fecha_constitucion is not null) set @fecha_inscripcion = @fecha_constitucion
end
select @fecha_defuncion = fecha_defuncion
from DATOS_PERSONAS
where c01_cuit = @p_Cuit
insert into @empleados_cuit
exec obtener_empleados @p_cuit
set @cant_empleados = (select total from @empleados_cuit)
delete from @empleados_cuit
set @ult_mes_bcra = (select max(fec_inf) from cendeu where iden = @p_cuit and vigente = 1)
set @ult_mes_bcra2 = (select max(fec_inf) from cendeu_temp where iden = @p_cuit and vigente = 1)
if (@ult_mes_bcra2 > @ult_mes_bcra or (@ult_mes_bcra2 is not null and @ult_mes_bcra is null))
begin set @ult_mes_bcra = @ult_mes_bcra2 end
delete from @bcra_temp
insert into @bcra_temp
select distinct CONVERT(int,codigo_ent)
from cendeu where iden = @p_cuit and fec_inf = @ult_mes_bcra and vigente = 1
union
select distinct CONVERT(int,codigo_ent)
from cendeu_temp where iden = @p_cuit and fec_inf = @ult_mes_bcra and vigente = 1
DECLARE recorre2 CURSOR FOR
SELECT distinct codigo_ent
FROM @bcra_temp
set @monto_bcra = 0
set @cant_bcra = 0
OPEN recorre2
Fetch next from recorre2 INTO @p_codigo_ent
WHILE (@@FETCH_STATUS <> -1 )
BEGIN
set @cant_bcra = @cant_bcra + 1
set @monto = 0
set @monto = (select top 1 ((prestamos+particip+garotor+o_cptos+deuda_total)) as total
from cendeu_temp
where iden = @p_cuit and fec_inf = @ult_mes_bcra and vigente = 1 and convert(int,codigo_ent) = @p_codigo_ent
order by id_cendeu desc)
if (@monto = 0 or @monto is null)
begin
set @monto = (select top 1 ((prestamos+particip+garotor+o_cptos+deuda_total)) as total
from cendeu
where iden = @p_cuit and fec_inf = @ult_mes_bcra and vigente = 1 and convert(int,codigo_ent) = @p_codigo_ent
order by id_cendeu desc)
end
if (@monto is not null)
begin
set @monto_bcra = @monto_bcra + (@monto * 1000)
end
Fetch next from recorre2 INTO @p_codigo_ent
END
CLOSE recorre2
DEALLOCATE recorre2
if (@ult_mes_bcra is not null) begin set @ult_mes_bcra = SUBSTRING(@ult_mes_bcra,1,4) + '-' + SUBSTRING(@ult_mes_bcra,5,2) end
-- Peor situacion en los ultimos 12/24 meses
select @dtEnd = (select max(fecha_informacion) from fuentes_procesadas where fuente = 'cendeu' and visible = '1')
select @dtEnd_cuit = convert(date,isnull(max(cendeu.fec_inf),'200112')+'01') from cendeu where iden = @p_cuit
if (@dtEnd_cuit > @dtEnd)
begin
set @dtEnd = @dtEnd_cuit
end
--set @ultimos_12_24_meses = (@ultimos_12_24_meses - 1) * (-1)
set @dtStart = dateadd(month, @ultimos_12_24_meses, @dtEnd)
--set @dtStart = dateadd(month, (-23), @dtEnd)
--set @dtStart = dateadd(month, (-11), @dtEnd)
delete from @bcra_peor
insert into @bcra_peor
select distinct CONVERT(int,codigo_ent),
fec_inf,
substring(convert(char(2),convert(int,situacion)),1,1) as situacion,
((prestamos+particip+garotor+o_cptos+deuda_total)) as total
from cendeu
where iden = @p_cuit
and vigente = 1
and fec_inf in (select convert(varchar(4),datepart(year,dateadd(month, number, @dtStart)))
+ right('0' + rtrim(datepart(MONTH,dateadd(month, number, @dtStart))),2)
as periodo
from
(select distinct number from master.dbo.spt_values where name is null) n
where dateadd(month, number, @dtStart) <= @dtEnd)
and not exists (select * from cendeu b
where b.iden = cendeu.iden
and cast(b.codigo_ent as int) = cast(cendeu.codigo_ent as int)
and b.fec_inf = cendeu.fec_inf
and b.vigente = cendeu.vigente
and (isnull(b.id_fuente,1)) = (isnull(cendeu.id_fuente,1))
and b.id_cendeu < cendeu.id_cendeu)
and not exists (select * from cendeu b1 where b1.iden = cendeu.iden and cast(b1.codigo_ent as int) = cast(cendeu.codigo_ent as int) and b1.fec_inf = cendeu.fec_inf and b1.vigente = 1 and b1.id_fuente = 2 and b1.id_cendeu != cendeu.id_cendeu)
and not (
(cast(fec_inf+'01' as date) < @p_5anios)
OR
(cast(fec_inf+'01' as date) < @p_2anios
and
--not (convert(date,created) > @p_3meses and convert(date,modified) > @p_3meses))
not exists (select * from cendeu z where z.iden = cendeu.iden and cast(z.codigo_ent as int) = cast(cendeu.codigo_ent as int) and (convert(date,z.created) > @p_3meses)))
OR
(cast(fec_inf+'01' as date) < @p_2anios
and
exists (select * from cendeu_cancela c
where c.iden = cendeu.iden
and cast(c.codigo_ent as int) = cast(cendeu.codigo_ent as int)
and cast(fec_inf+'01' as date) between convert(date,c.fec_inf_desde) and convert(date,c.fec_inf_hasta)
and c.vigente = '1'))
)
union
select distinct CONVERT(int,codigo_ent),
fec_inf,
substring(convert(char(2),convert(int,situacion)),1,1) as situacion,
((prestamos+particip+garotor+o_cptos+deuda_total)) as total
from cendeu_temp
where iden = @p_cuit
and vigente = 1
and fec_inf in (select convert(varchar(4),datepart(year,dateadd(month, number, @dtStart)))
+ right('0' + rtrim(datepart(MONTH,dateadd(month, number, @dtStart))),2)
as periodo
from
(select distinct number from master.dbo.spt_values where name is null) n
where dateadd(month, number, @dtStart) <= @dtEnd)
and not exists (select * from cendeu_temp b
where b.iden = cendeu_temp.iden
and cast(b.codigo_ent as int) = cast(cendeu_temp.codigo_ent as int)
and b.fec_inf = cendeu_temp.fec_inf
and b.vigente = cendeu_temp.vigente
and (isnull(b.id_fuente,1)) = (isnull(cendeu_temp.id_fuente,1))
and b.id_cendeu < cendeu_temp.id_cendeu)
and not exists (select * from cendeu_temp b1 where b1.iden = cendeu_temp.iden and cast(b1.codigo_ent as int) = cast(cendeu_temp.codigo_ent as int) and b1.fec_inf = cendeu_temp.fec_inf and b1.vigente = 1 and b1.id_fuente = 2 and b1.id_cendeu != cendeu_temp.id_cendeu)
and not (
(cast(fec_inf+'01' as date) < @p_5anios)
OR
(cast(fec_inf+'01' as date) < @p_2anios
and
--not (convert(date,created) > @p_3meses and convert(date,modified) > @p_3meses))
not exists (select * from cendeu_temp z where z.iden = cendeu_temp.iden and cast(z.codigo_ent as int) = cast(cendeu_temp.codigo_ent as int) and (convert(date,z.created) > @p_3meses)))
OR
(cast(fec_inf+'01' as date) < @p_2anios
and
exists (select * from cendeu_cancela c
where c.iden = cendeu_temp.iden
and cast(c.codigo_ent as int) = cast(cendeu_temp.codigo_ent as int)
and cast(fec_inf+'01' as date) between convert(date,c.fec_inf_desde) and convert(date,c.fec_inf_hasta)
and c.vigente = '1'))
)
set @peor = null
set @mes_peor = null
set @peor = (select MAX(situacion) from @bcra_peor)
set @mes_peor = (select max(fec_inf) from @bcra_peor where situacion = @peor)
DECLARE recorre21 CURSOR FOR
SELECT distinct codigo_ent
FROM @bcra_peor
where situacion = @peor
and fec_inf = @mes_peor
set @monto_peor_bcra = 0
OPEN recorre21
Fetch next from recorre21 INTO @p_codigo_ent
WHILE (@@FETCH_STATUS <> -1 )
BEGIN
set @monto = 0
set @monto = (select top 1 ((prestamos+particip+garotor+o_cptos+deuda_total)) as total
from cendeu_temp cendeu
where iden = @p_cuit
and fec_inf = @mes_peor
and substring(convert(char(2),convert(int,situacion)),1,1) = @peor
and vigente = 1 and convert(int,codigo_ent) = @p_codigo_ent
and not exists (select * from cendeu_temp b1 where b1.iden = cendeu.iden and cast(b1.codigo_ent as int) = cast(cendeu.codigo_ent as int) and b1.fec_inf = cendeu.fec_inf and b1.vigente = 1 and b1.id_fuente = 2 and b1.id_cendeu != cendeu.id_cendeu)
and not (
(cast(fec_inf+'01' as date) < @p_5anios)
OR
(cast(fec_inf+'01' as date) < @p_2anios
and
--not (convert(date,created) > @p_3meses and convert(date,modified) > @p_3meses))
not exists (select * from cendeu_temp z where z.iden = cendeu.iden and cast(z.codigo_ent as int) = cast(cendeu.codigo_ent as int) and (convert(date,z.created) > @p_3meses)))
OR
(cast(fec_inf+'01' as date) < @p_2anios
and
exists (select * from cendeu_cancela c
where c.iden = cendeu.iden
and cast(c.codigo_ent as int) = cast(cendeu.codigo_ent as int)
and cast(fec_inf+'01' as date) between convert(date,c.fec_inf_desde) and convert(date,c.fec_inf_hasta)
and c.vigente = '1'))
)
order by id_cendeu desc)
if (@monto = 0 or @monto is null)
begin
set @monto = (select top 1 ((prestamos+particip+garotor+o_cptos+deuda_total)) as total
from cendeu
where iden = @p_cuit
and fec_inf = @mes_peor
and substring(convert(char(2),convert(int,situacion)),1,1) = @peor
and vigente = 1 and convert(int,codigo_ent) = @p_codigo_ent
and not exists (select * from cendeu b1 where b1.iden = cendeu.iden and cast(b1.codigo_ent as int) = cast(cendeu.codigo_ent as int) and b1.fec_inf = cendeu.fec_inf and b1.vigente = 1 and b1.id_fuente = 2 and b1.id_cendeu != cendeu.id_cendeu)
and not (
(cast(fec_inf+'01' as date) < @p_5anios)
OR
(cast(fec_inf+'01' as date) < @p_2anios
and
--not (convert(date,created) > @p_3meses and convert(date,modified) > @p_3meses))
not exists (select * from cendeu z where z.iden = cendeu.iden and cast(z.codigo_ent as int) = cast(cendeu.codigo_ent as int) and (convert(date,z.created) > @p_3meses)))
OR
(cast(fec_inf+'01' as date) < @p_2anios
and
exists (select * from cendeu_cancela c
where c.iden = cendeu.iden
and cast(c.codigo_ent as int) = cast(cendeu.codigo_ent as int)
and cast(fec_inf+'01' as date) between convert(date,c.fec_inf_desde) and convert(date,c.fec_inf_hasta)
and c.vigente = '1'))
)
order by id_cendeu desc)
end
if (@monto is not null)
begin
set @monto_peor_bcra = @monto_peor_bcra + (@monto * 1000)
end
Fetch next from recorre21 INTO @p_codigo_ent
END
CLOSE recorre21
DEALLOCATE recorre21
-- Cheques sin fondo sin levantar aƱos anteriores
select @total_cheques_SL = count(*) ,
@monto_cheques_SL = SUM(ChequesBCRA.importe)
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 visible = 1
AND fecha_levantamiento is null
AND fecha_rechazo < @p_1anio
AND ChequesBCRA.id_causa = 2
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)
)
)
-- Cheques sin fondo levantados aƱos anteriores
select @total_cheques_L = count(*) ,
@monto_cheques_L = SUM(ChequesBCRA.importe)
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 visible = 1
AND fecha_levantamiento is not null
AND fecha_rechazo < @p_1anio
AND ChequesBCRA.id_causa = 2
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)
)
)
-- Cheques sin fondo sin levantar ultimo aƱo
select @total_cheques_ua_SL = count(*) ,
@monto_cheques_ua_SL = SUM(ChequesBCRA.importe)
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 visible = 1
AND fecha_levantamiento is null
AND fecha_rechazo >= @p_1anio
AND ChequesBCRA.id_causa = 2
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)
)
)
-- Cheques sin fondo levantados aƱos anteriores
select @total_cheques_ua_L = count(*) ,
@monto_cheques_ua_L = SUM(ChequesBCRA.importe)
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 visible = 1
AND fecha_levantamiento is not null
AND fecha_rechazo >= @p_1anio
AND ChequesBCRA.id_causa = 2
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 top 100 fecha_causa, cau_codigo, id_tipo_causa, * from juicios where id_tipo_causa is null
-- select count(*) from juicios where id_tipo_causa is null
-- select * from juicios where cuit_demandado = '30504732831'
if (@id_cliente = 8888) -- No limita tiempo de los Juicios
begin
SET @W_Fecha_Juicio = '1900-01-01'
DECLARE recorre3 CURSOR FOR
select distinct iif(juicios.id_tipo_causa is null, juicios.cau_codigo, juicios.id_tipo_causa) as id_tipo_causa, fecha_causa
FROM juicios
left join tiempo_causas on
tiempo_causas.cau_codigo = iif(juicios.id_tipo_causa is null, juicios.cau_codigo, juicios.id_tipo_causa)
WHERE cuit_demandado = @p_cuit
end
else
begin
DECLARE recorre3 CURSOR FOR
select distinct iif(juicios.id_tipo_causa is null, juicios.cau_codigo, juicios.id_tipo_causa) as id_tipo_causa, fecha_causa
FROM juicios
left join tiempo_causas on
tiempo_causas.cau_codigo = iif(juicios.id_tipo_causa is null, juicios.cau_codigo, juicios.id_tipo_causa)
WHERE cuit_demandado = @p_cuit
and juicios.fecha_causa > GETDATE()-(isnull(tiempo,5)*365)
end
OPEN recorre3
Fetch next from recorre3 INTO @p_causa, @p_fecha_causa
WHILE (@@FETCH_STATUS <> -1 )
BEGIN
if (@p_causa = 'CP') begin set @W_PETICION = @W_PETICION + 1 end
if (@p_causa = 'CRC') begin set @W_PROVEIDO = @W_PROVEIDO + 1 end
if (@p_causa = 'CC2') begin set @W_CONCLUIDO = @W_CONCLUIDO + 1 end
if (@p_causa = 'PQ') begin set @W_PEDIDO_QUIEBRA = @W_PEDIDO_QUIEBRA + 1 end
if (@p_causa = 'QDC') begin set @W_QUIEBRA = @W_QUIEBRA + 1 end
if (@p_causa in ('PQ', 'AP', 'AU', 'CC2', 'NCE', 'NCP', 'CRC', 'CAP',
'DS', 'DF', 'EQ', 'MF', 'CP', 'PRQ', 'QUI', 'QC', 'QCC',
'QDC', 'QDF', 'QDZ', 'RJ', 'IHR', 'RCP', 'VC', 'LF', 'LJ'))
begin
set @W_CYQ = @W_CYQ + 1
end
if (@p_causa = 'JE' and @p_fecha_causa >= @W_Fecha_Juicio)
begin
set @W_JEV = @W_JEV + 1
end
if (@p_causa = 'EH' and @p_fecha_causa >= @W_Fecha_Juicio)
begin
set @W_JEH = @W_JEH + 1
end
if (@p_fecha_causa >= @W_Fecha_Juicio)
begin
set @W_cant_judicial = @W_cant_judicial + 1
end
Fetch next from recorre3 INTO @p_causa,@p_fecha_causa
END
CLOSE recorre3
DEALLOCATE recorre3
set @p_nombre = (select top 1 nombre_persona from padrones where identificacion = @p_cuit and habilitado = 1)
set @p_nrodoc = (select top 1 convert(int,cuerpo_clave) from padrones where identificacion = @p_cuit and habilitado = 1 and identificacion like '2%')
set @score = null
set @motivos = null
----------------
insert into procesos_cuit_enrichment
(Cliente,
Fecha_Proceso,
Cuit,
Nro_documento,
Nombre,
Peticion_Concurso_Preventivo,
Concurso_Preventivo_Proveido,
Concurso_Concluido,
Instancias_Concursos_y_Quiebras,
Pedidos_de_Quiebras,
Quiebras,
Juicios_Ejecutivos_Ultimo_Anio,
Juicios_por_Honorarios_Ultimo_Anio,
Causas_Judiciales_Ultimo_Anio,
Ultimo_Mes_BCRA,
Cant_Bancos_Ultimo_Mes_BCRA,
Monto_Total_Ultimo_Mes_BCRA,
Peor_situacion_Ultimos_24_meses,
Mes_Peor_Situacion_Ultimos_24_meses,
Monto_Peor_Situacion_Ultimos_24_meses,
Cant_Cheques_Sin_Fondos_Sin_Levantar_Ultimo_Anio,
Monto_Cheques_Sin_Fondos_Sin_Levantar_Ultimo_Anio,
Cant_Cheques_Sin_Fondos_Levantados_Ultimo_Anio,
Monto_Cheques_Sin_Fondos_Levantados_Ultimo_Anio,
Cant_Cheques_Sin_Fondos_Sin_Levantar_Anios_Anteriores,
Monto_Cheqeus_Sin_Fondos_Sin_Levantar_Anios_Anteriores,
Cant_Cheques_Sin_Fondos_Levantados_Anios_Anteriores,
Monto_Cheques_Sin_Fondos_Levantados_Anios_Anteriores,
score,
motivos_score,
cant_empleados,
fecha_inscripcion,
fecha_contrato_social,
fecha_constitucion,
fecha_defuncion,
fecha_inicio_actividad)
values
(@id_cliente,
@fecha_proceso,
@p_Cuit,
@p_nrodoc,
@p_nombre,
@W_PETICION,
@W_PROVEIDO,
@W_CONCLUIDO,
@W_CYQ,
@W_PEDIDO_QUIEBRA,
@W_QUIEBRA,
@W_JEV,
@W_JEH,
@W_cant_judicial,
@ult_mes_bcra,
@cant_bcra,
@monto_bcra,
@peor,
@mes_peor,
@monto_peor_bcra,
@total_cheques_ua_SL,
@monto_cheques_ua_SL,
@total_cheques_ua_L,
@monto_cheques_ua_L,
@total_cheques_SL,
@monto_cheques_SL,
@total_cheques_L,
@monto_cheques_L,
@score,
@motivos,
@cant_empleados,
@fecha_inscripcion,
@fecha_contrato_social,
@fecha_constitucion,
@fecha_defuncion,
@fecha_inicio_actividad)
Fetch next from recorre1 INTO @p_cuit
END
CLOSE recorre1
DEALLOCATE recorre1
/*
select *
from procesos_cuit_enrichment a
left join procesos_cuit_enrichment_mas b on (b.cliente = a.cliente and b.fecha_proceso = a.fecha_proceso
and b.cuit = a.cuit)
where a.cliente = '861672084' and a.fecha_proceso = '2020-04-22'
-- BRG
select b.vendorid, a.*
from procesos_cuit_enrichment a
inner join screening_prov b on b.cliente = 7777 and b.nro_proceso = 4 and b.cuit = a.cuit
where a.cliente = 7777 and fecha_proceso = '2018-04-19'
*/
END
GO
GO
/*
obt
exec sp_procesos_cuit_enrichment '1627875378', '2024-12-23', 'T',null, 12
-- screening PAE cada 3 meses
empleados
exec sp_procesos_cuit_enrichment '2046807993', '2023-05-15' , 'T',null, 12
proveedores
exec sp_procesos_cuit_enrichment '2046807993', '2023-05-16' , 'T',null, 12
subcontratistas
exec sp_procesos_cuit_enrichment '2046807993', '2023-05-17' , 'T',null, 12
--
select distinct cliente from procesos_cuit where fecha = '2023-05-15'
*/
CREATE OR ALTER PROCEDURE dbo.sp_procesos_cuit_enrichment
@id_cliente int,
@fecha_proceso date,
@todo_retomar char(1), -- 'T' procesar todo el lote - 'R' retomar lote ya empezado - 'I' individual
@cuit_procesar varchar(20) = null,
@ultimos_12_24_meses int = 24
AS
BEGIN
SET NOCOUNT ON;
set @ultimos_12_24_meses = (@ultimos_12_24_meses - 1) * (-1)
declare @p_Cuit varchar(20)
declare @W_Fecha_Juicio date = convert(date, getdate())
set @W_Fecha_Juicio = dateadd(dd,-365,@W_Fecha_Juicio)
declare @W_PETICION int = 0
declare @W_PROVEIDO int = 0
declare @W_CONCLUIDO int = 0
declare @W_CYQ int = 0
declare @W_PEDIDO_QUIEBRA int = 0
declare @W_QUIEBRA int = 0
declare @W_JEV int = 0
declare @W_JEH int = 0
declare @W_JEC int= 0
declare @W_cant_judicial int = 0
declare @ult_mes_bcra char(7)
declare @ult_mes_bcra2 char(7)
declare @cant_bcra int = 0
declare @monto_bcra decimal(16,2)
declare @monto decimal(16,2)
declare @bcra_temp table (codigo_ent int)
declare @bcra_peor table (codigo_ent int, fec_inf varchar(6), situacion int, total decimal(16,2))
declare @p_codigo_ent int
declare @score decimal (5,2)
declare @motivos varchar(max)
declare @p_nombre varchar(200)
declare @p_nrodoc varchar(10)
declare @p_causa varchar(5)
declare @p_fecha_causa date
declare @p_5anios date = getdate() - (5*365)
declare @p_2anios date = getdate() - (2*365)
declare @p_1anio smalldatetime = getdate() - 365
declare @p_3meses date = getdate() - (90)
declare @dtStart date, @dtEnd date, @dtEnd_cuit date
declare @peor int
declare @mes_peor varchar(6)
declare @monto_peor_bcra decimal(16,2)
DECLARE @total_cheques_SL int = 0
declare @monto_cheques_SL decimal(16,2) = 0
DECLARE @total_cheques_L int = 0
declare @monto_cheques_L decimal(16,2) = 0
DECLARE @total_cheques_ua_SL int = 0
declare @monto_cheques_ua_SL decimal(16,2) = 0
DECLARE @total_cheques_ua_L int = 0
declare @monto_cheques_ua_L decimal(16,2) = 0
declare @empleados_cuit table (
hombres decimal(10,2),
mujeres decimal(10,2),
total decimal(10,2),
fecha varchar(10))
declare @cant_empleados int = 0
declare @fecha_inscripcion varchar(50) = null
declare @fecha_contrato_social varchar(50) = null
declare @fecha_constitucion varchar(50) = null
declare @fecha_defuncion date = null
declare @fecha_inicio_actividad date = null
if (@todo_retomar = 'T')
begin
delete from procesos_cuit_enrichment
where cliente = @id_cliente
and fecha_proceso = @fecha_proceso
DECLARE recorre1 CURSOR
FOR
SELECT distinct cuit FROM procesos_cuit
where cliente = @id_cliente
and fecha = @fecha_proceso
--and cuit like '2%'
ORDER BY cuit
end
if (@todo_retomar = 'R')
begin
DECLARE recorre1 CURSOR
FOR
SELECT distinct cuit FROM procesos_cuit
where cliente = @id_cliente
and fecha = @fecha_proceso
and cuit > (select max(cuit) from procesos_cuit_enrichment where cliente = @id_cliente and fecha_proceso = @fecha_proceso)
/*
and cuit in (
'30715609653',
'30715642553',
'33715640649'
)
*/
ORDER BY cuit
end
if (@todo_retomar = 'I')
begin
delete from procesos_cuit_enrichment
where cliente = @id_cliente
and fecha_proceso = @fecha_proceso
and cuit = @cuit_procesar
DECLARE recorre1 CURSOR
FOR
SELECT distinct cuit FROM procesos_cuit
where cliente = @id_cliente
and fecha = @fecha_proceso
and cuit = @cuit_procesar
end
OPEN recorre1
Fetch next from recorre1 INTO @p_cuit
WHILE (@@FETCH_STATUS <> -1 )
BEGIN
set @W_PETICION = 0
set @W_PROVEIDO = 0
set @W_CONCLUIDO= 0
set @W_CYQ = 0
set @W_PEDIDO_QUIEBRA = 0
set @W_QUIEBRA = 0
set @W_JEV = 0
set @W_JEH = 0
set @W_JEC = 0
set @W_cant_judicial = 0
set @ult_mes_bcra = null
set @ult_mes_bcra2 = null
set @cant_bcra = 0
set @monto_bcra= 0
set @monto = 0
set @score = 0
set @motivos = null
set @fecha_inscripcion = null
set @fecha_contrato_social = null
set @fecha_constitucion = null
set @fecha_defuncion = null
select @fecha_constitucion = isnull(fecha_cons,''),
@fecha_inscripcion = isnull(fecha_ins_rpc,''),
@fecha_contrato_social = isnull(fecha_contrato_social,'')
from datos_sociedades
where cuit = @p_Cuit
set @fecha_constitucion = LTRIM(RTRIM(@fecha_constitucion))
set @fecha_contrato_social = LTRIM(RTRIM(@fecha_contrato_social))
set @fecha_inscripcion = LTRIM(RTRIM(@fecha_inscripcion))
if (@fecha_constitucion = '' or @fecha_constitucion = '1901-01-01') set @fecha_constitucion = null
if (@fecha_inscripcion = '' or @fecha_inscripcion = '1901-01-01') set @fecha_inscripcion = null
if (@fecha_contrato_social = '' or @fecha_contrato_social = '1901-01-01') set @fecha_contrato_social = null
if (@fecha_inscripcion is null)
begin
select @fecha_inscripcion = isnull(c02_fecha_ins_rpc,'')
from DATOS_PERSONAS
where c01_cuit = @p_Cuit
end
set @fecha_inscripcion = LTRIM(RTRIM(@fecha_inscripcion))
if (@fecha_inscripcion = '' or @fecha_inscripcion = '1901-01-01') set @fecha_inscripcion = null
if (@fecha_inscripcion is null)
begin
select @fecha_inscripcion = convert(varchar(50),min(fecha_inscripcion))
from padron_impuestos
where id_padron = (select id_padron from padrones where identificacion = @p_Cuit and habilitado = 1)
and fecha_inscripcion != '1901-01-01'
end
-- fecha de inicio actividad toma la menor fecha de los impuestos
select @fecha_inicio_actividad = convert(varchar(50),min(fecha_inscripcion))
from padron_impuestos
where id_padron = (select id_padron from padrones where identificacion = @p_Cuit and habilitado = 1)
and fecha_inscripcion != '1901-01-01'
if (@fecha_inscripcion = '' or @fecha_inscripcion = '1901-01-01') set @fecha_inscripcion = null
if (@fecha_inscripcion is null)
begin
if (@fecha_contrato_social is not null) set @fecha_inscripcion = @fecha_constitucion
end
if (@fecha_inscripcion = '' or @fecha_inscripcion = '1901-01-01') set @fecha_inscripcion = null
if (@fecha_inscripcion is null)
begin
if (@fecha_constitucion is not null) set @fecha_inscripcion = @fecha_constitucion
end
select @fecha_defuncion = fecha_defuncion
from DATOS_PERSONAS
where c01_cuit = @p_Cuit
insert into @empleados_cuit
exec obtener_empleados @p_cuit
set @cant_empleados = (select total from @empleados_cuit)
delete from @empleados_cuit
set @ult_mes_bcra = (select max(fec_inf) from cendeu where iden = @p_cuit and vigente = 1)
set @ult_mes_bcra2 = (select max(fec_inf) from cendeu_temp where iden = @p_cuit and vigente = 1)
if (@ult_mes_bcra2 > @ult_mes_bcra or (@ult_mes_bcra2 is not null and @ult_mes_bcra is null))
begin set @ult_mes_bcra = @ult_mes_bcra2 end
delete from @bcra_temp
insert into @bcra_temp
select distinct CONVERT(int,codigo_ent)
from cendeu where iden = @p_cuit and fec_inf = @ult_mes_bcra and vigente = 1
union
select distinct CONVERT(int,codigo_ent)
from cendeu_temp where iden = @p_cuit and fec_inf = @ult_mes_bcra and vigente = 1
DECLARE recorre2 CURSOR FOR
SELECT distinct codigo_ent
FROM @bcra_temp
set @monto_bcra = 0
set @cant_bcra = 0
OPEN recorre2
Fetch next from recorre2 INTO @p_codigo_ent
WHILE (@@FETCH_STATUS <> -1 )
BEGIN
set @cant_bcra = @cant_bcra + 1
set @monto = 0
set @monto = (select top 1 ((prestamos+particip+garotor+o_cptos+deuda_total)) as total
from cendeu_temp
where iden = @p_cuit and fec_inf = @ult_mes_bcra and vigente = 1 and convert(int,codigo_ent) = @p_codigo_ent
order by id_cendeu desc)
if (@monto = 0 or @monto is null)
begin
set @monto = (select top 1 ((prestamos+particip+garotor+o_cptos+deuda_total)) as total
from cendeu
where iden = @p_cuit and fec_inf = @ult_mes_bcra and vigente = 1 and convert(int,codigo_ent) = @p_codigo_ent
order by id_cendeu desc)
end
if (@monto is not null)
begin
set @monto_bcra = @monto_bcra + (@monto * 1000)
end
Fetch next from recorre2 INTO @p_codigo_ent
END
CLOSE recorre2
DEALLOCATE recorre2
if (@ult_mes_bcra is not null) begin set @ult_mes_bcra = SUBSTRING(@ult_mes_bcra,1,4) + '-' + SUBSTRING(@ult_mes_bcra,5,2) end
-- Peor situacion en los ultimos 12/24 meses
select @dtEnd = (select max(fecha_informacion) from fuentes_procesadas where fuente = 'cendeu' and visible = '1')
select @dtEnd_cuit = convert(date,isnull(max(cendeu.fec_inf),'200112')+'01') from cendeu where iden = @p_cuit
if (@dtEnd_cuit > @dtEnd)
begin
set @dtEnd = @dtEnd_cuit
end
--set @ultimos_12_24_meses = (@ultimos_12_24_meses - 1) * (-1)
set @dtStart = dateadd(month, @ultimos_12_24_meses, @dtEnd)
--set @dtStart = dateadd(month, (-23), @dtEnd)
--set @dtStart = dateadd(month, (-11), @dtEnd)
delete from @bcra_peor
insert into @bcra_peor
select distinct CONVERT(int,codigo_ent),
fec_inf,
substring(convert(char(2),convert(int,situacion)),1,1) as situacion,
((prestamos+particip+garotor+o_cptos+deuda_total)) as total
from cendeu
where iden = @p_cuit
and vigente = 1
and fec_inf in (select convert(varchar(4),datepart(year,dateadd(month, number, @dtStart)))
+ right('0' + rtrim(datepart(MONTH,dateadd(month, number, @dtStart))),2)
as periodo
from
(select distinct number from master.dbo.spt_values where name is null) n
where dateadd(month, number, @dtStart) <= @dtEnd)
and not exists (select * from cendeu b
where b.iden = cendeu.iden
and cast(b.codigo_ent as int) = cast(cendeu.codigo_ent as int)
and b.fec_inf = cendeu.fec_inf
and b.vigente = cendeu.vigente
and (isnull(b.id_fuente,1)) = (isnull(cendeu.id_fuente,1))
and b.id_cendeu < cendeu.id_cendeu)
and not exists (select * from cendeu b1 where b1.iden = cendeu.iden and cast(b1.codigo_ent as int) = cast(cendeu.codigo_ent as int) and b1.fec_inf = cendeu.fec_inf and b1.vigente = 1 and b1.id_fuente = 2 and b1.id_cendeu != cendeu.id_cendeu)
and not (
(cast(fec_inf+'01' as date) < @p_5anios)
OR
(cast(fec_inf+'01' as date) < @p_2anios
and
--not (convert(date,created) > @p_3meses and convert(date,modified) > @p_3meses))
not exists (select * from cendeu z where z.iden = cendeu.iden and cast(z.codigo_ent as int) = cast(cendeu.codigo_ent as int) and (convert(date,z.created) > @p_3meses)))
OR
(cast(fec_inf+'01' as date) < @p_2anios
and
exists (select * from cendeu_cancela c
where c.iden = cendeu.iden
and cast(c.codigo_ent as int) = cast(cendeu.codigo_ent as int)
and cast(fec_inf+'01' as date) between convert(date,c.fec_inf_desde) and convert(date,c.fec_inf_hasta)
and c.vigente = '1'))
)
union
select distinct CONVERT(int,codigo_ent),
fec_inf,
substring(convert(char(2),convert(int,situacion)),1,1) as situacion,
((prestamos+particip+garotor+o_cptos+deuda_total)) as total
from cendeu_temp
where iden = @p_cuit
and vigente = 1
and fec_inf in (select convert(varchar(4),datepart(year,dateadd(month, number, @dtStart)))
+ right('0' + rtrim(datepart(MONTH,dateadd(month, number, @dtStart))),2)
as periodo
from
(select distinct number from master.dbo.spt_values where name is null) n
where dateadd(month, number, @dtStart) <= @dtEnd)
and not exists (select * from cendeu_temp b
where b.iden = cendeu_temp.iden
and cast(b.codigo_ent as int) = cast(cendeu_temp.codigo_ent as int)
and b.fec_inf = cendeu_temp.fec_inf
and b.vigente = cendeu_temp.vigente
and (isnull(b.id_fuente,1)) = (isnull(cendeu_temp.id_fuente,1))
and b.id_cendeu < cendeu_temp.id_cendeu)
and not exists (select * from cendeu_temp b1 where b1.iden = cendeu_temp.iden and cast(b1.codigo_ent as int) = cast(cendeu_temp.codigo_ent as int) and b1.fec_inf = cendeu_temp.fec_inf and b1.vigente = 1 and b1.id_fuente = 2 and b1.id_cendeu != cendeu_temp.id_cendeu)
and not (
(cast(fec_inf+'01' as date) < @p_5anios)
OR
(cast(fec_inf+'01' as date) < @p_2anios
and
--not (convert(date,created) > @p_3meses and convert(date,modified) > @p_3meses))
not exists (select * from cendeu_temp z where z.iden = cendeu_temp.iden and cast(z.codigo_ent as int) = cast(cendeu_temp.codigo_ent as int) and (convert(date,z.created) > @p_3meses)))
OR
(cast(fec_inf+'01' as date) < @p_2anios
and
exists (select * from cendeu_cancela c
where c.iden = cendeu_temp.iden
and cast(c.codigo_ent as int) = cast(cendeu_temp.codigo_ent as int)
and cast(fec_inf+'01' as date) between convert(date,c.fec_inf_desde) and convert(date,c.fec_inf_hasta)
and c.vigente = '1'))
)
set @peor = null
set @mes_peor = null
set @peor = (select MAX(situacion) from @bcra_peor)
set @mes_peor = (select max(fec_inf) from @bcra_peor where situacion = @peor)
DECLARE recorre21 CURSOR FOR
SELECT distinct codigo_ent
FROM @bcra_peor
where situacion = @peor
and fec_inf = @mes_peor
set @monto_peor_bcra = 0
OPEN recorre21
Fetch next from recorre21 INTO @p_codigo_ent
WHILE (@@FETCH_STATUS <> -1 )
BEGIN
set @monto = 0
set @monto = (select top 1 ((prestamos+particip+garotor+o_cptos+deuda_total)) as total
from cendeu_temp cendeu
where iden = @p_cuit
and fec_inf = @mes_peor
and substring(convert(char(2),convert(int,situacion)),1,1) = @peor
and vigente = 1 and convert(int,codigo_ent) = @p_codigo_ent
and not exists (select * from cendeu_temp b1 where b1.iden = cendeu.iden and cast(b1.codigo_ent as int) = cast(cendeu.codigo_ent as int) and b1.fec_inf = cendeu.fec_inf and b1.vigente = 1 and b1.id_fuente = 2 and b1.id_cendeu != cendeu.id_cendeu)
and not (
(cast(fec_inf+'01' as date) < @p_5anios)
OR
(cast(fec_inf+'01' as date) < @p_2anios
and
--not (convert(date,created) > @p_3meses and convert(date,modified) > @p_3meses))
not exists (select * from cendeu_temp z where z.iden = cendeu.iden and cast(z.codigo_ent as int) = cast(cendeu.codigo_ent as int) and (convert(date,z.created) > @p_3meses)))
OR
(cast(fec_inf+'01' as date) < @p_2anios
and
exists (select * from cendeu_cancela c
where c.iden = cendeu.iden
and cast(c.codigo_ent as int) = cast(cendeu.codigo_ent as int)
and cast(fec_inf+'01' as date) between convert(date,c.fec_inf_desde) and convert(date,c.fec_inf_hasta)
and c.vigente = '1'))
)
order by id_cendeu desc)
if (@monto = 0 or @monto is null)
begin
set @monto = (select top 1 ((prestamos+particip+garotor+o_cptos+deuda_total)) as total
from cendeu
where iden = @p_cuit
and fec_inf = @mes_peor
and substring(convert(char(2),convert(int,situacion)),1,1) = @peor
and vigente = 1 and convert(int,codigo_ent) = @p_codigo_ent
and not exists (select * from cendeu b1 where b1.iden = cendeu.iden and cast(b1.codigo_ent as int) = cast(cendeu.codigo_ent as int) and b1.fec_inf = cendeu.fec_inf and b1.vigente = 1 and b1.id_fuente = 2 and b1.id_cendeu != cendeu.id_cendeu)
and not (
(cast(fec_inf+'01' as date) < @p_5anios)
OR
(cast(fec_inf+'01' as date) < @p_2anios
and
--not (convert(date,created) > @p_3meses and convert(date,modified) > @p_3meses))
not exists (select * from cendeu z where z.iden = cendeu.iden and cast(z.codigo_ent as int) = cast(cendeu.codigo_ent as int) and (convert(date,z.created) > @p_3meses)))
OR
(cast(fec_inf+'01' as date) < @p_2anios
and
exists (select * from cendeu_cancela c
where c.iden = cendeu.iden
and cast(c.codigo_ent as int) = cast(cendeu.codigo_ent as int)
and cast(fec_inf+'01' as date) between convert(date,c.fec_inf_desde) and convert(date,c.fec_inf_hasta)
and c.vigente = '1'))
)
order by id_cendeu desc)
end
if (@monto is not null)
begin
set @monto_peor_bcra = @monto_peor_bcra + (@monto * 1000)
end
Fetch next from recorre21 INTO @p_codigo_ent
END
CLOSE recorre21
DEALLOCATE recorre21
-- Cheques sin fondo sin levantar aƱos anteriores
select @total_cheques_SL = count(*) ,
@monto_cheques_SL = SUM(ChequesBCRA.importe)
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 visible = 1
AND fecha_levantamiento is null
AND fecha_rechazo < @p_1anio
AND ChequesBCRA.id_causa = 2
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)
)
)
-- Cheques sin fondo levantados aƱos anteriores
select @total_cheques_L = count(*) ,
@monto_cheques_L = SUM(ChequesBCRA.importe)
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 visible = 1
AND fecha_levantamiento is not null
AND fecha_rechazo < @p_1anio
AND ChequesBCRA.id_causa = 2
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)
)
)
-- Cheques sin fondo sin levantar ultimo aƱo
select @total_cheques_ua_SL = count(*) ,
@monto_cheques_ua_SL = SUM(ChequesBCRA.importe)
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 visible = 1
AND fecha_levantamiento is null
AND fecha_rechazo >= @p_1anio
AND ChequesBCRA.id_causa = 2
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)
)
)
-- Cheques sin fondo levantados aƱos anteriores
select @total_cheques_ua_L = count(*) ,
@monto_cheques_ua_L = SUM(ChequesBCRA.importe)
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 visible = 1
AND fecha_levantamiento is not null
AND fecha_rechazo >= @p_1anio
AND ChequesBCRA.id_causa = 2
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 top 100 fecha_causa, cau_codigo, id_tipo_causa, * from juicios where id_tipo_causa is null
-- select count(*) from juicios where id_tipo_causa is null
-- select * from juicios where cuit_demandado = '30504732831'
if (@id_cliente = 8888) -- No limita tiempo de los Juicios
begin
SET @W_Fecha_Juicio = '1900-01-01'
DECLARE recorre3 CURSOR FOR
select distinct iif(juicios.id_tipo_causa is null, juicios.cau_codigo, juicios.id_tipo_causa) as id_tipo_causa, fecha_causa
FROM juicios
left join tiempo_causas on
tiempo_causas.cau_codigo = iif(juicios.id_tipo_causa is null, juicios.cau_codigo, juicios.id_tipo_causa)
WHERE cuit_demandado = @p_cuit
end
else
begin
DECLARE recorre3 CURSOR FOR
select distinct iif(juicios.id_tipo_causa is null, juicios.cau_codigo, juicios.id_tipo_causa) as id_tipo_causa, fecha_causa
FROM juicios
left join tiempo_causas on
tiempo_causas.cau_codigo = iif(juicios.id_tipo_causa is null, juicios.cau_codigo, juicios.id_tipo_causa)
WHERE cuit_demandado = @p_cuit
and juicios.fecha_causa > GETDATE()-(isnull(tiempo,5)*365)
end
OPEN recorre3
Fetch next from recorre3 INTO @p_causa, @p_fecha_causa
WHILE (@@FETCH_STATUS <> -1 )
BEGIN
if (@p_causa = 'CP') begin set @W_PETICION = @W_PETICION + 1 end
if (@p_causa = 'CRC') begin set @W_PROVEIDO = @W_PROVEIDO + 1 end
if (@p_causa = 'CC2') begin set @W_CONCLUIDO = @W_CONCLUIDO + 1 end
if (@p_causa = 'PQ') begin set @W_PEDIDO_QUIEBRA = @W_PEDIDO_QUIEBRA + 1 end
if (@p_causa = 'QDC') begin set @W_QUIEBRA = @W_QUIEBRA + 1 end
if (@p_causa in ('PQ', 'AP', 'AU', 'CC2', 'NCE', 'NCP', 'CRC', 'CAP',
'DS', 'DF', 'EQ', 'MF', 'CP', 'PRQ', 'QUI', 'QC', 'QCC',
'QDC', 'QDF', 'QDZ', 'RJ', 'IHR', 'RCP', 'VC', 'LF', 'LJ'))
begin
set @W_CYQ = @W_CYQ + 1
end
if (@p_causa = 'JE' and @p_fecha_causa >= @W_Fecha_Juicio)
begin
set @W_JEV = @W_JEV + 1
end
if (@p_causa = 'EH' and @p_fecha_causa >= @W_Fecha_Juicio)
begin
set @W_JEH = @W_JEH + 1
end
if (@p_fecha_causa >= @W_Fecha_Juicio)
begin
set @W_cant_judicial = @W_cant_judicial + 1
end
Fetch next from recorre3 INTO @p_causa,@p_fecha_causa
END
CLOSE recorre3
DEALLOCATE recorre3
set @p_nombre = (select top 1 nombre_persona from padrones where identificacion = @p_cuit and habilitado = 1)
set @p_nrodoc = (select top 1 convert(int,cuerpo_clave) from padrones where identificacion = @p_cuit and habilitado = 1 and identificacion like '2%')
set @score = null
set @motivos = null
----------------
insert into procesos_cuit_enrichment
(Cliente,
Fecha_Proceso,
Cuit,
Nro_documento,
Nombre,
Peticion_Concurso_Preventivo,
Concurso_Preventivo_Proveido,
Concurso_Concluido,
Instancias_Concursos_y_Quiebras,
Pedidos_de_Quiebras,
Quiebras,
Juicios_Ejecutivos_Ultimo_Anio,
Juicios_por_Honorarios_Ultimo_Anio,
Causas_Judiciales_Ultimo_Anio,
Ultimo_Mes_BCRA,
Cant_Bancos_Ultimo_Mes_BCRA,
Monto_Total_Ultimo_Mes_BCRA,
Peor_situacion_Ultimos_24_meses,
Mes_Peor_Situacion_Ultimos_24_meses,
Monto_Peor_Situacion_Ultimos_24_meses,
Cant_Cheques_Sin_Fondos_Sin_Levantar_Ultimo_Anio,
Monto_Cheques_Sin_Fondos_Sin_Levantar_Ultimo_Anio,
Cant_Cheques_Sin_Fondos_Levantados_Ultimo_Anio,
Monto_Cheques_Sin_Fondos_Levantados_Ultimo_Anio,
Cant_Cheques_Sin_Fondos_Sin_Levantar_Anios_Anteriores,
Monto_Cheqeus_Sin_Fondos_Sin_Levantar_Anios_Anteriores,
Cant_Cheques_Sin_Fondos_Levantados_Anios_Anteriores,
Monto_Cheques_Sin_Fondos_Levantados_Anios_Anteriores,
score,
motivos_score,
cant_empleados,
fecha_inscripcion,
fecha_contrato_social,
fecha_constitucion,
fecha_defuncion,
fecha_inicio_actividad)
values
(@id_cliente,
@fecha_proceso,
@p_Cuit,
@p_nrodoc,
@p_nombre,
@W_PETICION,
@W_PROVEIDO,
@W_CONCLUIDO,
@W_CYQ,
@W_PEDIDO_QUIEBRA,
@W_QUIEBRA,
@W_JEV,
@W_JEH,
@W_cant_judicial,
@ult_mes_bcra,
@cant_bcra,
@monto_bcra,
@peor,
@mes_peor,
@monto_peor_bcra,
@total_cheques_ua_SL,
@monto_cheques_ua_SL,
@total_cheques_ua_L,
@monto_cheques_ua_L,
@total_cheques_SL,
@monto_cheques_SL,
@total_cheques_L,
@monto_cheques_L,
@score,
@motivos,
@cant_empleados,
@fecha_inscripcion,
@fecha_contrato_social,
@fecha_constitucion,
@fecha_defuncion,
@fecha_inicio_actividad)
Fetch next from recorre1 INTO @p_cuit
END
CLOSE recorre1
DEALLOCATE recorre1
/*
select *
from procesos_cuit_enrichment a
left join procesos_cuit_enrichment_mas b on (b.cliente = a.cliente and b.fecha_proceso = a.fecha_proceso
and b.cuit = a.cuit)
where a.cliente = '861672084' and a.fecha_proceso = '2020-04-22'
-- BRG
select b.vendorid, a.*
from procesos_cuit_enrichment a
inner join screening_prov b on b.cliente = 7777 and b.nro_proceso = 4 and b.cuit = a.cuit
where a.cliente = 7777 and fecha_proceso = '2018-04-19'
*/
END
GO