dbo.backend_asigna_cuit_edictos_homonimos

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

Used By

No items found