dbo.LN_contraparte_prensa

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

8
Name Data Type Length Description
@accion varchar 100
@contraparte int 4
@created_by int 4
@texto text -1
@gestion int 4
@cliente int 4
@valor_color varchar 10
@publicado bit 1

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO

/*
exec LN_contraparte_prensa 'backend_obtener_valoracion',217196,793639331,'test',224501,3920694,'V',1
select * from LN_dossier_prensa where contraparte = 217196
delete from LN_dossier_prensa where contraparte = 217196 and id_dossier_prensa = 1519


SELECT distinct valor_texto,LN_dossier_prensa.visible from LN_contraparte_indicadores 
inner join LN_gestiones
on LN_gestiones.contraparte =217196
inner join LN_dossier_prensa
on LN_dossier_prensa.contraparte = 217196 --and LN_dossier_prensa.visible = 1
where LN_contraparte_indicadores.contraparte = 217196
and indicador = 263
and LN_contraparte_indicadores.visible = 1
AND desde <= GETDATE()
AND hasta >= GETDATE()



SELECT distinct valor_texto,LN_dossier_prensa.visible from LN_contraparte_indicadores 
inner join LN_gestiones on LN_gestiones.contraparte = 217196
inner join LN_dossier_prensa on (LN_dossier_prensa.contraparte = 217196 and LN_dossier_prensa.gestion = LN_gestiones.gestion)
where LN_contraparte_indicadores.contraparte = 217196
and indicador =263 
and LN_contraparte_indicadores.visible = 1
AND desde <= GETDATE()
AND hasta >= GETDATE()
and LN_gestiones.vigente = 1




*/


/*
-- =============================================
-- Author: <Leonel Turchetto>
-- =============================================
*/

/*
select * from ln_cliente_nivel where cliente =431136419 and indicador = 263
[LN_contraparte_prensa] 'backend_obtener_valoracion_todas', null,null,null,null,431136419
*/

CREATE OR ALTER PROCEDURE dbo.LN_contraparte_prensa 
@accion varchar(100),
@contraparte int,
@created_by int = null,
@texto text = null,
@gestion int = null,
@cliente int = null,
@valor_color varchar(10) = null,
@publicado bit = 0

AS
BEGIN
 SET NOCOUNT ON;
 declare @indicador int = (select indicador from LN_indicadores where  clave_indicador = 'PRENSA' and visible = 1 )

 if(@accion = 'backend_obtener_prensa')
 begin
  select lndp.texto_prensa,LN_gestiones.gestion,ln_contrapartes.contraparte,visible 
    from ln_contrapartes
   inner join LN_gestiones on LN_gestiones.contraparte = @contraparte
    left join ln_dossier_prensa lndp on lndp.contraparte = @contraparte and lndp.gestion = LN_gestiones.gestion
   where ln_contrapartes.contraparte = @contraparte
    and ln_contrapartes.activo = 1
    AND desde <= GETDATE()
    AND hasta >= GETDATE()
    AND LN_gestiones.vigente = 1
 end

 if(@accion = 'backend_agregar_prensa')
 begin
 if((select count(*) from LN_dossier_prensa where contraparte = @contraparte and gestion = @gestion) > 0)
  begin
  update LN_dossier_prensa set texto_prensa = @texto, modified = getdate(), modified_by = @created_by,visible = @publicado where contraparte = @contraparte and gestion = @gestion
  end
 else
  begin
   insert into LN_dossier_prensa (contraparte,gestion,created,created_by,texto_prensa,visible) values (@contraparte,@gestion,getdate(),@created_by,@texto,@publicado)
  end
 if((select count(*) from LN_contraparte_indicadores where contraparte = @contraparte and gestion = @gestion and indicador = @indicador ) > 0)
  begin
   update LN_contraparte_indicadores set valor_texto = @valor_color, modified = getdate(), modified_by = @created_by, visible = @publicado where contraparte = @contraparte and gestion = @gestion and indicador = @indicador
  end
 else
  begin
   insert into 
   LN_contraparte_indicadores 
   (contraparte,gestion,indicador,valor_texto,created,created_by,visible)
   values 
   (@contraparte,@gestion,@indicador,@valor_color,getdate(),@created_by,@publicado) 
  end

 /* 16/08/2023: Lo manda al queue */
  if not exists (select * from LN_contrapartes_queue where contraparte = @contraparte and processed = 0)
   INSERT INTO LN_contrapartes_queue (CONTRAPARTE,id_taken) values (@contraparte, 1.0 + floor(10 * RAND(convert(varbinary, newid())))) 
 end

 if(@accion = 'backend_obtener_valoracion_todas')
 begin

  if not exists (SELECT texto,texto_largo,color_fondo FROM LN_cliente_nivel
   where cliente = @cliente and indicador = @indicador) 
  begin
   if (@indicador = 263) 
   begin
    insert into ln_cliente_nivel(cliente, texto, texto_largo, titulo, color_fondo, color_texto, indicador) 
    values(@cliente, 'R', 'ROJO', 'Valoración', 'A72B2A', 'FFFFFF', @indicador)
   
    insert into ln_cliente_nivel(cliente, texto, texto_largo, titulo, color_fondo, color_texto, indicador) 
    values(@cliente, 'A', 'AMARILLO',  'Valoración', 'FFB81C', 'FFFFFF', @indicador)
   
    insert into ln_cliente_nivel(cliente, texto, texto_largo, titulo, color_fondo, color_texto, indicador) 
    values(@cliente, 'V', 'VERDE',  'Valoración', '63b68c', 'FFFFFF', @indicador)  
   end 
  end 
  
  SELECT texto,texto_largo,color_fondo FROM LN_cliente_nivel
   where cliente = @cliente and indicador = @indicador
 
 end

 if(@accion = 'backend_obtener_valoracion')
 begin
  SELECT distinct valor_texto,LN_dossier_prensa.visible from LN_contraparte_indicadores 
  inner join LN_gestiones on LN_gestiones.contraparte = @contraparte
  inner join LN_dossier_prensa on (LN_dossier_prensa.contraparte = @contraparte and LN_dossier_prensa.gestion = LN_gestiones.gestion)
  where LN_contraparte_indicadores.contraparte = @contraparte
  and indicador = @indicador
  and LN_contraparte_indicadores.visible = 1
  and LN_contraparte_indicadores.gestion = LN_gestiones.gestion 
  AND desde <= GETDATE()
  AND hasta >= GETDATE() 
  and LN_gestiones.vigente = 1
 end

 if (@accion = 'actualizar_prensa') begin

  update LN_contraparte_indicadores set visible = LN_dossier_prensa.visible
  from LN_contraparte_indicadores inner join LN_dossier_prensa on
   (LN_contraparte_indicadores.contraparte = LN_dossier_prensa.contraparte
   and LN_contraparte_indicadores.gestion = LN_dossier_prensa.gestion)
  inner join LN_gestiones on (LN_dossier_prensa.contraparte = LN_gestiones.contraparte
         and LN_dossier_prensa.gestion = LN_gestiones.gestion)
  inner join LN_indicadores on LN_contraparte_indicadores.indicador = LN_indicadores.indicador
  where  LN_dossier_prensa.contraparte = @contraparte
  and LN_gestiones.desde <= GETDATE()
  and LN_gestiones.hasta >= GETDATE()
  and LN_indicadores.clave_indicador = 'PRENSA'

  /* 16/08/2023: Lo manda al queue */
  if not exists (select * from LN_contrapartes_queue where contraparte = @contraparte and processed = 0)
   INSERT INTO LN_contrapartes_queue (CONTRAPARTE,id_taken) values (@contraparte, 1.0 + floor(10 * RAND(convert(varbinary, newid())))) 

 end

END
GO

Used By

No items found