Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
2| Name | Data Type | Length | Description |
|---|---|---|---|
| @p_cuit | varchar | 20 | |
| @p_userid | int | 4 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- exec [actualizar_datos_con_padron] '20203252553'
CREATE OR ALTER PROCEDURE dbo.actualizar_datos_con_padron_ant
@p_cuit varchar(20),
@p_userid int = 0
AS
BEGIN
SET NOCOUNT ON;
declare @documento varchar(20),
@apellidos varchar(200),
@nombres varchar(200),
@codigo_provincia int,
@direccion varchar(150),
@comuna varchar(10),
@circuito_electoral varchar(10),
@mesa int,
@identificacion varchar(20),
@nombre varchar(200),
@dni varchar(10),
@anio int,
@cant int,
@id_padron int,
@localidad varchar(100),
@provincia varchar(100),
@cp varchar(50),
@respuesta varchar(10) = 'no',
@id_ele int
DECLARE C_padron CURSOR FOR
select id_padron,
nombre_persona,
cuerpo_clave
from padrones
where identificacion = @p_cuit
and habilitado = 1
and tipo_persona = 'F' -- Solo lo hace para personas físicas.
OPEN C_Padron
FETCH NEXT FROM C_Padron INTO @id_padron, @nombre, @dni
WHILE @@fetch_status = 0
BEGIN
--
-- select 'Padrones', @id_padron, @nombre, @dni
--
DECLARE ProdInfo CURSOR FOR
select documento, apellidos, nombres, provincia, ltrim(rtrim(direccion)) direccion, comuna, circuito_electoral, mesa, anio_nacimiento, id_electoral
from padron_electoral
where documento = @dni
and @nombre like '%'+apellidos+'%'
and procesado is null
-- Si procesado = 1 ya paso por acá.
OPEN ProdInfo
FETCH NEXT FROM ProdInfo INTO @documento, @apellidos, @nombres, @codigo_provincia, @direccion, @comuna, @circuito_electoral, @mesa, @anio, @id_ele
WHILE @@fetch_status = 0
BEGIN
--
-- select 'Padron_Electoral', @documento, @apellidos, @nombres, @codigo_provincia, @direccion, @comuna, @circuito_electoral, @mesa, @anio
--
/* En padrones actualizo los campos apellidos, nombres si alguno esta vacio */
if (isnull(@apellidos,'') != '' AND isnull(@nombres,'') != '')
begin
update padrones
set apellidos = @apellidos, nombres = @nombres
where id_padron = @id_padron
and (isnull(apellidos,'') = '' or isnull(nombres,'') = '')
end
/* En la tabla datos_personas, actualizo el año de nacimiento */
if (isnull(@anio,0) > 0)
begin
set @respuesta = 'ok'
if ((select count(*)
from datos_personas
where c01_cuit = @p_cuit) = 0)
begin
insert into datos_personas (c01_cuit, c02_anio_nac, created, created_by)
values (@p_cuit, @anio, getdate(), @p_userid)
end
else
begin
if ((select isnull(c02_anio_nac,'0') from datos_personas where c01_cuit = @p_cuit) != @anio)
begin
update datos_personas
set c02_anio_nac = @anio, modified = getdate()
--, modified_by = @p_userid
where c01_cuit = @p_cuit
end
end
end
/* En domicilios_todos guardo la dirección del padron electoral, si no tengo un registro con esa dirección */
set @provincia = null
set @localidad = null
select @provincia = UPPER(descripcion)
from padron_electoral_provincias
where codigo = @codigo_provincia
select @localidad = UPPER(localidad),
@cp = cp
from padron_electoral_relacion
where padron_electoral_relacion.SECCION =right('000'+@comuna,3)
and CIRCUITO = right('00000'+@circuito_electoral,5)
and @mesa between MESADESDE and MESAHASTA
if (isnull(@direccion,'') != '' and isnull(@provincia, '') != '')
begin
if ((select count(*)
from domicilios_todos
where cuit = @p_cuit
and ltrim(rtrim(domicilio)) = upper(@direccion)
and isnull(prv_nombre,'') != ''
and tipo_domicilio = 'E') = 0)
begin
insert into domicilios_todos (cuit, domicilio, pai_nombre, prv_nombre, loc_nombre, codpos,tipo_domicilio,created,created_by)
values (@p_cuit, UPPER(@direccion), 'ARGENTINA', @provincia, @localidad, @cp,'E', GETDATE(), @p_userid)
end
else
begin
-- para que complete la fecha de created si estaba el mismo domicilio sin created,
-- y lo tome como actualizado
update domicilios_todos
set created = getdate()
where cuit = @p_cuit
and ltrim(rtrim(domicilio)) = upper(@direccion)
and isnull(prv_nombre,'') != ''
and tipo_domicilio = 'E'
and created is null
end
end
update padron_electoral set procesado = 1 where id_electoral = @id_ele
FETCH NEXT FROM ProdInfo INTO @documento, @apellidos, @nombres, @codigo_provincia, @direccion, @comuna, @circuito_electoral, @mesa, @anio, @id_ele
END
CLOSE ProdInfo
DEALLOCATE ProdInfo
FETCH NEXT FROM C_Padron INTO @id_padron, @nombre, @dni
END
CLOSE C_Padron
DEALLOCATE C_Padron
select @respuesta as respuesta -- Si la respuesta es OK, es que encontro año de nacimiento
END
GO
GO
-- exec [actualizar_datos_con_padron] '20203252553'
CREATE OR ALTER PROCEDURE dbo.actualizar_datos_con_padron_ant
@p_cuit varchar(20),
@p_userid int = 0
AS
BEGIN
SET NOCOUNT ON;
declare @documento varchar(20),
@apellidos varchar(200),
@nombres varchar(200),
@codigo_provincia int,
@direccion varchar(150),
@comuna varchar(10),
@circuito_electoral varchar(10),
@mesa int,
@identificacion varchar(20),
@nombre varchar(200),
@dni varchar(10),
@anio int,
@cant int,
@id_padron int,
@localidad varchar(100),
@provincia varchar(100),
@cp varchar(50),
@respuesta varchar(10) = 'no',
@id_ele int
DECLARE C_padron CURSOR FOR
select id_padron,
nombre_persona,
cuerpo_clave
from padrones
where identificacion = @p_cuit
and habilitado = 1
and tipo_persona = 'F' -- Solo lo hace para personas físicas.
OPEN C_Padron
FETCH NEXT FROM C_Padron INTO @id_padron, @nombre, @dni
WHILE @@fetch_status = 0
BEGIN
--
-- select 'Padrones', @id_padron, @nombre, @dni
--
DECLARE ProdInfo CURSOR FOR
select documento, apellidos, nombres, provincia, ltrim(rtrim(direccion)) direccion, comuna, circuito_electoral, mesa, anio_nacimiento, id_electoral
from padron_electoral
where documento = @dni
and @nombre like '%'+apellidos+'%'
and procesado is null
-- Si procesado = 1 ya paso por acá.
OPEN ProdInfo
FETCH NEXT FROM ProdInfo INTO @documento, @apellidos, @nombres, @codigo_provincia, @direccion, @comuna, @circuito_electoral, @mesa, @anio, @id_ele
WHILE @@fetch_status = 0
BEGIN
--
-- select 'Padron_Electoral', @documento, @apellidos, @nombres, @codigo_provincia, @direccion, @comuna, @circuito_electoral, @mesa, @anio
--
/* En padrones actualizo los campos apellidos, nombres si alguno esta vacio */
if (isnull(@apellidos,'') != '' AND isnull(@nombres,'') != '')
begin
update padrones
set apellidos = @apellidos, nombres = @nombres
where id_padron = @id_padron
and (isnull(apellidos,'') = '' or isnull(nombres,'') = '')
end
/* En la tabla datos_personas, actualizo el año de nacimiento */
if (isnull(@anio,0) > 0)
begin
set @respuesta = 'ok'
if ((select count(*)
from datos_personas
where c01_cuit = @p_cuit) = 0)
begin
insert into datos_personas (c01_cuit, c02_anio_nac, created, created_by)
values (@p_cuit, @anio, getdate(), @p_userid)
end
else
begin
if ((select isnull(c02_anio_nac,'0') from datos_personas where c01_cuit = @p_cuit) != @anio)
begin
update datos_personas
set c02_anio_nac = @anio, modified = getdate()
--, modified_by = @p_userid
where c01_cuit = @p_cuit
end
end
end
/* En domicilios_todos guardo la dirección del padron electoral, si no tengo un registro con esa dirección */
set @provincia = null
set @localidad = null
select @provincia = UPPER(descripcion)
from padron_electoral_provincias
where codigo = @codigo_provincia
select @localidad = UPPER(localidad),
@cp = cp
from padron_electoral_relacion
where padron_electoral_relacion.SECCION =right('000'+@comuna,3)
and CIRCUITO = right('00000'+@circuito_electoral,5)
and @mesa between MESADESDE and MESAHASTA
if (isnull(@direccion,'') != '' and isnull(@provincia, '') != '')
begin
if ((select count(*)
from domicilios_todos
where cuit = @p_cuit
and ltrim(rtrim(domicilio)) = upper(@direccion)
and isnull(prv_nombre,'') != ''
and tipo_domicilio = 'E') = 0)
begin
insert into domicilios_todos (cuit, domicilio, pai_nombre, prv_nombre, loc_nombre, codpos,tipo_domicilio,created,created_by)
values (@p_cuit, UPPER(@direccion), 'ARGENTINA', @provincia, @localidad, @cp,'E', GETDATE(), @p_userid)
end
else
begin
-- para que complete la fecha de created si estaba el mismo domicilio sin created,
-- y lo tome como actualizado
update domicilios_todos
set created = getdate()
where cuit = @p_cuit
and ltrim(rtrim(domicilio)) = upper(@direccion)
and isnull(prv_nombre,'') != ''
and tipo_domicilio = 'E'
and created is null
end
end
update padron_electoral set procesado = 1 where id_electoral = @id_ele
FETCH NEXT FROM ProdInfo INTO @documento, @apellidos, @nombres, @codigo_provincia, @direccion, @comuna, @circuito_electoral, @mesa, @anio, @id_ele
END
CLOSE ProdInfo
DEALLOCATE ProdInfo
FETCH NEXT FROM C_Padron INTO @id_padron, @nombre, @dni
END
CLOSE C_Padron
DEALLOCATE C_Padron
select @respuesta as respuesta -- Si la respuesta es OK, es que encontro año de nacimiento
END
GO
Depends On
6Used By
No items found