dbo.LN_tipo_informes_

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

Used By

No items found