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
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