dbo.LN_trazabilidad_

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

4
Name Data Type Length Description
@p_contraparte int 4
@p_fecha_gestion varchar 10
@campos bit 1
@plataforma varchar 50

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
/*
exec [LN_trazabilidad_] 95, '2020-03-26'
exec [LN_trazabilidad_] 184775,'2022-05-05',0
select * from ln_gestiones where contraparte = 184775
select * from trazabilidad where contraparte = 163476 order by created
exec [LN_trazabilidad_] 162668,'2021-12-06',1

exec LN_trazabilidad_ 168591,165841,1

exec LN_trazabilidad_ 198489,null,0

*/




CREATE OR ALTER PROCEDURE dbo.LN_trazabilidad_ 
 @p_contraparte int, 
 @p_fecha_gestion varchar(10) = null,
 @campos bit = 0,
 @plataforma varchar(50) = 'IV_BACK'
AS
BEGIN
 SET NOCOUNT ON;
 declare @fecha_gestion date 
 declare @desde date
 declare @hasta date
 declare @fecha varchar(16)
 declare @fecha1 date 
 declare @detalle varchar(max) = ''
 declare @resultado varchar(max) = ''
 declare @usuario varchar(200) = ''
 /*DECLARE @plataforma varchar(50) = ''*/


 if (isnull(@p_fecha_gestion,'') = '') 
 begin
  select @desde = desde, @hasta = hasta from ln_gestiones 
  where contraparte = @p_contraparte and vigente = 1
 end 
 else
 begin 
  select @desde = desde, @hasta = hasta from ln_gestiones 
  where contraparte = @p_contraparte and desde = @p_fecha_gestion 
 end 

 if (@campos = 0)
 begin
 DECLARE C_Cursor CURSOR FOR
 SELECT distinct convert(varchar,FORMAT(trazabilidad.created, 'yyyy-MM-dd HH:mm')) as created, --users.user_id,
 /*convert(varchar,trazabilidad.created,103), */
 convert(varchar,FORMAT(trazabilidad.created, 'dd-MM-yyyy HH:mm')) as fecha,
 replace(texto,';',','), 
 iif(users.user_id is null, 'Acción automática',(
 iif(isnull(aliasname,'') = '', ISNULL(users.first_name,'') + ' ' + ISNULL(users.last_name,''),aliasname))) as usuario ,trazabilidad.id_plataforma
  --ISNULL(users.first_name,'') + ' ' + ISNULL(users.last_name,'') as usuario
   FROM trazabilidad 
   left join users on users.user_id = trazabilidad.user_id  
   inner join plataformas on plataformas.id_plataforma = trazabilidad.id_plataforma

    WHERE contraparte = @p_contraparte 
    and convert(date,trazabilidad.created) between @desde and @hasta
-- order by convert(date,trazabilidad.created) desc
 union
 SELECT distinct convert(varchar,FORMAT(created, 'yyyy-MM-dd HH:mm')) as created, --users.user_id,
 convert(varchar,FORMAT(created, 'dd-MM-yyyy HH:mm')) as fecha,
 texto_fidelitas as texto,/* texto_cliente,*/
 ISNULL(users.first_name,'') + ' ' + ISNULL(users.last_name,'') as usuario /*, username */,'COMENTARIOS' AS id_plataforma
   FROM LN_contraparte_comentarios 
   left join users on users.user_id = LN_contraparte_comentarios.created_by 
    WHERE contraparte = @p_contraparte 
    and gestion = (select gestion from ln_gestiones where contraparte = @p_contraparte and visible=1 and desde >=  @desde )
    and texto_fidelitas != 'COMENTARIO INTERNO CLIENTE'
    and indicador in (454)
 order by created DESC


 OPEN C_Cursor
 FETCH NEXT FROM C_Cursor INTO @fecha1, @fecha, @detalle, @usuario,@plataforma
 WHILE @@fetch_status = 0
 BEGIN 
  if (@resultado != '') set @resultado = @resultado + '; '
  -- set @resultado = @resultado + @fecha + ': ' + @detalle
  /* 19/01/2022: se agrego que se muestre el usuario muestra el usuario */

  if (isnull(@usuario,'') = '')
   set @resultado = @resultado + @fecha + ': ' + @detalle
  else
   set @resultado = @resultado + @fecha + ' ' + @usuario + ': ' + @detalle

  FETCH NEXT FROM C_Cursor INTO @fecha1, @fecha, @detalle, @usuario,@plataforma
 END 
 CLOSE C_Cursor
 DEALLOCATE C_Cursor

 select @resultado as detalle
 end
 else
 begin
 
 SELECT distinct convert(varchar,FORMAT(trazabilidad.created, 'yyyy-MM-dd HH:mm')) as created, users.user_id,
 /*convert(varchar,trazabilidad.created,103), */
 convert(varchar,FORMAT(trazabilidad.created, 'dd-MM-yyyy HH:mm')) as fecha, 
 --convert(varchar,FORMAT(trazabilidad.created, 'dd-MM-yyyy')) as fecha, 
 texto, null as texto_cliente, 
 iif(users.user_id is null, 'Acción automática',(
 iif(isnull(aliasname,'') = '', ISNULL(users.first_name,'') + ' ' + ISNULL(users.last_name,''),aliasname))) as usuario,

 username,trazabilidad.id_plataforma  AS id_plataforma
 --ISNULL(users.first_name,'') + ' ' + ISNULL(users.last_name,'') as usuario
   FROM trazabilidad 
   left join users on users.user_id = trazabilidad.user_id  
   inner join plataformas on plataformas.id_plataforma = trazabilidad.id_plataforma

    WHERE contraparte = @p_contraparte 
    and convert(date,trazabilidad.created) between @desde and @hasta
-- order by trazabilidad.created desc
 union
 SELECT distinct convert(varchar,FORMAT(created, 'yyyy-MM-dd HH:mm')) as created, users.user_id,
 convert(varchar,FORMAT(created, 'dd-MM-yyyy HH:mm')) as fecha,
 texto_fidelitas as texto, texto_cliente,
 ISNULL(users.first_name,'') + ' ' + ISNULL(users.last_name,'') as usuario, 
 username,'COMENTARIOS' AS id_plataforma
   FROM LN_contraparte_comentarios 
   left join users on users.user_id = LN_contraparte_comentarios.created_by 
    WHERE contraparte = @p_contraparte 
    and gestion = (select gestion from ln_gestiones where contraparte = @p_contraparte and visible=1 and desde >=  @desde )
    and texto_fidelitas != 'COMENTARIO INTERNO CLIENTE'
    and indicador in (454)
 order by created ASC

 
 
 end 


END

GO