Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
5| Name | Data Type | Length | Description |
|---|---|---|---|
| @accion | varchar | 30 | |
| @p_cliente | int | 4 | |
| @p_indicador | int | 4 | |
| @p_producto | int | 4 | |
| @p_user_id | int | 4 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE OR ALTER PROCEDURE dbo.LN_cliente_indicadores_
-- Add the parameters for the stored procedure here
@accion varchar(30) = null,
@p_cliente int = null,
@p_indicador int = null,
@p_producto int = null,
@p_user_id int = null
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
if (@accion = 'insert') begin
if (@p_cliente is not null and @p_indicador is not null) begin
if not exists (select cliente, indicador, activo
from LN_cliente_indicadores
where cliente = @p_cliente
and indicador = @p_indicador)
insert into LN_cliente_indicadores (cliente, indicador, activo, created, created_by)
values (@p_cliente, @p_indicador, 1, GETDATE(), @p_user_id)
/* 10/03/2021:
Cuando se suscribe a un indicador,
(cuando son productos que no suscriben indicadores, al momento de cargarle el producto,
todos sus indicadores se cargan en usuarios_restricciones para que nadie los vea) SP: [LN_cliente_productos_]
todos los usuarios del cliente no pueden verlo, para ello se cargan en usuarios_restricciones
*/
declare @usuario int
DECLARE C_user CURSOR FOR
select distinct users.user_id
from usuarios_productos
inner join users on users.user_id = usuarios_productos.user_id
where usuarios_productos.cliente = @p_Cliente
and isnull(users.active_user,'Y') = 'Y'
OPEN C_user
FETCH NEXT FROM C_user INTO @usuario
WHILE @@fetch_status = 0
BEGIN
if not exists (select * from usuarios_restricciones
where user_id = @usuario and indicador = @p_indicador and servicio_contratado = 10)
insert into usuarios_restricciones (user_id, cliente, servicio_contratado, indicador, created, created_by)
values (@usuario, @p_cliente, '10', @p_indicador, getdate(), @p_user_id)
if not exists (select * from usuarios_restricciones
where user_id = @usuario and indicador = @p_indicador and servicio_contratado = 47)
insert into usuarios_restricciones (user_id, cliente, servicio_contratado, indicador, created, created_by)
values (@usuario, @p_cliente, '47', @p_indicador, getdate(), @p_user_id)
if not exists (select * from usuarios_restricciones
where user_id = @usuario and indicador = @p_indicador and servicio_contratado = 73)
insert into usuarios_restricciones (user_id, cliente, servicio_contratado, indicador, created, created_by)
values (@usuario, @p_cliente, '73', @p_indicador, getdate(), @p_user_id)
FETCH NEXT FROM C_user INTO @usuario
END
CLOSE C_user
DEALLOCATE C_user
/* */
end
end
if (@accion = 'update') begin
if (@p_cliente is not null and @p_indicador is not null) begin
if exists (select cliente, indicador, activo
from LN_cliente_indicadores
where cliente = @p_cliente
and indicador = @p_indicador)
update LN_cliente_indicadores set activo = iif(activo = 1, 0, 1),
modified= GETDATE(),
modified_by = @p_user_id
where cliente = @p_cliente
and indicador = @p_indicador
end
end
if (@accion = 'delete') begin
if (@p_cliente is not null and @p_indicador is not null) begin
delete from LN_cliente_indicadores
where cliente = @p_cliente
and indicador = @p_indicador
end
end
if (@accion = 'select') begin
select LN_cliente_indicadores.cliente, LN_cliente_indicadores.indicador, LN_cliente_indicadores.activo,
clientes.nombre_cliente, LN_productos.nombre_producto, LN_productos.producto_id,
LN_productos.producto, LN_indicadores.nombre_indicador, LN_indicadores.clave_indicador,
LN_indicadores.valoracion, LN_indicadores.tipo_dato, LN_indicadores.etiqueta,
LN_indicadores.opciones, LN_productos.etiqueta as etiqueta_producto, LN_productos.balance,
convert(varchar,LN_cliente_indicadores.created,103) + ' ' + substring(convert(varchar,LN_cliente_indicadores.created,108),1,5)
as created, LN_cliente_indicadores.created_by,
convert(varchar,LN_cliente_indicadores.modified,103) + ' ' + substring(convert(varchar,LN_cliente_indicadores.modified,108),1,5)
as modified, LN_cliente_indicadores.modified_by,
users.first_name + ' ' + users.last_name as created_by_user,
users2.first_name + ' ' + users2.last_name as modified_by_user
from LN_cliente_indicadores
inner join clientes on LN_cliente_indicadores.cliente = clientes.cliente
inner join LN_indicadores on LN_cliente_indicadores.indicador = LN_indicadores.indicador
inner join LN_productos on LN_indicadores.producto = LN_productos.producto
left outer join users on LN_cliente_indicadores.created_by = users.user_id
left outer join users as users2 on LN_cliente_indicadores.modified_by = users2.user_id
where LN_cliente_indicadores.cliente = @p_cliente
and LN_cliente_indicadores.indicador = @p_indicador
end
if (@accion = 'search') begin
if (@p_cliente is not null and @p_indicador is null)
if (@p_producto is null)
select LN_cliente_indicadores.cliente, LN_cliente_indicadores.indicador, LN_cliente_indicadores.activo,
clientes.nombre_cliente, LN_productos.nombre_producto, LN_productos.producto_id,
LN_productos.producto, LN_indicadores.nombre_indicador, LN_indicadores.clave_indicador,
LN_indicadores.valoracion, LN_indicadores.tipo_dato, LN_indicadores.etiqueta,
LN_indicadores.opciones, LN_productos.etiqueta as etiqueta_producto, LN_productos.balance,
convert(varchar,LN_cliente_indicadores.created,103) + ' ' + substring(convert(varchar,LN_cliente_indicadores.created,108),1,5)
as created, LN_cliente_indicadores.created_by,
convert(varchar,LN_cliente_indicadores.modified,103) + ' ' + substring(convert(varchar,LN_cliente_indicadores.modified,108),1,5)
as modified, LN_cliente_indicadores.modified_by,
users.first_name + ' ' + users.last_name as created_by_user,
users2.first_name + ' ' + users2.last_name as modified_by_user
from LN_cliente_indicadores
inner join clientes on LN_cliente_indicadores.cliente = clientes.cliente
inner join LN_indicadores on LN_cliente_indicadores.indicador = LN_indicadores.indicador
inner join LN_productos on LN_indicadores.producto = LN_productos.producto
left outer join users on LN_cliente_indicadores.created_by = users.user_id
left outer join users as users2 on LN_cliente_indicadores.modified_by = users2.user_id
where LN_cliente_indicadores.cliente = @p_cliente
order by LN_productos.nombre_producto, LN_indicadores.orden
else
select LN_cliente_indicadores.cliente, LN_cliente_indicadores.indicador, LN_cliente_indicadores.activo,
clientes.nombre_cliente, LN_productos.nombre_producto, LN_productos.producto_id,
LN_productos.producto, LN_indicadores.nombre_indicador, LN_indicadores.clave_indicador,
LN_indicadores.valoracion, LN_indicadores.tipo_dato, LN_indicadores.etiqueta,
LN_indicadores.opciones, LN_productos.etiqueta as etiqueta_producto, LN_productos.balance,
convert(varchar,LN_cliente_indicadores.created,103) + ' ' + substring(convert(varchar,LN_cliente_indicadores.created,108),1,5)
as created, LN_cliente_indicadores.created_by,
convert(varchar,LN_cliente_indicadores.modified,103) + ' ' + substring(convert(varchar,LN_cliente_indicadores.modified,108),1,5)
as modified, LN_cliente_indicadores.modified_by,
users.first_name + ' ' + users.last_name as created_by_user,
users2.first_name + ' ' + users2.last_name as modified_by_user
from LN_cliente_indicadores
inner join clientes on LN_cliente_indicadores.cliente = clientes.cliente
inner join LN_indicadores on LN_cliente_indicadores.indicador = LN_indicadores.indicador
inner join LN_productos on LN_indicadores.producto = LN_productos.producto
left outer join users on LN_cliente_indicadores.created_by = users.user_id
left outer join users as users2 on LN_cliente_indicadores.modified_by = users2.user_id
where LN_cliente_indicadores.cliente = @p_cliente
and LN_indicadores.producto = @p_producto
order by LN_productos.nombre_producto, LN_indicadores.orden
else
if (@p_cliente is null and @p_indicador is not null)
select LN_cliente_indicadores.cliente, LN_cliente_indicadores.indicador, LN_cliente_indicadores.activo,
clientes.nombre_cliente, LN_productos.nombre_producto, LN_productos.producto_id,
LN_productos.producto, LN_indicadores.nombre_indicador, LN_indicadores.clave_indicador,
LN_indicadores.valoracion, LN_indicadores.tipo_dato, LN_indicadores.etiqueta,
LN_indicadores.opciones, LN_productos.etiqueta as etiqueta_producto, LN_productos.balance,
convert(varchar,LN_cliente_indicadores.created,103) + ' ' + substring(convert(varchar,LN_cliente_indicadores.created,108),1,5)
as created, LN_cliente_indicadores.created_by,
convert(varchar,LN_cliente_indicadores.modified,103) + ' ' + substring(convert(varchar,LN_cliente_indicadores.modified,108),1,5)
as modified, LN_cliente_indicadores.modified_by,
users.first_name + ' ' + users.last_name as created_by_user,
users2.first_name + ' ' + users2.last_name as modified_by_user
from LN_cliente_indicadores
inner join clientes on LN_cliente_indicadores.cliente = clientes.cliente
inner join LN_indicadores on LN_cliente_indicadores.indicador = LN_indicadores.indicador
inner join LN_productos on LN_indicadores.producto = LN_productos.producto
left outer join users on LN_cliente_indicadores.created_by = users.user_id
left outer join users as users2 on LN_cliente_indicadores.modified_by = users2.user_id
where LN_cliente_indicadores.indicador = @p_indicador
order by clientes.nombre_cliente, LN_productos.nombre_producto, LN_indicadores.orden
else
if (@p_cliente is not null and @p_indicador is not null)
select LN_cliente_indicadores.cliente, LN_cliente_indicadores.indicador, LN_cliente_indicadores.activo,
clientes.nombre_cliente, LN_productos.nombre_producto, LN_productos.producto_id,
LN_productos.producto, LN_indicadores.nombre_indicador, LN_indicadores.clave_indicador,
LN_indicadores.valoracion, LN_indicadores.tipo_dato, LN_indicadores.etiqueta,
LN_indicadores.opciones, LN_productos.etiqueta as etiqueta_producto, LN_productos.balance,
convert(varchar,LN_cliente_indicadores.created,103) + ' ' + substring(convert(varchar,LN_cliente_indicadores.created,108),1,5)
as created, LN_cliente_indicadores.created_by,
convert(varchar,LN_cliente_indicadores.modified,103) + ' ' + substring(convert(varchar,LN_cliente_indicadores.modified,108),1,5)
as modified, LN_cliente_indicadores.modified_by,
users.first_name + ' ' + users.last_name as created_by_user,
users2.first_name + ' ' + users2.last_name as modified_by_user
from LN_cliente_indicadores
inner join clientes on LN_cliente_indicadores.cliente = clientes.cliente
inner join LN_indicadores on LN_cliente_indicadores.indicador = LN_indicadores.indicador
inner join LN_productos on LN_indicadores.producto = LN_productos.producto
left outer join users on LN_cliente_indicadores.created_by = users.user_id
left outer join users as users2 on LN_cliente_indicadores.modified_by = users2.user_id
where LN_cliente_indicadores.cliente = @p_cliente
and LN_cliente_indicadores.indicador = @p_indicador
else
if (@p_producto is null)
select LN_cliente_indicadores.cliente, LN_cliente_indicadores.indicador, LN_cliente_indicadores.activo,
clientes.nombre_cliente, LN_productos.nombre_producto, LN_productos.producto_id,
LN_productos.producto, LN_indicadores.nombre_indicador, LN_indicadores.clave_indicador,
LN_indicadores.valoracion, LN_indicadores.tipo_dato, LN_indicadores.etiqueta,
LN_indicadores.opciones, LN_productos.etiqueta as etiqueta_producto, LN_productos.balance,
convert(varchar,LN_cliente_indicadores.created,103) + ' ' + substring(convert(varchar,LN_cliente_indicadores.created,108),1,5)
as created, LN_cliente_indicadores.created_by,
convert(varchar,LN_cliente_indicadores.modified,103) + ' ' + substring(convert(varchar,LN_cliente_indicadores.modified,108),1,5)
as modified, LN_cliente_indicadores.modified_by,
users.first_name + ' ' + users.last_name as created_by_user,
users2.first_name + ' ' + users2.last_name as modified_by_user
from LN_cliente_indicadores
inner join clientes on LN_cliente_indicadores.cliente = clientes.cliente
inner join LN_indicadores on LN_cliente_indicadores.indicador = LN_indicadores.indicador
inner join LN_productos on LN_indicadores.producto = LN_productos.producto
left outer join users on LN_cliente_indicadores.created_by = users.user_id
left outer join users as users2 on LN_cliente_indicadores.modified_by = users2.user_id
order by clientes.nombre_cliente, LN_productos.nombre_producto, LN_indicadores.orden
else
select LN_cliente_indicadores.cliente, LN_cliente_indicadores.indicador, LN_cliente_indicadores.activo,
clientes.nombre_cliente, LN_productos.nombre_producto, LN_productos.producto_id,
LN_productos.producto, LN_indicadores.nombre_indicador, LN_indicadores.clave_indicador,
LN_indicadores.valoracion, LN_indicadores.tipo_dato, LN_indicadores.etiqueta,
LN_indicadores.opciones, LN_productos.etiqueta as etiqueta_producto, LN_productos.balance,
convert(varchar,LN_cliente_indicadores.created,103) + ' ' + substring(convert(varchar,LN_cliente_indicadores.created,108),1,5)
as created, LN_cliente_indicadores.created_by,
convert(varchar,LN_cliente_indicadores.modified,103) + ' ' + substring(convert(varchar,LN_cliente_indicadores.modified,108),1,5)
as modified, LN_cliente_indicadores.modified_by,
users.first_name + ' ' + users.last_name as created_by_user,
users2.first_name + ' ' + users2.last_name as modified_by_user
from LN_cliente_indicadores
inner join clientes on LN_cliente_indicadores.cliente = clientes.cliente
inner join LN_indicadores on LN_cliente_indicadores.indicador = LN_indicadores.indicador
inner join LN_productos on LN_indicadores.producto = LN_productos.producto
left outer join users on LN_cliente_indicadores.created_by = users.user_id
left outer join users as users2 on LN_cliente_indicadores.modified_by = users2.user_id
where LN_indicadores.producto = @p_producto
order by clientes.nombre_cliente, LN_productos.nombre_producto, LN_indicadores.orden
end
/* Dado el cliente y el producto suscripto, obtener los indicadores disponibles a suscribir */
if (@accion = 'disponibles') begin
if (@p_cliente is not null AND @p_producto is not null)
select LN_indicadores.indicador, LN_indicadores.visible, LN_indicadores.producto,
LN_productos.nombre_producto, LN_productos.producto_id,
LN_indicadores.nombre_indicador, LN_indicadores.clave_indicador,
LN_indicadores.valoracion, LN_indicadores.tipo_dato, LN_indicadores.etiqueta,
LN_indicadores.opciones, LN_productos.etiqueta as etiqueta_producto, LN_productos.balance
from LN_indicadores
inner join LN_productos on LN_indicadores.producto = LN_productos.producto
left outer join (select cliente, indicador
from LN_cliente_indicadores
where cliente = @p_cliente) susc on LN_indicadores.indicador = susc.indicador
where LN_indicadores.producto = @p_producto
and susc.indicador IS NULL
order by LN_indicadores.nombre_indicador
end
END
GO
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE OR ALTER PROCEDURE dbo.LN_cliente_indicadores_
-- Add the parameters for the stored procedure here
@accion varchar(30) = null,
@p_cliente int = null,
@p_indicador int = null,
@p_producto int = null,
@p_user_id int = null
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
if (@accion = 'insert') begin
if (@p_cliente is not null and @p_indicador is not null) begin
if not exists (select cliente, indicador, activo
from LN_cliente_indicadores
where cliente = @p_cliente
and indicador = @p_indicador)
insert into LN_cliente_indicadores (cliente, indicador, activo, created, created_by)
values (@p_cliente, @p_indicador, 1, GETDATE(), @p_user_id)
/* 10/03/2021:
Cuando se suscribe a un indicador,
(cuando son productos que no suscriben indicadores, al momento de cargarle el producto,
todos sus indicadores se cargan en usuarios_restricciones para que nadie los vea) SP: [LN_cliente_productos_]
todos los usuarios del cliente no pueden verlo, para ello se cargan en usuarios_restricciones
*/
declare @usuario int
DECLARE C_user CURSOR FOR
select distinct users.user_id
from usuarios_productos
inner join users on users.user_id = usuarios_productos.user_id
where usuarios_productos.cliente = @p_Cliente
and isnull(users.active_user,'Y') = 'Y'
OPEN C_user
FETCH NEXT FROM C_user INTO @usuario
WHILE @@fetch_status = 0
BEGIN
if not exists (select * from usuarios_restricciones
where user_id = @usuario and indicador = @p_indicador and servicio_contratado = 10)
insert into usuarios_restricciones (user_id, cliente, servicio_contratado, indicador, created, created_by)
values (@usuario, @p_cliente, '10', @p_indicador, getdate(), @p_user_id)
if not exists (select * from usuarios_restricciones
where user_id = @usuario and indicador = @p_indicador and servicio_contratado = 47)
insert into usuarios_restricciones (user_id, cliente, servicio_contratado, indicador, created, created_by)
values (@usuario, @p_cliente, '47', @p_indicador, getdate(), @p_user_id)
if not exists (select * from usuarios_restricciones
where user_id = @usuario and indicador = @p_indicador and servicio_contratado = 73)
insert into usuarios_restricciones (user_id, cliente, servicio_contratado, indicador, created, created_by)
values (@usuario, @p_cliente, '73', @p_indicador, getdate(), @p_user_id)
FETCH NEXT FROM C_user INTO @usuario
END
CLOSE C_user
DEALLOCATE C_user
/* */
end
end
if (@accion = 'update') begin
if (@p_cliente is not null and @p_indicador is not null) begin
if exists (select cliente, indicador, activo
from LN_cliente_indicadores
where cliente = @p_cliente
and indicador = @p_indicador)
update LN_cliente_indicadores set activo = iif(activo = 1, 0, 1),
modified= GETDATE(),
modified_by = @p_user_id
where cliente = @p_cliente
and indicador = @p_indicador
end
end
if (@accion = 'delete') begin
if (@p_cliente is not null and @p_indicador is not null) begin
delete from LN_cliente_indicadores
where cliente = @p_cliente
and indicador = @p_indicador
end
end
if (@accion = 'select') begin
select LN_cliente_indicadores.cliente, LN_cliente_indicadores.indicador, LN_cliente_indicadores.activo,
clientes.nombre_cliente, LN_productos.nombre_producto, LN_productos.producto_id,
LN_productos.producto, LN_indicadores.nombre_indicador, LN_indicadores.clave_indicador,
LN_indicadores.valoracion, LN_indicadores.tipo_dato, LN_indicadores.etiqueta,
LN_indicadores.opciones, LN_productos.etiqueta as etiqueta_producto, LN_productos.balance,
convert(varchar,LN_cliente_indicadores.created,103) + ' ' + substring(convert(varchar,LN_cliente_indicadores.created,108),1,5)
as created, LN_cliente_indicadores.created_by,
convert(varchar,LN_cliente_indicadores.modified,103) + ' ' + substring(convert(varchar,LN_cliente_indicadores.modified,108),1,5)
as modified, LN_cliente_indicadores.modified_by,
users.first_name + ' ' + users.last_name as created_by_user,
users2.first_name + ' ' + users2.last_name as modified_by_user
from LN_cliente_indicadores
inner join clientes on LN_cliente_indicadores.cliente = clientes.cliente
inner join LN_indicadores on LN_cliente_indicadores.indicador = LN_indicadores.indicador
inner join LN_productos on LN_indicadores.producto = LN_productos.producto
left outer join users on LN_cliente_indicadores.created_by = users.user_id
left outer join users as users2 on LN_cliente_indicadores.modified_by = users2.user_id
where LN_cliente_indicadores.cliente = @p_cliente
and LN_cliente_indicadores.indicador = @p_indicador
end
if (@accion = 'search') begin
if (@p_cliente is not null and @p_indicador is null)
if (@p_producto is null)
select LN_cliente_indicadores.cliente, LN_cliente_indicadores.indicador, LN_cliente_indicadores.activo,
clientes.nombre_cliente, LN_productos.nombre_producto, LN_productos.producto_id,
LN_productos.producto, LN_indicadores.nombre_indicador, LN_indicadores.clave_indicador,
LN_indicadores.valoracion, LN_indicadores.tipo_dato, LN_indicadores.etiqueta,
LN_indicadores.opciones, LN_productos.etiqueta as etiqueta_producto, LN_productos.balance,
convert(varchar,LN_cliente_indicadores.created,103) + ' ' + substring(convert(varchar,LN_cliente_indicadores.created,108),1,5)
as created, LN_cliente_indicadores.created_by,
convert(varchar,LN_cliente_indicadores.modified,103) + ' ' + substring(convert(varchar,LN_cliente_indicadores.modified,108),1,5)
as modified, LN_cliente_indicadores.modified_by,
users.first_name + ' ' + users.last_name as created_by_user,
users2.first_name + ' ' + users2.last_name as modified_by_user
from LN_cliente_indicadores
inner join clientes on LN_cliente_indicadores.cliente = clientes.cliente
inner join LN_indicadores on LN_cliente_indicadores.indicador = LN_indicadores.indicador
inner join LN_productos on LN_indicadores.producto = LN_productos.producto
left outer join users on LN_cliente_indicadores.created_by = users.user_id
left outer join users as users2 on LN_cliente_indicadores.modified_by = users2.user_id
where LN_cliente_indicadores.cliente = @p_cliente
order by LN_productos.nombre_producto, LN_indicadores.orden
else
select LN_cliente_indicadores.cliente, LN_cliente_indicadores.indicador, LN_cliente_indicadores.activo,
clientes.nombre_cliente, LN_productos.nombre_producto, LN_productos.producto_id,
LN_productos.producto, LN_indicadores.nombre_indicador, LN_indicadores.clave_indicador,
LN_indicadores.valoracion, LN_indicadores.tipo_dato, LN_indicadores.etiqueta,
LN_indicadores.opciones, LN_productos.etiqueta as etiqueta_producto, LN_productos.balance,
convert(varchar,LN_cliente_indicadores.created,103) + ' ' + substring(convert(varchar,LN_cliente_indicadores.created,108),1,5)
as created, LN_cliente_indicadores.created_by,
convert(varchar,LN_cliente_indicadores.modified,103) + ' ' + substring(convert(varchar,LN_cliente_indicadores.modified,108),1,5)
as modified, LN_cliente_indicadores.modified_by,
users.first_name + ' ' + users.last_name as created_by_user,
users2.first_name + ' ' + users2.last_name as modified_by_user
from LN_cliente_indicadores
inner join clientes on LN_cliente_indicadores.cliente = clientes.cliente
inner join LN_indicadores on LN_cliente_indicadores.indicador = LN_indicadores.indicador
inner join LN_productos on LN_indicadores.producto = LN_productos.producto
left outer join users on LN_cliente_indicadores.created_by = users.user_id
left outer join users as users2 on LN_cliente_indicadores.modified_by = users2.user_id
where LN_cliente_indicadores.cliente = @p_cliente
and LN_indicadores.producto = @p_producto
order by LN_productos.nombre_producto, LN_indicadores.orden
else
if (@p_cliente is null and @p_indicador is not null)
select LN_cliente_indicadores.cliente, LN_cliente_indicadores.indicador, LN_cliente_indicadores.activo,
clientes.nombre_cliente, LN_productos.nombre_producto, LN_productos.producto_id,
LN_productos.producto, LN_indicadores.nombre_indicador, LN_indicadores.clave_indicador,
LN_indicadores.valoracion, LN_indicadores.tipo_dato, LN_indicadores.etiqueta,
LN_indicadores.opciones, LN_productos.etiqueta as etiqueta_producto, LN_productos.balance,
convert(varchar,LN_cliente_indicadores.created,103) + ' ' + substring(convert(varchar,LN_cliente_indicadores.created,108),1,5)
as created, LN_cliente_indicadores.created_by,
convert(varchar,LN_cliente_indicadores.modified,103) + ' ' + substring(convert(varchar,LN_cliente_indicadores.modified,108),1,5)
as modified, LN_cliente_indicadores.modified_by,
users.first_name + ' ' + users.last_name as created_by_user,
users2.first_name + ' ' + users2.last_name as modified_by_user
from LN_cliente_indicadores
inner join clientes on LN_cliente_indicadores.cliente = clientes.cliente
inner join LN_indicadores on LN_cliente_indicadores.indicador = LN_indicadores.indicador
inner join LN_productos on LN_indicadores.producto = LN_productos.producto
left outer join users on LN_cliente_indicadores.created_by = users.user_id
left outer join users as users2 on LN_cliente_indicadores.modified_by = users2.user_id
where LN_cliente_indicadores.indicador = @p_indicador
order by clientes.nombre_cliente, LN_productos.nombre_producto, LN_indicadores.orden
else
if (@p_cliente is not null and @p_indicador is not null)
select LN_cliente_indicadores.cliente, LN_cliente_indicadores.indicador, LN_cliente_indicadores.activo,
clientes.nombre_cliente, LN_productos.nombre_producto, LN_productos.producto_id,
LN_productos.producto, LN_indicadores.nombre_indicador, LN_indicadores.clave_indicador,
LN_indicadores.valoracion, LN_indicadores.tipo_dato, LN_indicadores.etiqueta,
LN_indicadores.opciones, LN_productos.etiqueta as etiqueta_producto, LN_productos.balance,
convert(varchar,LN_cliente_indicadores.created,103) + ' ' + substring(convert(varchar,LN_cliente_indicadores.created,108),1,5)
as created, LN_cliente_indicadores.created_by,
convert(varchar,LN_cliente_indicadores.modified,103) + ' ' + substring(convert(varchar,LN_cliente_indicadores.modified,108),1,5)
as modified, LN_cliente_indicadores.modified_by,
users.first_name + ' ' + users.last_name as created_by_user,
users2.first_name + ' ' + users2.last_name as modified_by_user
from LN_cliente_indicadores
inner join clientes on LN_cliente_indicadores.cliente = clientes.cliente
inner join LN_indicadores on LN_cliente_indicadores.indicador = LN_indicadores.indicador
inner join LN_productos on LN_indicadores.producto = LN_productos.producto
left outer join users on LN_cliente_indicadores.created_by = users.user_id
left outer join users as users2 on LN_cliente_indicadores.modified_by = users2.user_id
where LN_cliente_indicadores.cliente = @p_cliente
and LN_cliente_indicadores.indicador = @p_indicador
else
if (@p_producto is null)
select LN_cliente_indicadores.cliente, LN_cliente_indicadores.indicador, LN_cliente_indicadores.activo,
clientes.nombre_cliente, LN_productos.nombre_producto, LN_productos.producto_id,
LN_productos.producto, LN_indicadores.nombre_indicador, LN_indicadores.clave_indicador,
LN_indicadores.valoracion, LN_indicadores.tipo_dato, LN_indicadores.etiqueta,
LN_indicadores.opciones, LN_productos.etiqueta as etiqueta_producto, LN_productos.balance,
convert(varchar,LN_cliente_indicadores.created,103) + ' ' + substring(convert(varchar,LN_cliente_indicadores.created,108),1,5)
as created, LN_cliente_indicadores.created_by,
convert(varchar,LN_cliente_indicadores.modified,103) + ' ' + substring(convert(varchar,LN_cliente_indicadores.modified,108),1,5)
as modified, LN_cliente_indicadores.modified_by,
users.first_name + ' ' + users.last_name as created_by_user,
users2.first_name + ' ' + users2.last_name as modified_by_user
from LN_cliente_indicadores
inner join clientes on LN_cliente_indicadores.cliente = clientes.cliente
inner join LN_indicadores on LN_cliente_indicadores.indicador = LN_indicadores.indicador
inner join LN_productos on LN_indicadores.producto = LN_productos.producto
left outer join users on LN_cliente_indicadores.created_by = users.user_id
left outer join users as users2 on LN_cliente_indicadores.modified_by = users2.user_id
order by clientes.nombre_cliente, LN_productos.nombre_producto, LN_indicadores.orden
else
select LN_cliente_indicadores.cliente, LN_cliente_indicadores.indicador, LN_cliente_indicadores.activo,
clientes.nombre_cliente, LN_productos.nombre_producto, LN_productos.producto_id,
LN_productos.producto, LN_indicadores.nombre_indicador, LN_indicadores.clave_indicador,
LN_indicadores.valoracion, LN_indicadores.tipo_dato, LN_indicadores.etiqueta,
LN_indicadores.opciones, LN_productos.etiqueta as etiqueta_producto, LN_productos.balance,
convert(varchar,LN_cliente_indicadores.created,103) + ' ' + substring(convert(varchar,LN_cliente_indicadores.created,108),1,5)
as created, LN_cliente_indicadores.created_by,
convert(varchar,LN_cliente_indicadores.modified,103) + ' ' + substring(convert(varchar,LN_cliente_indicadores.modified,108),1,5)
as modified, LN_cliente_indicadores.modified_by,
users.first_name + ' ' + users.last_name as created_by_user,
users2.first_name + ' ' + users2.last_name as modified_by_user
from LN_cliente_indicadores
inner join clientes on LN_cliente_indicadores.cliente = clientes.cliente
inner join LN_indicadores on LN_cliente_indicadores.indicador = LN_indicadores.indicador
inner join LN_productos on LN_indicadores.producto = LN_productos.producto
left outer join users on LN_cliente_indicadores.created_by = users.user_id
left outer join users as users2 on LN_cliente_indicadores.modified_by = users2.user_id
where LN_indicadores.producto = @p_producto
order by clientes.nombre_cliente, LN_productos.nombre_producto, LN_indicadores.orden
end
/* Dado el cliente y el producto suscripto, obtener los indicadores disponibles a suscribir */
if (@accion = 'disponibles') begin
if (@p_cliente is not null AND @p_producto is not null)
select LN_indicadores.indicador, LN_indicadores.visible, LN_indicadores.producto,
LN_productos.nombre_producto, LN_productos.producto_id,
LN_indicadores.nombre_indicador, LN_indicadores.clave_indicador,
LN_indicadores.valoracion, LN_indicadores.tipo_dato, LN_indicadores.etiqueta,
LN_indicadores.opciones, LN_productos.etiqueta as etiqueta_producto, LN_productos.balance
from LN_indicadores
inner join LN_productos on LN_indicadores.producto = LN_productos.producto
left outer join (select cliente, indicador
from LN_cliente_indicadores
where cliente = @p_cliente) susc on LN_indicadores.indicador = susc.indicador
where LN_indicadores.producto = @p_producto
and susc.indicador IS NULL
order by LN_indicadores.nombre_indicador
end
END
GO
Depends On
7Used By
No items found