dbo.actualizar_domicilios

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
CREATE OR ALTER PROCEDURE dbo.actualizar_domicilios  
AS
BEGIN
    SET NOCOUNT ON;
 declare @cuil      varchar(20)
 declare @id        bigint 
 declare @calle     varchar(150)
 declare @altura    varchar(50)
 declare @piso      varchar(50)
 declare @dpto      varchar(50)
 declare @localidad varchar(150)
 declare @provincia varchar(150)
 declare @cp        varchar(50)
 declare @cant      int = 0
 
 DECLARE C_padron CURSOR FOR
   select top 10000 a.cuil, a.calle, a.altura, a.piso, a.dpto, a.LOCALIDAD, a.PROVINCIA, a.cp, a.idreg
  from empleados_Abril_2021 a 
  inner join padrones p on (a.CUIL=p.identificacion and p.habilitado=1 and p.identificador in (select identificador from identificadores where country_code = 'AR'))
  where isnull(proceso_domicilio,0) = 0 and len(a.calle) > 3

 OPEN C_Padron
 FETCH NEXT FROM C_Padron INTO @cuil,  
                               @calle,
          @altura,
          @piso,
          @dpto,
          @localidad,
          @provincia,
          @cp, 
          @id 
 WHILE @@fetch_status = 0
 BEGIN
   set @cant = @cant + 1
 
 declare @domicilio varchar(200) = isnull(@calle,'') + ' ' + isnull(@altura,'') 
           + iif(isnull(@piso,'-') not in('',' ','-','0','00'),' Piso: ' + @piso,'')
           + iif(isnull(@dpto,'-') not in('',' ','-','0','00'), ' Dpto: ' + @dpto,'') 
 set @localidad  = iif (@localidad like 'CIUDAD%BUENOS AIRES' or @localidad like 'CIUDAD AUTONOMA%', 'CIUDAD AUTONOMA DE BUENOS AIRES',@localidad) 
 set @provincia = iif (@provincia like 'CIUDAD%BUENOS AIRES' or @provincia like 'CAP%FEDERAL%' or @provincia like 'CIUDAD AUTONOMA%', 'CIUDAD AUTONOMA DE BUENOS AIRES', @provincia)  
 if (@provincia = 'CIUDAD AUTONOMA DE BUENOS AIRES') set @localidad = null 
 declare @cod_pcia int = null 
 select @cod_pcia = codigo_afip from provincias where country_code = 'AR' and prv_nombre = @provincia
 set @domicilio = REPLACE(@domicilio,'      ',' ') 
 set @domicilio = REPLACE(@domicilio,'     ',' ') 
 set @domicilio = REPLACE(@domicilio,'    ',' ') 
 set @domicilio = REPLACE(@domicilio,'   ',' ')
 set @domicilio = REPLACE(@domicilio,'  ',' ') 
 set @domicilio = rtrim(ltrim(@domicilio))
 if (ltrim(rtrim(@cp))='') set @cp=null
 --select @domicilio, @localidad,@provincia,@cp
 if not exists (select * from domicilios_todos where cuit = @cuil and domicilio = @domicilio and tipo_domicilio = 'D') 
  insert into domicilios_todos (cuit, domicilio, pai_codigo, pai_nombre, prv_codigo, prv_nombre, loc_nombre, codpos, tipo_domicilio, visible,created,calle, altura,piso,depto,nombre_fuente) 
  values (@cuil, @domicilio, '54','ARGENTINA', @cod_pcia, @provincia, @localidad, @cp, 'D', 1, GETDATE(),@calle,@altura,@piso,@dpto,'ANSES')
  
   update empleados_Abril_2021 
      set fecha_proceso_domicilio = getdate(), proceso_domicilio = 1
    where idreg = @id

    --select * from domicilios_todos where cuit = @cuil order by id_domicilio desc
    
    FETCH NEXT FROM C_Padron INTO @cuil,  
                               @calle,
          @altura,
          @piso,
          @dpto,
          @localidad,
          @provincia,
          @cp, 
          @id 
 END
 CLOSE C_Padron
 DEALLOCATE C_Padron
 select @cant as cantidad
END
GO

Used By

No items found