dbo.Generar_informe_para_contraparte

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

9
Name Data Type Length Description
@p_user_id int 4
@p_id_padron int 4
@p_id_tipo_informe int 4
@p_team_id int 4
@cliente int 4
@contraprte int 4
@p_email_candidato varchar 100
@p_telefono_candidato varchar 100
@p_fecha_comprometida datetime 8

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
-- Create the stored procedure in the specified schema
CREATE OR ALTER PROCEDURE dbo.Generar_informe_para_contraparte
    @p_user_id int,
    @p_id_padron                        int,
    @p_id_tipo_informe int,
    @p_team_id int=1,
    @cliente int,
    @contraprte int,
    @p_email_candidato     varchar(100)=null,
    @p_telefono_candidato    varchar(100)=null,
    @p_fecha_comprometida    datetime=NULL
AS
BEGIN
    -- body of the stored procedure
    DECLARE @p_fecha_limite_doc     datetime=null
    DECLARE @hist varchar(max) = ''
    DECLARE @p_idioma smallint=29523
    DECLARE @p_filial smallint=13136
    DECLARE @prioridad tinyint=5
    DECLARE @p_datamanager int=102549745
    DECLARE @nombre_candidato   varchar(100)=null
    DECLARE @identificador    varchar(30)=null
    DECLARE @numero      varchar(100)=null
    DECLARE @sexo      varchar(1)=null
    DECLARE @country     varchar(2)=null
    DECLARE @ahora datetime=getdate()
    DECLARE @superV1 int = null
    DECLARE @informe int
    DECLARE @tarea INT = NULL
    DECLARE @tipo_subinforme INT = null
    DECLARE @orden tinyint = NULL
    DECLARE @prioridad_tarea tinyint = NULL
    DECLARE @id_tarea_gestion int = NULL
    DECLARE @activa_gestion tinyint = NULL
    DECLARE @usuario_gestion varchar(100) = NULL
    DECLARE @USID INT = NULL
    DECLARE @duracionDesign int = 0
    DECLARE @idTarea int = null 
    DECLARE @p_fecha_inicio      datetime = null
    declare @dep_tree varchar(200)=null
    declare @isinicial bit

    select @nombre_candidato = left(padrones.nombre_persona,100),
                        @identificador = padrones.identificador,
                        @numero = padrones.numero,
                        @sexo = padrones.sexo,
                        @country = identificadores.country_code
                from padrones inner join identificadores on padrones.identificador = identificadores.identificador
                where padrones.id_padron = @p_id_padron

    exec @informe = Genera_ID_Informe_2022 @cliente,null



    select top 1 @superv1 = LN_Team_Members.user_id
    from LN_informe_design inner join ln_tareas on (ln_tareas.idTarea = LN_informe_design.idElem and LN_informe_design.tipo_elem='T')
    left join LN_Roles on ln_tareas.perfil_usr_default=ln_roles.id_rol
    left join LN_Team_Members on LN_Team_Members.id_rol=LN_Roles.id_rol
    where LN_informe_design.idTipoInforme =  @p_id_tipo_informe
    and LN_Team_Members.id_team=@p_team_id
    and LN_Team_Members.activo=1
    and LN_Team_Members.isdefault=1
    and LN_Roles.id_rol=1 

    update informes set informe= @informe, cliente=@cliente, identificador=@identificador, numero=@numero, 
    fecha_ingreso=@ahora, id_tipo_informe=@p_id_tipo_informe,
    objeto_informe='INFORME GENERADO A TRAVES DE WEB INQUIRO VITAE', historial_informe=@hist, ingresado_por=@p_user_id, 
    idioma=@p_idioma, filial=@p_filial, prioridad=@prioridad, datamanager=@p_datamanager,
    asignado = @superv1,
    estado_informe= 'A',
    fecha_asignado=getdate(), 
    fecha_aceptacion=getdate(),
    nombre_contacto_1=@nombre_candidato, email_contacto_1=@p_email_candidato, telefono_contacto_1=@p_telefono_candidato,
    fecha_limite_doc=@p_fecha_limite_doc,
    fecha_comprometida=@p_fecha_comprometida
    where informe = @informe and idreg= @informe

    DECLARE TiposSubinformes CURSOR FOR

    select ln_tareas.id_tipo_informe_blue, LN_informe_design.orden, isnull(LN_informe_design.prioridad,0) as prioridad_default,0 as genera_solicitud_doc,/*  tipos_informe.genera_solicitud_doc,*/
    LN_Team_Members.user_id as USID,ln_tareas.isinicial,LN_tareas.idTarea,LN_informe_design.duracion,LN_informe_design.dependency_tree  
    from LN_informe_design inner join ln_tareas on (ln_tareas.idTarea = LN_informe_design.idElem and LN_informe_design.tipo_elem='T')
    left join LN_Roles on ln_tareas.perfil_usr_default=ln_roles.id_rol
    left join LN_Team_Members on LN_Team_Members.id_rol=LN_Roles.id_rol
    where LN_informe_design.idTipoInforme = @p_id_tipo_informe
    and LN_Team_Members.id_team= @p_team_id
    and LN_Team_Members.activo=1
    and LN_Team_Members.isdefault=1
    and LN_tareas.activo=1 
    and LN_informe_design.activo=1 
    order by LN_informe_design.orden



    OPEN TiposSubinformes
    FETCH NEXT FROM TiposSubinformes INTO @tipo_subinforme, @orden, @prioridad_tarea, @activa_gestion,@USID,@isinicial,@idTarea,@duracionDesign,@dep_tree
    WHILE @@FETCH_STATUS = 0 BEGIN


        -- EXEC LN_informes 'obtener_id', NULL, @tarea OUTPUT
        exec @tarea = Genera_ID_Informe_2022 @cliente,@informe

        --select @tarea as miTarea

        if (@tarea > 0) begin

            /* La prioridad de cada tarea depende del tipo de informe. Si está en 0 o nula toma la del informe padre */

            update informes set informe =@tarea , 
                cliente=@cliente, 
                identificador=@identificador, 
                numero=@numero, 
                fecha_ingreso=@p_fecha_inicio,
                id_tipo_informe=@tipo_subinforme,
                objeto_informe=null, 
                --historial_informe=@preffix + 'Creación de tarea.',
                ingresado_por=@p_user_id, 
                idioma=@p_idioma,
                asignado=@USID, 
                
                fecha_inicio = @p_fecha_inicio,
                

                /*fecha_comprometida=@p_fecha_comprometida,*/
                fecha_comprometida= DATEADD(minute,isnull(@duracionDesign,1), @p_fecha_inicio) ,
                
                fecha_asignado=getdate(),
                
                filial=@p_filial, 
                prioridad=5,
                datamanager=@p_datamanager, 
                estado_informe='A', 
                orden=@orden, 
                informe_padre=@informe,
                ready_to_start = iif(@dep_tree is null,1,0),
                ready_to_start_date = iif(@dep_tree is null,getdate(),null),
                /*ready_to_start = @isinicial,*/
                idTarea=@idTarea
            where informe = @tarea and idreg= @tarea 

            /* identifico la tarea de gestión de documentación dentro del informe */
            IF (@activa_gestion = 1) BEGIN
                SET @id_tarea_gestion = @tarea
            END

        end

        FETCH NEXT FROM TiposSubinformes INTO @tipo_subinforme, @orden, @prioridad_tarea, @activa_gestion,@USID,@isinicial,@idTarea,@duracionDesign,@dep_tree
    END
    CLOSE TiposSubinformes
    DEALLOCATE TiposSubinformes
    --

    UPDATE LN_demo SET informe=@informe WHERE contraparte=@contraprte;
    --
    SELECT @informe as informe
END
GO

Used By

No items found