Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
4| Name | Data Type | Length | Description |
|---|---|---|---|
| @accion | varchar | 50 | |
| @p_familia | int | 4 | |
| @p_contraparte | int | 4 | |
| @p_producto | int | 4 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- =============================================
-- Author: Marita Soria
-- Create date: 10/11/2020
-- Description: Búsquedas en la tabla ln_informes_familias
-- =============================================
/*
select * from LN_informe_familia
select * from users where username = 'sistemas'
insert into ln_informe_familia (familia, producto, id_tipo_informe, idioma, informe_default, activo,created)
values (26,2045,6407707,29523,1, 1, getdate())
select * from idiomas
exec ln_demo_ 'reports', NULL, 5546348,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,26
exec [LN_informe_familia_] 'productos', 26
exec LN_informes 'tipos_informe_cliente', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 5546348
exec [LN_informe_familia_] 'tipo_informe', 26, NULL, 2045
SELECT * FROM informes where cliente = 5546348 and fecha_ingreso >= '2020-01-01' and numero = '20309334249'
select * from ln_demo where contraparte = 584
SELECT id_tipo_informe, * FROM informes where cliente = 5546348 and fecha_ingreso >= '2020-01-01' and numero = '20309334249' and informe = 1298531
select * from tipos_informe where id_tipo_informe = 6407707
LN_demo_ 'prioridades'
*/
CREATE OR ALTER PROCEDURE dbo.LN_informe_familia_
@accion varchar(50) = null,
@p_familia int = null,
@p_contraparte int = null,
@p_producto int = null
AS
BEGIN
SET NOCOUNT ON
IF (@accion = 'productos' or @accion = 'tipo_informe')
BEGIN
----------------------------
-- 1) Si tenemos la contraparte, buscamos familia, si no vino como parámetro
-- familia (solo 1)
if (@p_contraparte is not null and @p_familia is null)
begin
select top 1 @p_familia = familia
from LN_Contrapartes
inner join LN_contraparte_familias on LN_contraparte_familias.contraparte = LN_Contrapartes.contraparte
where ln_contrapartes.contraparte = @p_contraparte
and LN_contraparte_familias.activo = 1
end
END
IF (@accion = 'productos')
BEGIN
SELECT distinct LN_productos.producto, LN_productos.nombre_producto, LN_informe_familia.informe_default
FROM LN_informe_familia
inner join LN_productos on LN_productos.producto = LN_informe_familia.producto
inner join LN_cliente_productos on LN_productos.producto = LN_cliente_productos.producto
INNER JOIN LN_familias ON LN_cliente_productos.cliente = LN_familias.cliente
INNER JOIN LN_contraparte_familias ON LN_familias.familia = LN_contraparte_familias.familia
INNER JOIN LN_familia_productos ON (LN_contraparte_familias.familia = LN_familia_productos.familia
AND LN_productos.producto = LN_familia_productos.producto)
WHERE LN_informe_familia.familia = @p_familia
and LN_informe_familia.activo = 1
and LN_cliente_productos.activo = 1
and LN_contraparte_familias.activo = 1
and LN_familia_productos.activo = 1
and LN_familias.visible = 1
END
IF (@accion = 'tipo_informe')
BEGIN
select LN_informe_familia.familia,
LN_informe_familia.producto,
LN_informe_familia.id_tipo_informe,
LN_informe_familia.dedicacion,
LN_informe_familia.user_id_solicitante,
u1.username user_name_solicitante,
LN_informe_familia.user_id_responsable,
u2.username user_name_responsable,
LN_informe_familia.estado_inicial,
LN_informe_familia.user_id_asignado,
u3.username user_name_asignado,
LN_informe_familia.dias_comprometidos,
LN_informe_familia.idioma,
LN_informe_familia.informe_tarea,
LN_informe_familia.requiere_call_center,
LN_informe_familia.id_tipo_informe_carga_doc,
LN_informe_familia.enviar_mail_alta,
LN_informe_familia.informe_default
from LN_informe_familia
left outer join users u1 on u1.user_id = user_id_solicitante
left outer join users u2 on u2.user_id = user_id_responsable
left outer join users u3 on u3.user_id = user_id_asignado
where LN_informe_familia.producto = @p_producto
and LN_informe_familia.familia = @p_familia
and LN_informe_familia.activo = 1
/*
select LN_informe_familia.producto, LN_informe_familia.informe_default,
tipos_informe.id_tipo_informe, tipos_informe.nombre_tipo_informe,
tipos_informe.tipo_informe, tipos_informe.version,
contratos_items.item_contrato, contratos_items.id_contrato,
contratos_items.producto, grupos_clientes.cliente,
contratos_items.moneda, contratos_items.precio_unitario
from LN_informe_familia
inner join ln_familias on ln_familias.familia = LN_informe_familia.familia
inner join grupos_clientes on grupos_clientes.cliente = LN_familias.cliente
inner join contratos_grupos on grupos_clientes.grupo = contratos_grupos.grupo
inner join contratos_items on (contratos_grupos.id_contrato = contratos_items.id_contrato
and grupos_clientes.cliente = contratos_items.cliente)
inner join productos on contratos_items.producto = productos.producto
inner join tipos_informe on tipos_informe.tipo_informe = LN_informe_familia.id_tipo_informe
where LN_informe_familia.producto = @p_producto
and LN_informe_familia.familia = @p_familia
and LN_informe_familia.activo = 1
and contratos_grupos.fecha_vigencia <= GETDATE()
and contratos_grupos.fecha_vencimiento >= GETDATE()
and contratos_grupos.estado_contrato = 'A'
and productos.estado_producto = 'A'
and tipos_informe.vigente = 1
and tipos_informe.selec_nuevo_informe = 1
group by LN_informe_familia.producto, LN_informe_familia.informe_default,
tipos_informe.id_tipo_informe, tipos_informe.nombre_tipo_informe,
tipos_informe.tipo_informe, tipos_informe.version,
contratos_items.item_contrato, contratos_items.id_contrato,
contratos_items.producto, grupos_clientes.cliente,
contratos_items.moneda, contratos_items.precio_unitario
*/
END
END
GO
GO
-- =============================================
-- Author: Marita Soria
-- Create date: 10/11/2020
-- Description: Búsquedas en la tabla ln_informes_familias
-- =============================================
/*
select * from LN_informe_familia
select * from users where username = 'sistemas'
insert into ln_informe_familia (familia, producto, id_tipo_informe, idioma, informe_default, activo,created)
values (26,2045,6407707,29523,1, 1, getdate())
select * from idiomas
exec ln_demo_ 'reports', NULL, 5546348,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,26
exec [LN_informe_familia_] 'productos', 26
exec LN_informes 'tipos_informe_cliente', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 5546348
exec [LN_informe_familia_] 'tipo_informe', 26, NULL, 2045
SELECT * FROM informes where cliente = 5546348 and fecha_ingreso >= '2020-01-01' and numero = '20309334249'
select * from ln_demo where contraparte = 584
SELECT id_tipo_informe, * FROM informes where cliente = 5546348 and fecha_ingreso >= '2020-01-01' and numero = '20309334249' and informe = 1298531
select * from tipos_informe where id_tipo_informe = 6407707
LN_demo_ 'prioridades'
*/
CREATE OR ALTER PROCEDURE dbo.LN_informe_familia_
@accion varchar(50) = null,
@p_familia int = null,
@p_contraparte int = null,
@p_producto int = null
AS
BEGIN
SET NOCOUNT ON
IF (@accion = 'productos' or @accion = 'tipo_informe')
BEGIN
----------------------------
-- 1) Si tenemos la contraparte, buscamos familia, si no vino como parámetro
-- familia (solo 1)
if (@p_contraparte is not null and @p_familia is null)
begin
select top 1 @p_familia = familia
from LN_Contrapartes
inner join LN_contraparte_familias on LN_contraparte_familias.contraparte = LN_Contrapartes.contraparte
where ln_contrapartes.contraparte = @p_contraparte
and LN_contraparte_familias.activo = 1
end
END
IF (@accion = 'productos')
BEGIN
SELECT distinct LN_productos.producto, LN_productos.nombre_producto, LN_informe_familia.informe_default
FROM LN_informe_familia
inner join LN_productos on LN_productos.producto = LN_informe_familia.producto
inner join LN_cliente_productos on LN_productos.producto = LN_cliente_productos.producto
INNER JOIN LN_familias ON LN_cliente_productos.cliente = LN_familias.cliente
INNER JOIN LN_contraparte_familias ON LN_familias.familia = LN_contraparte_familias.familia
INNER JOIN LN_familia_productos ON (LN_contraparte_familias.familia = LN_familia_productos.familia
AND LN_productos.producto = LN_familia_productos.producto)
WHERE LN_informe_familia.familia = @p_familia
and LN_informe_familia.activo = 1
and LN_cliente_productos.activo = 1
and LN_contraparte_familias.activo = 1
and LN_familia_productos.activo = 1
and LN_familias.visible = 1
END
IF (@accion = 'tipo_informe')
BEGIN
select LN_informe_familia.familia,
LN_informe_familia.producto,
LN_informe_familia.id_tipo_informe,
LN_informe_familia.dedicacion,
LN_informe_familia.user_id_solicitante,
u1.username user_name_solicitante,
LN_informe_familia.user_id_responsable,
u2.username user_name_responsable,
LN_informe_familia.estado_inicial,
LN_informe_familia.user_id_asignado,
u3.username user_name_asignado,
LN_informe_familia.dias_comprometidos,
LN_informe_familia.idioma,
LN_informe_familia.informe_tarea,
LN_informe_familia.requiere_call_center,
LN_informe_familia.id_tipo_informe_carga_doc,
LN_informe_familia.enviar_mail_alta,
LN_informe_familia.informe_default
from LN_informe_familia
left outer join users u1 on u1.user_id = user_id_solicitante
left outer join users u2 on u2.user_id = user_id_responsable
left outer join users u3 on u3.user_id = user_id_asignado
where LN_informe_familia.producto = @p_producto
and LN_informe_familia.familia = @p_familia
and LN_informe_familia.activo = 1
/*
select LN_informe_familia.producto, LN_informe_familia.informe_default,
tipos_informe.id_tipo_informe, tipos_informe.nombre_tipo_informe,
tipos_informe.tipo_informe, tipos_informe.version,
contratos_items.item_contrato, contratos_items.id_contrato,
contratos_items.producto, grupos_clientes.cliente,
contratos_items.moneda, contratos_items.precio_unitario
from LN_informe_familia
inner join ln_familias on ln_familias.familia = LN_informe_familia.familia
inner join grupos_clientes on grupos_clientes.cliente = LN_familias.cliente
inner join contratos_grupos on grupos_clientes.grupo = contratos_grupos.grupo
inner join contratos_items on (contratos_grupos.id_contrato = contratos_items.id_contrato
and grupos_clientes.cliente = contratos_items.cliente)
inner join productos on contratos_items.producto = productos.producto
inner join tipos_informe on tipos_informe.tipo_informe = LN_informe_familia.id_tipo_informe
where LN_informe_familia.producto = @p_producto
and LN_informe_familia.familia = @p_familia
and LN_informe_familia.activo = 1
and contratos_grupos.fecha_vigencia <= GETDATE()
and contratos_grupos.fecha_vencimiento >= GETDATE()
and contratos_grupos.estado_contrato = 'A'
and productos.estado_producto = 'A'
and tipos_informe.vigente = 1
and tipos_informe.selec_nuevo_informe = 1
group by LN_informe_familia.producto, LN_informe_familia.informe_default,
tipos_informe.id_tipo_informe, tipos_informe.nombre_tipo_informe,
tipos_informe.tipo_informe, tipos_informe.version,
contratos_items.item_contrato, contratos_items.id_contrato,
contratos_items.producto, grupos_clientes.cliente,
contratos_items.moneda, contratos_items.precio_unitario
*/
END
END
GO
Depends On
8Used By
No items found