Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
5| Name | Data Type | Length | Description |
|---|---|---|---|
| @cliente | int | 4 | |
| @fecha | date | 3 | |
| @fecha_relacionados | date | 3 | |
| @empresas_igual_domicilio | bit | 1 | |
| @empleado | varchar | 20 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
CREATE OR ALTER PROCEDURE dbo.sp_procesos_cuit_enrichment_salida_ARCOR
@cliente int = 861672084,
@fecha date = '2020-04-28',
@fecha_relacionados date = '2020-04-29',
@empresas_igual_domicilio bit = 0,
@empleado varchar(20) = 'PROVEEDOR' -- 'EMPLEADO'
AS
BEGIN
SET NOCOUNT ON;
declare @cuit varchar(20)
declare @vinculados table (nro int,
cuit varchar(20),
nombre varchar(200),
cuit_relacionado varchar(20),
nombre_relacionado varchar(200),
cargo varchar(100))
DECLARE bn2 CURSOR
FOR
SELECT distinct cuit
FROM procesos_cuit
where cliente = @cliente
and fecha = @fecha
OPEN bn2
Fetch next from bn2 INTO @cuit
WHILE (@@FETCH_STATUS <> -1 )
BEGIN
insert into @vinculados
select ROW_NUMBER() OVER(ORDER BY id ASC), @cuit, nombre, cuit_relacionado, nombre_relacionado, cargo
from procesos_cuit_enrichment_datos_simples_socios a
where a.cliente = @cliente
and a.fecha_proceso = @fecha
and cuit = @cuit
and cuit_relacionado != cuit
order by id /* Orden de carga: Socios / Accionistas / Firmantes / Empleados / Parientes
como toma los 20 primeros que tome los mas importantes */
Fetch next from bn2 INTO @cuit
end
CLOSE bn2
DEALLOCATE bn2
/* Cuits solicitados */
select
a.cuit as 'CUIT',
a.Nro_documento as 'Nro Documento',
a.Nombre as 'Nombre',
@empleado as 'Categoría',
null as 'Tipo de Vinculación',
null as 'Vinculado a (nombre)',
null as 'Vinculado a (cuit)',
replace(b.domicilio,';','') as 'Domicilio',
replace(b.localidad,';','') as 'Localidad',
b.provincia as 'Provincia',
b.codpos as 'CodPos',
b.telefonos as 'Teléfonos',
b.emails as 'Emails',
c02_fecha_nac as 'Fecha nacimiento',
a.fecha_defuncion as 'Fecha defunción',
b.actividades as 'Actividades',
b.monotributo as 'Monotributo',
b.monotributo_autonomo as 'Monotributo autónomo',
b.monotributo_seg_social as 'Monotributo seg social',
b.monotributo_integrante_sociedad as 'Monotributo integrante sociedad',
b.iva as 'IVA',
a.cant_empleados as 'Cant aprox empleados',
a.fecha_inscripcion as 'Fecha inscripción',
a.fecha_contrato_social as 'Fecha contrato social',
a.fecha_constitucion as 'Fecha constitución',
a.fecha_inicio_actividad as 'Fecha inicio actividad',
a.Peticion_Concurso_Preventivo as 'Petición Concurso Preventivo',
a.Concurso_Preventivo_Proveido as 'Concurso Preventivo Proveido',
a.Concurso_Concluido as 'Concurso Concluido',
a.Instancias_Concursos_y_Quiebras as 'Instancias Concursos y Quiebras',
a.Pedidos_de_Quiebras as 'Pedidos de Quiebras',
a.Quiebras as 'Quiebras',
a.Juicios_Ejecutivos_Ultimo_Anio as 'Juicios Ejecutivos último año',
a.Juicios_por_Honorarios_Ultimo_Anio as 'Juicios por Honorarios último año',
a.Causas_Judiciales_Ultimo_Anio as 'Causas Judiciales último año',
a.Ultimo_Mes_BCRA as 'último Mes BCRA',
a.Cant_Bancos_Ultimo_Mes_BCRA as 'Cant Bancos último Mes BCRA',
a.Monto_Total_Ultimo_Mes_BCRA as 'Monto Total último Mes BCRA',
a.Peor_situacion_Ultimos_24_meses as 'Peor situacion últimos 12 meses',
a.Monto_Peor_Situacion_Ultimos_24_meses as 'Monto Peor Situacion últimos 12 meses',
a.Cant_Cheques_Sin_Fondos_Sin_Levantar_Ultimo_Anio as 'Cant Cheques Sin Fondos Sin Levantar último año',
a.Monto_Cheques_Sin_Fondos_Sin_Levantar_Ultimo_Anio as 'Monto Cheques Sin Fondos Sin Levantar último año',
a.Cant_Cheques_Sin_Fondos_Levantados_Ultimo_Anio as 'Cant Cheques Sin Fondos Levantados último año',
a.Monto_Cheques_Sin_Fondos_Levantados_Ultimo_Anio as 'Monto Cheques Sin Fondos Levantados último año',
a.Cant_Cheques_Sin_Fondos_Sin_Levantar_Anios_Anteriores as 'Cant Cheques Sin Fondos Sin Levantar años Anteriores',
a.Monto_Cheqeus_Sin_Fondos_Sin_Levantar_Anios_Anteriores as 'Monto Cheqeus Sin Fondos Sin Levantar años Anteriores',
a.Cant_Cheques_Sin_Fondos_Levantados_Anios_Anteriores as 'Cant Cheques Sin Fondos Levantados años Anteriores',
a.Monto_Cheques_Sin_Fondos_Levantados_Anios_Anteriores as 'Monto Cheques Sin Fondos Levantados años Anteriores',
case b.tiene_apocrifas
when 'N' then 'NO'
when 'S' then 'SI'
else null
end
as 'Tiene apocrifas',
a.Score as 'SCORE',
case
when (a.cuit like '2%' and (ED.cant = 0 or ED.cant is null)) then 'NO'
when (a.cuit like '3%' ) then null
else 'SI'
end as 'EMPRESA X DOMICILIO',
R1.cuit_relacionado as 'Cuit relacionado 1', R1.nombre_relacionado as 'Nombre relacionado 1', R1.cargo as 'Tipo relación 1',
R2.cuit_relacionado as 'Cuit relacionado 2', R2.nombre_relacionado as 'Nombre relacionado 2', R2.cargo as 'Tipo relación 2',
R3.cuit_relacionado as 'Cuit relacionado 3', R3.nombre_relacionado as 'Nombre relacionado 3', R3.cargo as 'Tipo relación 3',
R4.cuit_relacionado as 'Cuit relacionado 4', R4.nombre_relacionado as 'Nombre relacionado 4', R4.cargo as 'Tipo relación 4',
R5.cuit_relacionado as 'Cuit relacionado 5', R5.nombre_relacionado as 'Nombre relacionado 5', R5.cargo as 'Tipo relación 5',
R6.cuit_relacionado as 'Cuit relacionado 6', R6.nombre_relacionado as 'Nombre relacionado 6', R6.cargo as 'Tipo relación 6',
R7.cuit_relacionado as 'Cuit relacionado 7', R7.nombre_relacionado as 'Nombre relacionado 7', R7.cargo as 'Tipo relación 7',
R8.cuit_relacionado as 'Cuit relacionado 8', R8.nombre_relacionado as 'Nombre relacionado 8', R8.cargo as 'Tipo relación 8',
R9.cuit_relacionado as 'Cuit relacionado 9', R9.nombre_relacionado as 'Nombre relacionado 9', R9.cargo as 'Tipo relación 9',
R10.cuit_relacionado as 'Cuit relacionado 10', R10.nombre_relacionado as 'Nombre relacionado 10', R10.cargo as 'Tipo relación 10',
R11.cuit_relacionado as 'Cuit relacionado 11', R11.nombre_relacionado as 'Nombre relacionado 11', R11.cargo as 'Tipo relación 11',
R12.cuit_relacionado as 'Cuit relacionado 12', R12.nombre_relacionado as 'Nombre relacionado 12', R12.cargo as 'Tipo relación 12',
R13.cuit_relacionado as 'Cuit relacionado 13', R13.nombre_relacionado as 'Nombre relacionado 13', R13.cargo as 'Tipo relación 13',
R14.cuit_relacionado as 'Cuit relacionado 14', R14.nombre_relacionado as 'Nombre relacionado 14', R14.cargo as 'Tipo relación 14',
R15.cuit_relacionado as 'Cuit relacionado 15', R15.nombre_relacionado as 'Nombre relacionado 15', R15.cargo as 'Tipo relación 15',
R16.cuit_relacionado as 'Cuit relacionado 16', R16.nombre_relacionado as 'Nombre relacionado 16', R16.cargo as 'Tipo relación 16',
R17.cuit_relacionado as 'Cuit relacionado 17', R17.nombre_relacionado as 'Nombre relacionado 17', R17.cargo as 'Tipo relación 17',
R18.cuit_relacionado as 'Cuit relacionado 18', R18.nombre_relacionado as 'Nombre relacionado 18', R18.cargo as 'Tipo relación 18',
R19.cuit_relacionado as 'Cuit relacionado 19', R19.nombre_relacionado as 'Nombre relacionado 19', R19.cargo as 'Tipo relación 19',
R20.cuit_relacionado as 'Cuit relacionado 20', R20.nombre_relacionado as 'Nombre relacionado 20', R20.cargo as 'Tipo relación 20',
(ROW_NUMBER() OVER(ORDER BY a.cuit ASC)) as nro
from procesos_cuit_enrichment a
inner join procesos_cuit_enrichment_mas b on (b.cuit = a.cuit
and b.cliente = a.cliente
and b.Fecha_Proceso = a.Fecha_Proceso)
left join DATOS_PERSONAS p on p.c01_cuit = a.cuit
left join (select cuit, count(*) as cant
from procesos_cuit_enrichment_empresas_domicilio
where cliente = @cliente and Fecha_Proceso = @fecha
and Cuit_vecino is not null and cuit_vecino like '3%' group by cuit) ED on ED.cuit = a.cuit
left join @vinculados R1 on R1.cuit = a.cuit and R1.nro = 1
left join @vinculados R2 on R2.cuit = a.cuit and R2.nro = 2
left join @vinculados R3 on R3.cuit = a.cuit and R3.nro = 3
left join @vinculados R4 on R4.cuit = a.cuit and R4.nro = 4
left join @vinculados R5 on R5.cuit = a.cuit and R5.nro = 5
left join @vinculados R6 on R6.cuit = a.cuit and R6.nro = 6
left join @vinculados R7 on R7.cuit = a.cuit and R7.nro = 7
left join @vinculados R8 on R8.cuit = a.cuit and R8.nro = 8
left join @vinculados R9 on R9.cuit = a.cuit and R9.nro = 9
left join @vinculados R10 on R10.cuit = a.cuit and R10.nro = 10
left join @vinculados R11 on R11.cuit = a.cuit and R11.nro = 11
left join @vinculados R12 on R12.cuit = a.cuit and R12.nro = 12
left join @vinculados R13 on R13.cuit = a.cuit and R13.nro = 13
left join @vinculados R14 on R14.cuit = a.cuit and R14.nro = 14
left join @vinculados R15 on R15.cuit = a.cuit and R15.nro = 15
left join @vinculados R16 on R16.cuit = a.cuit and R16.nro = 16
left join @vinculados R17 on R17.cuit = a.cuit and R17.nro = 17
left join @vinculados R18 on R18.cuit = a.cuit and R18.nro = 18
left join @vinculados R19 on R19.cuit = a.cuit and R19.nro = 19
left join @vinculados R20 on R20.cuit = a.cuit and R20.nro = 20
where a.cliente = @cliente
and a.fecha_proceso = @fecha
union all
/* Vinculados Empresas o Personas mayores de edad */
select
a.cuit as 'CUIT',
a.Nro_documento as 'Nro Documento',
a.Nombre as 'Nombre',
'VINCULACION' as 'Categoría',
c.cargo as 'Tipo de Vinculación',
c.nombre as 'Vinculado a (nombre)',
c.cuit as 'Vinculado a (cuit)',
replace(b.domicilio,';','') as 'Domicilio',
replace(b.localidad,';','') as 'Localidad',
b.provincia as 'Provincia',
b.codpos as 'CodPos',
b.telefonos as 'Teléfonos',
b.emails as 'Emails',
c02_fecha_nac as 'Fecha nacimiento',
a.fecha_defuncion as 'Fecha defunción',
b.actividades as 'Actividades',
b.monotributo as 'Monotributo',
b.monotributo_autonomo as 'Monotributo autónomo',
b.monotributo_seg_social as 'Monotributo seg social',
b.monotributo_integrante_sociedad as 'Monotributo integrante sociedad',
b.iva as 'IVA',
a.cant_empleados as 'Cant aprox empleados',
a.fecha_inscripcion as 'Fecha inscripción',
a.fecha_contrato_social as 'Fecha contrato social',
a.fecha_constitucion as 'Fecha constitución',
a.fecha_inicio_actividad as 'Fecha inicio actividad',
a.Peticion_Concurso_Preventivo as 'Petición Concurso Preventivo',
a.Concurso_Preventivo_Proveido as 'Concurso Preventivo Proveido',
a.Concurso_Concluido as 'Concurso Concluido',
a.Instancias_Concursos_y_Quiebras as 'Instancias Concursos y Quiebras',
a.Pedidos_de_Quiebras as 'Pedidos de Quiebras',
a.Quiebras as 'Quiebras',
a.Juicios_Ejecutivos_Ultimo_Anio as 'Juicios Ejecutivos último año',
a.Juicios_por_Honorarios_Ultimo_Anio as 'Juicios por Honorarios último año',
a.Causas_Judiciales_Ultimo_Anio as 'Causas Judiciales último año',
a.Ultimo_Mes_BCRA as 'último Mes BCRA',
a.Cant_Bancos_Ultimo_Mes_BCRA as 'Cant Bancos último Mes BCRA',
a.Monto_Total_Ultimo_Mes_BCRA as 'Monto Total último Mes BCRA',
a.Peor_situacion_Ultimos_24_meses as 'Peor situacion últimos 12 meses',
a.Monto_Peor_Situacion_Ultimos_24_meses as 'Monto Peor Situacion últimos 12 meses',
a.Cant_Cheques_Sin_Fondos_Sin_Levantar_Ultimo_Anio as 'Cant Cheques Sin Fondos Sin Levantar último año',
a.Monto_Cheques_Sin_Fondos_Sin_Levantar_Ultimo_Anio as 'Monto Cheques Sin Fondos Sin Levantar último año',
a.Cant_Cheques_Sin_Fondos_Levantados_Ultimo_Anio as 'Cant Cheques Sin Fondos Levantados último año',
a.Monto_Cheques_Sin_Fondos_Levantados_Ultimo_Anio as 'Monto Cheques Sin Fondos Levantados último año',
a.Cant_Cheques_Sin_Fondos_Sin_Levantar_Anios_Anteriores as 'Cant Cheques Sin Fondos Sin Levantar años Anteriores',
a.Monto_Cheqeus_Sin_Fondos_Sin_Levantar_Anios_Anteriores as 'Monto Cheqeus Sin Fondos Sin Levantar años Anteriores',
a.Cant_Cheques_Sin_Fondos_Levantados_Anios_Anteriores as 'Cant Cheques Sin Fondos Levantados años Anteriores',
a.Monto_Cheques_Sin_Fondos_Levantados_Anios_Anteriores as 'Monto Cheques Sin Fondos Levantados años Anteriores',
case b.tiene_apocrifas
when 'N' then 'NO'
when 'S' then 'SI'
else null
end
as 'Tiene apocrifas',
a.Score as 'SCORE',
null as 'EMPRESA X DOMICILIO',
null as 'Cuit relacionado 1', null as 'Nombre relacionado 1', null as 'Tipo relación 1',
null as 'Cuit relacionado 2', null as 'Nombre relacionado 2', null as 'Tipo relación 2',
null as 'Cuit relacionado 3', null as 'Nombre relacionado 3', null as 'Tipo relación 3',
null as 'Cuit relacionado 4', null as 'Nombre relacionado 4', null as 'Tipo relación 4',
null as 'Cuit relacionado 5', null as 'Nombre relacionado 5', null as 'Tipo relación 5',
null as 'Cuit relacionado 6', null as 'Nombre relacionado 6', null as 'Tipo relación 6',
null as 'Cuit relacionado 7', null as 'Nombre relacionado 7', null as 'Tipo relación 7',
null as 'Cuit relacionado 8', null as 'Nombre relacionado 8', null as 'Tipo relación 8',
null as 'Cuit relacionado 9', null as 'Nombre relacionado 9', null as 'Tipo relación 9',
null as 'Cuit relacionado 10', null as 'Nombre relacionado 10', null as 'Tipo relación 10',
null as 'Cuit relacionado 11', null as 'Nombre relacionado 11', null as 'Tipo relación 11',
null as 'Cuit relacionado 12', null as 'Nombre relacionado 12', null as 'Tipo relación 12',
null as 'Cuit relacionado 13', null as 'Nombre relacionado 13', null as 'Tipo relación 13',
null as 'Cuit relacionado 14', null as 'Nombre relacionado 14', null as 'Tipo relación 14',
null as 'Cuit relacionado 15', null as 'Nombre relacionado 15', null as 'Tipo relación 15',
null as 'Cuit relacionado 16', null as 'Nombre relacionado 16', null as 'Tipo relación 16',
null as 'Cuit relacionado 17', null as 'Nombre relacionado 17', null as 'Tipo relación 17',
null as 'Cuit relacionado 18', null as 'Nombre relacionado 18', null as 'Tipo relación 18',
null as 'Cuit relacionado 19', null as 'Nombre relacionado 19', null as 'Tipo relación 19',
null as 'Cuit relacionado 20', null as 'Nombre relacionado 20', null as 'Tipo relación 20',
c.nro as nro
from procesos_cuit_enrichment a
inner join procesos_cuit_enrichment_mas b on (b.cuit = a.cuit
and b.cliente = a.cliente
and b.Fecha_Proceso = a.Fecha_Proceso)
left join DATOS_PERSONAS p on p.c01_cuit = a.cuit
/*
inner join procesos_cuit_enrichment_datos_simples_socios c on (c.cliente = @cliente
and c.fecha_proceso = @fecha
and c.cuit_relacionado = a.cuit
and c.cuit_relacionado != c.cuit)
*/
inner join @vinculados c on ( c.cuit_relacionado = a.cuit and c.nro <= 20)
where a.cliente = @cliente
and a.fecha_proceso = @fecha_relacionados
and (a.cuit like '3%' or
c02_fecha_nac <= dateadd(year, (-18),getdate())
or c02_fecha_nac is null)
/*and exists (select * from @vinculados v where v.cuit = c.cuit and v.cuit_relacionado = c.cuit_relacionado
and nro <= 20) */
union all
/* Vinculados, Menores de edad */
select
a.cuit as 'CUIT',
a.Nro_documento as 'Nro Documento',
a.Nombre as 'Nombre',
'VINCULACION (MENOR 18)' as 'Categoría',
c.cargo as 'Tipo de Vinculación',
c.nombre as 'Vinculado a (nombre)',
c.cuit as 'Vinculado a (cuit)',
null as 'Domicilio',
null as 'Localidad',
null as 'Provincia',
null as 'CodPos',
null as 'Teléfonos',
null as 'Emails',
c02_fecha_nac as 'Fecha nacimiento',
a.fecha_defuncion as 'Fecha defunción',
null as 'Actividades',
null as 'Monotributo',
null as 'Monotributo autónomo',
null as 'Monotributo seg social',
null as 'Monotributo integrante sociedad',
null as 'IVA',
null as 'Cant aprox empleados',
null as 'Fecha inscripción',
null as 'Fecha contrato social',
null as 'Fecha constitución',
null as 'Fecha inicio actividad',
null as 'Petición Concurso Preventivo',
null as 'Concurso Preventivo Proveido',
null as 'Concurso Concluido',
null as 'Instancias Concursos y Quiebras',
null as 'Pedidos de Quiebras',
null as 'Quiebras',
null as 'Juicios Ejecutivos último año',
null as 'Juicios por Honorarios último año',
null as 'Causas Judiciales último año',
null as 'último Mes BCRA',
null as 'Cant Bancos último Mes BCRA',
null as 'Monto Total último Mes BCRA',
null as 'Peor situacion últimos 12 meses',
null as 'Monto Peor Situacion últimos 12 meses',
null as 'Cant Cheques Sin Fondos Sin Levantar último año',
null as 'Monto Cheques Sin Fondos Sin Levantar último año',
null as 'Cant Cheques Sin Fondos Levantados último año',
null as 'Monto Cheques Sin Fondos Levantados último año',
null as 'Cant Cheques Sin Fondos Sin Levantar años Anteriores',
null as 'Monto Cheqeus Sin Fondos Sin Levantar años Anteriores',
null as 'Cant Cheques Sin Fondos Levantados años Anteriores',
null as 'Monto Cheques Sin Fondos Levantados años Anteriores',
null as 'Tiene apocrifas',
null as 'SCORE',
null as 'EMPRESA X DOMICILIO',
null as 'Cuit relacionado 1', null as 'Nombre relacionado 1', null as 'Tipo relación 1',
null as 'Cuit relacionado 2', null as 'Nombre relacionado 2', null as 'Tipo relación 2',
null as 'Cuit relacionado 3', null as 'Nombre relacionado 3', null as 'Tipo relación 3',
null as 'Cuit relacionado 4', null as 'Nombre relacionado 4', null as 'Tipo relación 4',
null as 'Cuit relacionado 5', null as 'Nombre relacionado 5', null as 'Tipo relación 5',
null as 'Cuit relacionado 6', null as 'Nombre relacionado 6', null as 'Tipo relación 6',
null as 'Cuit relacionado 7', null as 'Nombre relacionado 7', null as 'Tipo relación 7',
null as 'Cuit relacionado 8', null as 'Nombre relacionado 8', null as 'Tipo relación 8',
null as 'Cuit relacionado 9', null as 'Nombre relacionado 9', null as 'Tipo relación 9',
null as 'Cuit relacionado 10', null as 'Nombre relacionado 10', null as 'Tipo relación 10',
null as 'Cuit relacionado 11', null as 'Nombre relacionado 11', null as 'Tipo relación 11',
null as 'Cuit relacionado 12', null as 'Nombre relacionado 12', null as 'Tipo relación 12',
null as 'Cuit relacionado 13', null as 'Nombre relacionado 13', null as 'Tipo relación 13',
null as 'Cuit relacionado 14', null as 'Nombre relacionado 14', null as 'Tipo relación 14',
null as 'Cuit relacionado 15', null as 'Nombre relacionado 15', null as 'Tipo relación 15',
null as 'Cuit relacionado 16', null as 'Nombre relacionado 16', null as 'Tipo relación 16',
null as 'Cuit relacionado 17', null as 'Nombre relacionado 17', null as 'Tipo relación 17',
null as 'Cuit relacionado 18', null as 'Nombre relacionado 18', null as 'Tipo relación 18',
null as 'Cuit relacionado 19', null as 'Nombre relacionado 19', null as 'Tipo relación 19',
null as 'Cuit relacionado 20', null as 'Nombre relacionado 20', null as 'Tipo relación 20',
c.nro as 'nro'
from procesos_cuit_enrichment a
inner join procesos_cuit_enrichment_mas b on (b.cuit = a.cuit
and b.cliente = a.cliente
and b.Fecha_Proceso = a.Fecha_Proceso)
left join DATOS_PERSONAS p on p.c01_cuit = a.cuit
/*
inner join procesos_cuit_enrichment_datos_simples_socios c on (c.cliente = @cliente
and c.fecha_proceso = @fecha
and c.cuit_relacionado = a.cuit
and c.cuit_relacionado != c.cuit)
*/
inner join @vinculados c on ( c.cuit_relacionado = a.cuit and c.nro <= 20)
where a.cliente = @cliente
and a.fecha_proceso = @fecha_relacionados
and a.cuit like '2%' and (c02_fecha_nac > dateadd(year, (-18),getdate())
)
/*and exists (select * from @vinculados v where v.cuit = c.cuit and v.cuit_relacionado = c.cuit_relacionado
and nro <= 20) */
order by 'Categoría', 'Vinculado a (cuit)', 'nro'
if (@empresas_igual_domicilio = 1)
select *
from procesos_cuit_enrichment_empresas_domicilio
where cliente = @cliente and Fecha_Proceso = @fecha
and Cuit_vecino is not null and cuit_vecino like '3%'
end
GO
GO
CREATE OR ALTER PROCEDURE dbo.sp_procesos_cuit_enrichment_salida_ARCOR
@cliente int = 861672084,
@fecha date = '2020-04-28',
@fecha_relacionados date = '2020-04-29',
@empresas_igual_domicilio bit = 0,
@empleado varchar(20) = 'PROVEEDOR' -- 'EMPLEADO'
AS
BEGIN
SET NOCOUNT ON;
declare @cuit varchar(20)
declare @vinculados table (nro int,
cuit varchar(20),
nombre varchar(200),
cuit_relacionado varchar(20),
nombre_relacionado varchar(200),
cargo varchar(100))
DECLARE bn2 CURSOR
FOR
SELECT distinct cuit
FROM procesos_cuit
where cliente = @cliente
and fecha = @fecha
OPEN bn2
Fetch next from bn2 INTO @cuit
WHILE (@@FETCH_STATUS <> -1 )
BEGIN
insert into @vinculados
select ROW_NUMBER() OVER(ORDER BY id ASC), @cuit, nombre, cuit_relacionado, nombre_relacionado, cargo
from procesos_cuit_enrichment_datos_simples_socios a
where a.cliente = @cliente
and a.fecha_proceso = @fecha
and cuit = @cuit
and cuit_relacionado != cuit
order by id /* Orden de carga: Socios / Accionistas / Firmantes / Empleados / Parientes
como toma los 20 primeros que tome los mas importantes */
Fetch next from bn2 INTO @cuit
end
CLOSE bn2
DEALLOCATE bn2
/* Cuits solicitados */
select
a.cuit as 'CUIT',
a.Nro_documento as 'Nro Documento',
a.Nombre as 'Nombre',
@empleado as 'Categoría',
null as 'Tipo de Vinculación',
null as 'Vinculado a (nombre)',
null as 'Vinculado a (cuit)',
replace(b.domicilio,';','') as 'Domicilio',
replace(b.localidad,';','') as 'Localidad',
b.provincia as 'Provincia',
b.codpos as 'CodPos',
b.telefonos as 'Teléfonos',
b.emails as 'Emails',
c02_fecha_nac as 'Fecha nacimiento',
a.fecha_defuncion as 'Fecha defunción',
b.actividades as 'Actividades',
b.monotributo as 'Monotributo',
b.monotributo_autonomo as 'Monotributo autónomo',
b.monotributo_seg_social as 'Monotributo seg social',
b.monotributo_integrante_sociedad as 'Monotributo integrante sociedad',
b.iva as 'IVA',
a.cant_empleados as 'Cant aprox empleados',
a.fecha_inscripcion as 'Fecha inscripción',
a.fecha_contrato_social as 'Fecha contrato social',
a.fecha_constitucion as 'Fecha constitución',
a.fecha_inicio_actividad as 'Fecha inicio actividad',
a.Peticion_Concurso_Preventivo as 'Petición Concurso Preventivo',
a.Concurso_Preventivo_Proveido as 'Concurso Preventivo Proveido',
a.Concurso_Concluido as 'Concurso Concluido',
a.Instancias_Concursos_y_Quiebras as 'Instancias Concursos y Quiebras',
a.Pedidos_de_Quiebras as 'Pedidos de Quiebras',
a.Quiebras as 'Quiebras',
a.Juicios_Ejecutivos_Ultimo_Anio as 'Juicios Ejecutivos último año',
a.Juicios_por_Honorarios_Ultimo_Anio as 'Juicios por Honorarios último año',
a.Causas_Judiciales_Ultimo_Anio as 'Causas Judiciales último año',
a.Ultimo_Mes_BCRA as 'último Mes BCRA',
a.Cant_Bancos_Ultimo_Mes_BCRA as 'Cant Bancos último Mes BCRA',
a.Monto_Total_Ultimo_Mes_BCRA as 'Monto Total último Mes BCRA',
a.Peor_situacion_Ultimos_24_meses as 'Peor situacion últimos 12 meses',
a.Monto_Peor_Situacion_Ultimos_24_meses as 'Monto Peor Situacion últimos 12 meses',
a.Cant_Cheques_Sin_Fondos_Sin_Levantar_Ultimo_Anio as 'Cant Cheques Sin Fondos Sin Levantar último año',
a.Monto_Cheques_Sin_Fondos_Sin_Levantar_Ultimo_Anio as 'Monto Cheques Sin Fondos Sin Levantar último año',
a.Cant_Cheques_Sin_Fondos_Levantados_Ultimo_Anio as 'Cant Cheques Sin Fondos Levantados último año',
a.Monto_Cheques_Sin_Fondos_Levantados_Ultimo_Anio as 'Monto Cheques Sin Fondos Levantados último año',
a.Cant_Cheques_Sin_Fondos_Sin_Levantar_Anios_Anteriores as 'Cant Cheques Sin Fondos Sin Levantar años Anteriores',
a.Monto_Cheqeus_Sin_Fondos_Sin_Levantar_Anios_Anteriores as 'Monto Cheqeus Sin Fondos Sin Levantar años Anteriores',
a.Cant_Cheques_Sin_Fondos_Levantados_Anios_Anteriores as 'Cant Cheques Sin Fondos Levantados años Anteriores',
a.Monto_Cheques_Sin_Fondos_Levantados_Anios_Anteriores as 'Monto Cheques Sin Fondos Levantados años Anteriores',
case b.tiene_apocrifas
when 'N' then 'NO'
when 'S' then 'SI'
else null
end
as 'Tiene apocrifas',
a.Score as 'SCORE',
case
when (a.cuit like '2%' and (ED.cant = 0 or ED.cant is null)) then 'NO'
when (a.cuit like '3%' ) then null
else 'SI'
end as 'EMPRESA X DOMICILIO',
R1.cuit_relacionado as 'Cuit relacionado 1', R1.nombre_relacionado as 'Nombre relacionado 1', R1.cargo as 'Tipo relación 1',
R2.cuit_relacionado as 'Cuit relacionado 2', R2.nombre_relacionado as 'Nombre relacionado 2', R2.cargo as 'Tipo relación 2',
R3.cuit_relacionado as 'Cuit relacionado 3', R3.nombre_relacionado as 'Nombre relacionado 3', R3.cargo as 'Tipo relación 3',
R4.cuit_relacionado as 'Cuit relacionado 4', R4.nombre_relacionado as 'Nombre relacionado 4', R4.cargo as 'Tipo relación 4',
R5.cuit_relacionado as 'Cuit relacionado 5', R5.nombre_relacionado as 'Nombre relacionado 5', R5.cargo as 'Tipo relación 5',
R6.cuit_relacionado as 'Cuit relacionado 6', R6.nombre_relacionado as 'Nombre relacionado 6', R6.cargo as 'Tipo relación 6',
R7.cuit_relacionado as 'Cuit relacionado 7', R7.nombre_relacionado as 'Nombre relacionado 7', R7.cargo as 'Tipo relación 7',
R8.cuit_relacionado as 'Cuit relacionado 8', R8.nombre_relacionado as 'Nombre relacionado 8', R8.cargo as 'Tipo relación 8',
R9.cuit_relacionado as 'Cuit relacionado 9', R9.nombre_relacionado as 'Nombre relacionado 9', R9.cargo as 'Tipo relación 9',
R10.cuit_relacionado as 'Cuit relacionado 10', R10.nombre_relacionado as 'Nombre relacionado 10', R10.cargo as 'Tipo relación 10',
R11.cuit_relacionado as 'Cuit relacionado 11', R11.nombre_relacionado as 'Nombre relacionado 11', R11.cargo as 'Tipo relación 11',
R12.cuit_relacionado as 'Cuit relacionado 12', R12.nombre_relacionado as 'Nombre relacionado 12', R12.cargo as 'Tipo relación 12',
R13.cuit_relacionado as 'Cuit relacionado 13', R13.nombre_relacionado as 'Nombre relacionado 13', R13.cargo as 'Tipo relación 13',
R14.cuit_relacionado as 'Cuit relacionado 14', R14.nombre_relacionado as 'Nombre relacionado 14', R14.cargo as 'Tipo relación 14',
R15.cuit_relacionado as 'Cuit relacionado 15', R15.nombre_relacionado as 'Nombre relacionado 15', R15.cargo as 'Tipo relación 15',
R16.cuit_relacionado as 'Cuit relacionado 16', R16.nombre_relacionado as 'Nombre relacionado 16', R16.cargo as 'Tipo relación 16',
R17.cuit_relacionado as 'Cuit relacionado 17', R17.nombre_relacionado as 'Nombre relacionado 17', R17.cargo as 'Tipo relación 17',
R18.cuit_relacionado as 'Cuit relacionado 18', R18.nombre_relacionado as 'Nombre relacionado 18', R18.cargo as 'Tipo relación 18',
R19.cuit_relacionado as 'Cuit relacionado 19', R19.nombre_relacionado as 'Nombre relacionado 19', R19.cargo as 'Tipo relación 19',
R20.cuit_relacionado as 'Cuit relacionado 20', R20.nombre_relacionado as 'Nombre relacionado 20', R20.cargo as 'Tipo relación 20',
(ROW_NUMBER() OVER(ORDER BY a.cuit ASC)) as nro
from procesos_cuit_enrichment a
inner join procesos_cuit_enrichment_mas b on (b.cuit = a.cuit
and b.cliente = a.cliente
and b.Fecha_Proceso = a.Fecha_Proceso)
left join DATOS_PERSONAS p on p.c01_cuit = a.cuit
left join (select cuit, count(*) as cant
from procesos_cuit_enrichment_empresas_domicilio
where cliente = @cliente and Fecha_Proceso = @fecha
and Cuit_vecino is not null and cuit_vecino like '3%' group by cuit) ED on ED.cuit = a.cuit
left join @vinculados R1 on R1.cuit = a.cuit and R1.nro = 1
left join @vinculados R2 on R2.cuit = a.cuit and R2.nro = 2
left join @vinculados R3 on R3.cuit = a.cuit and R3.nro = 3
left join @vinculados R4 on R4.cuit = a.cuit and R4.nro = 4
left join @vinculados R5 on R5.cuit = a.cuit and R5.nro = 5
left join @vinculados R6 on R6.cuit = a.cuit and R6.nro = 6
left join @vinculados R7 on R7.cuit = a.cuit and R7.nro = 7
left join @vinculados R8 on R8.cuit = a.cuit and R8.nro = 8
left join @vinculados R9 on R9.cuit = a.cuit and R9.nro = 9
left join @vinculados R10 on R10.cuit = a.cuit and R10.nro = 10
left join @vinculados R11 on R11.cuit = a.cuit and R11.nro = 11
left join @vinculados R12 on R12.cuit = a.cuit and R12.nro = 12
left join @vinculados R13 on R13.cuit = a.cuit and R13.nro = 13
left join @vinculados R14 on R14.cuit = a.cuit and R14.nro = 14
left join @vinculados R15 on R15.cuit = a.cuit and R15.nro = 15
left join @vinculados R16 on R16.cuit = a.cuit and R16.nro = 16
left join @vinculados R17 on R17.cuit = a.cuit and R17.nro = 17
left join @vinculados R18 on R18.cuit = a.cuit and R18.nro = 18
left join @vinculados R19 on R19.cuit = a.cuit and R19.nro = 19
left join @vinculados R20 on R20.cuit = a.cuit and R20.nro = 20
where a.cliente = @cliente
and a.fecha_proceso = @fecha
union all
/* Vinculados Empresas o Personas mayores de edad */
select
a.cuit as 'CUIT',
a.Nro_documento as 'Nro Documento',
a.Nombre as 'Nombre',
'VINCULACION' as 'Categoría',
c.cargo as 'Tipo de Vinculación',
c.nombre as 'Vinculado a (nombre)',
c.cuit as 'Vinculado a (cuit)',
replace(b.domicilio,';','') as 'Domicilio',
replace(b.localidad,';','') as 'Localidad',
b.provincia as 'Provincia',
b.codpos as 'CodPos',
b.telefonos as 'Teléfonos',
b.emails as 'Emails',
c02_fecha_nac as 'Fecha nacimiento',
a.fecha_defuncion as 'Fecha defunción',
b.actividades as 'Actividades',
b.monotributo as 'Monotributo',
b.monotributo_autonomo as 'Monotributo autónomo',
b.monotributo_seg_social as 'Monotributo seg social',
b.monotributo_integrante_sociedad as 'Monotributo integrante sociedad',
b.iva as 'IVA',
a.cant_empleados as 'Cant aprox empleados',
a.fecha_inscripcion as 'Fecha inscripción',
a.fecha_contrato_social as 'Fecha contrato social',
a.fecha_constitucion as 'Fecha constitución',
a.fecha_inicio_actividad as 'Fecha inicio actividad',
a.Peticion_Concurso_Preventivo as 'Petición Concurso Preventivo',
a.Concurso_Preventivo_Proveido as 'Concurso Preventivo Proveido',
a.Concurso_Concluido as 'Concurso Concluido',
a.Instancias_Concursos_y_Quiebras as 'Instancias Concursos y Quiebras',
a.Pedidos_de_Quiebras as 'Pedidos de Quiebras',
a.Quiebras as 'Quiebras',
a.Juicios_Ejecutivos_Ultimo_Anio as 'Juicios Ejecutivos último año',
a.Juicios_por_Honorarios_Ultimo_Anio as 'Juicios por Honorarios último año',
a.Causas_Judiciales_Ultimo_Anio as 'Causas Judiciales último año',
a.Ultimo_Mes_BCRA as 'último Mes BCRA',
a.Cant_Bancos_Ultimo_Mes_BCRA as 'Cant Bancos último Mes BCRA',
a.Monto_Total_Ultimo_Mes_BCRA as 'Monto Total último Mes BCRA',
a.Peor_situacion_Ultimos_24_meses as 'Peor situacion últimos 12 meses',
a.Monto_Peor_Situacion_Ultimos_24_meses as 'Monto Peor Situacion últimos 12 meses',
a.Cant_Cheques_Sin_Fondos_Sin_Levantar_Ultimo_Anio as 'Cant Cheques Sin Fondos Sin Levantar último año',
a.Monto_Cheques_Sin_Fondos_Sin_Levantar_Ultimo_Anio as 'Monto Cheques Sin Fondos Sin Levantar último año',
a.Cant_Cheques_Sin_Fondos_Levantados_Ultimo_Anio as 'Cant Cheques Sin Fondos Levantados último año',
a.Monto_Cheques_Sin_Fondos_Levantados_Ultimo_Anio as 'Monto Cheques Sin Fondos Levantados último año',
a.Cant_Cheques_Sin_Fondos_Sin_Levantar_Anios_Anteriores as 'Cant Cheques Sin Fondos Sin Levantar años Anteriores',
a.Monto_Cheqeus_Sin_Fondos_Sin_Levantar_Anios_Anteriores as 'Monto Cheqeus Sin Fondos Sin Levantar años Anteriores',
a.Cant_Cheques_Sin_Fondos_Levantados_Anios_Anteriores as 'Cant Cheques Sin Fondos Levantados años Anteriores',
a.Monto_Cheques_Sin_Fondos_Levantados_Anios_Anteriores as 'Monto Cheques Sin Fondos Levantados años Anteriores',
case b.tiene_apocrifas
when 'N' then 'NO'
when 'S' then 'SI'
else null
end
as 'Tiene apocrifas',
a.Score as 'SCORE',
null as 'EMPRESA X DOMICILIO',
null as 'Cuit relacionado 1', null as 'Nombre relacionado 1', null as 'Tipo relación 1',
null as 'Cuit relacionado 2', null as 'Nombre relacionado 2', null as 'Tipo relación 2',
null as 'Cuit relacionado 3', null as 'Nombre relacionado 3', null as 'Tipo relación 3',
null as 'Cuit relacionado 4', null as 'Nombre relacionado 4', null as 'Tipo relación 4',
null as 'Cuit relacionado 5', null as 'Nombre relacionado 5', null as 'Tipo relación 5',
null as 'Cuit relacionado 6', null as 'Nombre relacionado 6', null as 'Tipo relación 6',
null as 'Cuit relacionado 7', null as 'Nombre relacionado 7', null as 'Tipo relación 7',
null as 'Cuit relacionado 8', null as 'Nombre relacionado 8', null as 'Tipo relación 8',
null as 'Cuit relacionado 9', null as 'Nombre relacionado 9', null as 'Tipo relación 9',
null as 'Cuit relacionado 10', null as 'Nombre relacionado 10', null as 'Tipo relación 10',
null as 'Cuit relacionado 11', null as 'Nombre relacionado 11', null as 'Tipo relación 11',
null as 'Cuit relacionado 12', null as 'Nombre relacionado 12', null as 'Tipo relación 12',
null as 'Cuit relacionado 13', null as 'Nombre relacionado 13', null as 'Tipo relación 13',
null as 'Cuit relacionado 14', null as 'Nombre relacionado 14', null as 'Tipo relación 14',
null as 'Cuit relacionado 15', null as 'Nombre relacionado 15', null as 'Tipo relación 15',
null as 'Cuit relacionado 16', null as 'Nombre relacionado 16', null as 'Tipo relación 16',
null as 'Cuit relacionado 17', null as 'Nombre relacionado 17', null as 'Tipo relación 17',
null as 'Cuit relacionado 18', null as 'Nombre relacionado 18', null as 'Tipo relación 18',
null as 'Cuit relacionado 19', null as 'Nombre relacionado 19', null as 'Tipo relación 19',
null as 'Cuit relacionado 20', null as 'Nombre relacionado 20', null as 'Tipo relación 20',
c.nro as nro
from procesos_cuit_enrichment a
inner join procesos_cuit_enrichment_mas b on (b.cuit = a.cuit
and b.cliente = a.cliente
and b.Fecha_Proceso = a.Fecha_Proceso)
left join DATOS_PERSONAS p on p.c01_cuit = a.cuit
/*
inner join procesos_cuit_enrichment_datos_simples_socios c on (c.cliente = @cliente
and c.fecha_proceso = @fecha
and c.cuit_relacionado = a.cuit
and c.cuit_relacionado != c.cuit)
*/
inner join @vinculados c on ( c.cuit_relacionado = a.cuit and c.nro <= 20)
where a.cliente = @cliente
and a.fecha_proceso = @fecha_relacionados
and (a.cuit like '3%' or
c02_fecha_nac <= dateadd(year, (-18),getdate())
or c02_fecha_nac is null)
/*and exists (select * from @vinculados v where v.cuit = c.cuit and v.cuit_relacionado = c.cuit_relacionado
and nro <= 20) */
union all
/* Vinculados, Menores de edad */
select
a.cuit as 'CUIT',
a.Nro_documento as 'Nro Documento',
a.Nombre as 'Nombre',
'VINCULACION (MENOR 18)' as 'Categoría',
c.cargo as 'Tipo de Vinculación',
c.nombre as 'Vinculado a (nombre)',
c.cuit as 'Vinculado a (cuit)',
null as 'Domicilio',
null as 'Localidad',
null as 'Provincia',
null as 'CodPos',
null as 'Teléfonos',
null as 'Emails',
c02_fecha_nac as 'Fecha nacimiento',
a.fecha_defuncion as 'Fecha defunción',
null as 'Actividades',
null as 'Monotributo',
null as 'Monotributo autónomo',
null as 'Monotributo seg social',
null as 'Monotributo integrante sociedad',
null as 'IVA',
null as 'Cant aprox empleados',
null as 'Fecha inscripción',
null as 'Fecha contrato social',
null as 'Fecha constitución',
null as 'Fecha inicio actividad',
null as 'Petición Concurso Preventivo',
null as 'Concurso Preventivo Proveido',
null as 'Concurso Concluido',
null as 'Instancias Concursos y Quiebras',
null as 'Pedidos de Quiebras',
null as 'Quiebras',
null as 'Juicios Ejecutivos último año',
null as 'Juicios por Honorarios último año',
null as 'Causas Judiciales último año',
null as 'último Mes BCRA',
null as 'Cant Bancos último Mes BCRA',
null as 'Monto Total último Mes BCRA',
null as 'Peor situacion últimos 12 meses',
null as 'Monto Peor Situacion últimos 12 meses',
null as 'Cant Cheques Sin Fondos Sin Levantar último año',
null as 'Monto Cheques Sin Fondos Sin Levantar último año',
null as 'Cant Cheques Sin Fondos Levantados último año',
null as 'Monto Cheques Sin Fondos Levantados último año',
null as 'Cant Cheques Sin Fondos Sin Levantar años Anteriores',
null as 'Monto Cheqeus Sin Fondos Sin Levantar años Anteriores',
null as 'Cant Cheques Sin Fondos Levantados años Anteriores',
null as 'Monto Cheques Sin Fondos Levantados años Anteriores',
null as 'Tiene apocrifas',
null as 'SCORE',
null as 'EMPRESA X DOMICILIO',
null as 'Cuit relacionado 1', null as 'Nombre relacionado 1', null as 'Tipo relación 1',
null as 'Cuit relacionado 2', null as 'Nombre relacionado 2', null as 'Tipo relación 2',
null as 'Cuit relacionado 3', null as 'Nombre relacionado 3', null as 'Tipo relación 3',
null as 'Cuit relacionado 4', null as 'Nombre relacionado 4', null as 'Tipo relación 4',
null as 'Cuit relacionado 5', null as 'Nombre relacionado 5', null as 'Tipo relación 5',
null as 'Cuit relacionado 6', null as 'Nombre relacionado 6', null as 'Tipo relación 6',
null as 'Cuit relacionado 7', null as 'Nombre relacionado 7', null as 'Tipo relación 7',
null as 'Cuit relacionado 8', null as 'Nombre relacionado 8', null as 'Tipo relación 8',
null as 'Cuit relacionado 9', null as 'Nombre relacionado 9', null as 'Tipo relación 9',
null as 'Cuit relacionado 10', null as 'Nombre relacionado 10', null as 'Tipo relación 10',
null as 'Cuit relacionado 11', null as 'Nombre relacionado 11', null as 'Tipo relación 11',
null as 'Cuit relacionado 12', null as 'Nombre relacionado 12', null as 'Tipo relación 12',
null as 'Cuit relacionado 13', null as 'Nombre relacionado 13', null as 'Tipo relación 13',
null as 'Cuit relacionado 14', null as 'Nombre relacionado 14', null as 'Tipo relación 14',
null as 'Cuit relacionado 15', null as 'Nombre relacionado 15', null as 'Tipo relación 15',
null as 'Cuit relacionado 16', null as 'Nombre relacionado 16', null as 'Tipo relación 16',
null as 'Cuit relacionado 17', null as 'Nombre relacionado 17', null as 'Tipo relación 17',
null as 'Cuit relacionado 18', null as 'Nombre relacionado 18', null as 'Tipo relación 18',
null as 'Cuit relacionado 19', null as 'Nombre relacionado 19', null as 'Tipo relación 19',
null as 'Cuit relacionado 20', null as 'Nombre relacionado 20', null as 'Tipo relación 20',
c.nro as 'nro'
from procesos_cuit_enrichment a
inner join procesos_cuit_enrichment_mas b on (b.cuit = a.cuit
and b.cliente = a.cliente
and b.Fecha_Proceso = a.Fecha_Proceso)
left join DATOS_PERSONAS p on p.c01_cuit = a.cuit
/*
inner join procesos_cuit_enrichment_datos_simples_socios c on (c.cliente = @cliente
and c.fecha_proceso = @fecha
and c.cuit_relacionado = a.cuit
and c.cuit_relacionado != c.cuit)
*/
inner join @vinculados c on ( c.cuit_relacionado = a.cuit and c.nro <= 20)
where a.cliente = @cliente
and a.fecha_proceso = @fecha_relacionados
and a.cuit like '2%' and (c02_fecha_nac > dateadd(year, (-18),getdate())
)
/*and exists (select * from @vinculados v where v.cuit = c.cuit and v.cuit_relacionado = c.cuit_relacionado
and nro <= 20) */
order by 'Categoría', 'Vinculado a (cuit)', 'nro'
if (@empresas_igual_domicilio = 1)
select *
from procesos_cuit_enrichment_empresas_domicilio
where cliente = @cliente and Fecha_Proceso = @fecha
and Cuit_vecino is not null and cuit_vecino like '3%'
end
GO
Depends On
6Used By
No items found