dbo.insertar_domicilio_persona_fisica_afip_copia

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

13
Name Data Type Length Description
@p_cuit varchar 13
@p_codpos varchar 10
@p_domicilio varchar 70
@p_loc_nombre varchar 50
@p_prv_codigo varchar 2
@p_prv_nombre varchar 50
@p_tipo_domicilio varchar 1
@calle varchar 150
@alturacalle varchar 50
@piso varchar 10
@depto varchar 10
@xlong varchar 20
@ylat varchar 20

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO

/*

exec insertar_domicilio_persona_fisica_afip '20177260909','1426','AV OLLEROS 1878 P 6 B','CABA',0,'CABA','O','AV JUAN JOSE OLLEROS','1878','06','B'
exec insertar_domicilio_persona_fisica_afip_copia '20177260909','1426','11 DE SEPT. DE 1 1437 P4','CABA',0,'CABA','O'
exec insertar_domicilio_persona_fisica_afip_copia '20177260909','1426','11 DE SEPT. DE 1 1437 P4','CIUDAD AUTONOMA BUENOS AIRES',0,'CIUDAD AUTONOMA BUENOS AIRES','F','11 DE SEPT. DE 1888','1437','04'

select * from domicilios_todos where cuit='20177260909'

delete domicilios_todos where id_domicilio in (158074196,155791983)

*/


/*
alter table domicilios_todos add geo_long varchar(20) null
alter table domicilios_todos add geo_lat varchar(20) null
*/


CREATE OR ALTER PROCEDURE dbo.insertar_domicilio_persona_fisica_afip_copia

@p_cuit varchar(13),
@p_codpos varchar(10),
@p_domicilio varchar(70),
@p_loc_nombre varchar(50),
@p_prv_codigo varchar(2),
@p_prv_nombre varchar(50),
@p_tipo_domicilio varchar(1),
@calle varchar(150) = null,
@alturacalle varchar(50) = null,
@piso varchar(10) = null,
@depto varchar(10) = null,
@xlong varchar(20) = null,
@ylat varchar(20) = null


AS

BEGIN
    SET NOCOUNT ON;

     /*
      if (@p_cuit='20177260909')
      begin
      delete domicilios_todos where cuit=@p_cuit and tipo_domicilio in ('L','F')
      end
      */




    IF ((select COUNT (*) from domicilios_todos 
            where (cuit = @p_cuit) 
            and   (isnull(codpos,'') = isnull(@p_codpos,''))
            and   (isnull(domicilio,'') = isnull(@p_domicilio,''))
            and   (isnull(loc_nombre,'') = isnull(@p_loc_nombre,''))
            and   (isnull(prv_codigo,'') = isnull(@p_prv_codigo,''))
            and   (isnull(prv_nombre,'') = isnull(@p_prv_nombre,''))
            and   (isnull(tipo_domicilio,'') = isnull(@p_tipo_domicilio,''))
            and   (visible = 1)) = 0)
    BEGIN
        begin try
            
            IF ((@p_tipo_domicilio = 'D')
                and ((select COUNT (*) from domicilios_todos 
                    where (cuit = @p_cuit) 
                    and (tipo_domicilio = 'D')
                    and (visible = 1)) > 0))
            BEGIN
                SET @p_tipo_domicilio = 'O'
            END
   

            IF (@p_tipo_domicilio != 'O') -- Cambiar tipos repetidos
            BEGIN
                UPDATE domicilios_todos
                SET  
                    tipo_domicilio = 'O',
                    modified = GETDATE(),calle = @calle,
       altura=@alturacalle,
       piso=@piso,
       depto=@depto,
       geo_long=@xlong,
       geo_lat=@ylat  
                WHERE (cuit = @p_cuit) AND (tipo_domicilio = @p_tipo_domicilio) and (visible = 1)
            END

            IF ((@p_tipo_domicilio != 'O') 
                OR ((@p_tipo_domicilio = 'O') and ((select COUNT (*) from domicilios_todos 
                        where (cuit = @p_cuit) 
                            and   (isnull(codpos,'') = isnull(@p_codpos,''))
                            and   (isnull(domicilio,'') = isnull(@p_domicilio,''))
                            and   (isnull(loc_nombre,'') = isnull(@p_loc_nombre,''))
                            and   (isnull(prv_codigo,'') = isnull(@p_prv_codigo,''))
                            and   (isnull(prv_nombre,'') = isnull(@p_prv_nombre,''))
                            and   (tipo_domicilio = 'O')
                            and   (visible = 1)) = 0)))
     BEGIN
      INSERT INTO domicilios_todos 
       (codpos, cuit, domicilio, loc_nombre, 
       prv_codigo, prv_nombre, 
       pai_codigo, pai_nombre, 
       tipo_domicilio, created, visible,nombre_fuente,
       calle,altura,piso,depto,geo_long,geo_lat)
      VALUES
       (@p_codpos, @p_cuit, @p_domicilio, @p_loc_nombre, 
        @p_prv_codigo, @p_prv_nombre, 
       '54','ARGENTINA',
        @p_tipo_domicilio, GETDATE(), 1,'AFIP',
        @calle,@alturacalle,@piso,@depto,
        @xlong,@ylat)
     END
     select 'ok' as ok -- Para verificar que se pudo ejecutar el insert
   IF ((@p_tipo_domicilio != 'O') 
                OR ((@p_tipo_domicilio = 'O') and ((select COUNT (*) from domicilios_todos 
                        where (cuit = @p_cuit) 
                            and   (isnull(codpos,'') = isnull(@p_codpos,''))
                            and   (isnull(domicilio,'') = isnull(@p_domicilio,''))
                            and   (isnull(loc_nombre,'') = isnull(@p_loc_nombre,''))
                            and   (isnull(prv_codigo,'') = isnull(@p_prv_codigo,''))
                            and   (isnull(prv_nombre,'') = isnull(@p_prv_nombre,''))
                            and   (tipo_domicilio = 'O')
                            and   (visible = 1)) > 0)))
     BEGIN
             update domicilios_todos 
                set nombre_fuente = 'AFIP', modified = getdate(),calle = @calle,
       altura=@alturacalle,
       piso=@piso,
       depto=@depto,
       geo_long=@xlong,
       geo_lat=@ylat  
                            where (cuit = @p_cuit) 
                            and   (isnull(codpos,'') = isnull(@p_codpos,''))
                            and   (isnull(domicilio,'') = isnull(@p_domicilio,''))
                            and   (isnull(loc_nombre,'') = isnull(@p_loc_nombre,''))
                            and   (isnull(prv_codigo,'') = isnull(@p_prv_codigo,''))
                            and   (isnull(prv_nombre,'') = isnull(@p_prv_nombre,''))
                            and   (isnull(tipo_domicilio,'') = isnull(@p_tipo_domicilio,''))
                            and   (visible = 1) 
                            AND nombre_fuente != 'AFIP'
     END
            
   
        end try
        begin catch
            select ERROR_MESSAGE() as error 
        end catch
    END
    else 
    BEGIN
        update domicilios_todos 
            set nombre_fuente = 'AFIP', modified = getdate(),calle = @calle,
       altura=@alturacalle,
       piso=@piso,
       depto=@depto,
       geo_long=@xlong,
       geo_lat=@ylat  
                            where (cuit = @p_cuit) 
                            and   (isnull(codpos,'') = isnull(@p_codpos,''))
                            and   (isnull(domicilio,'') = isnull(@p_domicilio,''))
                            and   (isnull(loc_nombre,'') = isnull(@p_loc_nombre,''))
                            and   (isnull(prv_codigo,'') = isnull(@p_prv_codigo,''))
                            and   (isnull(prv_nombre,'') = isnull(@p_prv_nombre,''))
                            and   (isnull(tipo_domicilio,'') = isnull(@p_tipo_domicilio,''))
                            and   (visible = 1) 
                            AND nombre_fuente != 'AFIP'

       select 'ok' as ok -- Para verificar que se pudo ejecutar el insert
    END 
END 

GO

Depends On

1

Used By

No items found