dbo.ws_estructura_societaria

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

Used By

No items found