Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
5| Name | Data Type | Length | Description |
|---|---|---|---|
| @accion | varchar | 30 | |
| @p_cuit | varchar | 20 | |
| @p_lista_id | varchar | -1 | |
| @p_tabla | varchar | 30 | |
| @p_quien | varchar | 30 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*
exec [backend_asigna_cuit_edictos_homonimos] 'asignar','30657863056','3457980,3457981,3457982'
select * from sociedades_constituciones where razon_social = 'TRANSPORTADORA DE GAS DEL NORTE S.A.' and fecha_publicacion = '2018-05-02'
*/
create OR ALTER PROCEDURE dbo.backend_asigna_cuit_edictos_homonimos
@accion varchar(30) = null,
@p_cuit varchar(20) = null,
@p_lista_id varchar(max) = null,
@p_tabla varchar(30) = null,
@p_quien varchar(30) = null
AS
BEGIN
SET NOCOUNT ON;
if (@p_lista_id is not null) begin
if (@accion = 'desasignar')
begin
set @p_cuit = null --> actualiza el cuit, poniendole null
end
if ((@accion = 'asignar' and @p_cuit is not null) or (@accion = 'desasignar'))
begin
if (isnull(@p_tabla,'sociedades_constituciones') = 'sociedades_constituciones')
begin
if (isnull(@p_quien,'sociedad') = 'sociedad')
begin
------------------------------------------
-- 15/01/2023: si hay otro registro con misma fecha,
-- misma razon social y el mismo principio en contenido archivo
-- tambien lo asigna o desasigna
------------------------------------------
declare @id_fide bigint,
@razon_social varchar(max),
@documento_soc varchar(100),
@fecha_publicacion date,
@texto varchar(100)
declare @otros table (id bigint)
DECLARE C_buscar CURSOR FOR
select id_fide, documento_soc, razon_social, fecha_publicacion,
convert(varchar(100),dbo.fn_StripCharacters(upper(convert(varchar(200),contenido_archivo)), '^A-Z0-9/')) as texto
from sociedades_constituciones
inner join dbo.DelimitedSplit8K(@p_lista_id, ',') ids on sociedades_constituciones.id_fide = CONVERT(INT, ids.Item)
OPEN C_buscar
FETCH NEXT FROM C_buscar INTO @id_fide, @documento_soc, @razon_social, @fecha_publicacion, @texto
WHILE @@fetch_status = 0
BEGIN
insert into @otros
select id_fide
from sociedades_constituciones
where razon_social = @razon_social
and fecha_publicacion = @fecha_publicacion
and isnull(documento_soc,'') = isnull(@documento_soc,'')
and id_fide not in (select CONVERT(INT, Item) from dbo.DelimitedSplit8K(@p_lista_id, ','))
and convert(varchar(100),dbo.fn_StripCharacters(upper(convert(varchar(200),contenido_archivo)), '^A-Z0-9/')) = @texto
FETCH NEXT FROM C_buscar INTO @id_fide, @documento_soc, @razon_social, @fecha_publicacion, @texto
END
CLOSE C_buscar
DEALLOCATE C_buscar
/*
select * from sociedades_constituciones
where id_fide in (select id from @otros)
*/
update sociedades_constituciones set documento_soc = @p_cuit, modified = getdate()
where id_fide in (select id from @otros)
------------------------------------------
-- Fin agregado 15/01/2023
------------------------------------------
/*
select * from sociedades_constituciones
inner join dbo.DelimitedSplit8K(@p_lista_id, ',') ids on sociedades_constituciones.id_fide = CONVERT(INT, ids.Item)
*/
update sociedades_constituciones set documento_soc = @p_cuit, modified = getdate()
from sociedades_constituciones
inner join dbo.DelimitedSplit8K(@p_lista_id, ',') ids on sociedades_constituciones.id_fide = CONVERT(INT, ids.Item)
end
if (@p_quien = 'integrante')
begin
update sociedades_constituciones set cuit_int = @p_cuit, cuit_integrante = @p_cuit
from sociedades_constituciones inner join dbo.DelimitedSplit8K(@p_lista_id, ',') ids
on sociedades_constituciones.id_fide = CONVERT(INT, ids.Item)
end
end
if (@p_tabla = 'edictos')
begin
if (isnull(@p_quien,'sociedad') = 'sociedad')
begin
update edictos set cuit_sociedad = @p_cuit
from edictos inner join dbo.DelimitedSplit8K(@p_lista_id, ',') ids
on edictos.id_edicto = CONVERT(INT, ids.Item)
end
if (@p_quien = 'integrante')
begin
update edictos set cuit_integrante = @p_cuit
from edictos inner join dbo.DelimitedSplit8K(@p_lista_id, ',') ids
on edictos.id_edicto = CONVERT(INT, ids.Item)
end
end
end
end
END
/*
select cuit_int, cuit_integrante, * from sociedades_constituciones where id_fide = 3716616
update sociedades_constituciones set cuit_int = cuit_integrante where id_fide = 3716616
*/
GO
GO
/*
exec [backend_asigna_cuit_edictos_homonimos] 'asignar','30657863056','3457980,3457981,3457982'
select * from sociedades_constituciones where razon_social = 'TRANSPORTADORA DE GAS DEL NORTE S.A.' and fecha_publicacion = '2018-05-02'
*/
create OR ALTER PROCEDURE dbo.backend_asigna_cuit_edictos_homonimos
@accion varchar(30) = null,
@p_cuit varchar(20) = null,
@p_lista_id varchar(max) = null,
@p_tabla varchar(30) = null,
@p_quien varchar(30) = null
AS
BEGIN
SET NOCOUNT ON;
if (@p_lista_id is not null) begin
if (@accion = 'desasignar')
begin
set @p_cuit = null --> actualiza el cuit, poniendole null
end
if ((@accion = 'asignar' and @p_cuit is not null) or (@accion = 'desasignar'))
begin
if (isnull(@p_tabla,'sociedades_constituciones') = 'sociedades_constituciones')
begin
if (isnull(@p_quien,'sociedad') = 'sociedad')
begin
------------------------------------------
-- 15/01/2023: si hay otro registro con misma fecha,
-- misma razon social y el mismo principio en contenido archivo
-- tambien lo asigna o desasigna
------------------------------------------
declare @id_fide bigint,
@razon_social varchar(max),
@documento_soc varchar(100),
@fecha_publicacion date,
@texto varchar(100)
declare @otros table (id bigint)
DECLARE C_buscar CURSOR FOR
select id_fide, documento_soc, razon_social, fecha_publicacion,
convert(varchar(100),dbo.fn_StripCharacters(upper(convert(varchar(200),contenido_archivo)), '^A-Z0-9/')) as texto
from sociedades_constituciones
inner join dbo.DelimitedSplit8K(@p_lista_id, ',') ids on sociedades_constituciones.id_fide = CONVERT(INT, ids.Item)
OPEN C_buscar
FETCH NEXT FROM C_buscar INTO @id_fide, @documento_soc, @razon_social, @fecha_publicacion, @texto
WHILE @@fetch_status = 0
BEGIN
insert into @otros
select id_fide
from sociedades_constituciones
where razon_social = @razon_social
and fecha_publicacion = @fecha_publicacion
and isnull(documento_soc,'') = isnull(@documento_soc,'')
and id_fide not in (select CONVERT(INT, Item) from dbo.DelimitedSplit8K(@p_lista_id, ','))
and convert(varchar(100),dbo.fn_StripCharacters(upper(convert(varchar(200),contenido_archivo)), '^A-Z0-9/')) = @texto
FETCH NEXT FROM C_buscar INTO @id_fide, @documento_soc, @razon_social, @fecha_publicacion, @texto
END
CLOSE C_buscar
DEALLOCATE C_buscar
/*
select * from sociedades_constituciones
where id_fide in (select id from @otros)
*/
update sociedades_constituciones set documento_soc = @p_cuit, modified = getdate()
where id_fide in (select id from @otros)
------------------------------------------
-- Fin agregado 15/01/2023
------------------------------------------
/*
select * from sociedades_constituciones
inner join dbo.DelimitedSplit8K(@p_lista_id, ',') ids on sociedades_constituciones.id_fide = CONVERT(INT, ids.Item)
*/
update sociedades_constituciones set documento_soc = @p_cuit, modified = getdate()
from sociedades_constituciones
inner join dbo.DelimitedSplit8K(@p_lista_id, ',') ids on sociedades_constituciones.id_fide = CONVERT(INT, ids.Item)
end
if (@p_quien = 'integrante')
begin
update sociedades_constituciones set cuit_int = @p_cuit, cuit_integrante = @p_cuit
from sociedades_constituciones inner join dbo.DelimitedSplit8K(@p_lista_id, ',') ids
on sociedades_constituciones.id_fide = CONVERT(INT, ids.Item)
end
end
if (@p_tabla = 'edictos')
begin
if (isnull(@p_quien,'sociedad') = 'sociedad')
begin
update edictos set cuit_sociedad = @p_cuit
from edictos inner join dbo.DelimitedSplit8K(@p_lista_id, ',') ids
on edictos.id_edicto = CONVERT(INT, ids.Item)
end
if (@p_quien = 'integrante')
begin
update edictos set cuit_integrante = @p_cuit
from edictos inner join dbo.DelimitedSplit8K(@p_lista_id, ',') ids
on edictos.id_edicto = CONVERT(INT, ids.Item)
end
end
end
end
END
/*
select cuit_int, cuit_integrante, * from sociedades_constituciones where id_fide = 3716616
update sociedades_constituciones set cuit_int = cuit_integrante where id_fide = 3716616
*/
GO
Used By
No items found