dbo.LN_Tareas_Informes_DCL_07112023

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

2
Name Data Type Length Description
@accion varchar 50
@informe int 4

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- Create the stored procedure in the specified schema
CREATE OR ALTER PROCEDURE dbo.LN_Tareas_Informes_DCL_07112023
    @accion  VARCHAR(50),
    @informe int
-- add more stored procedure parameters here
AS
BEGIN
    -- EDITAR TAREA DCL
    IF ( UPPER(@accion) = 'EDITAR_TAREA' )
    BEGIN
        SELECT 
            -- datos de cliente
            Tareas.cliente,
            clientes.nombre_cliente,
            -- datos de la tarea
            Tareas.informe,
            Tareas.id_tipo_informe,
            LN_tareas.nombre_tarea,
            LN_tareas.ruta as ruta_tarea,
            LN_tareas.idTarea as idTipoTarea,
            LN_tareas.tipo_tarea as tipo_actividad_tarea,
            Tareas.estado_informe as estado_tarea,
            Tareas.fecha_ingreso,
            Tareas.fecha_inicio,
            Tareas.fecha_comprometida,
            Tareas.ready_to_start,
            Tareas.ready_to_start_date,
            Tareas.asignado,
            (user_asignado.first_name+' '+user_asignado.last_name) as usuario_tarea,
            Tareas.ingresado_por,
            (user_creado.first_name+' '+user_creado.last_name) as usuario_creador,
            Tareas.pausa,
            Tareas.historial_informe as historial_tarea,
            -- datos de la persona
            padrones.nombre_persona,
            identificadores.nombre_identificador,
            padrones.identificacion,
            country.country_name,
            -- datos el informe
            Tareas.informe_padre,
            LN_tipo_informes.nombre_tipo_informe
        FROM informes as Tareas
            INNER JOIN informes ON informes.informe=Tareas.informe_padre
            INNER JOIN LN_tipo_informes ON LN_tipo_informes.idTipoInforme = informes.id_tipo_informe
            --
            INNER JOIN clientes ON clientes.cliente=informes.cliente
            --
            INNER JOIN LN_tareas ON LN_tareas.idTarea=Tareas.idTarea
            --
            INNER JOIN users as user_asignado ON user_asignado.user_id=Tareas.asignado
            INNER JOIN users as user_creado ON user_creado.user_id=Tareas.ingresado_por
            --
            INNER JOIN padrones ON padrones.numero = informes.numero AND padrones.identificador=informes.identificador
            INNER JOIN identificadores ON identificadores.identificador=padrones.identificador
            INNER JOIN country ON country.country_code=identificadores.country_code
        WHERE 
            Tareas.informe=@informe;
        --
        RETURN;
    END
    -- EDITAR INFORME DCL
    IF ( UPPER(@accion) = 'EDITAR_INFORME' )
    BEGIN
        SELECT 
            -- datos de cliente
            informes.cliente,
            clientes.nombre_cliente,
            -- datos del informe
            informes.informe,
            informes.id_tipo_informe,
            LN_tipo_informes.nombre_tipo_informe,
            informes.estado_informe,
            informes.fecha_ingreso,
            informes.fecha_inicio,
            informes.fecha_comprometida,
            15 as idTeam,
            'TEAM 15' as nombre_team,
            -- datos de la persona
            padrones.nombre_persona,
            padrones.identificador,
            padrones.identificacion,
            identificadores.country_code
        FROM informes
            INNER JOIN LN_tipo_informes ON LN_tipo_informes.idTipoInforme = informes.id_tipo_informe
            --
            INNER JOIN clientes ON clientes.cliente=informes.cliente
            --
            INNER JOIN padrones ON padrones.numero = informes.numero AND padrones.identificador=informes.identificador
            INNER JOIN identificadores ON identificadores.identificador=padrones.identificador
        WHERE 
            informes.informe=@informe 
            AND informes.informe_padre IS NULL;
        --
        RETURN;
    END
    -- PANEL DE TAREAS DCL
    IF ( UPPER(@accion)='REPORTE_DCL' )
 BEGIN
        -- Panel de Reportes de data cleaning
        SELECT 
            -- datos de cliente
            Tareas.cliente,
            clientes.nombre_cliente,
            -- datos de la tarea
            Tareas.informe,
            Tareas.id_tipo_informe,
            LN_tareas.nombre_tarea,
            Tareas.estado_informe as cod_estado_tarea,
            Tareas.fecha_ingreso,
            Tareas.fecha_inicio as inicio_tarea,
            Tareas.fecha_comprometida as fecha_comprometida_tarea,
            Tareas.ready_to_start,
            Tareas.ready_to_start_date,
            Tareas.asignado,
            (users.first_name+' '+users.last_name) as usuario_tarea,
            Tareas.pausa,
            -- datos de la persona
            padrones.nombre_persona,
            padrones.identificador,
            padrones.identificacion,
            identificadores.country_code,
            -- datos el informe
            Tareas.informe_padre,
            informes.estado_informe as cod_estado_informe,
            LN_tipo_informes.nombre_tipo_informe AS nombre_informe,
            informes.fecha_inicio as inicio_informe,
            informes.fecha_comprometida as fecha_comprometida_informe,
            15 as idTeam, -- forzado por ahora
            'TEAM 15' AS nombreTeam  -- forzado por ahora
        FROM informes as Tareas
            INNER JOIN informes ON informes.informe=Tareas.informe_padre
            INNER JOIN LN_tipo_informes ON LN_tipo_informes.idTipoInforme = informes.id_tipo_informe
            --
            INNER JOIN clientes ON clientes.cliente=informes.cliente
            --
            INNER JOIN LN_tareas ON LN_tareas.idTarea=Tareas.idTarea
            --
            INNER JOIN users ON users.user_id=Tareas.asignado
            --
            INNER JOIN padrones ON padrones.numero = informes.numero AND padrones.identificador=informes.identificador
            INNER JOIN identificadores ON identificadores.identificador=padrones.identificador
        WHERE 
            informes.id_tipo_informe IN ('632095719','9876052','9876050') -- tipo de informe de data cleaning (forzados por ahora)
            AND informes.estado_informe NOT IN ('K','N','C','F') 
            AND Tareas.informe_padre IS NOT NULL
            AND Tareas.estado_informe  NOT IN ('K','N','C','F') 
        RETURN;
    END
END
GO

Used By

No items found