dbo.LN_Blue_Tareas_Informe

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

26
Name Data Type Length Description
@p_accion varchar 50
@p_contraparte int 4
@p_informe int 4
@p_user_id int 4
@p_item_contrato int 4
@p_producto smallint 2
@p_id_tipo_informe int 4
@p_prioridad tinyint 1
@p_estado_informe varchar 1
@p_ingresado_por int 4
@p_datamanager int 4
@p_asignado int 4
@p_cliente int 4
@p_fecha_limite_doc datetime 8
@p_producto_led int 4
@p_fecha_comprometida datetime 8
@p_objeto_informe varchar -1
@p_familia int 4
@p_idioma_iso varchar 3
@p_fecha_inicio datetime 8
@p_notas_informe varchar -1
@p_path_archivo varchar 150
@p_extension_archivo varchar 5
@p_fecha_desde datetime 8
@p_fecha_hasta datetime 8
@p_pausa_tarea bit 1

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/*
exec LN_Blue_Tareas_Informe 'tareas_informe',null,100603443
exec LN_Blue 'tareas_informe',null,100603443
EXEC LN_Blue_Tareas_Informe 'tareas_informe',NULL,100751405
*/

CREATE OR ALTER PROCEDURE dbo.LN_Blue_Tareas_Informe
 @p_accion         varchar(50) = NULL,
 @p_contraparte        int = NULL,
 @p_informe         int OUTPUT,
 @p_user_id         int = NULL,
 @p_item_contrato       int = NULL,
 @p_producto         smallint = NULL,    
 @p_id_tipo_informe       int = NULL,
 @p_prioridad        tinyint = NULL,
 @p_estado_informe       varchar(1) = NULL,
 @p_ingresado_por       int = NULL,
 @p_datamanager        int = NULL,
 @p_asignado         int = NULL,
 @p_cliente         int = NULL,
 @p_fecha_limite_doc       datetime = NULL,
 @p_producto_led        int = NULL,
 @p_fecha_comprometida      datetime = NULL,
 @p_objeto_informe       varchar(max) = NULL,
 @p_familia         int = NULL,
 @p_idioma_iso        varchar(3) = 'spa',
 @p_fecha_inicio        datetime = null,
 @p_notas_informe       varchar(max) = NULL,
 @p_path_archivo        varchar(150)= null,
 @p_extension_archivo      varchar(5)= null,
 @p_fecha_desde datetime = null,
 @p_fecha_hasta datetime = null,
 @p_pausa_tarea bit = 0


 
AS
BEGIN
 SET NOCOUNT ON;

/*
@V_accion varchar(50) = NULL,
@V_contraparte int = NULL,
@V_informe int OUTPUT,
@V_user_id int = NULL,
@V_item_contrato int = NULL,
@V_producto smallint = NULL,
@V_id_tipo_informe int = NULL,
@V_prioridad tinyint = NULL,
@V_estado_informe varchar(1) = NULL,
@V_ingresado_por int = NULL,
@V_datamanager int = NULL,
@V_asignado int = NULL,
@V_cliente int = NULL,
@V_fecha_limite_doc datetime = NULL,
@V_producto_led int = NULL,
@V_fecha_comprometida datetime = NULL,
@V_objeto_informe varchar(max) = NULL,
@V_familia int = NULL,
@V_idioma_iso varchar(3) = 'spa',
@V_@p_fecha_inicio datetime = null,
@notas_informe varchar(max) = NULL,
@path_archivo varchar(150)= null,
@extension_archivo varchar(5)= null,
@V_fecha_desde datetime = null,
@V_fecha_hasta datetime = null,
@V_pausa_tarea bit = 0


*/


 /* AGB DECLARAMOS VARIABLES PARA EVITAR PARAMETER SNIFFING EN LA CONFECCIÓN DEL QUERY PLAN */
 DECLARE @V_accion           varchar(50)  = @p_accion
 DECLARE @V_contraparte          int    = @p_contraparte
 DECLARE @V_informe           int    = @p_informe
 DECLARE @V_user_id           int    = @p_user_id
 DECLARE @V_item_contrato         int    = @p_item_contrato
 DECLARE @V_producto           smallint   = @p_producto
 DECLARE @V_id_tipo_informe         int    = @p_id_tipo_informe
 DECLARE @V_prioridad          tinyint   = @p_prioridad
 DECLARE @V_estado_informe         varchar(1)   = @p_estado_informe
 DECLARE @V_ingresado_por         int    = @p_ingresado_por
 DECLARE @V_datamanager          int    = @p_datamanager
 DECLARE @V_asignado           int    = @p_asignado
 DECLARE @V_cliente           int    = @p_cliente
 DECLARE @V_fecha_limite_doc         datetime   = @p_fecha_limite_doc
 DECLARE @V_producto_led          int    = @p_producto_led
 DECLARE @V_fecha_comprometida        datetime   = @p_fecha_comprometida
 DECLARE @V_objeto_informe         varchar (max)  = @p_objeto_informe
 DECLARE @V_familia           int    = @p_familia
 DECLARE @V_idioma_iso          varchar(3)   = @p_idioma_iso
 DECLARE @V_fecha_inicio          datetime   = @p_fecha_inicio
 DECLARE @V_notas_informe         varchar (max)  = @p_notas_informe
 DECLARE @V_path_archivo          varchar(150) = @p_path_archivo
 DECLARE @V_extension_archivo        varchar(5)  = @p_extension_archivo
 DECLARE @V_fecha_desde           datetime   = @p_fecha_desde 
 DECLARE @V_fecha_hasta           datetime   = @p_fecha_hasta 
 DECLARE @V_pausa_tarea           bit    = @p_pausa_tarea 



 DECLARE @estado VARCHAR(1) = NULL, @estado_tarea varchar(1) = NULL
 DECLARE @ahora datetime = GETDATE()
 DECLARE @usuario varchar(100) = NULL
 DECLARE @preffix varchar(200) = ''
 DECLARE @nombre_asignado varchar(200)
 DECLARE @informe int = NULL
 DECLARE @tarea INT = null
 DECLARE @gestion int = NULL
 DECLARE @noing int = 0, @ing int = 0, @verif int = 0, @rech int = 0, @total_estado int = 0, @total_docs int = 0, @publicados int = 0

 if (@V_user_id > 0) 
 begin
  select @usuario = isnull(first_name,'') + ' ' + isnull(last_name, '')
  from users where user_id = @V_user_id
  SET @preffix = '['+@usuario+' - '+convert(varchar(10),@ahora,103) + ' ' + substring(convert(varchar,@ahora,121),12,5)+']: '
 end 
 else
  begin
   SET @preffix = '['+convert(varchar(10),@ahora,103) + ' ' + substring(convert(varchar,@ahora,121),12,5)+']: '
  end



 DECLARE @id INT = null
 DECLARE @moneda varchar(3) = null
 DECLARE @precio money = NULL
 DECLARE @id_contrato int = NULL
 DECLARE @cliente int = NULL
 DECLARE @nombre_cliente varchar(200) = NULL
 DECLARE @identificador varchar(10) = NULL
 DECLARE @abreviatura varchar(10) = NULL
 DECLARE @numero varchar(50) = NULL
 DECLARE @nombre_persona varchar(200) = NULL
 DECLARE @nombre varchar(50) = NULL
 DECLARE @email varchar(50) = NULL
 DECLARE @telefono varchar(30) = NULL
 DECLARE @nombre_tipo_informe varchar(200) = NULL
 DECLARE @grupo_informes varchar(50) = NULL
 DECLARE @detalle_log varchar(max)


 /*
  exec LN_Blue 'tareas_informe',null,100603443
  EXEC LN_Blue  'tareas_informe',NULL,100615876
  EXEC LN_Blue_Tareas_Informe  'tareas_informe',NULL,100615876
  */



    if (upper(@V_accion)='TAREAS_TIPODOC')
 begin
        select ln_demo.contraparte,ln_demo.gestion,LN_demo.informe as infPadre,informes.informe as tarea,LN_tareas.id_tip_doc_dependiente,
        ln_contraparte_familias.familia,LN_tipos_doc_carga_verif.familia as familia2,informes.cliente,ln_tareas.nombre_tarea,LN_tareas.idTarea 
        from INFORMES 
        INNER JOIN LN_tareas ON INFORMES.idTarea=LN_TAREAS.idTarea
        inner join ln_demo on ln_demo.informe = informes.informe_padre
        inner join ln_gestiones on ln_gestiones.gestion = ln_demo.gestion
        inner join ln_contraparte_familias on (ln_contraparte_familias.contraparte = ln_gestiones.contraparte and ln_contraparte_familias.activo=1)
        inner join LN_tipos_doc_carga_verif on (ln_tareas.id_tip_doc_dependiente=LN_tipos_doc_carga_verif.tipo_doc and ln_contraparte_familias.familia = LN_tipos_doc_carga_verif.familia)

        where LN_tareas.id_tip_doc_dependiente is not null
        and LN_tareas.activo=1
        and LN_tipos_doc_carga_verif.quien_carga='C'
        AND INFORMES.informe_padre=@V_informe
 end




 if (upper(@V_accion)='TAREAS_INFORME')
 begin
   SELECT distinct LN_informe_design.idTipoInforme,
   LN_informe_design.duracion as duracion,
   LN_informe_design.orden as ordTarea,
   tareas.id_tipo_informe as id_tipo_tarea,    
   LN_tareas.idTarea_Padre as dependencia ,
   LN_tareas.idTarea as idTarea,
   LN_informe_design.dependency_tree,
   tareas.informe as tarea, tareas.informe_padre, tareas.estado_informe as estado_tarea, 
     case
        when tareas.estado_informe = 'I' then 'Ingresado'
        when tareas.estado_informe = 'A' then 'No calificado'
        when tareas.estado_informe = 'X' then 'Carga Comercial'
        when tareas.estado_informe = 'T' then 'Aceptado'
        when tareas.estado_informe = 'P' then 'En gestión'
        when tareas.estado_informe = 'W' then 'En espera'
        when tareas.estado_informe = 'M' then 'A Completar'
        when tareas.estado_informe = 'E' then 'En proceso'
        when tareas.estado_informe = 'F' then 'Finalizado'
        when tareas.estado_informe = 'K' then 'Aprobado'
        when tareas.estado_informe = 'R' then 'En revisión'
        when tareas.estado_informe = 'C' then 'Cancelado'
        when tareas.estado_informe = 'N' then 'Anulado'
       end as nombre_estado_tarea,
       upper(LN_tareas.nombre_tarea) as nombre_tipo_tarea,
     LN_demo.contraparte, LN_gestiones.gestion, padrones.nombre_persona, convert(varchar(max),tareas.historial_informe) as historial_informe,
     padrones.identificacion, padrones.identificador,
     identificadores.country_code, country.country_name,
     users.first_name, users.last_name, users.email, tareas.ingresado_por,
     convert(varchar(10), tareas.fecha_ingreso, 103) as fecha_ingreso,
     convert(varchar(10), tareas.fecha_aprobacion, 103) as fecha_aprobacion,
     convert(varchar(10), tareas.fecha_comprometida, 103) as fecha_comprometidaINF,
     convert(varchar(10), tareas.fecha_comprometida, 121) as fecha_comprometida_ymd,
     clientes.nombre_cliente,
     ln_contrapartes.servicio_contratado, productos.nombre_producto as servicio, ln_familias.nombre_familia as familia
     ,convert(varchar(10),ln_contrapartes.limite_carga_inicial,103) as limite_carga_inicial_dmy
     ,convert(varchar(10),ln_contrapartes.limite_carga_inicial,121) as limite_carga_inicial_ymd
     ,isnull(LN_demo.fecha_comprometida,getdate()-1) as fecha_comprometidaINF,
     datediff(day,getdate(),isnull(LN_demo.fecha_comprometida,getdate()-1)) as diffdiasINF,
     datediff(day,getdate(),isnull(LN_demo.fecha_publicacion,getdate()-1)) as diffpublicacionINF,
     tareas.fecha_comprometida as fecha_comprometidaTAR, 
     datediff(day,getdate(),isnull(tareas.fecha_comprometida,getdate()-1)) as diffdiasTAR,
     LN_demo.fecha_publicacion,isnull(LN_demo.visible,0) as publicado,
     isnull(LN_demo.integ_carga,0) as integ_carga,isnull(LN_demo.integ_rech,0) as integ_rech,isnull(LN_demo.integ_verif,0) as integ_verif,isnull(LN_demo.docs_ok,0) as docs_ok,
     tareas.asignado as inf_asignado,tareas.asignado as tar_asignado,
     USRINF.last_name + ' ' + USRINF.first_name  as informe_usuario_asignado,
     USRTAR.last_name + ' ' + USRTAR.first_name  as tarea_usuario_asignado,
     tareas.fecha_inicio ,
     tareas.prioridad as dedicacion,
     tareas.informe_padre as tarea_padre, tareas.pausa,
     tareas.ready_to_start_trigger_task as idTareaPadre,
     tareas.ready_to_start_date,
     tareas.ready_to_start,
     tareas.ready_to_start_user_id,
     '' as estadoTareaPadre,LN_Tareas.id_tip_doc_dependiente as id_tipo_doc_dependiente,ln_tareas.tipo_tarea, ln_tareas.perfil_usr_default as rol_tarea

   FROM informes tareas 
   inner join informes InfPadre on tareas.informe_padre = InfPadre.informe 
   left join clientes ON tareas.cliente = clientes.cliente
   left outer join users on tareas.ingresado_por = users.user_id
   left join LN_demo ON tareas.informe_padre = LN_demo.informe
   left join LN_contrapartes ON LN_demo.contraparte = LN_contrapartes.contraparte
   inner join padrones ON (ln_contrapartes.id_padron = padrones.id_padron)
   left join LN_gestiones ON (LN_contrapartes.contraparte = LN_gestiones.contraparte and ln_demo.gestion=LN_gestiones.gestion) 
   left join identificadores ON padrones.identificador = identificadores.identificador
   left join country ON identificadores.country_code = country.country_code
   left join productos on productos.producto = ln_contrapartes.servicio_contratado
   left join ln_contraparte_familias cf on cf.contraparte = ln_contrapartes.contraparte
   left join ln_familias on ln_familias.familia = cf.familia 
   left join  users USRINF on USRINF.user_id = tareas.asignado
   left join  users USRTAR on USRTAR.user_id = tareas.asignado
   left join LN_tareas on LN_tareas.id_tipo_informe_blue=tareas.id_tipo_informe 
   inner join LN_informe_design on (ln_tareas.idTarea = LN_informe_design.idElem and LN_informe_design.tipo_elem='T' and InfPadre.id_tipo_informe=LN_informe_design.idTipoInforme and LN_informe_design.activo=1)
   WHERE tareas.informe_padre = @V_informe
   ORDER BY LN_informe_design.orden ASC,tareas.informe ASC
  
 end


 if (@V_accion='tareas_informeOLD') 
 begin
   SELECT distinct 1 as etapa, tareas.informe as tarea, tareas.informe_padre, tareas.estado_informe as estado_tarea, tareas.id_tipo_informe as id_tipo_tarea, 
     case
        when tareas.estado_informe = 'I' then 'Ingresado'
        when tareas.estado_informe = 'A' then 'No calificado'
        when tareas.estado_informe = 'X' then 'Carga Comercial'
        when tareas.estado_informe = 'T' then 'Aceptado'
        when tareas.estado_informe = 'P' then 'En gestión'
        when tareas.estado_informe = 'W' then 'En espera'
        when tareas.estado_informe = 'M' then 'A Completar'
        when tareas.estado_informe = 'E' then 'En proceso'
        when tareas.estado_informe = 'F' then 'Finalizado'
        when tareas.estado_informe = 'K' then 'Aprobado'
        when tareas.estado_informe = 'R' then 'En revisión'
        when tareas.estado_informe = 'C' then 'Cancelado'
        when tareas.estado_informe = 'N' then 'Anulado'
       end as nombre_estado_tarea,


 

   /*tipos_informe.nombre_tipo_informe as nombre_tipo_tarea,*/

     /*tipos_informe.nombre_tipo_informe as nombre_tarea,*/
     upper(LN_tareas.nombre_tarea) as nombre_tipo_tarea,


     LN_demo.contraparte, LN_gestiones.gestion, padrones.nombre_persona, convert(varchar(max),tareas.historial_informe) as historial_informe,
     padrones.identificacion, padrones.identificador,
     identificadores.country_code, country.country_name,
     users.first_name, users.last_name, users.email, tareas.ingresado_por,
     convert(varchar(10), tareas.fecha_ingreso, 103) as fecha_ingreso,
     convert(varchar(10), tareas.fecha_aprobacion, 103) as fecha_aprobacion,
     convert(varchar(10), tareas.fecha_comprometida, 103) as fecha_comprometidaINF,
     convert(varchar(10), tareas.fecha_comprometida, 121) as fecha_comprometida_ymd,
     clientes.nombre_cliente,
     
     ln_contrapartes.servicio_contratado, productos.nombre_producto as servicio, ln_familias.nombre_familia as familia
     ,convert(varchar(10),ln_contrapartes.limite_carga_inicial,103) as limite_carga_inicial_dmy
     ,convert(varchar(10),ln_contrapartes.limite_carga_inicial,121) as limite_carga_inicial_ymd
     ,isnull(LN_demo.fecha_comprometida,getdate()-1) as fecha_comprometidaINF,
     datediff(day,getdate(),isnull(LN_demo.fecha_comprometida,getdate()-1)) as diffdiasINF,
     datediff(day,getdate(),isnull(LN_demo.fecha_publicacion,getdate()-1)) as diffpublicacionINF,
     tareas.fecha_comprometida as fecha_comprometidaTAR, 
     datediff(day,getdate(),isnull(tareas.fecha_comprometida,getdate()-1)) as diffdiasTAR,
     LN_demo.fecha_publicacion,isnull(LN_demo.visible,0) as publicado,
     isnull(LN_demo.integ_carga,0) as integ_carga,isnull(LN_demo.integ_rech,0) as integ_rech,isnull(LN_demo.integ_verif,0) as integ_verif,isnull(LN_demo.docs_ok,0) as docs_ok,
     tareas.asignado as inf_asignado,tareas.asignado as tar_asignado,
     USRINF.last_name + ' ' + USRINF.first_name  as informe_usuario_asignado,
     USRTAR.last_name + ' ' + USRTAR.first_name  as tarea_usuario_asignado,
     tareas.fecha_inicio ,
     tareas.prioridad as dedicacion,
     LN_tareas.duracion as duracion,
     /*LN_informe_design.duracion,*/
     tareas.informe_padre as tarea_padre, tareas.pausa,tareas.orden as ordTarea,

     tareas.ready_to_start_trigger_task as idTareaPadre,
     
     tareas.ready_to_start_date,
     tareas.ready_to_start,
     tareas.ready_to_start_user_id,
     '' as estadoTareaPadre,
     LN_tareas.idTarea_Padre as dependencia,
     LN_Tareas.id_tip_doc_dependiente as id_tipo_doc_dependiente 
     
   FROM informes tareas
   inner join tipos_informe on tareas.id_tipo_informe = tipos_informe.id_tipo_informe
   inner join tipos_informe as tipos_tarea on tareas.id_tipo_informe = tipos_tarea.id_tipo_informe
   left join clientes ON tareas.cliente = clientes.cliente
   left outer join users on tareas.ingresado_por = users.user_id
   left join LN_demo ON tareas.informe_padre = LN_demo.informe
   left join LN_contrapartes ON LN_demo.contraparte = LN_contrapartes.contraparte
   inner join padrones ON (LN_contrapartes.id_padron = padrones.id_padron)
   left join LN_gestiones ON (LN_contrapartes.contraparte = LN_gestiones.contraparte and ln_demo.gestion=LN_gestiones.gestion) 
   left join identificadores ON padrones.identificador = identificadores.identificador
   left join country ON identificadores.country_code = country.country_code
   left join productos on productos.producto = ln_contrapartes.servicio_contratado
   left join ln_contraparte_familias cf on cf.contraparte = ln_contrapartes.contraparte
   left join ln_familias on ln_familias.familia = cf.familia 
   left join  users USRINF on USRINF.user_id = tareas.asignado
   left join  users USRTAR on USRTAR.user_id = tareas.asignado
   left join LN_tareas on LN_tareas.id_tipo_informe_blue=tareas.id_tipo_informe
/* inner join LN_informe_design on (tareas.id_tipo_informe = LN_informe_design.idElem and LN_informe_design.tipo_elem='T')*/

   WHERE /*tareas.estado_informe IN ('P','M','E','W','F','K','R','I')
    and LN_gestiones.desde <= GETDATE() AND LN_gestiones.hasta >= GETDATE() 
    and LN_gestiones.vigente = 1
    and */
 tareas.informe_padre = @V_informe
   ORDER BY ordTarea ASC,tareas.informe ASC

   /*
    exec LN_Blue 'informes_panel',null,null
    exec LN_Blue 'tareas_informe',null,100603443
    */


 end


 IF( UPPER(@V_accion) = 'COMPONENTES_TAREAS' )
    BEGIN
        SELECT
            LN_componente.idComponente,
            LN_componente.nombre_componente,
            LN_componente.idTipoDoc_dependiente,
            LN_docs.doc_id,
            LN_componente.tipo_componente
        FROM informes AS Tareas
            INNER JOIN informes as INF ON INF.informe=Tareas.informe_padre
            INNER JOIN LN_demo ON LN_demo.informe=INF.informe
            INNER JOIN LN_informe_design ON (
                LN_informe_design.idTipoInforme=INF.id_tipo_informe 
                AND LN_informe_design.tipo_elem='C'
                AND LN_informe_design.activo=1
            )
            INNER JOIN LN_componente ON (
                LN_componente.idComponente=LN_informe_design.idElem
                AND LN_componente.activo=1
            )
            LEFT JOIN LN_docs ON (
                LN_docs.tipo_doc=LN_componente.idTipoDoc_dependiente
                AND LN_docs.contraparte=LN_demo.contraparte
                AND LN_docs.aplica=1
            )
        WHERE
            Tareas.informe=@V_informe
            AND Tareas.informe_padre IS NOT NULL
            AND LN_componente.idTarea_dependiente=Tareas.idTarea;
        --
        RETURN;
    END


END
GO

Used By

No items found