Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
2| Name | Data Type | Length | Description |
|---|---|---|---|
| @p_Cuit | varchar | 20 | |
| @tipo | char | 1 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
CREATE OR ALTER PROCEDURE dbo.ws_estructura_societaria
@p_Cuit varchar(20),
@tipo char(1)
AS
BEGIN
SET NOCOUNT ON;
DECLARE @p_5anios smalldatetime = getdate() - 1825
DECLARE @p_2anios smalldatetime = getdate() - 730
DECLARE @p_1anio smalldatetime = getdate() - 365
IF @tipo = 'j'
begin
select distinct
padrones.id_padron as idNodoGrafo,
padrones.identificacion as cuit,
padrones.nombre_persona as nombre_persona,
padInicial.nombre_persona as CentroGrafo,
padInicial.id_padron as IDCentroGrafo,
'SOCIOS' AS seccion
from socios
inner join padrones
on (padrones.identificacion = socios.c01_cuit_soc and padrones.habilitado = 1)
inner join padrones padInicial on (padInicial.identificacion = @p_Cuit and padInicial.habilitado = 1)
where socios.c01_cuit = @p_Cuit and socios.visible = 1 and c04_ultimo = 'S'
UNION ALL
select distinct
padrones.id_padron as idNodoGrafo,
cuit_sociedad as cuit,
padrones.nombre_persona as nombre_pesona,
padInicial.nombre_persona as CentroGrafo,
padInicial.id_padron as IDCentroGrafo,
'ACCIONISTA_DE' AS seccion
from accionistas
inner join padrones
on (padrones.identificacion = accionistas.cuit_sociedad and padrones.habilitado = 1)
inner join padrones padInicial on (padInicial.identificacion = ACCIONISTAS.cuit_acc and padInicial.habilitado = 1)
where ACCIONISTAS.cuit_acc = @p_Cuit
union all
select distinct
padrones.id_padron as idNodoGrafo,cuit_acc as cuit,padrones.nombre_persona,padInicial.nombre_persona as CentroGrafo,padInicial.id_padron as IDCentroGrafo, 'ACCIONISTAS' AS seccion from accionistas
inner join padrones on
(padrones.identificacion = accionistas.cuit_acc and padrones.habilitado = 1)
inner join padrones padInicial on (padInicial.identificacion = @p_Cuit and padInicial.habilitado = 1)
where cuit_sociedad = @p_Cuit and accionistas.visible = 1
union all
select distinct
padrones.id_padron as idNodoGrafo,vinculaciones.cuit_vinculada as cuit,padrones.nombre_persona,padInicial.nombre_persona as CentroGrafo,padInicial.id_padron as IDCentroGrafo, iif(nombre = 'CONTROLADA','CONTROLADAS','CONTROLANTES') AS seccion from vinculaciones
right join tipo_vinculaciones on
id_tipo_vinculacion = cod_vinculacion
inner join padrones padInicial on (padInicial.identificacion = @p_Cuit and padInicial.habilitado = 1)
INNER JOIN PADRONES ON (PADRONES.identificacion = cuit_vinculada and padrones.habilitado = 1)
where cuit_sociedad = @p_cuit and visible = 1 and id_tipo_vinculacion in (3,4)
union all
select distinct
padrones.id_padron as idNodoGrafo,vinculaciones.cuit_sociedad as cuit,padrones.nombre_persona,padInicial.nombre_persona as CentroGrafo,padInicial.id_padron as IDCentroGrafo, iif(nombre = 'CONTROLADA','CONTROLANTES','CONTROLADAS')
AS seccion from vinculaciones
right join tipo_vinculaciones on
id_tipo_vinculacion = cod_vinculacion
inner join padrones padInicial on (padInicial.identificacion = @p_Cuit and padInicial.habilitado = 1)
INNER JOIN PADRONES ON (PADRONES.identificacion = cuit_sociedad and padrones.habilitado = 1)
where cuit_vinculada = @p_cuit and visible = 1 and id_tipo_vinculacion in (3,4)
union all
select distinct
padrones.id_padron as idNodoGrafo,vinculaciones.cuit_sociedad as cuit,padrones.nombre_persona,padInicial.nombre_persona as CentroGrafo,padInicial.id_padron as IDCentroGrafo, 'VINCULACIONES_OTRAS'
AS seccion from vinculaciones
right join tipo_vinculaciones on
id_tipo_vinculacion = cod_vinculacion
inner join padrones padInicial on (padInicial.identificacion = @p_Cuit and padInicial.habilitado = 1)
INNER JOIN PADRONES ON (PADRONES.identificacion = cuit_sociedad and PADRONES.habilitado = 1)
where cuit_vinculada = @p_cuit and visible = 1 and id_tipo_vinculacion not in (3,4) and tipo_vinculaciones.id_tipo_vinculacion < 18
union all
--select * from ChequesBCRA where Cuit_relacionado = '30501677643'
select distinct
pf.id_padron as idNodoGrafo,ChequesBCRA.cuit_firmante as cuit,pf.nombre_persona,pj.nombre_persona as CentroGrafo,pj.id_padron as IDCentroGrafo,'FIRMANTES' as seccion
FROM
ChequesBCRA
INNER JOIN padrones as pf ON (pf.identificacion = cuit_firmante and pf.habilitado = 1) --info firmante
INNER JOIN padrones as pj ON (pj.identificacion = Cuit_relacionado and pj.habilitado = 1) --info empresa
WHERE
(Cuit_relacionado = @p_Cuit)
AND visible = 1
AND
(
(
(
(
/**/(fecha_levantamiento IS NULL)
AND/**/
(fecha_rechazo >= @p_5anios)
)
OR
(
(
(fecha_levantamiento >= @p_5anios)
AND ((datediff(day,fecha_rechazo,fecha_levantamiento)) <= 15 )
)
AND
(
((fecha_pago IS NOT NULL) AND (fecha_levantamiento >= (GETDATE() - 2)))
OR
(((fecha_pago IS NULL) AND (fecha_levantamiento >= (GETDATE() - 2))) AND (fecha_rechazo >= @p_5anios))
)
)
)
OR
(
((fecha_levantamiento >= @p_5anios)
AND (((datediff(day,fecha_rechazo,fecha_levantamiento)) >= 16 ) AND ((datediff(day,fecha_rechazo,fecha_levantamiento)) <= 90))
)
AND
(((fecha_pago IS NOT NULL) AND (fecha_levantamiento >= @p_1anio))
OR (((fecha_pago IS NULL) AND (fecha_levantamiento >= @p_1anio)) AND (fecha_rechazo >= @p_5anios))
)
)
)
OR
(
(((fecha_levantamiento >= @p_5anios) AND
((datediff(day,fecha_rechazo,fecha_levantamiento)) > 90)) AND (fecha_levantamiento >= @p_2anios)
)
AND (fecha_rechazo >= @p_5anios)
)
)
group by pf.nombre_persona,Cuit_relacionado,pf.id_padron,cuit_firmante,pj.nombre_persona,pj.id_padron
end
else
begin
select distinct
padrones.id_padron as idNodoGrafo,
padrones.identificacion as cuit,
padrones.nombre_persona as nombre_persona,
padInicial.nombre_persona as CentroGrafo,
padInicial.id_padron as IDCentroGrafo,
'SOCIEDADES' AS seccion
from socios
inner join padrones
on (padrones.identificacion = socios.c01_cuit and padrones.habilitado = 1)
inner join padrones padInicial on (padInicial.identificacion = socios.c01_cuit_soc and padInicial.habilitado = 1)
where socios.c01_cuit_soc = @p_Cuit and socios.visible = 1 and c04_ultimo = 'S'
UNION ALL
select distinct
padrones.id_padron as idNodoGrafo,
cuita as cuit,
padrones.nombre_persona as nombre_pesona,
padInicial.nombre_persona as CentroGrafo,
padInicial.id_padron as IDCentroGrafo,
'FAMILIARES' AS seccion
from relaciones
inner join padrones
on (padrones.identificacion = cuita and padrones.habilitado = 1)
inner join padrones padInicial on (padInicial.identificacion = cuitb and padInicial.habilitado = 1)
where cuitb = @p_Cuit
UNION ALL
select distinct
padrones.id_padron as idNodoGrafo,
cuitb as cuit,
padrones.nombre_persona as nombre_pesona,
padInicial.nombre_persona as CentroGrafo,
padInicial.id_padron as IDCentroGrafo,
'FAMILIARES' AS seccion
from relaciones
inner join padrones
on (padrones.identificacion = cuitb and padrones.habilitado = 1)
inner join padrones padInicial on (padInicial.identificacion = cuita and padInicial.habilitado = 1)
where cuita = @p_Cuit
UNION ALL
select distinct
padrones.id_padron as idNodoGrafo,
cuit,
padrones.nombre_persona as nombre_persona,
padInicial.nombre_persona as CentroGrafo,
padInicial.id_padron as IDCentroGrafo,
'EMPLEADO_DE' AS seccion
from empleados
inner join padrones
on (padrones.identificacion = cuit and padrones.habilitado = 1)
inner join padrones padInicial on (padInicial.identificacion = @p_Cuit and padInicial.habilitado = 1)
where cuil = @p_Cuit
and visible = '1'
UNION ALL
select distinct
padrones.id_padron as idNodoGrafo,
cuit_sociedad as cuit,
padrones.nombre_persona as nombre_pesona,
padInicial.nombre_persona as CentroGrafo,
padInicial.id_padron as IDCentroGrafo,
'ACCIONISTA_DE' AS seccion
from accionistas
inner join padrones
on (padrones.identificacion = accionistas.cuit_sociedad and padrones.habilitado = 1)
inner join padrones padInicial on (padInicial.identificacion = ACCIONISTAS.cuit_acc and padInicial.habilitado = 1)
where ACCIONISTAS.cuit_acc = @p_Cuit
UNION ALL
select
pf.id_padron as idNodoGrafo,ChequesBCRA.Cuit_relacionado as cuit,pf.nombre_persona,pj.nombre_persona as CentroGrafo,pj.id_padron as IDCentroGrafo,'FIRMANTES' as seccion
FROM
ChequesBCRA
INNER JOIN padrones as pf ON (pf.identificacion =Cuit_relacionado and pf.habilitado = 1) --info firmante
INNER JOIN padrones as pj ON (pj.identificacion= cuit_firmante and pj.habilitado = 1) --info empresa
WHERE
(cuit_firmante = @p_Cuit)
AND visible = 1
AND
(
(
(
(
/**/(fecha_levantamiento IS NULL)
AND/**/
(fecha_rechazo >= @p_5anios)
)
OR
(
(
(fecha_levantamiento >= @p_5anios)
AND ((datediff(day,fecha_rechazo,fecha_levantamiento)) <= 15 )
)
AND
(
((fecha_pago IS NOT NULL) AND (fecha_levantamiento >= (GETDATE() - 2)))
OR
(((fecha_pago IS NULL) AND (fecha_levantamiento >= (GETDATE() - 2))) AND (fecha_rechazo >= @p_5anios))
)
)
)
OR
(
((fecha_levantamiento >= @p_5anios)
AND (((datediff(day,fecha_rechazo,fecha_levantamiento)) >= 16 ) AND ((datediff(day,fecha_rechazo,fecha_levantamiento)) <= 90))
)
AND
(((fecha_pago IS NOT NULL) AND (fecha_levantamiento >= @p_1anio))
OR (((fecha_pago IS NULL) AND (fecha_levantamiento >= @p_1anio)) AND (fecha_rechazo >= @p_5anios))
)
)
)
OR
(
(((fecha_levantamiento >= @p_5anios) AND
((datediff(day,fecha_rechazo,fecha_levantamiento)) > 90)) AND (fecha_levantamiento >= @p_2anios)
)
AND (fecha_rechazo >= @p_5anios)
)
)
group by pf.nombre_persona,Cuit_relacionado,pf.id_padron,cuit_firmante,pj.nombre_persona,pj.id_padron
end
END
GO
GO
CREATE OR ALTER PROCEDURE dbo.ws_estructura_societaria
@p_Cuit varchar(20),
@tipo char(1)
AS
BEGIN
SET NOCOUNT ON;
DECLARE @p_5anios smalldatetime = getdate() - 1825
DECLARE @p_2anios smalldatetime = getdate() - 730
DECLARE @p_1anio smalldatetime = getdate() - 365
IF @tipo = 'j'
begin
select distinct
padrones.id_padron as idNodoGrafo,
padrones.identificacion as cuit,
padrones.nombre_persona as nombre_persona,
padInicial.nombre_persona as CentroGrafo,
padInicial.id_padron as IDCentroGrafo,
'SOCIOS' AS seccion
from socios
inner join padrones
on (padrones.identificacion = socios.c01_cuit_soc and padrones.habilitado = 1)
inner join padrones padInicial on (padInicial.identificacion = @p_Cuit and padInicial.habilitado = 1)
where socios.c01_cuit = @p_Cuit and socios.visible = 1 and c04_ultimo = 'S'
UNION ALL
select distinct
padrones.id_padron as idNodoGrafo,
cuit_sociedad as cuit,
padrones.nombre_persona as nombre_pesona,
padInicial.nombre_persona as CentroGrafo,
padInicial.id_padron as IDCentroGrafo,
'ACCIONISTA_DE' AS seccion
from accionistas
inner join padrones
on (padrones.identificacion = accionistas.cuit_sociedad and padrones.habilitado = 1)
inner join padrones padInicial on (padInicial.identificacion = ACCIONISTAS.cuit_acc and padInicial.habilitado = 1)
where ACCIONISTAS.cuit_acc = @p_Cuit
union all
select distinct
padrones.id_padron as idNodoGrafo,cuit_acc as cuit,padrones.nombre_persona,padInicial.nombre_persona as CentroGrafo,padInicial.id_padron as IDCentroGrafo, 'ACCIONISTAS' AS seccion from accionistas
inner join padrones on
(padrones.identificacion = accionistas.cuit_acc and padrones.habilitado = 1)
inner join padrones padInicial on (padInicial.identificacion = @p_Cuit and padInicial.habilitado = 1)
where cuit_sociedad = @p_Cuit and accionistas.visible = 1
union all
select distinct
padrones.id_padron as idNodoGrafo,vinculaciones.cuit_vinculada as cuit,padrones.nombre_persona,padInicial.nombre_persona as CentroGrafo,padInicial.id_padron as IDCentroGrafo, iif(nombre = 'CONTROLADA','CONTROLADAS','CONTROLANTES') AS seccion from vinculaciones
right join tipo_vinculaciones on
id_tipo_vinculacion = cod_vinculacion
inner join padrones padInicial on (padInicial.identificacion = @p_Cuit and padInicial.habilitado = 1)
INNER JOIN PADRONES ON (PADRONES.identificacion = cuit_vinculada and padrones.habilitado = 1)
where cuit_sociedad = @p_cuit and visible = 1 and id_tipo_vinculacion in (3,4)
union all
select distinct
padrones.id_padron as idNodoGrafo,vinculaciones.cuit_sociedad as cuit,padrones.nombre_persona,padInicial.nombre_persona as CentroGrafo,padInicial.id_padron as IDCentroGrafo, iif(nombre = 'CONTROLADA','CONTROLANTES','CONTROLADAS')
AS seccion from vinculaciones
right join tipo_vinculaciones on
id_tipo_vinculacion = cod_vinculacion
inner join padrones padInicial on (padInicial.identificacion = @p_Cuit and padInicial.habilitado = 1)
INNER JOIN PADRONES ON (PADRONES.identificacion = cuit_sociedad and padrones.habilitado = 1)
where cuit_vinculada = @p_cuit and visible = 1 and id_tipo_vinculacion in (3,4)
union all
select distinct
padrones.id_padron as idNodoGrafo,vinculaciones.cuit_sociedad as cuit,padrones.nombre_persona,padInicial.nombre_persona as CentroGrafo,padInicial.id_padron as IDCentroGrafo, 'VINCULACIONES_OTRAS'
AS seccion from vinculaciones
right join tipo_vinculaciones on
id_tipo_vinculacion = cod_vinculacion
inner join padrones padInicial on (padInicial.identificacion = @p_Cuit and padInicial.habilitado = 1)
INNER JOIN PADRONES ON (PADRONES.identificacion = cuit_sociedad and PADRONES.habilitado = 1)
where cuit_vinculada = @p_cuit and visible = 1 and id_tipo_vinculacion not in (3,4) and tipo_vinculaciones.id_tipo_vinculacion < 18
union all
--select * from ChequesBCRA where Cuit_relacionado = '30501677643'
select distinct
pf.id_padron as idNodoGrafo,ChequesBCRA.cuit_firmante as cuit,pf.nombre_persona,pj.nombre_persona as CentroGrafo,pj.id_padron as IDCentroGrafo,'FIRMANTES' as seccion
FROM
ChequesBCRA
INNER JOIN padrones as pf ON (pf.identificacion = cuit_firmante and pf.habilitado = 1) --info firmante
INNER JOIN padrones as pj ON (pj.identificacion = Cuit_relacionado and pj.habilitado = 1) --info empresa
WHERE
(Cuit_relacionado = @p_Cuit)
AND visible = 1
AND
(
(
(
(
/**/(fecha_levantamiento IS NULL)
AND/**/
(fecha_rechazo >= @p_5anios)
)
OR
(
(
(fecha_levantamiento >= @p_5anios)
AND ((datediff(day,fecha_rechazo,fecha_levantamiento)) <= 15 )
)
AND
(
((fecha_pago IS NOT NULL) AND (fecha_levantamiento >= (GETDATE() - 2)))
OR
(((fecha_pago IS NULL) AND (fecha_levantamiento >= (GETDATE() - 2))) AND (fecha_rechazo >= @p_5anios))
)
)
)
OR
(
((fecha_levantamiento >= @p_5anios)
AND (((datediff(day,fecha_rechazo,fecha_levantamiento)) >= 16 ) AND ((datediff(day,fecha_rechazo,fecha_levantamiento)) <= 90))
)
AND
(((fecha_pago IS NOT NULL) AND (fecha_levantamiento >= @p_1anio))
OR (((fecha_pago IS NULL) AND (fecha_levantamiento >= @p_1anio)) AND (fecha_rechazo >= @p_5anios))
)
)
)
OR
(
(((fecha_levantamiento >= @p_5anios) AND
((datediff(day,fecha_rechazo,fecha_levantamiento)) > 90)) AND (fecha_levantamiento >= @p_2anios)
)
AND (fecha_rechazo >= @p_5anios)
)
)
group by pf.nombre_persona,Cuit_relacionado,pf.id_padron,cuit_firmante,pj.nombre_persona,pj.id_padron
end
else
begin
select distinct
padrones.id_padron as idNodoGrafo,
padrones.identificacion as cuit,
padrones.nombre_persona as nombre_persona,
padInicial.nombre_persona as CentroGrafo,
padInicial.id_padron as IDCentroGrafo,
'SOCIEDADES' AS seccion
from socios
inner join padrones
on (padrones.identificacion = socios.c01_cuit and padrones.habilitado = 1)
inner join padrones padInicial on (padInicial.identificacion = socios.c01_cuit_soc and padInicial.habilitado = 1)
where socios.c01_cuit_soc = @p_Cuit and socios.visible = 1 and c04_ultimo = 'S'
UNION ALL
select distinct
padrones.id_padron as idNodoGrafo,
cuita as cuit,
padrones.nombre_persona as nombre_pesona,
padInicial.nombre_persona as CentroGrafo,
padInicial.id_padron as IDCentroGrafo,
'FAMILIARES' AS seccion
from relaciones
inner join padrones
on (padrones.identificacion = cuita and padrones.habilitado = 1)
inner join padrones padInicial on (padInicial.identificacion = cuitb and padInicial.habilitado = 1)
where cuitb = @p_Cuit
UNION ALL
select distinct
padrones.id_padron as idNodoGrafo,
cuitb as cuit,
padrones.nombre_persona as nombre_pesona,
padInicial.nombre_persona as CentroGrafo,
padInicial.id_padron as IDCentroGrafo,
'FAMILIARES' AS seccion
from relaciones
inner join padrones
on (padrones.identificacion = cuitb and padrones.habilitado = 1)
inner join padrones padInicial on (padInicial.identificacion = cuita and padInicial.habilitado = 1)
where cuita = @p_Cuit
UNION ALL
select distinct
padrones.id_padron as idNodoGrafo,
cuit,
padrones.nombre_persona as nombre_persona,
padInicial.nombre_persona as CentroGrafo,
padInicial.id_padron as IDCentroGrafo,
'EMPLEADO_DE' AS seccion
from empleados
inner join padrones
on (padrones.identificacion = cuit and padrones.habilitado = 1)
inner join padrones padInicial on (padInicial.identificacion = @p_Cuit and padInicial.habilitado = 1)
where cuil = @p_Cuit
and visible = '1'
UNION ALL
select distinct
padrones.id_padron as idNodoGrafo,
cuit_sociedad as cuit,
padrones.nombre_persona as nombre_pesona,
padInicial.nombre_persona as CentroGrafo,
padInicial.id_padron as IDCentroGrafo,
'ACCIONISTA_DE' AS seccion
from accionistas
inner join padrones
on (padrones.identificacion = accionistas.cuit_sociedad and padrones.habilitado = 1)
inner join padrones padInicial on (padInicial.identificacion = ACCIONISTAS.cuit_acc and padInicial.habilitado = 1)
where ACCIONISTAS.cuit_acc = @p_Cuit
UNION ALL
select
pf.id_padron as idNodoGrafo,ChequesBCRA.Cuit_relacionado as cuit,pf.nombre_persona,pj.nombre_persona as CentroGrafo,pj.id_padron as IDCentroGrafo,'FIRMANTES' as seccion
FROM
ChequesBCRA
INNER JOIN padrones as pf ON (pf.identificacion =Cuit_relacionado and pf.habilitado = 1) --info firmante
INNER JOIN padrones as pj ON (pj.identificacion= cuit_firmante and pj.habilitado = 1) --info empresa
WHERE
(cuit_firmante = @p_Cuit)
AND visible = 1
AND
(
(
(
(
/**/(fecha_levantamiento IS NULL)
AND/**/
(fecha_rechazo >= @p_5anios)
)
OR
(
(
(fecha_levantamiento >= @p_5anios)
AND ((datediff(day,fecha_rechazo,fecha_levantamiento)) <= 15 )
)
AND
(
((fecha_pago IS NOT NULL) AND (fecha_levantamiento >= (GETDATE() - 2)))
OR
(((fecha_pago IS NULL) AND (fecha_levantamiento >= (GETDATE() - 2))) AND (fecha_rechazo >= @p_5anios))
)
)
)
OR
(
((fecha_levantamiento >= @p_5anios)
AND (((datediff(day,fecha_rechazo,fecha_levantamiento)) >= 16 ) AND ((datediff(day,fecha_rechazo,fecha_levantamiento)) <= 90))
)
AND
(((fecha_pago IS NOT NULL) AND (fecha_levantamiento >= @p_1anio))
OR (((fecha_pago IS NULL) AND (fecha_levantamiento >= @p_1anio)) AND (fecha_rechazo >= @p_5anios))
)
)
)
OR
(
(((fecha_levantamiento >= @p_5anios) AND
((datediff(day,fecha_rechazo,fecha_levantamiento)) > 90)) AND (fecha_levantamiento >= @p_2anios)
)
AND (fecha_rechazo >= @p_5anios)
)
)
group by pf.nombre_persona,Cuit_relacionado,pf.id_padron,cuit_firmante,pj.nombre_persona,pj.id_padron
end
END
GO
Depends On
8Used By
No items found