You are on page 1of 3

--select * from dbo.

Sis_Tbl_Usuario_Log_2 where id_aplicacion = 12 and id_pagina =


344

--select * from gjas.[Tbl_Rol_Usuario]

--select * from gjas.[Tbl_Roles]

--select * from dbo.Sis_Vw_App_Web_Menu where id_aplicacion = 12 and IdOpcion = 367

--select count(user_id) from dbo.Sis_Tbl_Usuario_Log_2 where id_aplicacion = 12

declare @tPerfil varchar(3), @tModulo varchar(3), @anio int = 2023,


@mes int = 8,
@idPerfil int = 0,
@idModulo int = 0,
@id_aplicacion int = 12;

if(@idPerfil = 0)
set @tPerfil = 'tod'
else
set @tPerfil = 'sel'
if(@idModulo = 0)
set @tModulo = 'tod'
else
set @tModulo = 'sel'

declare @Tbl_Rol_Usuario table ( id_aplicacion int, id_modulo int,


modulo varchar(50),user_id int, id_rol int, cod_rol varchar(50),nombre_rol
varchar(50))
insert into @Tbl_Rol_Usuario
select
ru.id_aplicacion,
r.id_modulo,
wm.Opcion as [modulo],
ru.user_id,
r.id_rol,
r.cod_rol,
r.nombre_rol
from

gjas.Tbl_Rol_Usuario(nolock) ru
inner join
gjas.Tbl_Roles(nolock) r on r.id_aplicacion = ru.id_aplicacion

and r.id_rol = ru.id_rol


inner join
dbo.Sis_Tbl_App_Web_Menu(nolock) wm on wm.IdApicativo = r.id_aplicacion

and wm.IdOpcion = r.id_modulo

and wm.Nivel = 1
where
ru.id_aplicacion =
@id_aplicacion
and ((@tPerfil = 'tod')
or ((@tPerfil = 'sel') and ( r.id_rol = @idPerfil)))
and ((@tModulo = 'tod')
or ((@tModulo = 'sel') and ( r.id_modulo = @idModulo)))
declare @tbl_consultas table ( id_aplicacion int, id_modulo int,
user_id int, id_pagina int, pagina varchar(50), fecha varchar(10),triggered_by_user
int, cantidad int)
insert into @tbl_consultas
select
c.id_aplicacion,
vm.idn1 as [id_modulo],
c.[user_id],
c.id_pagina,
vm.NivelTreLabel as [pagina],
c.fecha,
c.triggered_by_user,
c.cantidad
from
(
select
usu_2.id_aplicacion,
usu_2.user_id,
usu_2.id_pagina,
CAST(convert(varchar,
usu_2.Fecha_Hora,23) AS VARCHAR(max)) as fecha,
usu_2.accion,
usu_2.triggered_by_user,
count(usu_2.id) as
cantidad
from

dbo.Sis_Tbl_Usuario_Log_2(nolock) usu_2

where
usu_2.id_aplicacion = 12
and
year(usu_2.Fecha_Hora) = @anio
and
month(usu_2.Fecha_Hora) = @mes
and usu_2.accion =
'SELECT'
group by

usu_2.id_aplicacion,

usu_2.user_id,

usu_2.id_pagina,

CAST(convert(varchar, usu_2.Fecha_Hora,23) AS VARCHAR(max)),

usu_2.accion,

usu_2.triggered_by_user
)c
inner join
dbo.Sis_Vw_App_Web_Menu vm on vm.id_aplicacion = c.id_aplicacion and vm.IdOpcion =
c.id_pagina
select

from
@Tbl_Rol_Usuario tbl1 inner join @tbl_consultas tbl2 on
tbl1.id_aplicacion = tbl2.id_aplicacion

and tbl1.id_modulo = tbl2.id_modulo

and tbl1.user_id = tbl2.user_id

--order by
-- t.fecha

You might also like