dbo.sp_arreglar_ln_demo_fidecheck

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*
SELECT * FROM LN_demo_fidecheck WHERE DETALLE LIKE '%ADMINISTRACI%'
update LN_demo_fidecheck set detalle = replace(detalle,'COMPAAÑIAS','COMPAÑÍAS') where detalle like '%COMPAAÑIAS%'
update LN_demo_fidecheck set detalle = replace(detalle,'PúBLICO','PÚBLICO') where detalle like '%PúBLICO%'
update LN_demo_fidecheck set detalle = replace(detalle,'ESTéN','ESTAN') where detalle like '%ESTéN%'
update LN_demo_fidecheck set detalle = replace(detalle,'ECONóMICAS','ECONÓMICAS') where detalle like '%ECONóMICAS%'
update LN_demo_fidecheck set FIDECHECK = 'P' where detalle like '%Sancionado%'
update LN_demo_fidecheck set detalle = replace(detalle,'ADMINISTRACIóN','ADMINISTRACIÓN') where detalle like '%ADMINISTRACIóN%'
update LN_demo_fidecheck set detalle = replace(detalle,'de NULL','') where detalle like '%de NULL%'
update LN_demo_fidecheck set detalle = replace(detalle,'JURíDICAS','JURÍDICAS') where detalle like '%JURíDICAS%'

 select * from ln_fidecheck_update2 
 where ln_fidecheck_update2.cuit = '20118898266'

*/


CREATE OR ALTER PROCEDURE dbo.sp_arreglar_ln_demo_fidecheck  
AS
BEGIN
    SET NOCOUNT ON;
 declare @id int
 declare @tax_id varchar(20)
 declare @CUIT  varchar(20),  
   @LISTA varchar(max), 
   @URL varchar(max), 
   @INSTITUCION varchar(max), 
   @CARGO_FUNCION varchar(max), 
   @RELACION varchar(max)
 declare @CUIT2  varchar(20),  
   @LISTA2 varchar(max), 
   @URL2 varchar(max), 
   @INSTITUCION2 varchar(max), 
   @CARGO_FUNCION2 varchar(max), 
   @RELACION2 varchar(max)
 declare @caso  int 
 declare @caso2 int 
 declare @detalle varchar(max) 
 declare @fidecheck char(1)
 declare @fidecheck_tenia char(1)
 declare @detalle_tenia varchar(max) 

 declare @respuesta 
 table (id int,tax_id varchar(20),fidecheck_tenia char(1),detalle_tenia varchar(max),fidecheck char(1),detalle varchar(max),
 CUIT2  varchar(20),  
 LISTA2 varchar(max), 
 URL2 varchar(max), 
 INSTITUCION2 varchar(max), 
 CARGO_FUNCION2 varchar(max), 
 RELACION2 varchar(max)
 )

 DECLARE C_cursor CURSOR FOR
  select id_fidecheck, tax_id, fidecheck, detalle
   from ln_demo_fidecheck 
   where ln_demo_fidecheck.visible = 1 
   and contraparte not in (select contraparte from ln_contrapartes where cliente in(2046807993)) -- dejamos afuera a PAE
   and ln_demo_fidecheck.modified >= '2020-12-03'

 OPEN C_cursor
 FETCH NEXT FROM C_cursor INTO @id, @tax_id, @fidecheck_tenia, @detalle_tenia
 WHILE @@fetch_status = 0
 BEGIN 
 
  DECLARE C_cursor_2 CURSOR FOR
  select CUIT,LISTA,URL,upper(INSTITUCION),upper(CARGO_FUNCION),upper(RELACION)
    from ln_fidecheck_update2 
   where ln_fidecheck_update2.cuit = @tax_id

  set @CUIT2 = null
  set @LISTA2 = null 
  set @URL2 = null 
  set @INSTITUCION2 = null 
  set @CARGO_FUNCION2 = null  
  set @RELACION2 = null 
  set @caso2 = null 

  OPEN C_cursor_2
  FETCH NEXT FROM C_cursor_2 INTO @CUIT,  
          @LISTA, 
          @URL, 
          @INSTITUCION, 
          @CARGO_FUNCION, 
          @RELACION 
  /* Lista hay:
   CIA_WORLDLEADERS
   2020-12-03 04:01:33.000
   B_PEPS_CI_AR
   B_PEPS_SI_AR
   NULL
   2020-12-03 02:41:54.000
   UIF_SO */

  WHILE @@fetch_status = 0
  BEGIN
   if (@URL = 'NULL')           set @URL = null  
   if (@INSTITUCION = 'NULL')   set @INSTITUCION = null  
   if (@CARGO_FUNCION = 'NULL') set @CARGO_FUNCION = null  
   if (@RELACION = 'NULL')      set @RELACION = null  

   set @caso = 
   (select case
   when (@LISTA = 'CIA_WORLDLEADERS' or @LISTA = 'B_PEPS_CI_AR' or @LISTA  = 'B_PEPS_SI_AR') then 1 -- PEP
   when (@LISTA = 'UIF_SO') then 2 -- Sujeto Oblidago
   else  3  -- Negativo 
   end) 
   
   if (@CUIT2 is null)
   begin
    set @CUIT2  = @CUIT
    set @LISTA2 = @LISTA 
    set @URL2   = @URL 
    set @INSTITUCION2   = @INSTITUCION
    set @CARGO_FUNCION2 = @CARGO_FUNCION  
    set @RELACION2      = @RELACION 
    set @caso2 = @caso 
   end 
   else 
   begin
    if (@caso < @caso2) 
    begin 
     set @CUIT2  = @CUIT
     set @LISTA2 = @LISTA 
     set @URL2   = @URL 
     set @INSTITUCION2   = @INSTITUCION
     set @CARGO_FUNCION2 = @CARGO_FUNCION  
     set @RELACION2      = @RELACION 
     set @caso2 = @caso 
    end 
   end 
  
   FETCH NEXT FROM C_cursor_2 INTO @CUIT,  
          @LISTA, 
          @URL, 
          @INSTITUCION, 
          @CARGO_FUNCION, 
          @RELACION 
  END
  CLOSE C_cursor_2
  DEALLOCATE C_cursor_2

  set @detalle = null 
  set @fidecheck = null 

  if (@caso2 = 3) -- Negativo 
  begin 
   set @detalle = null 
   set @fidecheck = 'N'
  end 
  
  if (@caso2 = 2) -- Es Sujeto Obligado 
  begin 
   if (isnull(@RELACION2,'') != '') 
   begin
    set @detalle = 'Integrante de listas AR: ' 
    if (@CARGO_FUNCION2 is not null) set @detalle = @detalle + @CARGO_FUNCION2
    if (@INSTITUCION2 is not null) set @detalle = @detalle + ' de ' + @INSTITUCION2
    if (@RELACION2   is not null) set @detalle = @detalle + ' - Relacionado: ' + @RELACION2
    set @fidecheck = 'R'
   end
   else 
   begin
    set @detalle = 'Integrante de listas AR: '
    if (@CARGO_FUNCION2 is not null) set @detalle = @detalle + @CARGO_FUNCION2 
    if (@INSTITUCION2 is not null) set @detalle = @detalle + ' de ' + @INSTITUCION2 
    set @fidecheck = 'S'
   end 
  end 

  if (@caso2 = 1) -- Es PEP o RELACIONADO
  begin 
   if (isnull(@RELACION2,'') != '') 
   begin
    set @detalle = 'Integrante de listas AR: ' 
    if (@CARGO_FUNCION2 is not null) set @detalle = @detalle + @CARGO_FUNCION2 
    if (@INSTITUCION2 is not null) set @detalle = @detalle + ' de ' + @INSTITUCION2 
    if (@RELACION2   is not null) set @detalle = @detalle + ' - Relacionado: ' + @RELACION2
    set @fidecheck = 'R'
   end
   else 
   begin
    set @detalle = 'Integrante de listas AR: '
    if (@CARGO_FUNCION2 is not null) set @detalle = @detalle + @CARGO_FUNCION2 
    if (@INSTITUCION2 is not null) set @detalle = @detalle + ' de ' + @INSTITUCION2 
    set @fidecheck = 'E'
   end 
  end 
  set @detalle = (select replace(@detalle,'COMPAAÑIAS','COMPAÑÍAS') )
  set @detalle = (select replace(@detalle,'PúBLICO','PÚBLICO') )
  set @detalle = (select replace(@detalle,'ESTéN','ESTAN') )
  set @detalle = (select replace(@detalle,'ECONóMICAS','ECONÓMICAS') )
  set @detalle = (select replace(@detalle,'ADMINISTRACIóN','ADMINISTRACIÓN') )
  set @detalle = (select replace(@detalle,'JURíDICAS','JURÍDICAS') )
  set @detalle = (select replace(@detalle,'DEPóSITO','DEPÓSITO') )
  set @detalle = (select replace(@detalle,'óMNIBUS','ÓMNIBUS') )
  set @detalle = (select replace(@detalle,'ECONóMICA','ECONÓMICA') ) 
  set @detalle = (select replace(@detalle,'ESTé','EST') )
  set @detalle = (select replace(@detalle,'FíSICAS','FÍSICAS') )
  set @detalle = (select replace(@detalle,'NACIóN','NACIÓN') )
  set @detalle = (select replace(@detalle,'COMPAAÑIA','COMPAÑÍA') )
  set @detalle = (select replace(@detalle,'NIÑEZ','NIÑEZ') )
  set @detalle = (select replace(@detalle,'HíDRICAS','HÍDRICAS') )
  set @detalle = (select replace(@detalle,'AUTOMóVIL','AUTÓMOVIL') )  
  set @detalle = (select replace(@detalle,'CRéDITO','CRÉDITO') ) 
  set @detalle = (select replace(@detalle,'FúTBOL','FÚTBOL'))
  set @detalle = (select replace(@detalle,'DIVISIóN','DIVISIÓN'))
  set @detalle = (select replace(@detalle,'AñO','AÑO'))
  set @detalle = (select replace(@detalle,'PRESENTó','PRESENTÓ'))
  set @detalle = (select replace(@detalle,'AGRíCOLA','AGRÍCOLA'))
  set @detalle = (select replace(@detalle,'Ñ','Ñ'))
  set @detalle_tenia = ltrim(rtrim(@detalle_tenia))
  set @detalle  = ltrim(rtrim(@detalle))

 
  if (@caso2 is not null and (isnull(@fidecheck_tenia,'') != isnull(@fidecheck,'') or isnull(@detalle_tenia,'') != isnull(@detalle,'')))
  begin 
   update LN_demo_fidecheck set fidecheck = @fidecheck, detalle = @detalle where id_fidecheck = @id 
 
   insert into @respuesta values( @id, @tax_id, @fidecheck_tenia, @detalle_tenia, @fidecheck, @detalle, 
   @CUIT2,
   @LISTA2,
   @URL2,
   @INSTITUCION2,
   @CARGO_FUNCION2,
   @RELACION2
   )
  end 
  FETCH NEXT FROM C_cursor INTO @id, @tax_id, @fidecheck_tenia, @detalle_tenia

 END  
 CLOSE C_cursor
 DEALLOCATE C_cursor

 select * from @respuesta
END
GO

Used By

No items found