dbo.backend_obtener_socios

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

4
Name Data Type Length Description
@p_id_socio int 4
@p_cuit varchar 20
@p_visible bit 1
@p_tipo_persona varchar 1

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Description: <obtiene socios si es persona jurídica, y sociedades donde es socio si es persona física>
-- =============================================
-- backend_obtener_socios null,'30637810290',1,'j'
-- backend_obtener_socios null,'27138277092',1,'F'
CREATE OR ALTER PROCEDURE dbo.backend_obtener_socios
 @p_id_socio int, -- si viene nulo busca los otros dos campos, si viene con valor solo busca por este id.
 @p_cuit varchar(20),
 @p_visible bit,
 @p_tipo_persona varchar(1)

AS
BEGIN
 -- SET NOCOUNT ON added to prevent extra result sets from
 -- interfering with SELECT statements.
 SET NOCOUNT ON;

    set @p_tipo_persona = upper(@p_tipo_persona)

    IF (@p_id_socio IS NOT NULL) -- SELET ONE
  BEGIN
   SELECT identificadores.country_code,
    socios.id_socios,
    socios.c04_ultimo AS  ultimo,
    socios.c01_cuit AS cuit,
    socios.c01_cuit_soc AS cuit_persona,
    padrones.cuerpo_clave AS dni_persona,
    iif(datos_personas.fecha_defuncion is not null,'SUCESION DE '+padrones.nombre_persona,padrones.nombre_persona) as nombre_persona, 
    padrones.tipo_persona,
    socios.car_codigo AS cargo_codigo,
    cargos.car_nombre AS cargo_nombre,
    socios.c04_periodo_desde AS desde,
    socios.c04_periodo_hasta AS hasta,
    socios.visible AS estado, socios.modified, socios.created,
    iif (socios.created is null and socios.modified is null, convert(varchar(10),socios.c04_fecha_act,103),
    iif (isnull(socios.created,'1900-01-01') > isnull(socios.modified, '1900-01-01'),
     convert(varchar(10),socios.created,103),
     convert(varchar(10),socios.modified,103))) as fecha_modificacion, 
    socios.id_padron as id_padron_empresa, 
    socios.id_padron_socio
    
   FROM socios
   INNER JOIN padrones ON 
    identificacion = c01_cuit_soc and padrones.habilitado = 1 
   inner join identificadores on padrones.identificador = identificadores.identificador

   LEFT JOIN DATOS_PERSONAS on
   identificacion = DATOS_PERSONAS.c01_cuit
   LEFT JOIN cargos ON
    cargos.car_codigo = socios.car_codigo
   WHERE (id_socios = @p_id_socio)
  END
 ELSE -- SELECT ALL FROM CUIT
  BEGIN
   IF (@p_tipo_persona != 'F') -- SI ES PERSONA JURIDICA
    BEGIN
     SELECT distinct identificadores.country_code,
      socios.id_socios,
      socios.c04_ultimo AS  ultimo,
      socios.c01_cuit_soc AS cuit_persona,
      padrones.cuerpo_clave AS dni_persona,
      iif(datos_personas.fecha_defuncion is not null,'SUCESION DE '+padrones.nombre_persona,padrones.nombre_persona) as nombre_persona, 
      padrones.tipo_persona,
      socios.car_codigo AS cargo_codigo,
      cargos.car_nombre AS cargo_nombre,
      socios.c04_periodo_desde AS desde,
      socios.c04_periodo_hasta AS hasta,
      socios.visible AS estado,socios.modified, socios.created,
      iif (socios.created is null and socios.modified is null, convert(varchar(10),socios.c04_fecha_act,103),
      iif (isnull(socios.created,'1900-01-01') > isnull(socios.modified, '1900-01-01'),
       convert(varchar(10),socios.created,103),
       convert(varchar(10),socios.modified,103))) as fecha_modificacion, 
      socios.id_padron as id_padron_empresa, 
      socios.id_padron_socio
      

     FROM socios
     INNER JOIN padrones ON 
      identificacion = c01_cuit_soc and padrones.habilitado = 1 -- INFORMACION DE LA PERSONA FISICA (SOCIO)
     inner join identificadores on padrones.identificador = identificadores.identificador

     LEFT JOIN cargos ON
      cargos.car_codigo = socios.car_codigo
     LEFT JOIN DATOS_PERSONAS on
      identificacion = DATOS_PERSONAS.c01_cuit
     WHERE (socios.c01_cuit = @p_cuit) AND (socios.visible = @p_visible)
     ORDER BY socios.c04_ultimo DESC, socios.modified DESC, socios.created DESC
    END
   ELSE -- SI ES PERSONA FISICA
    BEGIN
     SELECT    distinct identificadores.country_code,
      socios.id_socios,
      socios.c04_ultimo AS  ultimo,
      socios.c01_cuit AS cuit_persona,
      --padrones.cuerpo_clave AS dni_persona,
      null AS dni_persona,
      iif(datos_personas.fecha_defuncion is not null,'SUCESION DE '+padrones.nombre_persona,padrones.nombre_persona) as nombre_persona, 
      padrones.tipo_persona,
      socios.car_codigo AS cargo_codigo,
      cargos.car_nombre AS cargo_nombre,
      socios.c04_periodo_desde AS desde,
      socios.c04_periodo_hasta AS hasta,
      socios.visible AS estado,socios.modified, socios.created,
      iif (socios.created is null and socios.modified is null, convert(varchar(10),socios.c04_fecha_act,103),
      iif (isnull(socios.created,'1900-01-01') > isnull(socios.modified, '1900-01-01'),
       convert(varchar(10),socios.created,103),
       convert(varchar(10),socios.modified,103))) as fecha_modificacion, 
      socios.id_padron as id_padron_empresa, 
      socios.id_padron_socio
      

     FROM socios
     INNER JOIN padrones ON 
      identificacion = c01_cuit and padrones.habilitado = 1  -- INFORMACION DE LA SOCIEDAD (EN LA QUE ES SOCIO)
     inner join identificadores on padrones.identificador = identificadores.identificador

     LEFT JOIN cargos ON
      cargos.car_codigo = socios.car_codigo
     LEFT JOIN DATOS_PERSONAS on
      identificacion = DATOS_PERSONAS.c01_cuit
     WHERE (c01_cuit_soc = @p_cuit) AND (socios.visible = @p_visible)
     ORDER BY socios.c04_ultimo DESC, socios.modified DESC, socios.created DESC
    END
  END
END

GO