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
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
1Used By
No items found