dbo.obtener_edictos_con_integrante_mencionado

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

3
Name Data Type Length Description
@p_cuit_empresa varchar 20
@p_cuit_persona varchar 20
@p_apellido varchar 250

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*
exec obtener_edictos_con_integrante_mencionado '30710593597', '20177260909', '"BURGOL"'
exec obtener_edictos_con_integrante_mencionado '30641368977', '20177260909', '"BURGOL" or "ALEJANDRO"'
exec obtener_edictos_con_integrante_mencionado '33686214899', '20177260909', '"BURGOL" '

exec obtener_edictos_con_integrante_mencionado '30717991725',NULL,'"MARTINEZ" OR "GARAT" OR NEAR((MARTINEZ,GARAT),0,true) OR NEAR((GARAT,MARTINEZ),0,true)'

*/



CREATE OR ALTER PROCEDURE dbo.obtener_edictos_con_integrante_mencionado
@p_cuit_empresa varchar(20), 
@p_cuit_persona varchar(20), 
@p_apellido varchar(250) 
AS


BEGIN
 SET NOCOUNT ON;
 
 declare @cant int = 0; 
 declare @respuesta table (nro int, provincia_boletin varchar(50), fechab varchar(10), fecha_boletin date, texto varchar(max), razon_social  varchar(500), cuit_soc varchar(20)) 
 
 
 -- Los que tienen cuit de integrante
 insert into @respuesta 
  select distinct ((ROW_NUMBER() OVER (ORDER BY fecha_publicacion desc))) AS ROWID,
        --prv_nombre as provincia_boletin,
        provincia_boletin = IIF(provincias.prv_nombre is null, iif(sociedades_constituciones.provincia_sociedad is null,sociedades_constituciones.fuente,sociedades_constituciones.provincia_sociedad), provincias.prv_nombre),    
        convert(varchar(11),fecha_publicacion,103) as fechab,fecha_publicacion, cast(contenido_archivo as varchar(max)) AS texto,
     razon_social, documento_soc 
   from sociedades_constituciones
  left join provincias on provincias.prv_codigo = provincia_boletin and pai_codigo_ifx = 54
 where (documento_soc = @p_cuit_empresa) and (cuit_int = @p_cuit_persona or cuit_integrante = @p_cuit_persona)
 and convert(varchar(max),sociedades_constituciones.contenido_archivo) != ''
 and sociedades_constituciones.visible = 1
 order by fecha_publicacion desc


 -- los que no tienen cuit de integrante
 set @cant = (select COUNT(*) from @respuesta) 

 insert into @respuesta 
 select distinct (@cant + (ROW_NUMBER() OVER (ORDER BY fecha_publicacion desc))) AS ROWID,
        --prv_nombre as provincia_boletin,
        provincia_boletin = IIF(provincias.prv_nombre is null, iif(sociedades_constituciones.provincia_sociedad is null,sociedades_constituciones.fuente,sociedades_constituciones.provincia_sociedad), provincias.prv_nombre),    
        convert(varchar(11),fecha_publicacion,103) as fechab,fecha_publicacion, cast(contenido_archivo as varchar(max)) AS texto,
     razon_social, documento_soc 
   from sociedades_constituciones
  left join provincias on provincias.prv_codigo = provincia_boletin and pai_codigo_ifx = 54
 where (documento_soc = @p_cuit_empresa /*and cuit_int is null and cuit_integrante is null*/)
 and convert(varchar(max),sociedades_constituciones.contenido_archivo) != ''
 and (contains(contenido_archivo,@p_apellido))
 and sociedades_constituciones.visible = 1
 order by fecha_publicacion desc

 -- 12/12/2023:  Se cambia que solo se muestre un registro por fecha de boletin y principio del texto igual,
 --              (porque seguramente son duplicados)

 update @respuesta 
 set texto = ltrim(rtrim(texto))

 select  provincia_boletin, fechab, fecha_boletin, texto, razon_social, cuit_soc 
 from @respuesta a 
 where not exists (select * from @respuesta b where b.fecha_boletin = a.fecha_boletin 
       and convert(varchar(100),dbo.fn_StripCharacters(upper(convert(varchar(200),b.texto)), '^A-Z0-9/')) = 
           convert(varchar(100),dbo.fn_StripCharacters(upper(convert(varchar(200),a.texto)), '^A-Z0-9/'))
       and b.nro > a.nro 
         ) 
 order by a.fecha_boletin desc



 
END

GO

Used By

No items found