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_client_id | int | 4 | |
| @p_seccion | int | 4 | |
| @p_cuit | varchar | 20 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*
select * from monitoreos_resultados where seccion_mantenimiento = 7 order by fecha desc
*/
/*
exec [monitoreo_datos] 2254875,18,'20132146234'
exec [monitoreo_datos] 1299789112,10,'30587053221'
select top 100 * from monitoreos_resultados where seccion_mantenimiento = 9 order by fecha desc
select top 1000 * from clae order by created desc
select * from monitoreos where cuit = '20132146234' and fecha_vigencia_mantenimiento > getdate()
select * from cendeu
select fecha, count(*) from monitoreos_resultados where fecha >= '2024-11-01' group by fecha
select fecha_de_plan_de_pagos, * from arba where cuit = '20299228895' and id_arba = 561654
*/
/*
Se pasa como parámetro el código de cliente, seccion, cuit
devuelve novedades de esa seccion del ultimo año, que sean posteriores a la fecha de inicio de su monitoreo para ese cliente
*/
/* Secciones
16 Credistafe
2 Formales
5 Comerciales
6 Fiscales
7 Contables
8 Relaciones
9 Legales
10 Bancos
11 Comex
12 Choferes
15 fuentes_externas
17 Cencosud
18 Cheques
*/
/*
declare @fec int = null
select SUBSTRING(convert(char,@fec),5,2) + '/' + SUBSTRING(convert(char,@fec),1,4)
*/
CREATE OR ALTER PROCEDURE dbo.monitoreo_datos
@p_client_id int,
@p_seccion int,
@p_cuit varchar(20)
AS
BEGIN
SET NOCOUNT ON;
declare @html varchar(5000)
declare @resultado table (nombre_persona varchar(500), cuit varchar(22), seccion int,
ultima_novedad date, fin_monitoreo date, inicio_monitoreo date,
tabla varchar(100), id_tabla int)
declare @nombre varchar(500),
@cuit varchar(22),
@ultima_novedad date,
@fin_monitoreo date,
@inicio_monitoreo date,
@seccion int
declare @fecha datetime, @tabla varchar(100), @id_tabla int, @id_monitoreo int
declare @bancos table (fecha_novedad date, cuit varchar(20), id_cendeu_a int, fec_inf_a int, periodo_a char(7),
id_cendeu_b int, fec_inf_b int, periodo_b char(7),
cod_banco int, banco varchar(500), situacion_actual char(1), situacion_anterior char(1), deuda decimal(20,2))
declare @cheques table (fecha_novedad date, id_cheque int, causal varchar(50),
CUIT_firmante varchar(20), CUIT_relacionado varchar(20),
nro_cheque varchar(100), importe varchar(100),
fecha_rechazo varchar(100), fecha_pago_multa varchar(100), fecha_levantamiento varchar(100))
declare @balances table (fecha_novedad date, cuit varchar(20), id_balance int, detalle varchar(100), fecha_balance varchar(100))
declare @legales table (fecha_novedad date, id_juicio int, cuit varchar(20), nombre varchar(500),
fecha_causa varchar(100), causa varchar(200),
cuit_actor varchar(20), nombre_actor varchar(500))
declare @clae table (fecha_novedad date, cuit varchar(20), periodo varchar(10), actividad_alta varchar(500), actividad_baja varchar(500))
--declare @comex table (fecha_novedad date, cuit varchar(20), periodo varchar(10), importaciones varchar(100), moneda_importaciones varchar(100), exportaciones varchar(100), moneda_exportaciones varchar(100))
/* 24/01/2025: Felix pidio cambiar, que las importaciones muestre todas las columnas de comercio_exterior */
declare @comex table (fecha_novedad date, cuit varchar(20), periodo varchar(10),
importaciones_consumo varchar(100),
importaciones_temporal varchar(100),
importaciones_deposito varchar(100),
importaciones_zona_franca varchar(100),
importaciones_total varchar(100),
exportaciones varchar(100))
declare @arba table (fecha_novedad date, id_arba int, cuit varchar(20),
impuesto varchar(200),
objeto varchar(16),
nro_interno varchar(10),
fecha_inicio_juicio varchar(200),
importe_deuda varchar(200),
fecha_cancelacion varchar(200),
fecha_plan_pagos varchar(200),
cancelacion_del_juicio varchar(200),
estado_medida_cautelar varchar(200),
estado_plan_pagos varchar(200))
declare @socios table (fecha_novedad date, cuit_empresa varchar(20), nombre_empresa varchar(200),
cuit_socio varchar(20), nombre_socio varchar(200), cargo varchar(100), ultimo_directorio char(2))
declare C_Cursor CURSOR FOR
select
nombre_persona,
cuit,
monitoreos.seccion_mantenimiento,
convert(date,fecha_desde) as fecha_desde,
convert(date,fecha_vigencia_mantenimiento) as fin_monitoreo
from monitoreos
left join padrones on (padrones.identificacion = cuit and
padrones.habilitado = 1 and
padrones.identificador in (select identificador from identificadores where country_code = 'AR'))
where monitoreos.cliente = @p_client_id
and iif(@p_seccion in (8,2) ,1,(iif(seccion_mantenimiento = @p_seccion,1,0))) = 1
and cuit = @p_cuit
and monitoreos.visible = 1
and monitoreos.fecha_desde <= getdate() and monitoreos.fecha_vigencia_mantenimiento >= getdate()
order by nombre_persona
OPEN C_Cursor
FETCH NEXT FROM C_Cursor INTO @nombre, @cuit, @seccion, @inicio_monitoreo, @fin_monitoreo
WHILE @@fetch_status = 0
BEGIN
if (@p_seccion = 8) set @seccion = 8
if (@p_seccion = 2) set @seccion = 2
declare C_Resultados CURSOR FOR
SELECT fecha, tabla, id_tabla, id_monitoreo, html
FROM monitoreos_resultados
WHERE Cuit = @cuit
and Fecha > getdate() - 365
--and Fecha > @inicio_monitoreo
/* 14/02/2025: Busca todas las novedades que existan en momentos que estubo o está activa esa sección en el monitoreo */
/* pero que sean del ultimo año, como siempre, por eso el Fecha > getdate() - 365 lo dejamos... */
and exists (select *
from monitoreos b
where b.cliente = @p_client_id and b.cuit = @p_cuit and
b.seccion_mantenimiento = @seccion and
monitoreos_resultados.Fecha between b.fecha_desde and b.fecha_vigencia_mantenimiento)
/**/
and seccion_mantenimiento = @seccion
order by fecha desc, id_monitoreo desc
OPEN C_Resultados
FETCH NEXT FROM C_Resultados INTO @fecha, @tabla, @id_tabla, @id_monitoreo, @html
WHILE @@fetch_status = 0
BEGIN
if (@p_seccion = 10) -- BANCOS
begin
insert into @bancos
select convert(date, @fecha), a.iden, a.id_cendeu, a.fec_inf,
iif(a.fec_inf is null, null, SUBSTRING(convert(char,a.fec_inf),5,2) + '/' + SUBSTRING(convert(char,a.fec_inf),1,4)) as periodo_a,
b.id_cendeu, b.fec_inf,
iif(b.fec_inf is null, null, SUBSTRING(convert(char,b.fec_inf),5,2) + '/' + SUBSTRING(convert(char,b.fec_inf),1,4)) as periodo_b,
convert(int,a.codigo_ent) as cod_banco, isnull(nombre_corto,nombre) as banco,
convert(int,a.situacion) as situacion,
convert(int,b.situacion) as situacion_anterior,
((a.prestamos+a.particip+a.garotor+a.o_cptos+a.deuda_total)) as deuda
from cendeu a
inner join EntidadesBancarias on convert(int,a.codigo_ent) = EntidadesBancarias.id_banco
left join cendeu b on (b.iden = a.iden and convert(int,a.codigo_ent) = convert(int,b.codigo_ent) and b.vigente = 1
and b.fec_inf = (select max(fec_inf)
from cendeu c
where c.iden = a.iden and convert(int,a.codigo_ent) = convert(int,c.codigo_ent)
and c.fec_inf < a.fec_inf))
where a.id_cendeu = @id_tabla /* and a.vigente = 1 */
and (b.iden is null or convert(int,b.situacion) != convert(int,a.situacion))
end
if (@p_seccion != 10)
begin
--> Vamos a tomar los datos del html guardado en monitoreos_resultados, porque puede haber cambiado el registro en la tabla correspondiente
--> menos en bancos, porque queremos que controle el cambio de situación
set @html = replace (@html, '<td align=right>','<td>')
set @html = replace (@html, '<td align=center>','<td>')
set @html = replace (@html, '<td align=left>','<td>')
set @html = replace (@html, '<td align=middle>','<td>')
set @html = replace (@html, '<td style="border-left: 1px solid #cccccc;" align=right>','<td>')
set @html = replace (@html, '</td><td>','|')
set @html = replace (@html, '<td>','') -- inicio
set @html = replace (@html, '</td>','') -- fin
end
if (@p_seccion = 18) -- CHEQUES
begin
--> Tomamos los datos del html guardado en monitoreos_resultados, porque puede haber cambiado el registro en la tabla correspondiente
declare @Causal varchar(100) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 1)
declare @CUIT_Firmante varchar(100) = (select item from dbo.DelimitedSplit8K(@html,'|') where itemNumber = 2)
declare @CUIT_Relacionado varchar(100) = (select item from dbo.DelimitedSplit8K(@html,'|') where itemNumber = 3)
declare @Nro_Cheque varchar(100) = (select item from dbo.DelimitedSplit8K(@html,'|') where itemNumber = 4)
declare @Importe varchar(100) = (select item from dbo.DelimitedSplit8K(@html,'|') where itemNumber = 5)
declare @Fecha_de_Rechazo varchar(100) = (select item from dbo.DelimitedSplit8K(@html,'|') where itemNumber = 6)
declare @Fecha_de_Pago_de_Multa varchar(100) = (select item from dbo.DelimitedSplit8K(@html,'|') where itemNumber = 7)
declare @Fecha_de_Levantamiento varchar(100) = (select item from dbo.DelimitedSplit8K(@html,'|') where itemNumber = 8)
insert into @cheques (fecha_novedad, id_cheque, causal, CUIT_firmante, CUIT_relacionado,
nro_cheque, importe,
fecha_rechazo, fecha_pago_multa, fecha_levantamiento)
select convert(date, @fecha), @id_tabla, @Causal, @CUIT_Firmante, @CUIT_Relacionado,
@Nro_Cheque, @Importe, @Fecha_de_Rechazo, @Fecha_de_Pago_de_Multa, @Fecha_de_Levantamiento
/* --> Si queremos tomar los datos de la tabla, pero ese id de registro puede haber cambiado
insert into @cheques (fecha_novedad, id_cheque, causal, CUIT_firmante, CUIT_relacionado,
nro_cheque, importe,
fecha_rechazo, fecha_pago_multa, fecha_levantamiento)
select convert(date, @fecha), id_cheque, Cheques_causales.codigo as causal,
cuit_firmante, cuit_relacionado,
nro_cheque, importe,
fecha_rechazo, fecha_pago, fecha_levantamiento
from chequesBCRA
INNER JOIN Cheques_causales ON (ChequesBCRA.id_causa = Cheques_causales.id_causa)
where id_cheque = @id_tabla and visible = 1
*/
end
if (@p_seccion = 7) -- CONTABLES
begin
declare @detalle varchar(100) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 1)
declare @fecha_balance varchar(100) = (select item from dbo.DelimitedSplit8K(@html,'|') where itemNumber = 2)
insert into @balances (fecha_novedad, cuit, id_balance, detalle, fecha_balance)
select convert(date, @fecha), @cuit, @id_tabla, @detalle, @fecha_balance
/*
insert into @balances (fecha_novedad, cuit, id_balance, fecha_balance)
select convert(date, @fecha), cuit, id_balance, fecha_balance
from balances_contables
where id_balance = @id_tabla and visible = 1 and estado = 'PUBLICADO'
*/
end
if (@p_seccion = 9) -- LEGALES
begin
declare @fecha_causa varchar(100) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 1)
declare @causa varchar(100) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 2)
declare @cuit_actor varchar(100) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 3)
declare @nombre_actor varchar(500) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 4)
insert into @legales (fecha_novedad, id_juicio, cuit, nombre, fecha_causa, causa, cuit_actor, nombre_actor)
select convert(date, @fecha), @id_tabla, @cuit, @nombre, @fecha_causa, @causa, @cuit_actor, @nombre_actor
/*
insert into @legales (fecha_novedad, id_juicio, cuit, fecha_causa, causa, cuit_actor, nombre_actor)
select convert(date, @fecha), id_juicio, cuit_demandado,
fecha_causa, tipos_causas.nombre_causa as causa,
cuit_actor,
pf.nombre_persona as nombre_actor
from juicios
inner join tipos_causas on tipos_causas.id_tipo_causa = juicios.id_tipo_causa
left join tiempo_causas on tiempo_causas.cau_codigo = juicios.id_tipo_causa
left join padrones AS pf ON (pf.identificacion = cuit_actor)
where id_juicio = @id_tabla and visible = 1
and juicios.fecha_causa > GETDATE()-(isnull(tiempo,5)*365)
*/
end
if (@p_seccion = 8) -- Relaciones - Socios
begin
declare @cuit_empresa varchar(100) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 1)
declare @nombre_empresa varchar(200) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 2)
declare @cuit_socio varchar(100) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 3)
declare @nombre_socio varchar(200) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 4)
declare @cargo varchar(100) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 5)
declare @ultimo_directorio varchar(100) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 6)
insert into @socios (fecha_novedad, cuit_empresa, nombre_empresa,
cuit_socio, nombre_socio, cargo, ultimo_directorio)
select convert(date, @fecha), @cuit_empresa, @nombre_empresa,
@cuit_socio, @nombre_socio, @cargo, @ultimo_directorio
end
if (@p_seccion = 2) -- Formales - CLAE
begin
declare @cuit_clae varchar(100) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 1)
declare @periodo varchar(10) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 2)
declare @actividad_alta varchar(500) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 3)
declare @actividad_baja varchar(500) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 4)
insert into @clae (fecha_novedad, cuit, periodo, actividad_alta, actividad_baja)
select convert(date, @fecha), @cuit_clae, @periodo, @actividad_alta, @actividad_baja
end
if (@p_seccion = 11) -- Comex
begin
declare @cuit_comex varchar(100) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 1)
declare @periodo_comex varchar(10) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 2)
declare @importaciones_consumo varchar(100) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 3)
declare @importaciones_temporal varchar(100) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 4)
declare @importaciones_deposito varchar(100) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 5)
declare @importaciones_zona_franca varchar(100) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 6)
declare @importaciones_total varchar(100) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 7)
declare @exportaciones varchar(100) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 8)
insert into @comex (fecha_novedad, cuit, periodo, importaciones_consumo, importaciones_temporal, importaciones_deposito, importaciones_zona_franca, importaciones_total, exportaciones)
select convert(date, @fecha), @cuit_comex, @periodo_comex, @importaciones_consumo, @importaciones_temporal, @importaciones_deposito, @importaciones_zona_franca, @importaciones_total, @exportaciones
end
if (@p_seccion = 6) -- FISCALES - ARBA
begin
declare @impuesto varchar(100) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 1)
declare @objeto varchar(100) = (select item from dbo.DelimitedSplit8K(@html,'|') where itemNumber = 2)
declare @nro_interno varchar(100) = (select item from dbo.DelimitedSplit8K(@html,'|') where itemNumber = 3)
declare @fecha_inicio_juicio varchar(100) = (select item from dbo.DelimitedSplit8K(@html,'|') where itemNumber = 4)
declare @importe_deuda varchar(100) = (select item from dbo.DelimitedSplit8K(@html,'|') where itemNumber = 5)
declare @fecha_cancelacion varchar(100) = (select item from dbo.DelimitedSplit8K(@html,'|') where itemNumber = 6)
declare @fecha_plan_pagos varchar(100) = (select item from dbo.DelimitedSplit8K(@html,'|') where itemNumber = 7)
declare @cancelacion_del_juicio varchar(100) = (select item from dbo.DelimitedSplit8K(@html,'|') where itemNumber = 8)
declare @estado_medida_cautelar varchar(100) = (select item from dbo.DelimitedSplit8K(@html,'|') where itemNumber = 9)
declare @estado_plan_pagos varchar(100) = (select item from dbo.DelimitedSplit8K(@html,'|') where itemNumber = 10)
insert into @arba (fecha_novedad, id_arba, cuit,
impuesto,
objeto,
nro_interno,
fecha_inicio_juicio,
importe_deuda,
fecha_cancelacion,
fecha_plan_pagos,
cancelacion_del_juicio,
estado_medida_cautelar,
estado_plan_pagos)
select convert(date, @fecha), @id_tabla, @cuit,
@impuesto,
@objeto,
@nro_interno,
@fecha_inicio_juicio,
@importe_deuda,
@fecha_cancelacion,
@fecha_plan_pagos,
@cancelacion_del_juicio,
@estado_medida_cautelar,
@estado_plan_pagos
/*
insert into @arba (fecha_novedad, id_arba, cuit,
impuesto,
objeto,
nro_interno,
fecha_inicio_juicio,
importe_deuda,
fecha_cancelacion,
fecha_plan_pagos,
cancelacion_del_juicio,
estado_medida_cautelar,
estado_plan_pagos)
select convert(date, @fecha), id_arba, cuit,
ati.descripcion as impuesto,
objeto,
numero_interno_de_juicio,
fecha_de_inicio_de_juicio,
importe_deuda_del_juicio,
fecha_de_cancelacion,
fecha_de_plan_de_pagos,
aec.descripcion as cancelacion_del_juicio,
aemc.descripcion as estado_de_medida_cautelar,
aepp.descripcion as estado_de_plan_de_pagos
from arba
inner join arba_tipo_impuestos as ati on ati.id_tipo_impuestos = arba.impuesto
inner join arba_estado_cancelacion as aec on aec.id_estado_cancelacion = cancelacion_del_juicio
inner join arba_estado_medida_cautelar as aemc on aemc.id_estado_medida_cautelar= estado_de_medida_cautelar
inner join arba_estado_plan_pagos as aepp on aepp.id_estado_plan_pagos = Arba.estado_de_plan_de_pagos
where id_arba = @id_tabla AND visible = 1
AND (((((arba.fecha_de_inicio_de_juicio >= ( CONVERT(DATE,GETDATE()-1825) )) AND
(arba.estado_de_plan_de_pagos NOT IN ('2' ,'4' )) ) AND
(arba.cancelacion_del_juicio NOT IN ('S' ,'T' )) ) AND
(arba.fecha_de_cancelacion IS NULL ))
OR
((arba.fecha_de_inicio_de_juicio >= ( CONVERT(DATE,GETDATE()-730) )) AND
(((arba.estado_de_plan_de_pagos IN ('2' ,'4' ))
OR
(arba.cancelacion_del_juicio IN ('S' ,'T' )))
OR (arba.fecha_de_cancelacion IS NOT NULL ))))
*/
end
FETCH NEXT FROM C_Resultados INTO @fecha, @tabla, @id_tabla, @id_monitoreo, @html
END
CLOSE C_Resultados
DEALLOCATE C_Resultados
FETCH NEXT FROM C_Cursor INTO @nombre, @cuit, @seccion, @inicio_monitoreo, @fin_monitoreo
END
CLOSE C_Cursor
DEALLOCATE C_Cursor
if (@p_seccion = 10) -- BANCOS
begin
select distinct convert(varchar,fecha_novedad,103) as fecha_novedad, fecha_novedad as fecha_ymd,
cuit, banco, fec_inf_a, periodo_a as periodo_actual, fec_inf_b, periodo_b as periodo_anterior,
situacion_actual, situacion_anterior, deuda
from @bancos
order by fecha_ymd desc, banco, fec_inf_a
end
if (@p_seccion = 18) -- CHEQUES
begin
select distinct convert(varchar,fecha_novedad,103) as fecha_novedad, fecha_novedad as fecha_ymd,
id_cheque, causal, CUIT_firmante, CUIT_relacionado,
nro_cheque, importe,
fecha_rechazo, fecha_pago_multa, fecha_levantamiento
from @cheques
order by fecha_ymd desc, fecha_rechazo
end
if (@p_seccion = 7) -- CONTABLES
begin
select distinct convert(varchar,fecha_novedad,103) as fecha_novedad, fecha_novedad as fecha_ymd, cuit, fecha_balance
from @balances
order by fecha_ymd desc, fecha_balance desc
end
if (@p_seccion = 9) -- LEGALES
begin
select distinct convert(varchar,fecha_novedad,103) as fecha_novedad, fecha_novedad as fecha_ymd,
cuit as cuit_demandado, nombre as nombre_demandado,
fecha_causa, causa, cuit_actor, nombre_actor
from @legales
order by fecha_ymd desc, fecha_causa desc
end
if (@p_seccion = 8) -- Relaciones - Socios
begin
select distinct convert(varchar,fecha_novedad,103) as fecha_novedad, fecha_novedad as fecha_ymd,
cuit_empresa, nombre_empresa,
cuit_socio, nombre_socio, cargo, ultimo_directorio
from @socios
order by fecha_ymd desc, cuit_empresa asc, nombre_socio asc
end
if (@p_seccion = 2) -- Formales - Clae
begin
select distinct convert(varchar,fecha_novedad,103) as fecha_novedad, fecha_novedad as fecha_ymd,
cuit, periodo, actividad_alta, actividad_baja
from @clae
order by fecha_ymd desc
end
if (@p_seccion = 11) -- Comex
begin
select distinct convert(varchar,fecha_novedad,103) as fecha_novedad, cuit, periodo,
importaciones_consumo,
importaciones_temporal,
importaciones_deposito,
importaciones_zona_franca,
importaciones_total,
exportaciones
from @comex
order by fecha_novedad desc
end
if (@p_seccion = 6) -- FISCALES
begin
select distinct convert(varchar,fecha_novedad,103) as fecha_novedad,
cuit,
impuesto,
objeto,
nro_interno,
fecha_inicio_juicio,
importe_deuda,
fecha_cancelacion,
fecha_plan_pagos,
cancelacion_del_juicio,
estado_medida_cautelar,
estado_plan_pagos
from @arba
order by fecha_novedad desc, fecha_inicio_juicio desc
end
END
GO
GO
/*
select * from monitoreos_resultados where seccion_mantenimiento = 7 order by fecha desc
*/
/*
exec [monitoreo_datos] 2254875,18,'20132146234'
exec [monitoreo_datos] 1299789112,10,'30587053221'
select top 100 * from monitoreos_resultados where seccion_mantenimiento = 9 order by fecha desc
select top 1000 * from clae order by created desc
select * from monitoreos where cuit = '20132146234' and fecha_vigencia_mantenimiento > getdate()
select * from cendeu
select fecha, count(*) from monitoreos_resultados where fecha >= '2024-11-01' group by fecha
select fecha_de_plan_de_pagos, * from arba where cuit = '20299228895' and id_arba = 561654
*/
/*
Se pasa como parámetro el código de cliente, seccion, cuit
devuelve novedades de esa seccion del ultimo año, que sean posteriores a la fecha de inicio de su monitoreo para ese cliente
*/
/* Secciones
16 Credistafe
2 Formales
5 Comerciales
6 Fiscales
7 Contables
8 Relaciones
9 Legales
10 Bancos
11 Comex
12 Choferes
15 fuentes_externas
17 Cencosud
18 Cheques
*/
/*
declare @fec int = null
select SUBSTRING(convert(char,@fec),5,2) + '/' + SUBSTRING(convert(char,@fec),1,4)
*/
CREATE OR ALTER PROCEDURE dbo.monitoreo_datos
@p_client_id int,
@p_seccion int,
@p_cuit varchar(20)
AS
BEGIN
SET NOCOUNT ON;
declare @html varchar(5000)
declare @resultado table (nombre_persona varchar(500), cuit varchar(22), seccion int,
ultima_novedad date, fin_monitoreo date, inicio_monitoreo date,
tabla varchar(100), id_tabla int)
declare @nombre varchar(500),
@cuit varchar(22),
@ultima_novedad date,
@fin_monitoreo date,
@inicio_monitoreo date,
@seccion int
declare @fecha datetime, @tabla varchar(100), @id_tabla int, @id_monitoreo int
declare @bancos table (fecha_novedad date, cuit varchar(20), id_cendeu_a int, fec_inf_a int, periodo_a char(7),
id_cendeu_b int, fec_inf_b int, periodo_b char(7),
cod_banco int, banco varchar(500), situacion_actual char(1), situacion_anterior char(1), deuda decimal(20,2))
declare @cheques table (fecha_novedad date, id_cheque int, causal varchar(50),
CUIT_firmante varchar(20), CUIT_relacionado varchar(20),
nro_cheque varchar(100), importe varchar(100),
fecha_rechazo varchar(100), fecha_pago_multa varchar(100), fecha_levantamiento varchar(100))
declare @balances table (fecha_novedad date, cuit varchar(20), id_balance int, detalle varchar(100), fecha_balance varchar(100))
declare @legales table (fecha_novedad date, id_juicio int, cuit varchar(20), nombre varchar(500),
fecha_causa varchar(100), causa varchar(200),
cuit_actor varchar(20), nombre_actor varchar(500))
declare @clae table (fecha_novedad date, cuit varchar(20), periodo varchar(10), actividad_alta varchar(500), actividad_baja varchar(500))
--declare @comex table (fecha_novedad date, cuit varchar(20), periodo varchar(10), importaciones varchar(100), moneda_importaciones varchar(100), exportaciones varchar(100), moneda_exportaciones varchar(100))
/* 24/01/2025: Felix pidio cambiar, que las importaciones muestre todas las columnas de comercio_exterior */
declare @comex table (fecha_novedad date, cuit varchar(20), periodo varchar(10),
importaciones_consumo varchar(100),
importaciones_temporal varchar(100),
importaciones_deposito varchar(100),
importaciones_zona_franca varchar(100),
importaciones_total varchar(100),
exportaciones varchar(100))
declare @arba table (fecha_novedad date, id_arba int, cuit varchar(20),
impuesto varchar(200),
objeto varchar(16),
nro_interno varchar(10),
fecha_inicio_juicio varchar(200),
importe_deuda varchar(200),
fecha_cancelacion varchar(200),
fecha_plan_pagos varchar(200),
cancelacion_del_juicio varchar(200),
estado_medida_cautelar varchar(200),
estado_plan_pagos varchar(200))
declare @socios table (fecha_novedad date, cuit_empresa varchar(20), nombre_empresa varchar(200),
cuit_socio varchar(20), nombre_socio varchar(200), cargo varchar(100), ultimo_directorio char(2))
declare C_Cursor CURSOR FOR
select
nombre_persona,
cuit,
monitoreos.seccion_mantenimiento,
convert(date,fecha_desde) as fecha_desde,
convert(date,fecha_vigencia_mantenimiento) as fin_monitoreo
from monitoreos
left join padrones on (padrones.identificacion = cuit and
padrones.habilitado = 1 and
padrones.identificador in (select identificador from identificadores where country_code = 'AR'))
where monitoreos.cliente = @p_client_id
and iif(@p_seccion in (8,2) ,1,(iif(seccion_mantenimiento = @p_seccion,1,0))) = 1
and cuit = @p_cuit
and monitoreos.visible = 1
and monitoreos.fecha_desde <= getdate() and monitoreos.fecha_vigencia_mantenimiento >= getdate()
order by nombre_persona
OPEN C_Cursor
FETCH NEXT FROM C_Cursor INTO @nombre, @cuit, @seccion, @inicio_monitoreo, @fin_monitoreo
WHILE @@fetch_status = 0
BEGIN
if (@p_seccion = 8) set @seccion = 8
if (@p_seccion = 2) set @seccion = 2
declare C_Resultados CURSOR FOR
SELECT fecha, tabla, id_tabla, id_monitoreo, html
FROM monitoreos_resultados
WHERE Cuit = @cuit
and Fecha > getdate() - 365
--and Fecha > @inicio_monitoreo
/* 14/02/2025: Busca todas las novedades que existan en momentos que estubo o está activa esa sección en el monitoreo */
/* pero que sean del ultimo año, como siempre, por eso el Fecha > getdate() - 365 lo dejamos... */
and exists (select *
from monitoreos b
where b.cliente = @p_client_id and b.cuit = @p_cuit and
b.seccion_mantenimiento = @seccion and
monitoreos_resultados.Fecha between b.fecha_desde and b.fecha_vigencia_mantenimiento)
/**/
and seccion_mantenimiento = @seccion
order by fecha desc, id_monitoreo desc
OPEN C_Resultados
FETCH NEXT FROM C_Resultados INTO @fecha, @tabla, @id_tabla, @id_monitoreo, @html
WHILE @@fetch_status = 0
BEGIN
if (@p_seccion = 10) -- BANCOS
begin
insert into @bancos
select convert(date, @fecha), a.iden, a.id_cendeu, a.fec_inf,
iif(a.fec_inf is null, null, SUBSTRING(convert(char,a.fec_inf),5,2) + '/' + SUBSTRING(convert(char,a.fec_inf),1,4)) as periodo_a,
b.id_cendeu, b.fec_inf,
iif(b.fec_inf is null, null, SUBSTRING(convert(char,b.fec_inf),5,2) + '/' + SUBSTRING(convert(char,b.fec_inf),1,4)) as periodo_b,
convert(int,a.codigo_ent) as cod_banco, isnull(nombre_corto,nombre) as banco,
convert(int,a.situacion) as situacion,
convert(int,b.situacion) as situacion_anterior,
((a.prestamos+a.particip+a.garotor+a.o_cptos+a.deuda_total)) as deuda
from cendeu a
inner join EntidadesBancarias on convert(int,a.codigo_ent) = EntidadesBancarias.id_banco
left join cendeu b on (b.iden = a.iden and convert(int,a.codigo_ent) = convert(int,b.codigo_ent) and b.vigente = 1
and b.fec_inf = (select max(fec_inf)
from cendeu c
where c.iden = a.iden and convert(int,a.codigo_ent) = convert(int,c.codigo_ent)
and c.fec_inf < a.fec_inf))
where a.id_cendeu = @id_tabla /* and a.vigente = 1 */
and (b.iden is null or convert(int,b.situacion) != convert(int,a.situacion))
end
if (@p_seccion != 10)
begin
--> Vamos a tomar los datos del html guardado en monitoreos_resultados, porque puede haber cambiado el registro en la tabla correspondiente
--> menos en bancos, porque queremos que controle el cambio de situación
set @html = replace (@html, '<td align=right>','<td>')
set @html = replace (@html, '<td align=center>','<td>')
set @html = replace (@html, '<td align=left>','<td>')
set @html = replace (@html, '<td align=middle>','<td>')
set @html = replace (@html, '<td style="border-left: 1px solid #cccccc;" align=right>','<td>')
set @html = replace (@html, '</td><td>','|')
set @html = replace (@html, '<td>','') -- inicio
set @html = replace (@html, '</td>','') -- fin
end
if (@p_seccion = 18) -- CHEQUES
begin
--> Tomamos los datos del html guardado en monitoreos_resultados, porque puede haber cambiado el registro en la tabla correspondiente
declare @Causal varchar(100) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 1)
declare @CUIT_Firmante varchar(100) = (select item from dbo.DelimitedSplit8K(@html,'|') where itemNumber = 2)
declare @CUIT_Relacionado varchar(100) = (select item from dbo.DelimitedSplit8K(@html,'|') where itemNumber = 3)
declare @Nro_Cheque varchar(100) = (select item from dbo.DelimitedSplit8K(@html,'|') where itemNumber = 4)
declare @Importe varchar(100) = (select item from dbo.DelimitedSplit8K(@html,'|') where itemNumber = 5)
declare @Fecha_de_Rechazo varchar(100) = (select item from dbo.DelimitedSplit8K(@html,'|') where itemNumber = 6)
declare @Fecha_de_Pago_de_Multa varchar(100) = (select item from dbo.DelimitedSplit8K(@html,'|') where itemNumber = 7)
declare @Fecha_de_Levantamiento varchar(100) = (select item from dbo.DelimitedSplit8K(@html,'|') where itemNumber = 8)
insert into @cheques (fecha_novedad, id_cheque, causal, CUIT_firmante, CUIT_relacionado,
nro_cheque, importe,
fecha_rechazo, fecha_pago_multa, fecha_levantamiento)
select convert(date, @fecha), @id_tabla, @Causal, @CUIT_Firmante, @CUIT_Relacionado,
@Nro_Cheque, @Importe, @Fecha_de_Rechazo, @Fecha_de_Pago_de_Multa, @Fecha_de_Levantamiento
/* --> Si queremos tomar los datos de la tabla, pero ese id de registro puede haber cambiado
insert into @cheques (fecha_novedad, id_cheque, causal, CUIT_firmante, CUIT_relacionado,
nro_cheque, importe,
fecha_rechazo, fecha_pago_multa, fecha_levantamiento)
select convert(date, @fecha), id_cheque, Cheques_causales.codigo as causal,
cuit_firmante, cuit_relacionado,
nro_cheque, importe,
fecha_rechazo, fecha_pago, fecha_levantamiento
from chequesBCRA
INNER JOIN Cheques_causales ON (ChequesBCRA.id_causa = Cheques_causales.id_causa)
where id_cheque = @id_tabla and visible = 1
*/
end
if (@p_seccion = 7) -- CONTABLES
begin
declare @detalle varchar(100) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 1)
declare @fecha_balance varchar(100) = (select item from dbo.DelimitedSplit8K(@html,'|') where itemNumber = 2)
insert into @balances (fecha_novedad, cuit, id_balance, detalle, fecha_balance)
select convert(date, @fecha), @cuit, @id_tabla, @detalle, @fecha_balance
/*
insert into @balances (fecha_novedad, cuit, id_balance, fecha_balance)
select convert(date, @fecha), cuit, id_balance, fecha_balance
from balances_contables
where id_balance = @id_tabla and visible = 1 and estado = 'PUBLICADO'
*/
end
if (@p_seccion = 9) -- LEGALES
begin
declare @fecha_causa varchar(100) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 1)
declare @causa varchar(100) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 2)
declare @cuit_actor varchar(100) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 3)
declare @nombre_actor varchar(500) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 4)
insert into @legales (fecha_novedad, id_juicio, cuit, nombre, fecha_causa, causa, cuit_actor, nombre_actor)
select convert(date, @fecha), @id_tabla, @cuit, @nombre, @fecha_causa, @causa, @cuit_actor, @nombre_actor
/*
insert into @legales (fecha_novedad, id_juicio, cuit, fecha_causa, causa, cuit_actor, nombre_actor)
select convert(date, @fecha), id_juicio, cuit_demandado,
fecha_causa, tipos_causas.nombre_causa as causa,
cuit_actor,
pf.nombre_persona as nombre_actor
from juicios
inner join tipos_causas on tipos_causas.id_tipo_causa = juicios.id_tipo_causa
left join tiempo_causas on tiempo_causas.cau_codigo = juicios.id_tipo_causa
left join padrones AS pf ON (pf.identificacion = cuit_actor)
where id_juicio = @id_tabla and visible = 1
and juicios.fecha_causa > GETDATE()-(isnull(tiempo,5)*365)
*/
end
if (@p_seccion = 8) -- Relaciones - Socios
begin
declare @cuit_empresa varchar(100) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 1)
declare @nombre_empresa varchar(200) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 2)
declare @cuit_socio varchar(100) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 3)
declare @nombre_socio varchar(200) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 4)
declare @cargo varchar(100) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 5)
declare @ultimo_directorio varchar(100) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 6)
insert into @socios (fecha_novedad, cuit_empresa, nombre_empresa,
cuit_socio, nombre_socio, cargo, ultimo_directorio)
select convert(date, @fecha), @cuit_empresa, @nombre_empresa,
@cuit_socio, @nombre_socio, @cargo, @ultimo_directorio
end
if (@p_seccion = 2) -- Formales - CLAE
begin
declare @cuit_clae varchar(100) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 1)
declare @periodo varchar(10) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 2)
declare @actividad_alta varchar(500) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 3)
declare @actividad_baja varchar(500) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 4)
insert into @clae (fecha_novedad, cuit, periodo, actividad_alta, actividad_baja)
select convert(date, @fecha), @cuit_clae, @periodo, @actividad_alta, @actividad_baja
end
if (@p_seccion = 11) -- Comex
begin
declare @cuit_comex varchar(100) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 1)
declare @periodo_comex varchar(10) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 2)
declare @importaciones_consumo varchar(100) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 3)
declare @importaciones_temporal varchar(100) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 4)
declare @importaciones_deposito varchar(100) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 5)
declare @importaciones_zona_franca varchar(100) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 6)
declare @importaciones_total varchar(100) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 7)
declare @exportaciones varchar(100) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 8)
insert into @comex (fecha_novedad, cuit, periodo, importaciones_consumo, importaciones_temporal, importaciones_deposito, importaciones_zona_franca, importaciones_total, exportaciones)
select convert(date, @fecha), @cuit_comex, @periodo_comex, @importaciones_consumo, @importaciones_temporal, @importaciones_deposito, @importaciones_zona_franca, @importaciones_total, @exportaciones
end
if (@p_seccion = 6) -- FISCALES - ARBA
begin
declare @impuesto varchar(100) = (select item from dbo.DelimitedSplit8K(@html, '|') where itemNumber = 1)
declare @objeto varchar(100) = (select item from dbo.DelimitedSplit8K(@html,'|') where itemNumber = 2)
declare @nro_interno varchar(100) = (select item from dbo.DelimitedSplit8K(@html,'|') where itemNumber = 3)
declare @fecha_inicio_juicio varchar(100) = (select item from dbo.DelimitedSplit8K(@html,'|') where itemNumber = 4)
declare @importe_deuda varchar(100) = (select item from dbo.DelimitedSplit8K(@html,'|') where itemNumber = 5)
declare @fecha_cancelacion varchar(100) = (select item from dbo.DelimitedSplit8K(@html,'|') where itemNumber = 6)
declare @fecha_plan_pagos varchar(100) = (select item from dbo.DelimitedSplit8K(@html,'|') where itemNumber = 7)
declare @cancelacion_del_juicio varchar(100) = (select item from dbo.DelimitedSplit8K(@html,'|') where itemNumber = 8)
declare @estado_medida_cautelar varchar(100) = (select item from dbo.DelimitedSplit8K(@html,'|') where itemNumber = 9)
declare @estado_plan_pagos varchar(100) = (select item from dbo.DelimitedSplit8K(@html,'|') where itemNumber = 10)
insert into @arba (fecha_novedad, id_arba, cuit,
impuesto,
objeto,
nro_interno,
fecha_inicio_juicio,
importe_deuda,
fecha_cancelacion,
fecha_plan_pagos,
cancelacion_del_juicio,
estado_medida_cautelar,
estado_plan_pagos)
select convert(date, @fecha), @id_tabla, @cuit,
@impuesto,
@objeto,
@nro_interno,
@fecha_inicio_juicio,
@importe_deuda,
@fecha_cancelacion,
@fecha_plan_pagos,
@cancelacion_del_juicio,
@estado_medida_cautelar,
@estado_plan_pagos
/*
insert into @arba (fecha_novedad, id_arba, cuit,
impuesto,
objeto,
nro_interno,
fecha_inicio_juicio,
importe_deuda,
fecha_cancelacion,
fecha_plan_pagos,
cancelacion_del_juicio,
estado_medida_cautelar,
estado_plan_pagos)
select convert(date, @fecha), id_arba, cuit,
ati.descripcion as impuesto,
objeto,
numero_interno_de_juicio,
fecha_de_inicio_de_juicio,
importe_deuda_del_juicio,
fecha_de_cancelacion,
fecha_de_plan_de_pagos,
aec.descripcion as cancelacion_del_juicio,
aemc.descripcion as estado_de_medida_cautelar,
aepp.descripcion as estado_de_plan_de_pagos
from arba
inner join arba_tipo_impuestos as ati on ati.id_tipo_impuestos = arba.impuesto
inner join arba_estado_cancelacion as aec on aec.id_estado_cancelacion = cancelacion_del_juicio
inner join arba_estado_medida_cautelar as aemc on aemc.id_estado_medida_cautelar= estado_de_medida_cautelar
inner join arba_estado_plan_pagos as aepp on aepp.id_estado_plan_pagos = Arba.estado_de_plan_de_pagos
where id_arba = @id_tabla AND visible = 1
AND (((((arba.fecha_de_inicio_de_juicio >= ( CONVERT(DATE,GETDATE()-1825) )) AND
(arba.estado_de_plan_de_pagos NOT IN ('2' ,'4' )) ) AND
(arba.cancelacion_del_juicio NOT IN ('S' ,'T' )) ) AND
(arba.fecha_de_cancelacion IS NULL ))
OR
((arba.fecha_de_inicio_de_juicio >= ( CONVERT(DATE,GETDATE()-730) )) AND
(((arba.estado_de_plan_de_pagos IN ('2' ,'4' ))
OR
(arba.cancelacion_del_juicio IN ('S' ,'T' )))
OR (arba.fecha_de_cancelacion IS NOT NULL ))))
*/
end
FETCH NEXT FROM C_Resultados INTO @fecha, @tabla, @id_tabla, @id_monitoreo, @html
END
CLOSE C_Resultados
DEALLOCATE C_Resultados
FETCH NEXT FROM C_Cursor INTO @nombre, @cuit, @seccion, @inicio_monitoreo, @fin_monitoreo
END
CLOSE C_Cursor
DEALLOCATE C_Cursor
if (@p_seccion = 10) -- BANCOS
begin
select distinct convert(varchar,fecha_novedad,103) as fecha_novedad, fecha_novedad as fecha_ymd,
cuit, banco, fec_inf_a, periodo_a as periodo_actual, fec_inf_b, periodo_b as periodo_anterior,
situacion_actual, situacion_anterior, deuda
from @bancos
order by fecha_ymd desc, banco, fec_inf_a
end
if (@p_seccion = 18) -- CHEQUES
begin
select distinct convert(varchar,fecha_novedad,103) as fecha_novedad, fecha_novedad as fecha_ymd,
id_cheque, causal, CUIT_firmante, CUIT_relacionado,
nro_cheque, importe,
fecha_rechazo, fecha_pago_multa, fecha_levantamiento
from @cheques
order by fecha_ymd desc, fecha_rechazo
end
if (@p_seccion = 7) -- CONTABLES
begin
select distinct convert(varchar,fecha_novedad,103) as fecha_novedad, fecha_novedad as fecha_ymd, cuit, fecha_balance
from @balances
order by fecha_ymd desc, fecha_balance desc
end
if (@p_seccion = 9) -- LEGALES
begin
select distinct convert(varchar,fecha_novedad,103) as fecha_novedad, fecha_novedad as fecha_ymd,
cuit as cuit_demandado, nombre as nombre_demandado,
fecha_causa, causa, cuit_actor, nombre_actor
from @legales
order by fecha_ymd desc, fecha_causa desc
end
if (@p_seccion = 8) -- Relaciones - Socios
begin
select distinct convert(varchar,fecha_novedad,103) as fecha_novedad, fecha_novedad as fecha_ymd,
cuit_empresa, nombre_empresa,
cuit_socio, nombre_socio, cargo, ultimo_directorio
from @socios
order by fecha_ymd desc, cuit_empresa asc, nombre_socio asc
end
if (@p_seccion = 2) -- Formales - Clae
begin
select distinct convert(varchar,fecha_novedad,103) as fecha_novedad, fecha_novedad as fecha_ymd,
cuit, periodo, actividad_alta, actividad_baja
from @clae
order by fecha_ymd desc
end
if (@p_seccion = 11) -- Comex
begin
select distinct convert(varchar,fecha_novedad,103) as fecha_novedad, cuit, periodo,
importaciones_consumo,
importaciones_temporal,
importaciones_deposito,
importaciones_zona_franca,
importaciones_total,
exportaciones
from @comex
order by fecha_novedad desc
end
if (@p_seccion = 6) -- FISCALES
begin
select distinct convert(varchar,fecha_novedad,103) as fecha_novedad,
cuit,
impuesto,
objeto,
nro_interno,
fecha_inicio_juicio,
importe_deuda,
fecha_cancelacion,
fecha_plan_pagos,
cancelacion_del_juicio,
estado_medida_cautelar,
estado_plan_pagos
from @arba
order by fecha_novedad desc, fecha_inicio_juicio desc
end
END
GO
Depends On
7Used By
No items found