Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
11| Name | Data Type | Length | Description |
|---|---|---|---|
| @cliente | int | 4 | |
| @fecha | date | 3 | |
| @socios | char | 1 | |
| @ex_socios | char | 1 | |
| @incluir_edictos | char | 1 | |
| @accionistas | char | 1 | |
| @empleados | char | 1 | |
| @parientes | char | 1 | |
| @firmantes | char | 1 | |
| @empleados_de | char | 1 | |
| @socios_relacionados | char | 1 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*
Proceso que usamos para CCU (Chile)
*/
/*
exec sp_procesos_cuit_enrichment_personas_relacionadas
8907,
'2024-12-23',
'S', -- socios
'S', -- ex_socios
'N', -- incluir_edictos
'S', -- accionistas
'S', -- empleados
'S', -- parientes
'S', -- firmantes
'S' -- empleado de
select distinct cuit as 'CUIT empleado', nombre as 'Nombre empleado', cargo as 'Relación', cuit_relacionado as 'CUIT Proveedor', nombre_relacionado as 'Nombre Proveedor'
from procesos_cuit_enrichment_datos_simples_socios a
where a.fecha_proceso = '2023-05-15' and a.cliente = 2046807993
and a.cuit_relacionado in (select cuit from procesos_cuit where cliente = 2046807993 and fecha in ( '2023-05-16' ,'2023-05-17' ))
order by cuit_relacionado, cuit
select * from empleados where cuil = '20422011480' and cuit = '33658043779' order by periodo desc
select * from procesos_cuit_enrichment_datos_simples_socios
where cliente = 2046807993
and fecha_proceso = '2023-05-15'
and cuit = '23365989559'
MRD - PEP Relacionadas:
select p.cuit as 'Cuit', p.nombre as 'Nombre',
cargo as 'Vinculación',
cuit_relacionado as 'Cuit persona vinculada',
nombre_relacionado as 'Nombre persona vinculada',
case f.fidecheck
when null then ''
when 'N' then 'NEGATIVE'
when 'P' then 'POSITIVE'
when 'E' then 'PEP'
when 'R' then 'RELATED'
end
as PEP,
f.detalle as 'Detalle'
from procesos_cuit_enrichment_datos_simples_socios p
left join fidecheck_cuits f on f.fecha = '2020-06-03' and f.cuit = p.cuit_relacionado
where p.cliente = 2870143
and p.fecha_proceso = '2020-06-01'
los empleados cliente = 2046807993 fecha = '2024-03-02'
exec [sp_procesos_cuit_enrichment_personas_relacionadas]
2046807993,
'2024-03-02',
'N',
'N',
'N',
'N',
'N',
'N',
'N',
'N',
'S'
select distinct cuit,
a.nombre_persona as nombre,
cuit_relacionado,
b.nombre_persona as nombre_relacionado,
cargo, desde, hasta, relacionado_pariente
from
procesos_cuit_enrichment_datos_simples_socios
left join padrones a on a.identificacion = procesos_cuit_enrichment_datos_simples_socios.cuit and a.habilitado = 1
left join padrones b on b.identificacion = procesos_cuit_enrichment_datos_simples_socios.cuit_relacionado and b.habilitado = 1
where cliente = 2046807993
and fecha_proceso = '2024-03-02'
and cuit != cuit_relacionado and relacionado_pariente = 'S'
order by cuit, cuit_relacionado
insert into procesos_cuit (fecha, cliente, cuit)
select
distinct '2024-03-04' , 2046807993, E.cuit_relacionado
from procesos_cuit_enrichment_datos_simples_socios E
where E.cliente = 2046807993 and E.fecha_proceso = '2024-03-02'
and E.relacionado_pariente = 'S'
and E.cuit != E.cuit_relacionado
exec sp_procesos_cuit_enrichment_personas_relacionadas
2046807993,
'2024-03-04',
'S', -- socios
'S', -- ex_socios
'N', -- incluir_edictos
'S', -- accionistas
'N', -- empleados
'S', -- parientes
'S', -- firmantes
'S' -- empleado de
*/
CREATE OR ALTER PROCEDURE dbo.sp_procesos_cuit_enrichment_personas_relacionadas
/*
1) Se cargan los cuits en la tabla procesos_cuit (cliente, fecha,cuit)
1.1) Para buscar las relacionadas
EXEC [dbo].[sp_procesos_cuit_enrichment_personas_relacionadas]
con estos parámetros
@cliente int = CLIENTE,
@fecha date = FECHA QUE CARGAMOS en la tabla procesos_cuit
@socios char(1) = 'S',
@ex_socios char(1) = 'S',
@incluir_edictos char(1) = 'N',
@accionistas char(1) = 'S',
@empleados char(1) = 'N',
@parientes char(1) = 'N',
@firmantes char(1) = 'S'
2) cargamos los cuits resultantes como CUITS RELACIONADOS (valores unicos) en la tabla procesos_cuit (cliente, FECHA pornerle una mayor que la que pusimos en el paso 1, cuit)
insert into procesos_cuit
select 5999321, '2019-11-13',
cuit_relacionado
from procesos_cuit_enrichment_datos_simples_socios a
where a.cliente = 5999321
and a.fecha_proceso = '2019-11-11'
and not exists (select * from procesos_cuit b where b.cliente = 5999321 and b.fecha = '2019-11-11' and b.cuit = a.cuit_relacionado)
2.2) Para buscar las relacionadas con las relacionadas
Volvemos a ejecutar el mismo Stored, pero en el parámetro fecha se mandará la nueva fecha de proceso con la que cargamos los cuits relacionados.
*/
/*
los cuits a procesar se cargar en la tabla procesos_cuit (para distinguir Fisicas y Juridicas, si se quiere, se pueden guardar con dos fechas distintas)
- Se obtienen las personas relacionadas, que pueden ser
Para empresas:
Socios / directivos
ex-Socios / directivos
edictos
Accionistas
Empleados
Para personas físicas:
Parientes (según Obras Sociales)
*/
@cliente int = 1,
@fecha date = '2019-10-14',
@socios char(1) = 'S',
@ex_socios char(1) = 'S',
@incluir_edictos char(1) = 'N',
@accionistas char(1) = 'S',
@empleados char(1) = 'N',
@parientes char(1) = 'N',
@firmantes char(1) = 'S',
@empleados_de char(1) = 'S',
@socios_relacionados char(1) = 'N'
AS
BEGIN
SET NOCOUNT ON;
delete from procesos_cuit_enrichment_datos_simples_socios
where cliente = @cliente
and fecha_proceso = @fecha
/* Tabla socios */
if (@socios = 'S' )
begin
insert into procesos_cuit_enrichment_datos_simples_socios(cliente, fecha_proceso, cuit,
nombre, cuit_relacionado, nombre_relacionado, cargo, desde, hasta, relacionado_pariente)
select distinct
@cliente as cliente, @fecha as fecha_proceso,
c01_cuit as cuit, b.nombre_persona as sociedad,
c01_cuit_soc as cuit_relacionado, a.nombre_persona as nombre_relacionado, c.car_nombre as cargo,
c04_periodo_desde, c04_periodo_hasta, 'R'
from socios
inner join cargos c on c.car_codigo = socios.car_codigo
inner join padrones a on a.identificacion = c01_cuit_soc and a.habilitado = 1
inner join padrones b on b.identificacion = c01_cuit and b.habilitado = 1
where socios.c01_cuit
in (select cuit
from procesos_cuit
inner join padrones p on p.identificacion = procesos_cuit.cuit and p.habilitado = 1 and p.tipo_persona = 'J'
where cliente = @cliente and fecha = @fecha
)
and c04_ultimo = 'S'
and socios.visible = 1
and isnull(c01_cuit_soc,'') != ''
and isnull(c01_cuit_soc,'') not like '3%'
/* socio de */
insert into procesos_cuit_enrichment_datos_simples_socios(cliente, fecha_proceso, cuit,
nombre, cuit_relacionado, nombre_relacionado, cargo, desde, hasta, relacionado_pariente)
select distinct
@cliente as cliente, @fecha as fecha_proceso,
c01_cuit_soc as cuit, a.nombre_persona as nombre,
c01_cuit as cuit_relacionado, b.nombre_persona as nombre_relacionado,
c.car_nombre + ' DE' as cargo,
c04_periodo_desde, c04_periodo_hasta, 'R'
from socios
inner join cargos c on c.car_codigo = socios.car_codigo
inner join padrones a on a.identificacion = c01_cuit_soc and a.habilitado = 1
inner join padrones b on b.identificacion = c01_cuit and b.habilitado = 1
where socios.c01_cuit_soc
in (select cuit
from procesos_cuit
inner join padrones p on p.identificacion = procesos_cuit.cuit and p.habilitado = 1 and p.tipo_persona = 'F'
where cliente = @cliente and fecha = @fecha
)
and c04_ultimo = 'S'
and socios.visible = 1
and isnull(c01_cuit_soc,'') != ''
and isnull(c01_cuit_soc,'') not like '3%'
end
if (@socios_relacionados = 'S' )
begin
declare @cuit_persona varchar(20), @nombre_persona varchar(200)
DECLARE p_cuits1 CURSOR FOR
select cuit, p.nombre_persona
from procesos_cuit
inner join padrones p on p.identificacion = procesos_cuit.cuit and p.habilitado = 1
where cliente = @cliente and fecha = @fecha and isnull(cuit,'') != '' and isnull(cuit,'') not like '3%'
OPEN p_cuits1
FETCH NEXT FROM p_cuits1 INTO @cuit_persona, @nombre_persona
WHILE @@fetch_status = 0
BEGIN
insert into procesos_cuit_enrichment_datos_simples_socios(cliente, fecha_proceso, cuit,
nombre, cuit_relacionado, nombre_relacionado, cargo, desde, hasta, relacionado_pariente)
select distinct
@cliente as cliente, @fecha as fecha_proceso,
@cuit_persona as cuit, @nombre_persona as nombre,
c01_cuit_soc as cuit_relacionado, socio.nombre_persona as nombre_relacionado, empresa.nombre_persona as cargo,
c04_periodo_desde, c04_periodo_hasta, 'S'
from socios
inner join cargos c on c.car_codigo = socios.car_codigo
inner join padrones socio on (socio.identificacion = c01_cuit_soc and socio.habilitado = 1 and socio.identificador in ('CUIT','CUIL'))
inner join padrones empresa on (empresa.identificacion = c01_cuit and empresa.habilitado = 1 and empresa.identificador in ('CUIT','CUIL'))
where socios.c04_ultimo = 'S' and socios.visible = 1 and socios.c01_cuit_soc != @cuit_persona
and socios.c01_cuit in
(select distinct c01_cuit
from socios socios2
where socios2.c01_cuit_soc = @cuit_persona
and socios2.c04_ultimo = 'S'
and socios2.visible = 1)
FETCH NEXT FROM p_cuits1 INTO @cuit_persona, @nombre_persona
END
CLOSE p_cuits1
DEALLOCATE p_cuits1
end
/* Tabla socios (ANTERIORES) */
if (@ex_socios = 'S')
begin
insert into procesos_cuit_enrichment_datos_simples_socios(cliente, fecha_proceso, cuit, nombre, cuit_relacionado, nombre_relacionado, cargo , relacionado_pariente)
select distinct
@cliente as cliente, @fecha as fecha_proceso,
c01_cuit as cuit, b.nombre_persona as sociedad,
c01_cuit_soc as cuit_relacionado, a.nombre_persona as nombre_relacionado, 'EX-'+c.car_nombre as cargo, 'R'
from socios
inner join cargos c on c.car_codigo = socios.car_codigo
inner join padrones a on a.identificacion = c01_cuit_soc and a.habilitado = 1
inner join padrones b on b.identificacion = c01_cuit and b.habilitado = 1
where socios.c01_cuit
in (select cuit
from procesos_cuit
inner join padrones p on p.identificacion = procesos_cuit.cuit and p.habilitado = 1 and p.tipo_persona = 'J'
where cliente = @cliente and fecha = @fecha
) and c04_ultimo = 'N'
and socios.visible = 1
and isnull(c01_cuit_soc,'') != ''
and isnull(c01_cuit_soc,'') not like '3%'
and not exists (select * from socios s where s.c01_cuit = socios.c01_cuit and s.c01_cuit_soc = socios.c01_cuit_soc and s.c04_ultimo = 'S' and s.visible = 1 )
/* socio de */
insert into procesos_cuit_enrichment_datos_simples_socios(cliente, fecha_proceso, cuit, nombre, cuit_relacionado, nombre_relacionado, cargo, relacionado_pariente)
select distinct
@cliente as cliente, @fecha as fecha_proceso,
c01_cuit_soc as cuit, a.nombre_persona as nombre,
c01_cuit as cuit_relacionado, b.nombre_persona as nombre_relacionado,
'EX-'+c.car_nombre+ ' DE' as cargo, 'R'
from socios
inner join cargos c on c.car_codigo = socios.car_codigo
inner join padrones a on a.identificacion = c01_cuit_soc and a.habilitado = 1
inner join padrones b on b.identificacion = c01_cuit and b.habilitado = 1
where socios.c01_cuit_soc
in (select cuit
from procesos_cuit
inner join padrones p on p.identificacion = procesos_cuit.cuit and p.habilitado = 1 and p.tipo_persona = 'F'
where cliente = @cliente and fecha = @fecha
) and c04_ultimo = 'N'
and socios.visible = 1
and isnull(c01_cuit_soc,'') != ''
and isnull(c01_cuit_soc,'') not like '3%'
and not exists (select * from socios s where s.c01_cuit = socios.c01_cuit and s.c01_cuit_soc = socios.c01_cuit_soc and s.c04_ultimo = 'S' and s.visible = 1 )
end
/* Tabla Accionistas */
if (@accionistas = 'S')
begin
insert into procesos_cuit_enrichment_datos_simples_socios(cliente, fecha_proceso, cuit, nombre, cuit_relacionado, nombre_relacionado, cargo, relacionado_pariente)
select distinct
@cliente as cliente, @fecha as fecha_proceso,
cuit_sociedad as cuit, b.nombre_persona as sociedad,
cuit_acc as cuit_relacionado, a.nombre_persona as nombre_relacionado, 'ACCIONISTA' as cargo, 'R'
from accionistas
inner join padrones a on a.identificacion = cuit_acc and a.habilitado = 1
inner join padrones b on b.identificacion = cuit_sociedad and b.habilitado = 1
where accionistas.cuit_sociedad
in (select cuit
from procesos_cuit
inner join padrones p on p.identificacion = procesos_cuit.cuit and p.habilitado = 1 and p.tipo_persona = 'J'
where cliente = @cliente and fecha = @fecha
)
and isnull(cuit_acc,'') != ''
and accionistas.visible = 1
/* accionista de*/
insert into procesos_cuit_enrichment_datos_simples_socios(cliente, fecha_proceso, cuit, nombre, cuit_relacionado, nombre_relacionado, cargo, relacionado_pariente)
select distinct
@cliente as cliente, @fecha as fecha_proceso,
cuit_acc as cuit, a.nombre_persona as nombre,
cuit_sociedad as cuit_relacionado, b.nombre_persona as nombre_relacionado,
'ACCIONISTA DE' as cargo, 'R'
from accionistas
inner join padrones a on a.identificacion = cuit_acc and a.habilitado = 1
inner join padrones b on b.identificacion = cuit_sociedad and b.habilitado = 1
where accionistas.cuit_acc
in (select cuit
from procesos_cuit
inner join padrones p on p.identificacion = procesos_cuit.cuit and p.habilitado = 1 and p.tipo_persona = 'F'
where cliente = @cliente and fecha = @fecha
)
and isnull(cuit_acc,'') != ''
and accionistas.visible = 1
end
if (@incluir_edictos='S')
begin
/* Tabla Sociedades_Constituciones */
insert into procesos_cuit_enrichment_datos_simples_socios(cliente, fecha_proceso, cuit, nombre, cuit_relacionado, nombre_relacionado, cargo, relacionado_pariente)
select distinct
@cliente as cliente, @fecha as fecha_proceso,
documento_soc as cuit, b.nombre_persona as nombre,
iif(isnull(cuit_int,'')!='',cuit_int, cuit_integrante) as cuit_relacionado,
a.nombre_persona as nombre_relacionado,
iif(isnull(sociedades_constituciones.cargo,'')='',cargos_grupo_jurad.cargo,sociedades_constituciones.cargo) as cargo, 'R'
from sociedades_constituciones
left join cargos_grupo_jurad on codigo = cargo_int
inner join padrones a on a.identificacion = iif(isnull(cuit_int,'')!='',cuit_int, cuit_integrante) and a.habilitado = 1
inner join padrones b on b.identificacion = documento_soc and b.habilitado = 1
where sociedades_constituciones.documento_soc
in (select cuit
from procesos_cuit
inner join padrones p on p.identificacion = procesos_cuit.cuit and p.habilitado = 1 and p.tipo_persona = 'J'
where cliente = @cliente and fecha = @fecha
)
and (ISNULL(cuit_int,'') != '' or ISNULL(cuit_integrante,'') != '')
and (ISNULL(cuit_int,'') not like '3%' and ISNULL(cuit_integrante,'') not like '3%')
and not exists (select * from procesos_cuit_enrichment_datos_simples_socios a
where a.cliente = @cliente
and a.fecha_proceso = @fecha
and a.cuit = documento_soc
and a.cuit_relacionado = iif(isnull(cuit_int,'')!='',cuit_int, cuit_relacionado))
union
select distinct
@cliente as cliente, @fecha as fecha_proceso,
documento_soc as cuit, b.nombre_persona as nombre,
documento_integrante as cuit_relacionado,
nombre_integrante as nombre_relacionado,
iif(isnull(sociedades_constituciones.cargo,'')='',cargos_grupo_jurad.cargo,sociedades_constituciones.cargo) as cargo, 'R'
from sociedades_constituciones
left join cargos_grupo_jurad on codigo = cargo_int
inner join padrones b on b.identificacion = documento_soc and b.habilitado = 1
where sociedades_constituciones.documento_soc
in (select cuit
from procesos_cuit
inner join padrones p on p.identificacion = procesos_cuit.cuit and p.habilitado = 1 and p.tipo_persona = 'J'
where cliente = @cliente and fecha = @fecha
)
and ISNULL(documento_integrante,'') != ''
and (ISNULL(cuit_int,'') = '' and ISNULL(cuit_integrante,'') = '')
and not exists (select * from procesos_cuit_enrichment_datos_simples_socios a
where a.cliente = @cliente
and a.fecha_proceso = @fecha
and a.cuit = documento_soc
and a.cuit_relacionado = documento_integrante)
/* Tabla Sociedades_Constituciones (de) */
insert into procesos_cuit_enrichment_datos_simples_socios(cliente, fecha_proceso, cuit, nombre, cuit_relacionado, nombre_relacionado, cargo, relacionado_pariente)
select distinct
@cliente as cliente, @fecha as fecha_proceso,
iif(isnull(cuit_int,'')!='',cuit_int, cuit_integrante) as cuit,
a.nombre_persona as nombre,
documento_soc as cuit_relacionado, b.nombre_persona as nombre_relacionado,
iif(isnull(sociedades_constituciones.cargo,'')='',cargos_grupo_jurad.cargo,sociedades_constituciones.cargo)+' de' as cargo, 'R'
from sociedades_constituciones
left join cargos_grupo_jurad on codigo = cargo_int
inner join padrones a on a.identificacion = iif(isnull(cuit_int,'')!='',cuit_int, cuit_integrante) and a.habilitado = 1
inner join padrones b on b.identificacion = documento_soc and b.habilitado = 1
where (sociedades_constituciones.cuit_int
in (select cuit from procesos_cuit where cliente = @cliente and fecha = @fecha)
or sociedades_constituciones.cuit_integrante
in (select cuit from procesos_cuit where cliente = @cliente and fecha = @fecha))
and (ISNULL(documento_soc ,'') != '')
and not exists (select * from procesos_cuit_enrichment_datos_simples_socios a
where a.cliente = @cliente
and a.fecha_proceso = @fecha
and a.cuit = iif(isnull(cuit_int,'')!='',cuit_int, cuit_integrante)
and a.cuit_relacionado = documento_soc )
/* Tabla Edictos */
insert into procesos_cuit_enrichment_datos_simples_socios(cliente, fecha_proceso, cuit, nombre, cuit_relacionado, nombre_relacionado, cargo, relacionado_pariente)
select distinct
@cliente as cliente, @fecha as fecha_proceso,
cuit_sociedad as cuit, b.nombre_persona as sociedad,
cuit_integrante, a.nombre_persona as nombre_relacionado, 'INTEGRANTE' as cargo, 'R'
from edictos
inner join padrones a on a.identificacion = cuit_integrante and a.habilitado = 1
inner join padrones b on b.identificacion = cuit_sociedad and b.habilitado = 1
where edictos.cuit_sociedad
in (select cuit
from procesos_cuit
inner join padrones p on p.identificacion = procesos_cuit.cuit and p.habilitado = 1 and p.tipo_persona = 'J'
where cliente = @cliente and fecha = @fecha
)
and isnull(cuit_integrante,'') != ''
and isnull(cuit_integrante,'') not like '3%'
and not exists (select * from procesos_cuit_enrichment_datos_simples_socios a
where a.cliente = @cliente
and a.fecha_proceso = @fecha
and a.cuit = cuit_sociedad
and a.cuit_relacionado = edictos.cuit_integrante)
/* Tabla Edictos (de) */
insert into procesos_cuit_enrichment_datos_simples_socios(cliente, fecha_proceso, cuit, nombre, cuit_relacionado, nombre_relacionado, cargo, relacionado_pariente)
select distinct
@cliente as cliente, @fecha as fecha_proceso,
cuit_integrante as cuit, a.nombre_persona as nombre,
cuit_sociedad as cuit_relacionado, b.nombre_persona as nombre_relacionado, 'INTEGRANTE DE' as cargo, 'R'
from edictos
inner join padrones a on a.identificacion = cuit_integrante and a.habilitado = 1
inner join padrones b on b.identificacion = cuit_sociedad and b.habilitado = 1
where edictos.cuit_integrante
in (select cuit from procesos_cuit where cliente = @cliente and fecha = @fecha)
and isnull(cuit_sociedad,'') != ''
and not exists (select * from procesos_cuit_enrichment_datos_simples_socios a
where a.cliente = @cliente
and a.fecha_proceso = @fecha
and a.cuit = edictos.cuit_integrante
and a.cuit_relacionado = cuit_sociedad)
end
/* firmantes */
if (@firmantes = 'S' )
begin
insert into procesos_cuit_enrichment_datos_simples_socios(cliente, fecha_proceso, cuit, nombre, cuit_relacionado, nombre_relacionado, cargo, relacionado_pariente)
select distinct
@cliente as cliente, @fecha as fecha_proceso,
cuit_relacionado as cuit, b.nombre_persona as sociedad,
cuit_firmante as cuit_relacionado, a.nombre_persona as nombre_relacionado, 'FIRMANTE' as cargo, 'R'
from ChequesBCRA
inner join padrones a on a.identificacion = cuit_firmante and a.habilitado = 1
inner join padrones b on b.identificacion = cuit_relacionado and b.habilitado = 1
where Cuit_relacionado
in (select cuit
from procesos_cuit
inner join padrones p on p.identificacion = procesos_cuit.cuit and p.habilitado = 1 and p.tipo_persona = 'J'
where cliente = @cliente and fecha = @fecha
)
and ChequesBCRA.visible = 1
insert into procesos_cuit_enrichment_datos_simples_socios(cliente, fecha_proceso, cuit, nombre, cuit_relacionado, nombre_relacionado, cargo, relacionado_pariente)
select distinct
@cliente as cliente, @fecha as fecha_proceso,
cuit_firmante as cuit, a.nombre_persona as nombre,
cuit_relacionado as cuit_relacionado, b.nombre_persona as nombre_relacionado,
'FIRMANTE DE' as cargo, 'R'
from ChequesBCRA
inner join padrones a on a.identificacion = cuit_firmante and a.habilitado = 1
inner join padrones b on b.identificacion = cuit_relacionado and b.habilitado = 1
where cuit_firmante
in (select cuit
from procesos_cuit
inner join padrones p on p.identificacion = procesos_cuit.cuit and p.habilitado = 1 and p.tipo_persona = 'F'
where cliente = @cliente and fecha = @fecha
)
and ChequesBCRA.visible = 1
end
declare @cuit varchar(20), @periodo int, @cantidad bigint, @ultimo_mes_empleados date,
@mes_empleados date,
@periodo_empleados_desde int,
@periodo_empleados_hasta int
set @ultimo_mes_empleados = (select max(fuentes_procesadas.fecha_informacion) from fuentes_procesadas where fuente = 'empleados')
set @mes_empleados = DATEADD(M,-24,@ultimo_mes_empleados)
--set @mes_empleados = DATEADD(M,-2,@ultimo_mes_empleados) -- para que tome lo mismo del obtener_empleados
set @periodo_empleados_desde = convert(int,substring(convert(char,@mes_empleados),3,2)+substring(convert(char,@mes_empleados),6,2))
set @periodo_empleados_hasta = convert(int,substring(convert(char,@ultimo_mes_empleados),3,2)+substring(convert(char,@ultimo_mes_empleados),6,2))
select @periodo_empleados_desde as empleados_desde, @periodo_empleados_hasta as empleados_hasta
/* Empleados */
if (@empleados = 'S')
begin
DECLARE p_cuits CURSOR FOR
select cuit
from procesos_cuit
inner join padrones p on p.identificacion = procesos_cuit.cuit and p.habilitado = 1
--and p.tipo_persona = 'J'
where cliente = @cliente and fecha = @fecha
OPEN p_cuits
FETCH NEXT FROM p_cuits INTO @cuit
WHILE @@fetch_status = 0
BEGIN
select top 1 @periodo = periodo, @cantidad = COUNT(distinct cuil)
from empleados
where empleados.cuit = @cuit
and periodo between @periodo_empleados_desde and @periodo_empleados_hasta
and visible = 1
group by periodo
order by 2 desc, 1 desc
insert into procesos_cuit_enrichment_datos_simples_socios(cliente, fecha_proceso, cuit, nombre, cuit_relacionado, nombre_relacionado, cargo, relacionado_pariente)
select distinct
@cliente as cliente, @fecha as fecha_proceso,
cuit as cuit, b.nombre_persona as sociedad,
cuil as cuit_relacionado, a.nombre_persona as nombre_relacionado, 'EMPLEADO' as cargo, 'R'
from empleados
inner join padrones a on a.identificacion = cuil and a.habilitado = 1
inner join padrones b on b.identificacion = cuit and b.habilitado = 1
where empleados.cuit = @cuit
and empleados.periodo = @periodo
and empleados.visible = 1
FETCH NEXT FROM p_cuits INTO @cuit
END
CLOSE p_cuits
DEALLOCATE p_cuits
END
/* Empleados de */
if (@empleados_de = 'S')
begin
DECLARE p_cuils CURSOR FOR
select cuit
from procesos_cuit
inner join padrones p on p.identificacion = procesos_cuit.cuit and p.habilitado = 1-- and p.tipo_persona = 'F'
where cliente = @cliente and fecha = @fecha
OPEN p_cuils
FETCH NEXT FROM p_cuils INTO @cuit
WHILE @@fetch_status = 0
BEGIN
insert into procesos_cuit_enrichment_datos_simples_socios(cliente, fecha_proceso, cuit, nombre, cuit_relacionado, nombre_relacionado, cargo, hasta, relacionado_pariente)
select distinct
@cliente as cliente, @fecha as fecha_proceso,
cuil as cuit, a.nombre_persona as sociedad,
cuit as cuit_relacionado, b.nombre_persona as nombre_relacionado, 'EMPLEADO DE' as cargo, max(periodo) as hasta, 'R' as r
from empleados
inner join padrones a on a.identificacion = cuil and a.habilitado = 1
inner join padrones b on b.identificacion = cuit and b.habilitado = 1
where empleados.cuil = @cuit
and periodo between @periodo_empleados_desde and @periodo_empleados_hasta
/*and periodo = (select max(periodo) from empleados b
where b.cuil = @cuit
and b.visible = 1
and b.periodo between @periodo_empleados_desde and @periodo_empleados_hasta)*/
and empleados.visible = 1
group by
cuil, a.nombre_persona,
cuit, b.nombre_persona
FETCH NEXT FROM p_cuils INTO @cuit
END
CLOSE p_cuils
DEALLOCATE p_cuils
end
if (@parientes = 'S')
begin
insert into procesos_cuit_enrichment_datos_simples_socios(cliente, fecha_proceso, cuit, nombre, cuit_relacionado, nombre_relacionado, cargo, relacionado_pariente)
select distinct
@cliente as cliente, @fecha as fecha_proceso,
cuil_Activo as cuit, b.nombre_persona as sociedad,
cuilrelacionado as cuit_relacionado, a.nombre_persona as nombre_relacionado,
case ltrim(rtrim(descrelacion))
when null then 'FAMILIAR'
when '' then 'FAMILIAR'
when 'HIJO/A' then 'PADRE/HIJO'
else ltrim(rtrim(descrelacion))
end as cargo, 'P'
from obrasSociales os
inner join padrones a on a.identificacion = cuilrelacionado and a.habilitado = 1
inner join padrones b on b.identificacion = cuil_Activo and b.habilitado = 1
where os.cuil_Activo != os.cuilrelacionado and
os.cuil_Activo
in (select cuit
from procesos_cuit
inner join padrones p on p.identificacion = procesos_cuit.cuit and p.habilitado = 1 and p.tipo_persona = 'F'
where cliente = @cliente and fecha = @fecha
)
and not exists (select * from procesos_cuit_enrichment_datos_simples_socios z
where z.cliente = @cliente
and z.fecha_proceso = @fecha
and z.cuit = cuil_Activo
and z.cuit_relacionado = cuilrelacionado)
insert into procesos_cuit_enrichment_datos_simples_socios(cliente, fecha_proceso, cuit, nombre, cuit_relacionado, nombre_relacionado, cargo, relacionado_pariente)
select distinct
@cliente as cliente, @fecha as fecha_proceso,
cuilrelacionado as cuit, a.nombre_persona as sociedad,
cuil_Activo as cuit_relacionado, b.nombre_persona as nombre_relacionado,
case ltrim(rtrim(descrelacion))
when null then 'FAMILIAR'
when '' then 'FAMILIAR'
when 'HIJO/A' then 'PADRE/HIJO'
else ltrim(rtrim(descrelacion))
end as cargo, 'P'
from obrasSociales os
inner join padrones a on a.identificacion = cuilrelacionado and a.habilitado = 1
inner join padrones b on b.identificacion = cuil_Activo and b.habilitado = 1
where os.cuil_Activo != os.cuilrelacionado and
os.cuilrelacionado
in (select cuit
from procesos_cuit
inner join padrones p on p.identificacion = procesos_cuit.cuit and p.habilitado = 1 and p.tipo_persona = 'F'
where cliente = @cliente and fecha = @fecha
)
and not exists (select * from procesos_cuit_enrichment_datos_simples_socios z
where z.cliente = @cliente
and z.fecha_proceso = @fecha
and z.cuit = cuilrelacionado
and z.cuit_relacionado = cuil_Activo)
insert into procesos_cuit_enrichment_datos_simples_socios(cliente, fecha_proceso, cuit, nombre, cuit_relacionado, nombre_relacionado, cargo, relacionado_pariente)
select distinct
@cliente as cliente, @fecha as fecha_proceso,
cuilti as cuit, b.nombre_persona as sociedad,
c.identificacion as cuit_relacionado, c.nombre_persona as nombre_relacionado, 'FAMILIAR' as cargo, 'P'
from obras_sociales_beneficiarios os
inner join padrones b on b.identificacion = cuilti and b.habilitado = 1
inner join padrones c on c.identificacion = NRODOC and b.habilitado = 1
where os.cuilti != c.identificacion and
os.cuilti
in (select cuit
from procesos_cuit
inner join padrones p on p.identificacion = procesos_cuit.cuit and p.habilitado = 1 and p.tipo_persona = 'F'
where cliente = @cliente and fecha = @fecha
)
and LEN(nrodoc) = 11
and not exists (select * from procesos_cuit_enrichment_datos_simples_socios z
where z.cliente = @cliente
and z.fecha_proceso = @fecha
and z.cuit = cuilti
and z.cuit_relacionado = c.identificacion)
insert into procesos_cuit_enrichment_datos_simples_socios(cliente, fecha_proceso, cuit, nombre, cuit_relacionado, nombre_relacionado, cargo, relacionado_pariente)
select distinct
@cliente as cliente, @fecha as fecha_proceso,
cuilti as cuit, b.nombre_persona as sociedad,
c.identificacion as cuit_relacionado, c.nombre_persona as nombre_relacionado, 'FAMILIAR' as cargo, 'P'
from obras_sociales_beneficiarios os
inner join padrones b on b.identificacion = cuilti and b.habilitado = 1
inner join padrones c on (c.cuerpo_clave = NRODOC and b.habilitado = 1 and not exists (select * from padrones d where d.cuerpo_clave = NRODOC and d.habilitado = 1 and d.identificacion != c.identificacion))
where os.cuilti != c.identificacion and
os.cuilti
in (select cuit
from procesos_cuit
inner join padrones p on p.identificacion = procesos_cuit.cuit and p.habilitado = 1 and p.tipo_persona = 'F'
where cliente = @cliente and fecha = @fecha
)
and LEN(nrodoc) < 11
and not exists (select * from procesos_cuit_enrichment_datos_simples_socios z
where z.cliente = @cliente
and z.fecha_proceso = @fecha
and z.cuit = cuilti
and z.cuit_relacionado = c.identificacion)
insert into procesos_cuit_enrichment_datos_simples_socios(cliente, fecha_proceso, cuit, nombre, cuit_relacionado, nombre_relacionado, cargo, relacionado_pariente)
select distinct
@cliente as cliente, @fecha as fecha_proceso,
NRODOC as cuit, a.nombre_persona as sociedad,
cuilti as cuit_relacionado, b.nombre_persona as nombre_relacionado, 'FAMILIAR' as cargo, 'P'
from obras_sociales_beneficiarios os
inner join padrones a on a.identificacion = NRODOC and a.habilitado = 1
inner join padrones b on b.identificacion = cuilti and b.habilitado = 1
where os.cuilti != os.nrodoc and
os.nrodoc
in (select cuit
from procesos_cuit
inner join padrones p on p.identificacion = procesos_cuit.cuit and p.habilitado = 1 and p.tipo_persona = 'F'
where cliente = @cliente and fecha = @fecha
)
and not exists (select * from procesos_cuit_enrichment_datos_simples_socios z
where z.cliente = @cliente
and z.fecha_proceso = @fecha
and z.cuit = NRODOC
and z.cuit_relacionado = cuilti)
end
/* Final
select cuit as 'CUIT/CUIL',
nombre as 'Razón Social / Nombre',
cuit_relacionado as 'CUIT/CUIL relacionada',
nombre_relacionado as 'Razón Social / Nombre relacionada' ,
cargo as 'Relación',
isnull(desde,'') as 'desde'/*,
isnull(hasta,'') as 'hasta'*/
from procesos_cuit_enrichment_datos_simples_socios a
where a.cliente = @cliente
and a.fecha_proceso = @fecha
-- Este no exists, es por si salio en el primer proceso de las relaciones
-- donde esta persona salio ya como relacionado con la misma empresa
AND not exists (select * from procesos_cuit_enrichment_datos_simples_socios b
where b.cuit = a.cuit_relacionado and b.cuit_relacionado = a.cuit and b.fecha_proceso < a.fecha_proceso)
order by nombre, nombre_relacionado
*/
/* -- proceso CCU (Chile) --> Devuelve "SIN DATOS" lo que no se encontró nada
select c.cuit as 'CUIT/CUIL',
p.nombre_persona as 'Razón Social / Nombre',
isnull(e.cuit_relacionado, 'SIN DATOS') as 'CUIT/CUIL relacionada',
isnull(e.nombre_relacionado, 'SIN DATOS') as 'Razón Social / Nombre relacionada' ,
isnull(e.cargo, 'SIN DATOS') as 'Relación',
isnull(e.desde, '') as 'desde'/*,
isnull(e.hasta,'') as 'hasta'*/
from procesos_cuit c
inner join padrones p on p.identificacion = c.cuit and p.habilitado = 1
left join procesos_cuit_enrichment_datos_simples_socios e
on e.cliente = c.cliente and e.fecha_proceso = c.fecha and e.cuit = c.cuit
-- Estos not exists, es por si salio en el primer proceso de las relaciones
-- la misma relacion de la persona con la empresa, o la empresa con la persona
AND not exists (select * from procesos_cuit_enrichment_datos_simples_socios b
where b.cuit = e.cuit_relacionado and b.cuit_relacionado = e.cuit and b.fecha_proceso < e.fecha_proceso)
AND not exists (select * from procesos_cuit_enrichment_datos_simples_socios b2
where b2.cuit_relacionado = e.cuit_relacionado and b2.cuit = e.cuit and b2.fecha_proceso < e.fecha_proceso)
where c.cliente = @cliente
and c.fecha = @fecha
order by p.nombre_persona, e.nombre_relacionado
*/
-- Devuelve todo lo que tiene datos
select distinct cuit,
a.nombre_persona as nombre,
cuit_relacionado,
b.nombre_persona as nombre_relacionado,
cargo, desde, hasta, relacionado_pariente
from
procesos_cuit_enrichment_datos_simples_socios
left join padrones a on a.identificacion = procesos_cuit_enrichment_datos_simples_socios.cuit and a.habilitado = 1
left join padrones b on b.identificacion = procesos_cuit_enrichment_datos_simples_socios.cuit_relacionado and b.habilitado = 1
where cliente = @cliente
and fecha_proceso = @fecha
and cuit != cuit_relacionado
order by cuit, cuit_relacionado
END
/*
Actuacion Empleados
select distinct a.cuit as CUIT, a.nombre as Nombre, cargo as 'Relación',
cuit_relacionado as 'CUIT relacionado', nombre_relacionado as 'Nombre relacionado'
,iif(b.cuit is not null,'VENDOR','') as 'Vendor?'
from
procesos_cuit_enrichment_datos_simples_socios a
left outer join procesos_cuit b on (b.Cuit = a.cuit_relacionado
and b.cliente = 5999321
and b.fecha = '2019-11-12')
where a.cliente = 5999321
and a.fecha_proceso = '2019-11-11'
*/
/*
Actuacion Parientes Empleados
select distinct a.cuit as CUIT, a.nombre as Nombre, cargo as 'Relación',
cuit_relacionado as 'CUIT relacionado', nombre_relacionado as 'Nombre relacionado'
,iif(b.cuit is not null,'VENDOR','') as 'Vendor?'
from
procesos_cuit_enrichment_datos_simples_socios a
left outer join procesos_cuit b on (b.Cuit = a.cuit_relacionado
and b.cliente = 5999321
and b.fecha = '2019-11-12')
where a.cliente = 5999321
and a.fecha_proceso = '2019-11-13'
*/
GO
GO
/*
Proceso que usamos para CCU (Chile)
*/
/*
exec sp_procesos_cuit_enrichment_personas_relacionadas
8907,
'2024-12-23',
'S', -- socios
'S', -- ex_socios
'N', -- incluir_edictos
'S', -- accionistas
'S', -- empleados
'S', -- parientes
'S', -- firmantes
'S' -- empleado de
select distinct cuit as 'CUIT empleado', nombre as 'Nombre empleado', cargo as 'Relación', cuit_relacionado as 'CUIT Proveedor', nombre_relacionado as 'Nombre Proveedor'
from procesos_cuit_enrichment_datos_simples_socios a
where a.fecha_proceso = '2023-05-15' and a.cliente = 2046807993
and a.cuit_relacionado in (select cuit from procesos_cuit where cliente = 2046807993 and fecha in ( '2023-05-16' ,'2023-05-17' ))
order by cuit_relacionado, cuit
select * from empleados where cuil = '20422011480' and cuit = '33658043779' order by periodo desc
select * from procesos_cuit_enrichment_datos_simples_socios
where cliente = 2046807993
and fecha_proceso = '2023-05-15'
and cuit = '23365989559'
MRD - PEP Relacionadas:
select p.cuit as 'Cuit', p.nombre as 'Nombre',
cargo as 'Vinculación',
cuit_relacionado as 'Cuit persona vinculada',
nombre_relacionado as 'Nombre persona vinculada',
case f.fidecheck
when null then ''
when 'N' then 'NEGATIVE'
when 'P' then 'POSITIVE'
when 'E' then 'PEP'
when 'R' then 'RELATED'
end
as PEP,
f.detalle as 'Detalle'
from procesos_cuit_enrichment_datos_simples_socios p
left join fidecheck_cuits f on f.fecha = '2020-06-03' and f.cuit = p.cuit_relacionado
where p.cliente = 2870143
and p.fecha_proceso = '2020-06-01'
los empleados cliente = 2046807993 fecha = '2024-03-02'
exec [sp_procesos_cuit_enrichment_personas_relacionadas]
2046807993,
'2024-03-02',
'N',
'N',
'N',
'N',
'N',
'N',
'N',
'N',
'S'
select distinct cuit,
a.nombre_persona as nombre,
cuit_relacionado,
b.nombre_persona as nombre_relacionado,
cargo, desde, hasta, relacionado_pariente
from
procesos_cuit_enrichment_datos_simples_socios
left join padrones a on a.identificacion = procesos_cuit_enrichment_datos_simples_socios.cuit and a.habilitado = 1
left join padrones b on b.identificacion = procesos_cuit_enrichment_datos_simples_socios.cuit_relacionado and b.habilitado = 1
where cliente = 2046807993
and fecha_proceso = '2024-03-02'
and cuit != cuit_relacionado and relacionado_pariente = 'S'
order by cuit, cuit_relacionado
insert into procesos_cuit (fecha, cliente, cuit)
select
distinct '2024-03-04' , 2046807993, E.cuit_relacionado
from procesos_cuit_enrichment_datos_simples_socios E
where E.cliente = 2046807993 and E.fecha_proceso = '2024-03-02'
and E.relacionado_pariente = 'S'
and E.cuit != E.cuit_relacionado
exec sp_procesos_cuit_enrichment_personas_relacionadas
2046807993,
'2024-03-04',
'S', -- socios
'S', -- ex_socios
'N', -- incluir_edictos
'S', -- accionistas
'N', -- empleados
'S', -- parientes
'S', -- firmantes
'S' -- empleado de
*/
CREATE OR ALTER PROCEDURE dbo.sp_procesos_cuit_enrichment_personas_relacionadas
/*
1) Se cargan los cuits en la tabla procesos_cuit (cliente, fecha,cuit)
1.1) Para buscar las relacionadas
EXEC [dbo].[sp_procesos_cuit_enrichment_personas_relacionadas]
con estos parámetros
@cliente int = CLIENTE,
@fecha date = FECHA QUE CARGAMOS en la tabla procesos_cuit
@socios char(1) = 'S',
@ex_socios char(1) = 'S',
@incluir_edictos char(1) = 'N',
@accionistas char(1) = 'S',
@empleados char(1) = 'N',
@parientes char(1) = 'N',
@firmantes char(1) = 'S'
2) cargamos los cuits resultantes como CUITS RELACIONADOS (valores unicos) en la tabla procesos_cuit (cliente, FECHA pornerle una mayor que la que pusimos en el paso 1, cuit)
insert into procesos_cuit
select 5999321, '2019-11-13',
cuit_relacionado
from procesos_cuit_enrichment_datos_simples_socios a
where a.cliente = 5999321
and a.fecha_proceso = '2019-11-11'
and not exists (select * from procesos_cuit b where b.cliente = 5999321 and b.fecha = '2019-11-11' and b.cuit = a.cuit_relacionado)
2.2) Para buscar las relacionadas con las relacionadas
Volvemos a ejecutar el mismo Stored, pero en el parámetro fecha se mandará la nueva fecha de proceso con la que cargamos los cuits relacionados.
*/
/*
los cuits a procesar se cargar en la tabla procesos_cuit (para distinguir Fisicas y Juridicas, si se quiere, se pueden guardar con dos fechas distintas)
- Se obtienen las personas relacionadas, que pueden ser
Para empresas:
Socios / directivos
ex-Socios / directivos
edictos
Accionistas
Empleados
Para personas físicas:
Parientes (según Obras Sociales)
*/
@cliente int = 1,
@fecha date = '2019-10-14',
@socios char(1) = 'S',
@ex_socios char(1) = 'S',
@incluir_edictos char(1) = 'N',
@accionistas char(1) = 'S',
@empleados char(1) = 'N',
@parientes char(1) = 'N',
@firmantes char(1) = 'S',
@empleados_de char(1) = 'S',
@socios_relacionados char(1) = 'N'
AS
BEGIN
SET NOCOUNT ON;
delete from procesos_cuit_enrichment_datos_simples_socios
where cliente = @cliente
and fecha_proceso = @fecha
/* Tabla socios */
if (@socios = 'S' )
begin
insert into procesos_cuit_enrichment_datos_simples_socios(cliente, fecha_proceso, cuit,
nombre, cuit_relacionado, nombre_relacionado, cargo, desde, hasta, relacionado_pariente)
select distinct
@cliente as cliente, @fecha as fecha_proceso,
c01_cuit as cuit, b.nombre_persona as sociedad,
c01_cuit_soc as cuit_relacionado, a.nombre_persona as nombre_relacionado, c.car_nombre as cargo,
c04_periodo_desde, c04_periodo_hasta, 'R'
from socios
inner join cargos c on c.car_codigo = socios.car_codigo
inner join padrones a on a.identificacion = c01_cuit_soc and a.habilitado = 1
inner join padrones b on b.identificacion = c01_cuit and b.habilitado = 1
where socios.c01_cuit
in (select cuit
from procesos_cuit
inner join padrones p on p.identificacion = procesos_cuit.cuit and p.habilitado = 1 and p.tipo_persona = 'J'
where cliente = @cliente and fecha = @fecha
)
and c04_ultimo = 'S'
and socios.visible = 1
and isnull(c01_cuit_soc,'') != ''
and isnull(c01_cuit_soc,'') not like '3%'
/* socio de */
insert into procesos_cuit_enrichment_datos_simples_socios(cliente, fecha_proceso, cuit,
nombre, cuit_relacionado, nombre_relacionado, cargo, desde, hasta, relacionado_pariente)
select distinct
@cliente as cliente, @fecha as fecha_proceso,
c01_cuit_soc as cuit, a.nombre_persona as nombre,
c01_cuit as cuit_relacionado, b.nombre_persona as nombre_relacionado,
c.car_nombre + ' DE' as cargo,
c04_periodo_desde, c04_periodo_hasta, 'R'
from socios
inner join cargos c on c.car_codigo = socios.car_codigo
inner join padrones a on a.identificacion = c01_cuit_soc and a.habilitado = 1
inner join padrones b on b.identificacion = c01_cuit and b.habilitado = 1
where socios.c01_cuit_soc
in (select cuit
from procesos_cuit
inner join padrones p on p.identificacion = procesos_cuit.cuit and p.habilitado = 1 and p.tipo_persona = 'F'
where cliente = @cliente and fecha = @fecha
)
and c04_ultimo = 'S'
and socios.visible = 1
and isnull(c01_cuit_soc,'') != ''
and isnull(c01_cuit_soc,'') not like '3%'
end
if (@socios_relacionados = 'S' )
begin
declare @cuit_persona varchar(20), @nombre_persona varchar(200)
DECLARE p_cuits1 CURSOR FOR
select cuit, p.nombre_persona
from procesos_cuit
inner join padrones p on p.identificacion = procesos_cuit.cuit and p.habilitado = 1
where cliente = @cliente and fecha = @fecha and isnull(cuit,'') != '' and isnull(cuit,'') not like '3%'
OPEN p_cuits1
FETCH NEXT FROM p_cuits1 INTO @cuit_persona, @nombre_persona
WHILE @@fetch_status = 0
BEGIN
insert into procesos_cuit_enrichment_datos_simples_socios(cliente, fecha_proceso, cuit,
nombre, cuit_relacionado, nombre_relacionado, cargo, desde, hasta, relacionado_pariente)
select distinct
@cliente as cliente, @fecha as fecha_proceso,
@cuit_persona as cuit, @nombre_persona as nombre,
c01_cuit_soc as cuit_relacionado, socio.nombre_persona as nombre_relacionado, empresa.nombre_persona as cargo,
c04_periodo_desde, c04_periodo_hasta, 'S'
from socios
inner join cargos c on c.car_codigo = socios.car_codigo
inner join padrones socio on (socio.identificacion = c01_cuit_soc and socio.habilitado = 1 and socio.identificador in ('CUIT','CUIL'))
inner join padrones empresa on (empresa.identificacion = c01_cuit and empresa.habilitado = 1 and empresa.identificador in ('CUIT','CUIL'))
where socios.c04_ultimo = 'S' and socios.visible = 1 and socios.c01_cuit_soc != @cuit_persona
and socios.c01_cuit in
(select distinct c01_cuit
from socios socios2
where socios2.c01_cuit_soc = @cuit_persona
and socios2.c04_ultimo = 'S'
and socios2.visible = 1)
FETCH NEXT FROM p_cuits1 INTO @cuit_persona, @nombre_persona
END
CLOSE p_cuits1
DEALLOCATE p_cuits1
end
/* Tabla socios (ANTERIORES) */
if (@ex_socios = 'S')
begin
insert into procesos_cuit_enrichment_datos_simples_socios(cliente, fecha_proceso, cuit, nombre, cuit_relacionado, nombre_relacionado, cargo , relacionado_pariente)
select distinct
@cliente as cliente, @fecha as fecha_proceso,
c01_cuit as cuit, b.nombre_persona as sociedad,
c01_cuit_soc as cuit_relacionado, a.nombre_persona as nombre_relacionado, 'EX-'+c.car_nombre as cargo, 'R'
from socios
inner join cargos c on c.car_codigo = socios.car_codigo
inner join padrones a on a.identificacion = c01_cuit_soc and a.habilitado = 1
inner join padrones b on b.identificacion = c01_cuit and b.habilitado = 1
where socios.c01_cuit
in (select cuit
from procesos_cuit
inner join padrones p on p.identificacion = procesos_cuit.cuit and p.habilitado = 1 and p.tipo_persona = 'J'
where cliente = @cliente and fecha = @fecha
) and c04_ultimo = 'N'
and socios.visible = 1
and isnull(c01_cuit_soc,'') != ''
and isnull(c01_cuit_soc,'') not like '3%'
and not exists (select * from socios s where s.c01_cuit = socios.c01_cuit and s.c01_cuit_soc = socios.c01_cuit_soc and s.c04_ultimo = 'S' and s.visible = 1 )
/* socio de */
insert into procesos_cuit_enrichment_datos_simples_socios(cliente, fecha_proceso, cuit, nombre, cuit_relacionado, nombre_relacionado, cargo, relacionado_pariente)
select distinct
@cliente as cliente, @fecha as fecha_proceso,
c01_cuit_soc as cuit, a.nombre_persona as nombre,
c01_cuit as cuit_relacionado, b.nombre_persona as nombre_relacionado,
'EX-'+c.car_nombre+ ' DE' as cargo, 'R'
from socios
inner join cargos c on c.car_codigo = socios.car_codigo
inner join padrones a on a.identificacion = c01_cuit_soc and a.habilitado = 1
inner join padrones b on b.identificacion = c01_cuit and b.habilitado = 1
where socios.c01_cuit_soc
in (select cuit
from procesos_cuit
inner join padrones p on p.identificacion = procesos_cuit.cuit and p.habilitado = 1 and p.tipo_persona = 'F'
where cliente = @cliente and fecha = @fecha
) and c04_ultimo = 'N'
and socios.visible = 1
and isnull(c01_cuit_soc,'') != ''
and isnull(c01_cuit_soc,'') not like '3%'
and not exists (select * from socios s where s.c01_cuit = socios.c01_cuit and s.c01_cuit_soc = socios.c01_cuit_soc and s.c04_ultimo = 'S' and s.visible = 1 )
end
/* Tabla Accionistas */
if (@accionistas = 'S')
begin
insert into procesos_cuit_enrichment_datos_simples_socios(cliente, fecha_proceso, cuit, nombre, cuit_relacionado, nombre_relacionado, cargo, relacionado_pariente)
select distinct
@cliente as cliente, @fecha as fecha_proceso,
cuit_sociedad as cuit, b.nombre_persona as sociedad,
cuit_acc as cuit_relacionado, a.nombre_persona as nombre_relacionado, 'ACCIONISTA' as cargo, 'R'
from accionistas
inner join padrones a on a.identificacion = cuit_acc and a.habilitado = 1
inner join padrones b on b.identificacion = cuit_sociedad and b.habilitado = 1
where accionistas.cuit_sociedad
in (select cuit
from procesos_cuit
inner join padrones p on p.identificacion = procesos_cuit.cuit and p.habilitado = 1 and p.tipo_persona = 'J'
where cliente = @cliente and fecha = @fecha
)
and isnull(cuit_acc,'') != ''
and accionistas.visible = 1
/* accionista de*/
insert into procesos_cuit_enrichment_datos_simples_socios(cliente, fecha_proceso, cuit, nombre, cuit_relacionado, nombre_relacionado, cargo, relacionado_pariente)
select distinct
@cliente as cliente, @fecha as fecha_proceso,
cuit_acc as cuit, a.nombre_persona as nombre,
cuit_sociedad as cuit_relacionado, b.nombre_persona as nombre_relacionado,
'ACCIONISTA DE' as cargo, 'R'
from accionistas
inner join padrones a on a.identificacion = cuit_acc and a.habilitado = 1
inner join padrones b on b.identificacion = cuit_sociedad and b.habilitado = 1
where accionistas.cuit_acc
in (select cuit
from procesos_cuit
inner join padrones p on p.identificacion = procesos_cuit.cuit and p.habilitado = 1 and p.tipo_persona = 'F'
where cliente = @cliente and fecha = @fecha
)
and isnull(cuit_acc,'') != ''
and accionistas.visible = 1
end
if (@incluir_edictos='S')
begin
/* Tabla Sociedades_Constituciones */
insert into procesos_cuit_enrichment_datos_simples_socios(cliente, fecha_proceso, cuit, nombre, cuit_relacionado, nombre_relacionado, cargo, relacionado_pariente)
select distinct
@cliente as cliente, @fecha as fecha_proceso,
documento_soc as cuit, b.nombre_persona as nombre,
iif(isnull(cuit_int,'')!='',cuit_int, cuit_integrante) as cuit_relacionado,
a.nombre_persona as nombre_relacionado,
iif(isnull(sociedades_constituciones.cargo,'')='',cargos_grupo_jurad.cargo,sociedades_constituciones.cargo) as cargo, 'R'
from sociedades_constituciones
left join cargos_grupo_jurad on codigo = cargo_int
inner join padrones a on a.identificacion = iif(isnull(cuit_int,'')!='',cuit_int, cuit_integrante) and a.habilitado = 1
inner join padrones b on b.identificacion = documento_soc and b.habilitado = 1
where sociedades_constituciones.documento_soc
in (select cuit
from procesos_cuit
inner join padrones p on p.identificacion = procesos_cuit.cuit and p.habilitado = 1 and p.tipo_persona = 'J'
where cliente = @cliente and fecha = @fecha
)
and (ISNULL(cuit_int,'') != '' or ISNULL(cuit_integrante,'') != '')
and (ISNULL(cuit_int,'') not like '3%' and ISNULL(cuit_integrante,'') not like '3%')
and not exists (select * from procesos_cuit_enrichment_datos_simples_socios a
where a.cliente = @cliente
and a.fecha_proceso = @fecha
and a.cuit = documento_soc
and a.cuit_relacionado = iif(isnull(cuit_int,'')!='',cuit_int, cuit_relacionado))
union
select distinct
@cliente as cliente, @fecha as fecha_proceso,
documento_soc as cuit, b.nombre_persona as nombre,
documento_integrante as cuit_relacionado,
nombre_integrante as nombre_relacionado,
iif(isnull(sociedades_constituciones.cargo,'')='',cargos_grupo_jurad.cargo,sociedades_constituciones.cargo) as cargo, 'R'
from sociedades_constituciones
left join cargos_grupo_jurad on codigo = cargo_int
inner join padrones b on b.identificacion = documento_soc and b.habilitado = 1
where sociedades_constituciones.documento_soc
in (select cuit
from procesos_cuit
inner join padrones p on p.identificacion = procesos_cuit.cuit and p.habilitado = 1 and p.tipo_persona = 'J'
where cliente = @cliente and fecha = @fecha
)
and ISNULL(documento_integrante,'') != ''
and (ISNULL(cuit_int,'') = '' and ISNULL(cuit_integrante,'') = '')
and not exists (select * from procesos_cuit_enrichment_datos_simples_socios a
where a.cliente = @cliente
and a.fecha_proceso = @fecha
and a.cuit = documento_soc
and a.cuit_relacionado = documento_integrante)
/* Tabla Sociedades_Constituciones (de) */
insert into procesos_cuit_enrichment_datos_simples_socios(cliente, fecha_proceso, cuit, nombre, cuit_relacionado, nombre_relacionado, cargo, relacionado_pariente)
select distinct
@cliente as cliente, @fecha as fecha_proceso,
iif(isnull(cuit_int,'')!='',cuit_int, cuit_integrante) as cuit,
a.nombre_persona as nombre,
documento_soc as cuit_relacionado, b.nombre_persona as nombre_relacionado,
iif(isnull(sociedades_constituciones.cargo,'')='',cargos_grupo_jurad.cargo,sociedades_constituciones.cargo)+' de' as cargo, 'R'
from sociedades_constituciones
left join cargos_grupo_jurad on codigo = cargo_int
inner join padrones a on a.identificacion = iif(isnull(cuit_int,'')!='',cuit_int, cuit_integrante) and a.habilitado = 1
inner join padrones b on b.identificacion = documento_soc and b.habilitado = 1
where (sociedades_constituciones.cuit_int
in (select cuit from procesos_cuit where cliente = @cliente and fecha = @fecha)
or sociedades_constituciones.cuit_integrante
in (select cuit from procesos_cuit where cliente = @cliente and fecha = @fecha))
and (ISNULL(documento_soc ,'') != '')
and not exists (select * from procesos_cuit_enrichment_datos_simples_socios a
where a.cliente = @cliente
and a.fecha_proceso = @fecha
and a.cuit = iif(isnull(cuit_int,'')!='',cuit_int, cuit_integrante)
and a.cuit_relacionado = documento_soc )
/* Tabla Edictos */
insert into procesos_cuit_enrichment_datos_simples_socios(cliente, fecha_proceso, cuit, nombre, cuit_relacionado, nombre_relacionado, cargo, relacionado_pariente)
select distinct
@cliente as cliente, @fecha as fecha_proceso,
cuit_sociedad as cuit, b.nombre_persona as sociedad,
cuit_integrante, a.nombre_persona as nombre_relacionado, 'INTEGRANTE' as cargo, 'R'
from edictos
inner join padrones a on a.identificacion = cuit_integrante and a.habilitado = 1
inner join padrones b on b.identificacion = cuit_sociedad and b.habilitado = 1
where edictos.cuit_sociedad
in (select cuit
from procesos_cuit
inner join padrones p on p.identificacion = procesos_cuit.cuit and p.habilitado = 1 and p.tipo_persona = 'J'
where cliente = @cliente and fecha = @fecha
)
and isnull(cuit_integrante,'') != ''
and isnull(cuit_integrante,'') not like '3%'
and not exists (select * from procesos_cuit_enrichment_datos_simples_socios a
where a.cliente = @cliente
and a.fecha_proceso = @fecha
and a.cuit = cuit_sociedad
and a.cuit_relacionado = edictos.cuit_integrante)
/* Tabla Edictos (de) */
insert into procesos_cuit_enrichment_datos_simples_socios(cliente, fecha_proceso, cuit, nombre, cuit_relacionado, nombre_relacionado, cargo, relacionado_pariente)
select distinct
@cliente as cliente, @fecha as fecha_proceso,
cuit_integrante as cuit, a.nombre_persona as nombre,
cuit_sociedad as cuit_relacionado, b.nombre_persona as nombre_relacionado, 'INTEGRANTE DE' as cargo, 'R'
from edictos
inner join padrones a on a.identificacion = cuit_integrante and a.habilitado = 1
inner join padrones b on b.identificacion = cuit_sociedad and b.habilitado = 1
where edictos.cuit_integrante
in (select cuit from procesos_cuit where cliente = @cliente and fecha = @fecha)
and isnull(cuit_sociedad,'') != ''
and not exists (select * from procesos_cuit_enrichment_datos_simples_socios a
where a.cliente = @cliente
and a.fecha_proceso = @fecha
and a.cuit = edictos.cuit_integrante
and a.cuit_relacionado = cuit_sociedad)
end
/* firmantes */
if (@firmantes = 'S' )
begin
insert into procesos_cuit_enrichment_datos_simples_socios(cliente, fecha_proceso, cuit, nombre, cuit_relacionado, nombre_relacionado, cargo, relacionado_pariente)
select distinct
@cliente as cliente, @fecha as fecha_proceso,
cuit_relacionado as cuit, b.nombre_persona as sociedad,
cuit_firmante as cuit_relacionado, a.nombre_persona as nombre_relacionado, 'FIRMANTE' as cargo, 'R'
from ChequesBCRA
inner join padrones a on a.identificacion = cuit_firmante and a.habilitado = 1
inner join padrones b on b.identificacion = cuit_relacionado and b.habilitado = 1
where Cuit_relacionado
in (select cuit
from procesos_cuit
inner join padrones p on p.identificacion = procesos_cuit.cuit and p.habilitado = 1 and p.tipo_persona = 'J'
where cliente = @cliente and fecha = @fecha
)
and ChequesBCRA.visible = 1
insert into procesos_cuit_enrichment_datos_simples_socios(cliente, fecha_proceso, cuit, nombre, cuit_relacionado, nombre_relacionado, cargo, relacionado_pariente)
select distinct
@cliente as cliente, @fecha as fecha_proceso,
cuit_firmante as cuit, a.nombre_persona as nombre,
cuit_relacionado as cuit_relacionado, b.nombre_persona as nombre_relacionado,
'FIRMANTE DE' as cargo, 'R'
from ChequesBCRA
inner join padrones a on a.identificacion = cuit_firmante and a.habilitado = 1
inner join padrones b on b.identificacion = cuit_relacionado and b.habilitado = 1
where cuit_firmante
in (select cuit
from procesos_cuit
inner join padrones p on p.identificacion = procesos_cuit.cuit and p.habilitado = 1 and p.tipo_persona = 'F'
where cliente = @cliente and fecha = @fecha
)
and ChequesBCRA.visible = 1
end
declare @cuit varchar(20), @periodo int, @cantidad bigint, @ultimo_mes_empleados date,
@mes_empleados date,
@periodo_empleados_desde int,
@periodo_empleados_hasta int
set @ultimo_mes_empleados = (select max(fuentes_procesadas.fecha_informacion) from fuentes_procesadas where fuente = 'empleados')
set @mes_empleados = DATEADD(M,-24,@ultimo_mes_empleados)
--set @mes_empleados = DATEADD(M,-2,@ultimo_mes_empleados) -- para que tome lo mismo del obtener_empleados
set @periodo_empleados_desde = convert(int,substring(convert(char,@mes_empleados),3,2)+substring(convert(char,@mes_empleados),6,2))
set @periodo_empleados_hasta = convert(int,substring(convert(char,@ultimo_mes_empleados),3,2)+substring(convert(char,@ultimo_mes_empleados),6,2))
select @periodo_empleados_desde as empleados_desde, @periodo_empleados_hasta as empleados_hasta
/* Empleados */
if (@empleados = 'S')
begin
DECLARE p_cuits CURSOR FOR
select cuit
from procesos_cuit
inner join padrones p on p.identificacion = procesos_cuit.cuit and p.habilitado = 1
--and p.tipo_persona = 'J'
where cliente = @cliente and fecha = @fecha
OPEN p_cuits
FETCH NEXT FROM p_cuits INTO @cuit
WHILE @@fetch_status = 0
BEGIN
select top 1 @periodo = periodo, @cantidad = COUNT(distinct cuil)
from empleados
where empleados.cuit = @cuit
and periodo between @periodo_empleados_desde and @periodo_empleados_hasta
and visible = 1
group by periodo
order by 2 desc, 1 desc
insert into procesos_cuit_enrichment_datos_simples_socios(cliente, fecha_proceso, cuit, nombre, cuit_relacionado, nombre_relacionado, cargo, relacionado_pariente)
select distinct
@cliente as cliente, @fecha as fecha_proceso,
cuit as cuit, b.nombre_persona as sociedad,
cuil as cuit_relacionado, a.nombre_persona as nombre_relacionado, 'EMPLEADO' as cargo, 'R'
from empleados
inner join padrones a on a.identificacion = cuil and a.habilitado = 1
inner join padrones b on b.identificacion = cuit and b.habilitado = 1
where empleados.cuit = @cuit
and empleados.periodo = @periodo
and empleados.visible = 1
FETCH NEXT FROM p_cuits INTO @cuit
END
CLOSE p_cuits
DEALLOCATE p_cuits
END
/* Empleados de */
if (@empleados_de = 'S')
begin
DECLARE p_cuils CURSOR FOR
select cuit
from procesos_cuit
inner join padrones p on p.identificacion = procesos_cuit.cuit and p.habilitado = 1-- and p.tipo_persona = 'F'
where cliente = @cliente and fecha = @fecha
OPEN p_cuils
FETCH NEXT FROM p_cuils INTO @cuit
WHILE @@fetch_status = 0
BEGIN
insert into procesos_cuit_enrichment_datos_simples_socios(cliente, fecha_proceso, cuit, nombre, cuit_relacionado, nombre_relacionado, cargo, hasta, relacionado_pariente)
select distinct
@cliente as cliente, @fecha as fecha_proceso,
cuil as cuit, a.nombre_persona as sociedad,
cuit as cuit_relacionado, b.nombre_persona as nombre_relacionado, 'EMPLEADO DE' as cargo, max(periodo) as hasta, 'R' as r
from empleados
inner join padrones a on a.identificacion = cuil and a.habilitado = 1
inner join padrones b on b.identificacion = cuit and b.habilitado = 1
where empleados.cuil = @cuit
and periodo between @periodo_empleados_desde and @periodo_empleados_hasta
/*and periodo = (select max(periodo) from empleados b
where b.cuil = @cuit
and b.visible = 1
and b.periodo between @periodo_empleados_desde and @periodo_empleados_hasta)*/
and empleados.visible = 1
group by
cuil, a.nombre_persona,
cuit, b.nombre_persona
FETCH NEXT FROM p_cuils INTO @cuit
END
CLOSE p_cuils
DEALLOCATE p_cuils
end
if (@parientes = 'S')
begin
insert into procesos_cuit_enrichment_datos_simples_socios(cliente, fecha_proceso, cuit, nombre, cuit_relacionado, nombre_relacionado, cargo, relacionado_pariente)
select distinct
@cliente as cliente, @fecha as fecha_proceso,
cuil_Activo as cuit, b.nombre_persona as sociedad,
cuilrelacionado as cuit_relacionado, a.nombre_persona as nombre_relacionado,
case ltrim(rtrim(descrelacion))
when null then 'FAMILIAR'
when '' then 'FAMILIAR'
when 'HIJO/A' then 'PADRE/HIJO'
else ltrim(rtrim(descrelacion))
end as cargo, 'P'
from obrasSociales os
inner join padrones a on a.identificacion = cuilrelacionado and a.habilitado = 1
inner join padrones b on b.identificacion = cuil_Activo and b.habilitado = 1
where os.cuil_Activo != os.cuilrelacionado and
os.cuil_Activo
in (select cuit
from procesos_cuit
inner join padrones p on p.identificacion = procesos_cuit.cuit and p.habilitado = 1 and p.tipo_persona = 'F'
where cliente = @cliente and fecha = @fecha
)
and not exists (select * from procesos_cuit_enrichment_datos_simples_socios z
where z.cliente = @cliente
and z.fecha_proceso = @fecha
and z.cuit = cuil_Activo
and z.cuit_relacionado = cuilrelacionado)
insert into procesos_cuit_enrichment_datos_simples_socios(cliente, fecha_proceso, cuit, nombre, cuit_relacionado, nombre_relacionado, cargo, relacionado_pariente)
select distinct
@cliente as cliente, @fecha as fecha_proceso,
cuilrelacionado as cuit, a.nombre_persona as sociedad,
cuil_Activo as cuit_relacionado, b.nombre_persona as nombre_relacionado,
case ltrim(rtrim(descrelacion))
when null then 'FAMILIAR'
when '' then 'FAMILIAR'
when 'HIJO/A' then 'PADRE/HIJO'
else ltrim(rtrim(descrelacion))
end as cargo, 'P'
from obrasSociales os
inner join padrones a on a.identificacion = cuilrelacionado and a.habilitado = 1
inner join padrones b on b.identificacion = cuil_Activo and b.habilitado = 1
where os.cuil_Activo != os.cuilrelacionado and
os.cuilrelacionado
in (select cuit
from procesos_cuit
inner join padrones p on p.identificacion = procesos_cuit.cuit and p.habilitado = 1 and p.tipo_persona = 'F'
where cliente = @cliente and fecha = @fecha
)
and not exists (select * from procesos_cuit_enrichment_datos_simples_socios z
where z.cliente = @cliente
and z.fecha_proceso = @fecha
and z.cuit = cuilrelacionado
and z.cuit_relacionado = cuil_Activo)
insert into procesos_cuit_enrichment_datos_simples_socios(cliente, fecha_proceso, cuit, nombre, cuit_relacionado, nombre_relacionado, cargo, relacionado_pariente)
select distinct
@cliente as cliente, @fecha as fecha_proceso,
cuilti as cuit, b.nombre_persona as sociedad,
c.identificacion as cuit_relacionado, c.nombre_persona as nombre_relacionado, 'FAMILIAR' as cargo, 'P'
from obras_sociales_beneficiarios os
inner join padrones b on b.identificacion = cuilti and b.habilitado = 1
inner join padrones c on c.identificacion = NRODOC and b.habilitado = 1
where os.cuilti != c.identificacion and
os.cuilti
in (select cuit
from procesos_cuit
inner join padrones p on p.identificacion = procesos_cuit.cuit and p.habilitado = 1 and p.tipo_persona = 'F'
where cliente = @cliente and fecha = @fecha
)
and LEN(nrodoc) = 11
and not exists (select * from procesos_cuit_enrichment_datos_simples_socios z
where z.cliente = @cliente
and z.fecha_proceso = @fecha
and z.cuit = cuilti
and z.cuit_relacionado = c.identificacion)
insert into procesos_cuit_enrichment_datos_simples_socios(cliente, fecha_proceso, cuit, nombre, cuit_relacionado, nombre_relacionado, cargo, relacionado_pariente)
select distinct
@cliente as cliente, @fecha as fecha_proceso,
cuilti as cuit, b.nombre_persona as sociedad,
c.identificacion as cuit_relacionado, c.nombre_persona as nombre_relacionado, 'FAMILIAR' as cargo, 'P'
from obras_sociales_beneficiarios os
inner join padrones b on b.identificacion = cuilti and b.habilitado = 1
inner join padrones c on (c.cuerpo_clave = NRODOC and b.habilitado = 1 and not exists (select * from padrones d where d.cuerpo_clave = NRODOC and d.habilitado = 1 and d.identificacion != c.identificacion))
where os.cuilti != c.identificacion and
os.cuilti
in (select cuit
from procesos_cuit
inner join padrones p on p.identificacion = procesos_cuit.cuit and p.habilitado = 1 and p.tipo_persona = 'F'
where cliente = @cliente and fecha = @fecha
)
and LEN(nrodoc) < 11
and not exists (select * from procesos_cuit_enrichment_datos_simples_socios z
where z.cliente = @cliente
and z.fecha_proceso = @fecha
and z.cuit = cuilti
and z.cuit_relacionado = c.identificacion)
insert into procesos_cuit_enrichment_datos_simples_socios(cliente, fecha_proceso, cuit, nombre, cuit_relacionado, nombre_relacionado, cargo, relacionado_pariente)
select distinct
@cliente as cliente, @fecha as fecha_proceso,
NRODOC as cuit, a.nombre_persona as sociedad,
cuilti as cuit_relacionado, b.nombre_persona as nombre_relacionado, 'FAMILIAR' as cargo, 'P'
from obras_sociales_beneficiarios os
inner join padrones a on a.identificacion = NRODOC and a.habilitado = 1
inner join padrones b on b.identificacion = cuilti and b.habilitado = 1
where os.cuilti != os.nrodoc and
os.nrodoc
in (select cuit
from procesos_cuit
inner join padrones p on p.identificacion = procesos_cuit.cuit and p.habilitado = 1 and p.tipo_persona = 'F'
where cliente = @cliente and fecha = @fecha
)
and not exists (select * from procesos_cuit_enrichment_datos_simples_socios z
where z.cliente = @cliente
and z.fecha_proceso = @fecha
and z.cuit = NRODOC
and z.cuit_relacionado = cuilti)
end
/* Final
select cuit as 'CUIT/CUIL',
nombre as 'Razón Social / Nombre',
cuit_relacionado as 'CUIT/CUIL relacionada',
nombre_relacionado as 'Razón Social / Nombre relacionada' ,
cargo as 'Relación',
isnull(desde,'') as 'desde'/*,
isnull(hasta,'') as 'hasta'*/
from procesos_cuit_enrichment_datos_simples_socios a
where a.cliente = @cliente
and a.fecha_proceso = @fecha
-- Este no exists, es por si salio en el primer proceso de las relaciones
-- donde esta persona salio ya como relacionado con la misma empresa
AND not exists (select * from procesos_cuit_enrichment_datos_simples_socios b
where b.cuit = a.cuit_relacionado and b.cuit_relacionado = a.cuit and b.fecha_proceso < a.fecha_proceso)
order by nombre, nombre_relacionado
*/
/* -- proceso CCU (Chile) --> Devuelve "SIN DATOS" lo que no se encontró nada
select c.cuit as 'CUIT/CUIL',
p.nombre_persona as 'Razón Social / Nombre',
isnull(e.cuit_relacionado, 'SIN DATOS') as 'CUIT/CUIL relacionada',
isnull(e.nombre_relacionado, 'SIN DATOS') as 'Razón Social / Nombre relacionada' ,
isnull(e.cargo, 'SIN DATOS') as 'Relación',
isnull(e.desde, '') as 'desde'/*,
isnull(e.hasta,'') as 'hasta'*/
from procesos_cuit c
inner join padrones p on p.identificacion = c.cuit and p.habilitado = 1
left join procesos_cuit_enrichment_datos_simples_socios e
on e.cliente = c.cliente and e.fecha_proceso = c.fecha and e.cuit = c.cuit
-- Estos not exists, es por si salio en el primer proceso de las relaciones
-- la misma relacion de la persona con la empresa, o la empresa con la persona
AND not exists (select * from procesos_cuit_enrichment_datos_simples_socios b
where b.cuit = e.cuit_relacionado and b.cuit_relacionado = e.cuit and b.fecha_proceso < e.fecha_proceso)
AND not exists (select * from procesos_cuit_enrichment_datos_simples_socios b2
where b2.cuit_relacionado = e.cuit_relacionado and b2.cuit = e.cuit and b2.fecha_proceso < e.fecha_proceso)
where c.cliente = @cliente
and c.fecha = @fecha
order by p.nombre_persona, e.nombre_relacionado
*/
-- Devuelve todo lo que tiene datos
select distinct cuit,
a.nombre_persona as nombre,
cuit_relacionado,
b.nombre_persona as nombre_relacionado,
cargo, desde, hasta, relacionado_pariente
from
procesos_cuit_enrichment_datos_simples_socios
left join padrones a on a.identificacion = procesos_cuit_enrichment_datos_simples_socios.cuit and a.habilitado = 1
left join padrones b on b.identificacion = procesos_cuit_enrichment_datos_simples_socios.cuit_relacionado and b.habilitado = 1
where cliente = @cliente
and fecha_proceso = @fecha
and cuit != cuit_relacionado
order by cuit, cuit_relacionado
END
/*
Actuacion Empleados
select distinct a.cuit as CUIT, a.nombre as Nombre, cargo as 'Relación',
cuit_relacionado as 'CUIT relacionado', nombre_relacionado as 'Nombre relacionado'
,iif(b.cuit is not null,'VENDOR','') as 'Vendor?'
from
procesos_cuit_enrichment_datos_simples_socios a
left outer join procesos_cuit b on (b.Cuit = a.cuit_relacionado
and b.cliente = 5999321
and b.fecha = '2019-11-12')
where a.cliente = 5999321
and a.fecha_proceso = '2019-11-11'
*/
/*
Actuacion Parientes Empleados
select distinct a.cuit as CUIT, a.nombre as Nombre, cargo as 'Relación',
cuit_relacionado as 'CUIT relacionado', nombre_relacionado as 'Nombre relacionado'
,iif(b.cuit is not null,'VENDOR','') as 'Vendor?'
from
procesos_cuit_enrichment_datos_simples_socios a
left outer join procesos_cuit b on (b.Cuit = a.cuit_relacionado
and b.cliente = 5999321
and b.fecha = '2019-11-12')
where a.cliente = 5999321
and a.fecha_proceso = '2019-11-13'
*/
GO
Depends On
14Used By
No items found