dbo.LN_control_calidad_por_cuit

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

3
Name Data Type Length Description
@p_cliente int 4
@p_cuit varchar 20
@p_pais varchar 10

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*
select * from LN_control_black_list where visible = 1 and cliente = 5546348
exec [LN_control_calidad_por_cuit_new] 5546348, '20938852821' 
exec [LN_control_calidad_por_cuit] 5546348, '20265091807', 'AR'

*/

CREATE OR ALTER PROCEDURE dbo.LN_control_calidad_por_cuit
@p_cliente int, 
@p_cuit    varchar(20), 
@p_pais    varchar(10)  = null 

AS
BEGIN
    SET NOCOUNT ON;
 /* 31/05/2022: Se agrego el control de que el numero de tax-id sea del mismo pais 
  Antes de esa fecha se hacia asi:
 
  select distinct socios.c01_cuit_soc as cuit, padrones2.nombre_persona as nombre, car_nombre as cargo
    from padrones  
    inner join socios on socios.c01_cuit = padrones.identificacion 
    inner join padrones padrones2 on padrones2.identificacion = socios.c01_cuit_soc and padrones2.habilitado = 1 
    inner join LN_control_black_list on socios.c01_cuit_soc = LN_control_black_list.identificacion
    left join cargos on cargos.car_codigo = socios.car_codigo 
    where padrones.identificacion = @p_cuit
     and socios.visible = 1
     and isnull(socios.c04_ultimo,'') != 'N'
     and LN_control_black_list.visible = 1
     and LN_control_black_list.cliente = @p_cliente
 
     union all 
 
    select distinct padrones.identificacion as cuit, padrones.nombre_persona as nombre, '' as cargo
    from padrones
    inner join LN_control_black_list on LN_control_black_list.identificacion = padrones.identificacion
    where padrones.identificacion = @p_cuit
     and LN_control_black_list.visible = 1
     and LN_control_black_list.cliente = @p_cliente
  */



 declare @nrodoc char(8) = ''

 /*if (@p_pais = 'AR' and len(@p_cuit) <= 8) */
 if (len(@p_cuit) <= 8)
 begin
  set @nrodoc = right('00000000'+@p_cuit,8)
  set @p_cuit = convert(int,@p_cuit)
 end

 if (@p_pais is null)
 begin
  -- Buscamos los socios del cuit consultado, y vemos si alguno está en la lista blacklist PERO QUE SEA DEL MISMO PAIS 


  /* 21/12/2023: Agregamos control de accionistas */
  select distinct accionistas.cuit_acc as cuit, padrones2.nombre_persona as nombre, 'ACCIONISTA' as cargo
    from padrones  
    inner join accionistas on accionistas.cuit_sociedad = padrones.identificacion 
    inner join padrones padrones2 on padrones2.identificacion = accionistas.cuit_acc and padrones2.habilitado = 1 
     inner join identificadores on identificadores.identificador = padrones2.identificador  -- para ver el pais de ese socio

    inner join LN_control_black_list on  ((LN_control_black_list.identificacion = padrones2.identificacion  or 
            LN_control_black_list.identificacion = padrones2.cuerpo_clave) and 
               LN_control_black_list.country_code = identificadores.country_code)
   where --(padrones.identificacion = @p_cuit or (padrones.cuerpo_clave = @nrodoc and identificadores.country_code = 'AR'))
     (padrones.tipo_persona = 'J' and padrones.identificacion = @p_cuit)
     and accionistas.visible = 1
     and LN_control_black_list.visible = 1
     and LN_control_black_list.cliente = @p_cliente
 
  union 
  /**/ 

  select distinct socios.c01_cuit_soc as cuit, padrones2.nombre_persona as nombre, car_nombre as cargo
    from padrones  
    inner join socios on socios.c01_cuit = padrones.identificacion 
    inner join padrones padrones2 on padrones2.identificacion = socios.c01_cuit_soc and padrones2.habilitado = 1 
     inner join identificadores on identificadores.identificador = padrones2.identificador  -- para ver el pais de ese socio

    inner join LN_control_black_list on  ((LN_control_black_list.identificacion = padrones2.identificacion  or 
            LN_control_black_list.identificacion = padrones2.cuerpo_clave) and 
               LN_control_black_list.country_code = identificadores.country_code)
    left join cargos on cargos.car_codigo = socios.car_codigo 
   where --(padrones.identificacion = @p_cuit or (padrones.cuerpo_clave = @nrodoc and identificadores.country_code = 'AR'))
     (padrones.tipo_persona = 'J' and padrones.identificacion = @p_cuit)
     and socios.visible = 1
     and isnull(socios.c04_ultimo,'') != 'N'
     and LN_control_black_list.visible = 1
     and LN_control_black_list.cliente = @p_cliente
     /*
         union
     
        select distinct padrones.identificacion as cuit, padrones.nombre_persona as nombre, '' as cargo
        from padrones
        inner join identificadores on identificadores.identificador = padrones.identificador 
        inner join LN_control_black_list on (LN_control_black_list.identificacion = padrones.identificacion and 
         LN_control_black_list.country_code = identificadores.country_code)
        where (padrones.identificacion = @p_cuit or (SUBSTRING(padrones.identificacion, 3, 8) = @nrodoc and identificadores.country_code = 'AR'))
     
         and LN_control_black_list.visible = 1
         and LN_control_black_list.cliente = @p_cliente
     
         */

    union  

     select distinct LN_control_black_list.identificacion as cuit, padrones.nombre_persona as nombre, '' as cargo 
     from LN_control_black_list
     left join padrones on (padrones.identificacion = LN_control_black_list.identificacion and padrones.habilitado = 1 
          and padrones.identificador in (select identificador 
                   from identificadores 
                  where country_code = LN_control_black_list.country_code))
       
       where (LN_control_black_list.identificacion = @p_cuit or (SUBSTRING(LN_control_black_list.identificacion, 3, 8) = @nrodoc and LN_control_black_list.country_code = 'AR'))
      and LN_control_black_list.visible = 1
      and LN_control_black_list.cliente = @p_cliente
 end 
 else
 begin 

 
  -- Buscamos los socios del cuit consultado, y vemos si alguno está en la lista blacklist PERO QUE SEA DEL MISMO PAIS 

  /* 21/12/2023: agregamos accionistas */
  select distinct accionistas.cuit_acc as cuit, padrones2.nombre_persona as nombre, 'ACCIONISTA' as cargo
    from padrones  
    inner join accionistas on accionistas.cuit_sociedad = padrones.identificacion 
    inner join padrones padrones2 on padrones2.identificacion = accionistas.cuit_acc and padrones2.habilitado = 1 
     inner join identificadores on identificadores.identificador = padrones2.identificador  -- para ver el pais de ese socio

       inner join LN_control_black_list on  ((LN_control_black_list.identificacion = padrones2.identificacion  or 
            LN_control_black_list.identificacion = padrones2.cuerpo_clave) and 
               LN_control_black_list.country_code = identificadores.country_code)
   where --(padrones.identificacion = @p_cuit or  (padrones.cuerpo_clave = @nrodoc and identificadores.country_code = 'AR'))
     (padrones.tipo_persona = 'J' and padrones.identificacion = @p_cuit)
     and accionistas.visible = 1
     and LN_control_black_list.visible = 1
     and LN_control_black_list.cliente = @p_cliente
     and identificadores.country_code = @p_pais

  union 
  /**/
  select distinct socios.c01_cuit_soc as cuit, padrones2.nombre_persona as nombre, car_nombre as cargo
    from padrones  
    inner join socios on socios.c01_cuit = padrones.identificacion 
    inner join padrones padrones2 on padrones2.identificacion = socios.c01_cuit_soc and padrones2.habilitado = 1 
     inner join identificadores on identificadores.identificador = padrones2.identificador  -- para ver el pais de ese socio

       inner join LN_control_black_list on  ((LN_control_black_list.identificacion = padrones2.identificacion  or 
            LN_control_black_list.identificacion = padrones2.cuerpo_clave) and 
               LN_control_black_list.country_code = identificadores.country_code)
    left join cargos on cargos.car_codigo = socios.car_codigo 
   where --(padrones.identificacion = @p_cuit or  (padrones.cuerpo_clave = @nrodoc and identificadores.country_code = 'AR'))
     (padrones.tipo_persona = 'J' and padrones.identificacion = @p_cuit)
     and socios.visible = 1
     and isnull(socios.c04_ultimo,'') != 'N'
     and LN_control_black_list.visible = 1
     and LN_control_black_list.cliente = @p_cliente
     and identificadores.country_code = @p_pais

     /*
        union
     
        select distinct padrones.identificacion as cuit, padrones.nombre_persona as nombre, '' as cargo
        from padrones
        inner join identificadores on identificadores.identificador = padrones.identificador 
        inner join LN_control_black_list on (LN_control_black_list.identificacion = padrones.identificacion and 
         LN_control_black_list.country_code = identificadores.country_code)
       where (padrones.identificacion = @p_cuit or (SUBSTRING(padrones.identificacion, 3, 8) = @nrodoc and identificadores.country_code = 'AR'))
         and LN_control_black_list.visible = 1
         and LN_control_black_list.cliente = @p_cliente
         and LN_control_black_list.country_code = @p_pais 
     
      */

   union  

   select distinct LN_control_black_list.identificacion as cuit, padrones.nombre_persona as nombre, '' as cargo 
   from LN_control_black_list
   left join padrones on (padrones.identificacion = LN_control_black_list.identificacion and padrones.habilitado = 1 
         and padrones.identificador in (select identificador 
                 from identificadores 
                 where country_code = LN_control_black_list.country_code))
       
    where (LN_control_black_list.identificacion = @p_cuit or (SUBSTRING(LN_control_black_list.identificacion, 3, 8) = @nrodoc and LN_control_black_list.country_code = 'AR'))
   and LN_control_black_list.visible = 1
   and LN_control_black_list.cliente = @p_cliente
      and LN_control_black_list.country_code = @p_pais 


 end 


END 

GO

Used By

No items found