dbo.renaper_lista_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
@fecha date 3
@accion varchar 100
@id_renaper int 4

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*

update renaper_cuits set renaper_cuits.apellido = padrones.apellidos, renaper_cuits.nombres = padrones.nombres
from renaper_cuits 
inner join padrones on (padrones.identificacion = cuit and habilitado= 1)
where fecha = '2021-11-26' 
and procesado = 1 and apellido is null 

update renaper_cuits set renaper_cuits.apellido = padrones.nombre_persona 
from renaper_cuits 
inner join padrones on (padrones.identificacion = cuit and habilitado= 1)
where fecha = '2021-11-26' 
and procesado = 1 and apellido is null 


update renaper_cuits set renaper_cuits.fecha_nacimiento = c02_fecha_nac 
from renaper_cuits 
inner join datos_personas on (datos_personas.c01_cuit = cuit and visible = 1)
where fecha = '2021-11-26' 
and procesado = 1 and renaper_cuits.fecha_nacimiento is null 

update renaper_cuits set renaper_cuits.fecha_defuncion = datos_personas.fecha_defuncion 
from renaper_cuits 
inner join datos_personas on (datos_personas.c01_cuit = cuit and visible = 1)
where fecha = '2021-11-26' 
and procesado = 1 and renaper_cuits.fecha_defuncion is null 

update renaper_cuits set renaper_cuits.nacionalidad = 'ARGENTINA'
where fecha = '2021-11-26' 
and procesado = 1 and renaper_cuits.nacionalidad is null and dni < '15000000'

update renaper_cuits set renaper_cuits.nacionalidad = 'ARGENTINA'
where fecha = '2021-11-26' 
and procesado = 1 and renaper_cuits.nacionalidad is null and dni > '15000000' and dni < '60000000'

select * from renaper_cuits where fecha = '2021-11-26'

exec renaper_lista_cuit '2021-11-26', 'LISTA'
exec renaper_lista_cuit '2021-11-24', 'UPDATE', 10
*/

CREATE OR ALTER PROCEDURE dbo.renaper_lista_cuit
 @fecha date, 
 @accion varchar(100), 
 @id_renaper int = null 
AS
BEGIN

declare @id int, @cuit varchar(20), @dni varchar(10), @sexo char(1) 
declare @cuitp varchar(20), @dnip varchar(10), @sexop char(1) 

if (@accion = 'LISTA') 
begin 
 DECLARE C_cur CURSOR FOR
  select id, 
         cuit, 
      sexo,
      dni 
     from renaper_cuits where isnull(procesado,0) = 0 and fecha = @fecha order by cuit desc

 OPEN C_cur
 FETCH NEXT FROM C_cur INTO @id, @cuit, @sexo, @dni
 WHILE @@fetch_status = 0
 BEGIN

  if (isnull(@cuit,'') = '' or isnull(@dni,'') = '' or isnull(@sexo,'') = '')
  begin
 
   if (isnull(@cuit,'') != '')
   begin
    select @cuitp = identificacion, @dnip = RIGHT('00000000'+cuerpo_clave,8), @sexop = sexo from padrones where identificacion = @cuit and habilitado = 1 
   end 

   if (isnull(@dni,'') != '')
   begin
    select @cuitp = identificacion, @dnip = RIGHT('00000000'+cuerpo_clave,8), @sexop = sexo
      from padrones 
     where (cuerpo_clave = @dni or cuerpo_clave = RIGHT('00000000'+@dni,8))
     and identificador in (select identificador from identificadores where country_code = 'AR') 
     and habilitado = 1
   end 
  
   if (isnull(@dnip,'') != '')  
    update renaper_cuits set dni = @dnip where id = @id 

   if (isnull(@cuitp,'') != '')  
    update renaper_cuits set cuit = @cuitp where id = @id 

   if (isnull(@sexo,'') = '') 
   begin 
    if (@sexop = 'F' or @sexop = 'M') 
    begin
     update renaper_cuits set sexo = @sexop where id = @id 
    end
    else 
    begin 
     if (@cuitp like '27%')  update renaper_cuits set sexo = 'F' where id = @id
     if (@cuitp like '20%')  update renaper_cuits set sexo = 'M' where id = @id 
    end  
   end 
  end 

  FETCH NEXT FROM C_cur INTO @id, @cuit, @sexo, @dni
 END  
 CLOSE C_cur
 DEALLOCATE C_cur 

 select id, cuit, sexo, dni 
   from renaper_cuits where isnull(procesado,0) = 0 and fecha = @fecha order by cuit desc

end 

if (@accion = 'UPDATE') 
begin 

 declare @apellido varchar(200)         = null, 
   @nombres varchar(200)          = null, 
   @fecha_nacimiento date         = null,
   @fechaNacimiento varchar(200)  = null, 
   @fecha_defuncion date          = null,
   @fechaf varchar(200)     = null,
   @nacionalidad varchar(100)     = null, 
   @lugar_nacimiento varchar(100) = null

 select top 1 @apellido = apellido,
     @nombres = nombres, 
     @fechaNacimiento = fechaNacimiento,
     @fechaf = fechaf,
     @nacionalidad = nacionalidad, 
     @lugar_nacimiento = lugar_nacimiento
  from renaper_info 
    where renaper_info.cuil = (select renaper_cuits.cuit from renaper_cuits where id = @id_renaper) 
       order by created desc
    
  if (isnull(@fechaNacimiento,'') != '' and @fechaNacimiento not like '%-%') 
  set @fecha_nacimiento = convert (date, SUBSTRING(@fechaNacimiento,7,4) + '-' + SUBSTRING(@fechaNacimiento,4,2) + '-' + SUBSTRING(@fechaNacimiento,1,2))
  if (isnull(@fechaf,'') != '' and @fecha_defuncion not like '%-%') 
  set @fecha_defuncion = convert (date, SUBSTRING(@fechaf,7,4) + '-' + SUBSTRING(@fechaf,4,2) + '-' + SUBSTRING(@fechaf,1,2))

 update renaper_cuits 
    set  renaper_cuits.apellido = @apellido,
   renaper_cuits.nombres = @nombres, 
   renaper_cuits.fecha_nacimiento = @fecha_nacimiento, 
   renaper_cuits.fecha_defuncion = @fecha_defuncion, 
   renaper_cuits.nacionalidad = @nacionalidad, 
   renaper_cuits.lugar_nacimiento = @lugar_nacimiento, 
   procesado = 1 
   where renaper_cuits.id =  @id_renaper
end 

END

select * from renaper_cuits where id = 3290

GO

Used By

No items found