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
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
Depends On
7Used By
No items found