Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Assembly |
Parameters
14| Name | Data Type | Length | Description |
|---|---|---|---|
| @accion | varchar | 20 | |
| @nombre_tipo_informe | varchar | 150 | |
| @perfil_usr_default | varchar | 50 | |
| @descripcion | varchar | -1 | |
| @activo | bit | 1 | |
| @prioridad | tinyint | 1 | |
| @duracion | smallint | 2 | |
| @cliente | int | 4 | |
| @familia | int | 4 | |
| @idioma | varchar | 3 | |
| @idTipoInforme | int | 4 | |
| @UserID | int | 4 | |
| @plataforma | varchar | -1 | |
| @subset | varchar | 150 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*
exec LN_tipo_informes_ 'AGREGAR','NOMBRE INFORME',NULL,'DESC',1,5,2,1068109769,NULL,'ENG'
exec LN_tipo_informes_ 'EDITAR','NOMBRE INFORME',NULL,'DESC',1,5,2,1068109769,NULL,'ENG',9876012
SP [LN_tipo_informes_] agregar asignar a Famila / listar familias en base a tipo informe / listar tipo informe en base a familias /PK familia + tipo_informes /
*/
-- LN_tipo_informes_ 'ASIGNAR_FAMILIA','test informe generico','','test generico',1,2,5,601116452,560,'spa',9876014,793639331
CREATE OR ALTER PROCEDURE dbo.LN_tipo_informes_
@accion VARCHAR(20),
@nombre_tipo_informe VARCHAR(150),
@perfil_usr_default VARCHAR(50),
@descripcion VARCHAR(max)=NULL,
@activo BIT=1,
@prioridad TINYINT=5,
@duracion SMALLINT= 20,
@cliente INT,
@familia INT=NULL,
@idioma VARCHAR(3)='spa',
@idTipoInforme INT=NULL,
@UserID INT,
@plataforma VARCHAR(max)=NULL,
@subset VARCHAR(150)=NULL
AS
BEGIN
SET NOCOUNT ON;
SET @accion=upper(@accion)
--
IF (@plataforma IS NULL)
BEGIN
SET @plataforma = '47,10,73'
SET @plataforma='10'
END
--
DECLARE @idreg INT = 0
--
IF (@accion='ASIGNAR_FAMILIA')
BEGIN
-- select if exists if yes update else insert
SELECT @idreg=id_tipo_informe FROM LN_familias_tipo_informe WHERE familia = @familia AND id_tipo_informe=@idTipoInforme
IF (@idreg = 0)
BEGIN
INSERT INTO LN_familias_tipo_informe (familia,id_tipo_informe,visible,created,created_by,lista_subset)
VALUES (@familia,@idTipoInforme,1,getdate(),@UserID,@subset)
END
ELSE
BEGIN
UPDATE LN_familias_tipo_informe SET visible=1,modified=getdate(),modified_by=@UserID,lista_subset=@subset
WHERE FAMILIA = @familia AND id_tipo_informe=@idTipoInforme
END
--
RETURN;
END
--
IF (@accion='UPD_FAMILIA')
BEGIN
UPDATE LN_familias_tipo_informe SET visible=@activo,modified=getdate(),modified_by=@UserID
WHERE familia=@familia AND id_tipo_informe=@idTipoInforme
--
RETURN;
END
--
IF (@accion='UPD_INFORME_SUBSET')
BEGIN
UPDATE LN_familias_tipo_informe SET lista_subset=@subset,modified=getdate(),modified_by=@UserID
WHERE familia=@familia AND id_tipo_informe=@idTipoInforme
--
RETURN;
END
--
IF (@accion='LISTAR_FAMILIA')
BEGIN
SELECT LN_tipo_informes.*,LN_familias.nombre_familia,LN_familias.visible AS familia_visible,clientes.nombre_cliente AS nombre_cliente_familia, clientes.cliente AS cod_cliente_familia,LN_familias.familia,
LN_familias_tipo_informe.visible AS activo_fam_inf,LN_familias_tipo_informe.lista_subset AS subset_doc
FROM LN_tipo_informes
LEFT JOIN LN_familias_tipo_informe ON LN_tipo_informes.idTipoInforme=LN_familias_tipo_informe.id_tipo_informe
LEFT JOIN LN_familias ON LN_familias_tipo_informe.familia=LN_familias.familia
LEFT JOIN clientes ON ln_familias.cliente = clientes.cliente
WHERE LN_familias_tipo_informe.familia= @familia
ORDER BY nombre_tipo_informe ASC
/*
SELECT * from LN_familias_tipo_informe where id_tipo_informe in (9876014,9876013) order by id_tipo_informe
SELECT * from LN_familias_tipo_informe where id_tipo_informe in (9876014,9876013) order by id_tipo_informe
*/
--
RETURN;
--
END
IF (@accion='LISTAR_XINFORME')
BEGIN
SELECT LN_tipo_informes.*,LN_familias.nombre_familia,LN_familias.visible AS familia_visible,clientes.nombre_cliente AS nombre_cliente_familia, clientes.cliente AS cod_cliente_familia ,LN_familias.familia,
LN_familias_tipo_informe.visible AS activo_fam_inf,LN_familias_tipo_informe.lista_subset AS subset_doc
FROM LN_tipo_informes
LEFT JOIN LN_familias_tipo_informe ON LN_tipo_informes.idTipoInforme=LN_familias_tipo_informe.id_tipo_informe
LEFT JOIN LN_familias ON LN_familias_tipo_informe.familia=LN_familias.familia
LEFT JOIN clientes ON ln_familias.cliente = clientes.cliente
WHERE LN_tipo_informes.idTipoInforme= @idTipoInforme
ORDER BY nombre_tipo_informe ASC
--
RETURN;
END
/*
SP [LN_tipo_informes_] agregar asignar a Famila / listar familias en base a tipo informe / listar tipo informe en base a familias /PK familia + tipo_informes /
select * from LN_tipo_informes where familia=560
--select * from LN_tareas_informes
select * from LN_familias_tipo_informe where id_tipo_informe in (9876014,9876013)
*/
/*
ALTER TABLE LN_familias_tipo_informe ADD visible bit not null default(1)
ALTER TABLE LN_familias_tipo_informe ADD created datetime default(getdate())
ALTER TABLE LN_familias_tipo_informe ADD created_by int null
ALTER TABLE LN_familias_tipo_informe ADD modified datetime null
ALTER TABLE LN_familias_tipo_informe ADD modified_by int null
*/
IF (@accion='AGREGAR')
BEGIN
INSERT INTO LN_tipo_informes (nombre_tipo_informe,perfil_usr_default,descripcion,activo,prioridad,duracion,cliente,familia,idioma,created_by,created,servicio_contratado)
VALUES (@nombre_tipo_informe,@perfil_usr_default,@descripcion,@activo,@prioridad,@duracion,@cliente,@familia,@idioma,@UserID,getdate(),@plataforma)
--
SELECT @@IDENTITY as idTipoInf
--
RETURN;
END
--
IF (@accion='CLIENTE')
BEGIN
SELECT LN_tipo_informes.*,LN_familias.nombre_familia,LN_familias.visible
FROM LN_tipo_informes
LEFT JOIN LN_familias ON LN_tipo_informes.familia=ln_familias.familia
WHERE LN_tipo_informes.CLIENTE = @cliente
--
RETURN;
END
IF (@accion='EDITAR')
BEGIN
SELECT LN_tipo_informes.*,LN_familias.nombre_familia
FROM LN_tipo_informes
LEFT JOIN LN_familias ON LN_tipo_informes.familia=ln_familias.familia
WHERE idTipoInforme = @idTipoInforme
--
RETURN;
END
IF (@accion='LISTAR')
BEGIN
/* VERSION RAMI / DIEGO MAL EL JOIN
SELECT LN_tipo_informes.*,LN_familias.nombre_familia,LN_familias.visible AS familia_visible,clientes.nombre_cliente
FROM LN_tipo_informes LEFT JOIN LN_familias ON LN_tipo_informes.familia=ln_familias.familia
LEFT JOIN dbo.DelimitedSplit8K(@plataforma, ',') Segmentado ON LN_familias.servicio_contratado = Segmentado.Item
LEFT JOIN clientes ON ln_familias.cliente = clientes.cliente
WHERE tipo='I'
AND LN_tipo_informes.servicio_contratado = 10
ORDER BY nombre_tipo_informe ASC
*/
SELECT LN_tipo_informes.*,LN_familias.nombre_familia,LN_familias.visible AS familia_visible,clientes.nombre_cliente
FROM LN_tipo_informes LEFT JOIN LN_familias ON LN_tipo_informes.familia=ln_familias.familia
inner JOIN dbo.DelimitedSplit8K(@plataforma, ',') Segmentado ON LN_tipo_informes.servicio_contratado = Segmentado.Item
LEFT JOIN clientes ON ln_familias.cliente = clientes.cliente
WHERE tipo='I'
ORDER BY nombre_tipo_informe ASC
RETURN;
END
--
IF (@accion='ACTUALIZAR')
BEGIN
UPDATE LN_tipo_informes
SET nombre_tipo_informe=@nombre_tipo_informe,
perfil_usr_default=perfil_usr_default,
descripcion= @descripcion,
activo= @activo,
prioridad=@prioridad ,
duracion= @duracion,
cliente= @cliente,
familia=@familia ,
idioma= @idioma,
modified_by = @UserID,
modified = getdate()
WHERE idTipoInforme = @idTipoInforme
--
RETURN;
END
END
GO
GO
/*
exec LN_tipo_informes_ 'AGREGAR','NOMBRE INFORME',NULL,'DESC',1,5,2,1068109769,NULL,'ENG'
exec LN_tipo_informes_ 'EDITAR','NOMBRE INFORME',NULL,'DESC',1,5,2,1068109769,NULL,'ENG',9876012
SP [LN_tipo_informes_] agregar asignar a Famila / listar familias en base a tipo informe / listar tipo informe en base a familias /PK familia + tipo_informes /
*/
-- LN_tipo_informes_ 'ASIGNAR_FAMILIA','test informe generico','','test generico',1,2,5,601116452,560,'spa',9876014,793639331
CREATE OR ALTER PROCEDURE dbo.LN_tipo_informes_
@accion VARCHAR(20),
@nombre_tipo_informe VARCHAR(150),
@perfil_usr_default VARCHAR(50),
@descripcion VARCHAR(max)=NULL,
@activo BIT=1,
@prioridad TINYINT=5,
@duracion SMALLINT= 20,
@cliente INT,
@familia INT=NULL,
@idioma VARCHAR(3)='spa',
@idTipoInforme INT=NULL,
@UserID INT,
@plataforma VARCHAR(max)=NULL,
@subset VARCHAR(150)=NULL
AS
BEGIN
SET NOCOUNT ON;
SET @accion=upper(@accion)
--
IF (@plataforma IS NULL)
BEGIN
SET @plataforma = '47,10,73'
SET @plataforma='10'
END
--
DECLARE @idreg INT = 0
--
IF (@accion='ASIGNAR_FAMILIA')
BEGIN
-- select if exists if yes update else insert
SELECT @idreg=id_tipo_informe FROM LN_familias_tipo_informe WHERE familia = @familia AND id_tipo_informe=@idTipoInforme
IF (@idreg = 0)
BEGIN
INSERT INTO LN_familias_tipo_informe (familia,id_tipo_informe,visible,created,created_by,lista_subset)
VALUES (@familia,@idTipoInforme,1,getdate(),@UserID,@subset)
END
ELSE
BEGIN
UPDATE LN_familias_tipo_informe SET visible=1,modified=getdate(),modified_by=@UserID,lista_subset=@subset
WHERE FAMILIA = @familia AND id_tipo_informe=@idTipoInforme
END
--
RETURN;
END
--
IF (@accion='UPD_FAMILIA')
BEGIN
UPDATE LN_familias_tipo_informe SET visible=@activo,modified=getdate(),modified_by=@UserID
WHERE familia=@familia AND id_tipo_informe=@idTipoInforme
--
RETURN;
END
--
IF (@accion='UPD_INFORME_SUBSET')
BEGIN
UPDATE LN_familias_tipo_informe SET lista_subset=@subset,modified=getdate(),modified_by=@UserID
WHERE familia=@familia AND id_tipo_informe=@idTipoInforme
--
RETURN;
END
--
IF (@accion='LISTAR_FAMILIA')
BEGIN
SELECT LN_tipo_informes.*,LN_familias.nombre_familia,LN_familias.visible AS familia_visible,clientes.nombre_cliente AS nombre_cliente_familia, clientes.cliente AS cod_cliente_familia,LN_familias.familia,
LN_familias_tipo_informe.visible AS activo_fam_inf,LN_familias_tipo_informe.lista_subset AS subset_doc
FROM LN_tipo_informes
LEFT JOIN LN_familias_tipo_informe ON LN_tipo_informes.idTipoInforme=LN_familias_tipo_informe.id_tipo_informe
LEFT JOIN LN_familias ON LN_familias_tipo_informe.familia=LN_familias.familia
LEFT JOIN clientes ON ln_familias.cliente = clientes.cliente
WHERE LN_familias_tipo_informe.familia= @familia
ORDER BY nombre_tipo_informe ASC
/*
SELECT * from LN_familias_tipo_informe where id_tipo_informe in (9876014,9876013) order by id_tipo_informe
SELECT * from LN_familias_tipo_informe where id_tipo_informe in (9876014,9876013) order by id_tipo_informe
*/
--
RETURN;
--
END
IF (@accion='LISTAR_XINFORME')
BEGIN
SELECT LN_tipo_informes.*,LN_familias.nombre_familia,LN_familias.visible AS familia_visible,clientes.nombre_cliente AS nombre_cliente_familia, clientes.cliente AS cod_cliente_familia ,LN_familias.familia,
LN_familias_tipo_informe.visible AS activo_fam_inf,LN_familias_tipo_informe.lista_subset AS subset_doc
FROM LN_tipo_informes
LEFT JOIN LN_familias_tipo_informe ON LN_tipo_informes.idTipoInforme=LN_familias_tipo_informe.id_tipo_informe
LEFT JOIN LN_familias ON LN_familias_tipo_informe.familia=LN_familias.familia
LEFT JOIN clientes ON ln_familias.cliente = clientes.cliente
WHERE LN_tipo_informes.idTipoInforme= @idTipoInforme
ORDER BY nombre_tipo_informe ASC
--
RETURN;
END
/*
SP [LN_tipo_informes_] agregar asignar a Famila / listar familias en base a tipo informe / listar tipo informe en base a familias /PK familia + tipo_informes /
select * from LN_tipo_informes where familia=560
--select * from LN_tareas_informes
select * from LN_familias_tipo_informe where id_tipo_informe in (9876014,9876013)
*/
/*
ALTER TABLE LN_familias_tipo_informe ADD visible bit not null default(1)
ALTER TABLE LN_familias_tipo_informe ADD created datetime default(getdate())
ALTER TABLE LN_familias_tipo_informe ADD created_by int null
ALTER TABLE LN_familias_tipo_informe ADD modified datetime null
ALTER TABLE LN_familias_tipo_informe ADD modified_by int null
*/
IF (@accion='AGREGAR')
BEGIN
INSERT INTO LN_tipo_informes (nombre_tipo_informe,perfil_usr_default,descripcion,activo,prioridad,duracion,cliente,familia,idioma,created_by,created,servicio_contratado)
VALUES (@nombre_tipo_informe,@perfil_usr_default,@descripcion,@activo,@prioridad,@duracion,@cliente,@familia,@idioma,@UserID,getdate(),@plataforma)
--
SELECT @@IDENTITY as idTipoInf
--
RETURN;
END
--
IF (@accion='CLIENTE')
BEGIN
SELECT LN_tipo_informes.*,LN_familias.nombre_familia,LN_familias.visible
FROM LN_tipo_informes
LEFT JOIN LN_familias ON LN_tipo_informes.familia=ln_familias.familia
WHERE LN_tipo_informes.CLIENTE = @cliente
--
RETURN;
END
IF (@accion='EDITAR')
BEGIN
SELECT LN_tipo_informes.*,LN_familias.nombre_familia
FROM LN_tipo_informes
LEFT JOIN LN_familias ON LN_tipo_informes.familia=ln_familias.familia
WHERE idTipoInforme = @idTipoInforme
--
RETURN;
END
IF (@accion='LISTAR')
BEGIN
/* VERSION RAMI / DIEGO MAL EL JOIN
SELECT LN_tipo_informes.*,LN_familias.nombre_familia,LN_familias.visible AS familia_visible,clientes.nombre_cliente
FROM LN_tipo_informes LEFT JOIN LN_familias ON LN_tipo_informes.familia=ln_familias.familia
LEFT JOIN dbo.DelimitedSplit8K(@plataforma, ',') Segmentado ON LN_familias.servicio_contratado = Segmentado.Item
LEFT JOIN clientes ON ln_familias.cliente = clientes.cliente
WHERE tipo='I'
AND LN_tipo_informes.servicio_contratado = 10
ORDER BY nombre_tipo_informe ASC
*/
SELECT LN_tipo_informes.*,LN_familias.nombre_familia,LN_familias.visible AS familia_visible,clientes.nombre_cliente
FROM LN_tipo_informes LEFT JOIN LN_familias ON LN_tipo_informes.familia=ln_familias.familia
inner JOIN dbo.DelimitedSplit8K(@plataforma, ',') Segmentado ON LN_tipo_informes.servicio_contratado = Segmentado.Item
LEFT JOIN clientes ON ln_familias.cliente = clientes.cliente
WHERE tipo='I'
ORDER BY nombre_tipo_informe ASC
RETURN;
END
--
IF (@accion='ACTUALIZAR')
BEGIN
UPDATE LN_tipo_informes
SET nombre_tipo_informe=@nombre_tipo_informe,
perfil_usr_default=perfil_usr_default,
descripcion= @descripcion,
activo= @activo,
prioridad=@prioridad ,
duracion= @duracion,
cliente= @cliente,
familia=@familia ,
idioma= @idioma,
modified_by = @UserID,
modified = getdate()
WHERE idTipoInforme = @idTipoInforme
--
RETURN;
END
END
GO
Depends On
5Used By
No items found