Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
7| Name | Data Type | Length | Description |
|---|---|---|---|
| @numero | varchar | 50 | |
| @nombre_persona | varchar | 200 | |
| @p_identificador | varchar | 10 | |
| @p_tipo_persona | varchar | 1 | |
| @p_apellidos | varchar | 100 | |
| @p_nombres | varchar | 100 | |
| @p_sexo | varchar | 1 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
/*
select * from padrones where identificacion = '27173556654'
exec [Alta_Padron_Automatico2] '27173556654','','CUIL','F','','','F'
select * from padrones where identificacion = '27173556654'
update padrones set tipo_persona = null, habilitado = 0 where identificacion = '34561283925'
*/
/*exec [Alta_Padron_Automatico] '20960912897','SOSA CISNEROS YERSON ALEJANDRO','CUIL','F','','','M'*/
--
--select replace(nombre_persona,'''',' ') from padrones where identificacion = '20124072191'
CREATE OR ALTER PROCEDURE dbo.Alta_Padron_Automatico_prueba
-- Add the parameters for the stored procedure here
@numero varchar(50),
@nombre_persona varchar(200),
@p_identificador varchar(10),
@p_tipo_persona varchar(1),
@p_apellidos varchar(100) = null,
@p_nombres varchar(100) = null,
@p_sexo varchar(1) = null
AS
BEGIN
SET NOCOUNT ON;
set @nombre_persona = REPLACE(@nombre_persona, '''',' ')
set @p_nombres = REPLACE(@p_nombres, '''',' ')
/*set @p_apellidos = REPLACE(@nombre_persona, '''',' ')*/
DECLARE @identificador varchar(10) = null
/* 29/06/2021: Si lo que viene como identificador no existe en la tabla identificadores, le pone de prepo 'CUIT'*/
if (select count(*) from identificadores where identificador = isnull(@p_identificador,'') and country_code = 'AR') = 0
set @p_identificador = 'CUIT'
/* */
if (isnull(@p_identificador,'') != '') set @identificador = @p_identificador
DECLARE @tipo_persona varchar(1) = null
if (isnull(@p_tipo_persona,'') != '') set @tipo_persona = @p_tipo_persona
DECLARE @sexo varchar(1) = null
if (isnull(@p_sexo,'')!= '') set @sexo = @p_sexo
DECLARE @apellidos varchar(100) = null
if (isnull(@p_apellidos,'')!= '') set @apellidos = @p_apellidos
DECLARE @nombres varchar(100) = null
if (isnull(@p_nombres,'')!= '') set @nombres = @p_nombres
DECLARE @habilitado bit=1
DECLARE @pre_clave varchar(4) = NULL
DECLARE @cuerpo_clave varchar(40) = NULL
DECLARE @suf_clave varchar(4) = NULL
DECLARE @idPadron INT = 0
DECLARE @idPadron1 INT = 0
DECLARE @idPadron0 INT = 0
set @nombre_persona = ltrim(rtrim(@nombre_persona))
if (isnull(@nombre_persona,'') !='')
begin
SET @pre_clave = SUBSTRING(@numero,1,2)
SET @cuerpo_clave = SUBSTRING(@numero,3,8)
SET @suf_clave = SUBSTRING(@numero,11,1)
--select @idPadron = id_padron from padrones where /* habilitado = 1 and*/ identificacion = @numero
select @idpadron1 = (select top 1 id_padron
from padrones
inner join identificadores on identificadores.identificador = padrones.identificador
where identificacion = @numero and habilitado = 1 and country_code in ('AR')
order by id_padron)
select @idpadron0 = (select top 1 id_padron
from padrones
where identificacion = @numero
and habilitado = 0
order by id_padron)
-- No hay registros ni Habilitado = 1, ni habilitado = 0
IF(isnull(@idPadron1,0) = 0 and isnull(@idPadron0,0) = 0)
BEGIN
INSERT INTO padrones
(identificador, numero, nombre_persona, tipo_persona,/* sexo,*/ pre_clave, cuerpo_clave,
suf_clave, habilitado, identificacion, afip_activo, iscreated,apellidos, nombres)
VALUES
(@identificador, @numero, @nombre_persona, @tipo_persona,/* @sexo,*/ @pre_clave, @cuerpo_clave,
@suf_clave, @habilitado, @numero, 1, GETDATE(),@p_apellidos, @p_nombres);
SELECT @idPadron = @@IDENTITY
END
-- Hay un registro Habilitado = 1
IF(isnull(@idPadron1,0) != 0)
BEGIN
update padrones
set identificador = @identificador,
numero = @numero,
nombre_persona = @nombre_persona,
tipo_persona = @tipo_persona,
-- sexo = @sexo,
pre_clave = @pre_clave,
cuerpo_clave = @cuerpo_clave,
suf_clave = @suf_clave,
habilitado = @habilitado,
identificacion = @numero,
afip_activo = 1,
apellidos = @apellidos,
nombres = @nombres,
ismodified = getdate()
where id_padron = @idpadron1
SET @idpadron = @idpadron1
END
-- Hay un registro Habilitado = 0, no ha ninguno habilitado = 1
IF(isnull(@idPadron1,0) = 0 and isnull(@idPadron0,0) != 0)
BEGIN
update padrones
set identificador = @identificador,
numero = @numero,
nombre_persona = @nombre_persona,
tipo_persona = @tipo_persona,
--sexo = @sexo,
pre_clave = @pre_clave,
cuerpo_clave = @cuerpo_clave,
suf_clave = @suf_clave,
habilitado = @habilitado,
identificacion = @numero,
afip_activo = 1,
apellidos = @apellidos,
nombres = @nombres,
ismodified = getdate()
where id_padron = @idpadron0
SET @idpadron = @idpadron0
END
end
SELECT @idPadron AS idPadron
END
GO
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
/*
select * from padrones where identificacion = '27173556654'
exec [Alta_Padron_Automatico2] '27173556654','','CUIL','F','','','F'
select * from padrones where identificacion = '27173556654'
update padrones set tipo_persona = null, habilitado = 0 where identificacion = '34561283925'
*/
/*exec [Alta_Padron_Automatico] '20960912897','SOSA CISNEROS YERSON ALEJANDRO','CUIL','F','','','M'*/
--
--select replace(nombre_persona,'''',' ') from padrones where identificacion = '20124072191'
CREATE OR ALTER PROCEDURE dbo.Alta_Padron_Automatico_prueba
-- Add the parameters for the stored procedure here
@numero varchar(50),
@nombre_persona varchar(200),
@p_identificador varchar(10),
@p_tipo_persona varchar(1),
@p_apellidos varchar(100) = null,
@p_nombres varchar(100) = null,
@p_sexo varchar(1) = null
AS
BEGIN
SET NOCOUNT ON;
set @nombre_persona = REPLACE(@nombre_persona, '''',' ')
set @p_nombres = REPLACE(@p_nombres, '''',' ')
/*set @p_apellidos = REPLACE(@nombre_persona, '''',' ')*/
DECLARE @identificador varchar(10) = null
/* 29/06/2021: Si lo que viene como identificador no existe en la tabla identificadores, le pone de prepo 'CUIT'*/
if (select count(*) from identificadores where identificador = isnull(@p_identificador,'') and country_code = 'AR') = 0
set @p_identificador = 'CUIT'
/* */
if (isnull(@p_identificador,'') != '') set @identificador = @p_identificador
DECLARE @tipo_persona varchar(1) = null
if (isnull(@p_tipo_persona,'') != '') set @tipo_persona = @p_tipo_persona
DECLARE @sexo varchar(1) = null
if (isnull(@p_sexo,'')!= '') set @sexo = @p_sexo
DECLARE @apellidos varchar(100) = null
if (isnull(@p_apellidos,'')!= '') set @apellidos = @p_apellidos
DECLARE @nombres varchar(100) = null
if (isnull(@p_nombres,'')!= '') set @nombres = @p_nombres
DECLARE @habilitado bit=1
DECLARE @pre_clave varchar(4) = NULL
DECLARE @cuerpo_clave varchar(40) = NULL
DECLARE @suf_clave varchar(4) = NULL
DECLARE @idPadron INT = 0
DECLARE @idPadron1 INT = 0
DECLARE @idPadron0 INT = 0
set @nombre_persona = ltrim(rtrim(@nombre_persona))
if (isnull(@nombre_persona,'') !='')
begin
SET @pre_clave = SUBSTRING(@numero,1,2)
SET @cuerpo_clave = SUBSTRING(@numero,3,8)
SET @suf_clave = SUBSTRING(@numero,11,1)
--select @idPadron = id_padron from padrones where /* habilitado = 1 and*/ identificacion = @numero
select @idpadron1 = (select top 1 id_padron
from padrones
inner join identificadores on identificadores.identificador = padrones.identificador
where identificacion = @numero and habilitado = 1 and country_code in ('AR')
order by id_padron)
select @idpadron0 = (select top 1 id_padron
from padrones
where identificacion = @numero
and habilitado = 0
order by id_padron)
-- No hay registros ni Habilitado = 1, ni habilitado = 0
IF(isnull(@idPadron1,0) = 0 and isnull(@idPadron0,0) = 0)
BEGIN
INSERT INTO padrones
(identificador, numero, nombre_persona, tipo_persona,/* sexo,*/ pre_clave, cuerpo_clave,
suf_clave, habilitado, identificacion, afip_activo, iscreated,apellidos, nombres)
VALUES
(@identificador, @numero, @nombre_persona, @tipo_persona,/* @sexo,*/ @pre_clave, @cuerpo_clave,
@suf_clave, @habilitado, @numero, 1, GETDATE(),@p_apellidos, @p_nombres);
SELECT @idPadron = @@IDENTITY
END
-- Hay un registro Habilitado = 1
IF(isnull(@idPadron1,0) != 0)
BEGIN
update padrones
set identificador = @identificador,
numero = @numero,
nombre_persona = @nombre_persona,
tipo_persona = @tipo_persona,
-- sexo = @sexo,
pre_clave = @pre_clave,
cuerpo_clave = @cuerpo_clave,
suf_clave = @suf_clave,
habilitado = @habilitado,
identificacion = @numero,
afip_activo = 1,
apellidos = @apellidos,
nombres = @nombres,
ismodified = getdate()
where id_padron = @idpadron1
SET @idpadron = @idpadron1
END
-- Hay un registro Habilitado = 0, no ha ninguno habilitado = 1
IF(isnull(@idPadron1,0) = 0 and isnull(@idPadron0,0) != 0)
BEGIN
update padrones
set identificador = @identificador,
numero = @numero,
nombre_persona = @nombre_persona,
tipo_persona = @tipo_persona,
--sexo = @sexo,
pre_clave = @pre_clave,
cuerpo_clave = @cuerpo_clave,
suf_clave = @suf_clave,
habilitado = @habilitado,
identificacion = @numero,
afip_activo = 1,
apellidos = @apellidos,
nombres = @nombres,
ismodified = getdate()
where id_padron = @idpadron0
SET @idpadron = @idpadron0
END
end
SELECT @idPadron AS idPadron
END
GO
Depends On
2Used By
No items found