dbo.LN_Blue_UPDAGB

Description

Properties

Name Value
ANSI Nulls ON

True

Quoted Identifier ON

True

Encrypted

False

Execute As
Assembly

Parameters

30
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
@p_fecha_prox_llamado datetime 8
@p_IDarchivo int 4
@p_estado_archivo bit 1
@p_id_referencia varchar 100

SQL Script

Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
/* SP LN_BLUE_UPD */



CREATE OR ALTER PROCEDURE dbo.LN_Blue_UPDAGB
 @p_accion         varchar(50) = NULL, /*'ESTADO_ARCHIVO'*/
 @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,
    @p_fecha_prox_llamado datetime = null,
    @p_IDarchivo int = null,
    @p_estado_archivo bit = 1, 
 @p_id_referencia varchar(100) = null 
 

 
AS
BEGIN
 SET NOCOUNT ON;
/*
exec LN_Blue 'tareas_informe',null,100603443
exec LN_Blue2 'tareas_informe',null,100603443
exec ln_blue_UPD 'UPD_informe',198672,100615876,793639331,NULL,NULL,1645350,2,'E',793639331,NULL,NULL,2254875,NULL,NULL,'2023-03-03 12:02:00',NULL,NULL,'spa','2023-02-28 00:00:00'
exec ln_blue2 'UPD_informe',198672,100615876,793639331,NULL,NULL,1645350,2,'E',793639331,NULL,NULL,2254875,NULL,NULL,'2023-03-03 12:02:00',NULL,NULL,'spa','2023-02-28 00:00:00'

exec ln_blue_UPD 'UPD_TAREA',198672,100615878,793639331,NULL,NULL,400,NULL,'E',793639331,NULL,87455253,2254875,NULL,NULL,'2023-02-23 12:02:00',NULL,NULL,NULL,NULL

exec ln_blue2 'UPD_TAREA',198672,100615878,793639331,NULL,NULL,400,NULL,'E',793639331,NULL,87455253,2254875,NULL,NULL,'2023-02-23 12:02:00',NULL,NULL,NULL,NULL

*/


--LN_Blue_UPDAGB 'PAUSA_TAREA',201596,100643955,793639331,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2254875,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,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_id_referencia  varchar(100) = @p_id_referencia

 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)


    IF (@V_accion = 'UPD_FECHA_PROX_LLAMADO' )
        BEGIN
            UPDATE informes SET proximo_llamado=@p_fecha_prox_llamado WHERE informe=@V_informe;
            RETURN;
        END


    IF (@V_accion = 'UPD_FECHA_COMPROMETIDA_TAREA' )
        BEGIN
            UPDATE informes SET fecha_comprometida=@V_fecha_comprometida WHERE informe=@V_informe;
            --
            RETURN;
        END


 if (@V_accion = 'UPD_HIST_INFORME')
 BEGIN
  --update informes set historial_informe = convert(varchar(max),historial_informe) +  '<br>' + @V_notas_informe where informe = @V_informe and informe_padre is null 
  /*
   --
   update informes set historial_informe = convert(varchar(max),historial_informe) +  '<br>' + @V_notas_informe where informe = @V_informe 
   --
   Se cambio el 27/03/2024 por */

  update informes set objeto_informe = convert(varchar(max),objeto_informe) +  '<br>' + @V_notas_informe where informe = @V_informe 

 END

 if (@V_accion = 'UPD_INFORME_OBS')
 BEGIN
  update ln_contrapartes set datos_comerciales = convert(varchar(max),datos_comerciales) +  char(13) + char(10) + @V_notas_informe where contraparte = @V_contraparte
        update informes set notificado_fecha = getdate(),observado_por=@V_user_id where  informe = @V_informe

    END

 if (upper(@V_accion) = 'ESTADO_ARCHIVO')
 begin
   update archivos_informe set visible=@p_estado_archivo where  informe = @V_informe and archivo=@p_IDarchivo and @p_IDarchivo is not null
   
 end


 if (@V_accion = 'archivo_informe')
 begin
   insert into archivos_informe (path_archivo,fecha_subido,subido_por,mime_type,informe)
   values (@V_path_archivo,getdate(),@V_user_id,@V_extension_archivo,@V_informe)
   
 end

 if (@V_accion = 'list_archivos')
 begin
 select archivos_informe.*,users.last_name,users.first_name from archivos_informe inner join users on archivos_informe.subido_por=users.user_id where informe = @V_informe
 end

 /* Dada una contraparte, producto y los datos del informe da de alta el informe padre y las subtareas de producción */
 if (@V_accion = 'UPD_informe') begin 

   if (@V_id_referencia is not null) 
   begin
   update LN_contrapartes set id_referencia = @V_id_referencia where contraparte = @V_contraparte
   end 
   DECLARE @V_idioma1 smallint = NULL
   DECLARE @V_filial1 smallint = NULL

   select @V_idioma1 = idioma from idiomas where codigo_iso = @V_idioma_iso
   select @V_filial1 = filial from filiales where country_code = 'AR'

   select @cliente = LN_contrapartes.cliente,
     @identificador = LEFT(padrones.identificador,10),
     @abreviatura = LEFT(identificadores.abreviatura,10),
     @numero = LEFT(padrones.identificacion,50),
     @nombre_persona = LEFT(padrones.nombre_persona,200),
     @nombre = LEFT(LN_contrapartes.nombre_contacto,50),
     @email = LEFT(LN_contrapartes.email_contacto,50),
     @telefono = LEFT(LN_contrapartes.telefono_contacto,30),
     @nombre_cliente = LEFT(clientes.nombre_cliente, 200)
   from LN_contrapartes 
   inner join padrones on LN_contrapartes.id_padron = padrones.id_padron
   inner join identificadores on padrones.identificador = identificadores.identificador
   inner join clientes on LN_contrapartes.cliente = clientes.cliente
   where LN_contrapartes.contraparte = @V_contraparte

   select @nombre_tipo_informe = nombre_tipo_informe + ' (' + tipo_informe + ' ' + version + ')',
     @grupo_informes = grupo_informes
   from tipos_informe
   where id_tipo_informe = @V_id_tipo_informe

   set @id=@V_informe 

   declare @prioridad int = null 
   declare @informe_padre int = null 
   select @prioridad = prioridad, @informe_padre = informe_padre from informes where informe = @id and idreg=@id 

   if (@id IS NOT NULL) begin
   
    DECLARE @hist1 varchar(max) = @preffix + 'Actualización del informe.'

    if (@V_estado_informe = 'A' or @V_estado_informe = 'T' or @V_estado_informe = 'P') begin     

     select @nombre_asignado = isnull(first_name,'') + ' ' + isnull(last_name, '')
     from users where user_id = @V_asignado

     SET @hist1 = @hist1 + CHAR(13) + CHAR(10) + @preffix + 'Asignación del informe a ' + @nombre_asignado
    end

    if (@V_estado_informe = 'T' or @V_estado_informe = 'P') begin
     SET @hist1 = @hist1 + CHAR(13) + CHAR(10) + @preffix + 'Aceptación del informe.'
    end

    if (@V_estado_informe = 'P') begin
     SET @hist1 = @hist1 + CHAR(13) + CHAR(10) + @preffix + 'Informe puesto en gestión.'
    end
    
    DECLARE @fecha_limite1       datetime = dateadd(second,-1,dateadd(day,1,@V_fecha_limite_doc))
    DECLARE @fecha_comprometida1 datetime = dateadd(second,-1,dateadd(day,1,@V_fecha_comprometida))

    UPDATE informes SET /*informe=@id, cliente=@cliente,*/ 
                    /*identificador=@identificador, numero=@numero, */
                    
                    /*fecha_ingreso=@ahora, */
                    
                    /*id_tipo_informe=@V_id_tipo_informe,*/

     objeto_informe='INFORME GENERADO A TRAVES DE BACKEND - CARGA DE INFORMES '  + CHAR(13) + CHAR(10) + isnull(@V_objeto_informe, ''), 
     /*historial_informe= convert(varchar(max),historial_informe) +  CHAR(13) + CHAR(10) +   @hist1,*/ 
                    /*
                                        agb
                    
                                        ingresado_por=@V_ingresado_por, 
                                        */

     -- 24/04/2024: si viene el campo ingresado_por no vacio, lo actualiza. Si esta vacío le deja lo que tenía
     ingresado_por=iif(isnull(@V_ingresado_por,'') != '',@V_ingresado_por,ingresado_por),

                    /*idioma=@V_idioma1, filial=@V_filial1, prioridad=@V_prioridad, datamanager=@V_datamanager,*/

     asignado=iif(@V_estado_informe = 'A' OR @V_estado_informe = 'T' OR @V_estado_informe = 'P', @V_asignado, NULL), estado_informe=@V_estado_informe, 

    
                    fecha_asignado=iif(@V_estado_informe = 'A' OR @V_estado_informe = 'T' OR @V_estado_informe = 'P', @ahora, NULL),
     fecha_aceptacion=iif(@V_estado_informe = 'T' OR @V_estado_informe = 'P', @ahora, NULL),

/* excepcion=0, excepcion_prod=0, notificar_cliente=0, precio=@precio, moneda=@moneda,*/



     /*fecha_inicio = @V_fecha_inicio,*/
/* fecha_inicio = iif(@V_estado_informe in ('A','P','E'),@V_fecha_inicio,fecha_inicio),
fecha_iniciado = iif(@V_estado_informe in ('A','P','E'),@V_fecha_inicio,fecha_inicio),
*/

     fecha_inicio = iif(@V_estado_informe in ('P','E'),@V_fecha_inicio,fecha_inicio),

     /*fecha_iniciado = iif(@V_estado_informe in ('P','E'),@V_fecha_inicio,fecha_inicio),*/
                    
                    fecha_iniciado = iif(@V_estado_informe in ('P','E') and fecha_iniciado is null,@V_fecha_inicio,fecha_iniciado),


     fecha_entregado= iif(@V_estado_informe in ('F','K','N','C'),GETDATE(),fecha_entregado),
     fecha_aprobacion= iif(@V_estado_informe in ('F','K','N','C'),GETDATE(),fecha_aprobacion),
                   
                    aprobado_por = iif(@V_estado_informe in ('F','K','N','C'),@p_user_id,aprobado_por),

     /* 
      nombre_contacto_1=@nombre, 
      email_contacto_1=@email, 
      telefono_contacto_1=@telefono,
      fecha_limite_doc=@fecha_limite1,
                         */

     /*fecha_comprometida=@fecha_comprometida1*/
     fecha_comprometida=@V_fecha_comprometida,
                    
                    modified = getdate(),
                    modified_by = @V_user_id

    WHERE informe = @id and idreg=@id

    if (@informe_padre is null and isnull(@prioridad,0) != isnull(@p_prioridad,0)) 
    begin
     update informes
        set prioridad = @p_prioridad
      WHERE (informe = @id and idreg=@id) or informe_padre = @id 
    end 

       DECLARE @GestionUPD int = null
   
                /*AVERIGUAMOS LOS DATOS DE INFORME PADRE Y GESTION */
                select distinct @GestionUPD=ln_demo.gestion
                from ln_demo INNER JOIN ln_contrapartes on ln_demo.contraparte=ln_contrapartes.contraparte
                where LN_DEMO.informe  =@id 



                if(@V_estado_informe in ('F','K','N','C'))
                begin
                    update ln_demo set fecha_publicacion=getdate(),visible=1,fecha_hora_pub=getdate() where informe = @id and gestion = @GestionUPD
                end

    if(@V_estado_informe in ('P','W','E'))
                begin
                    update ln_demo set fecha_publicacion=null,visible=0,fecha_hora_pub=null where informe = @id and gestion = @GestionUPD
                end




    SET @V_informe = @id

     /* Actualización de la tabla LED para vincular el informe al producto */
    if (@V_producto_led > 0) begin

     EXEC LN_demo_ 'UPDATE',@V_contraparte,@cliente,@V_producto_led,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,@id
    end



    SELECT @id AS informe

   end


  


 end
 if (upper(@V_accion) = 'CIERRE_TOTAL') 
 begin
   DECLARE @servicio_contratadoCierre INT = NULL
   DECLARE @InfPadreCierre int = null
   DECLARE @GestionCierre int = null
   DECLARE @ClienteCierre int = null
   
   /*AVERIGUAMOS LOS DATOS DE INFORME PADRE Y GESTION */
   select distinct @servicio_contratadoCierre= ln_contrapartes.servicio_contratado,
   @InfPadreCierre= informes.informe_padre,
   @GestionCierre=ln_demo.gestion,
   @ClienteCierre=informes.cliente  
   from informes 
   inner join ln_demo on informes.informe_padre=ln_demo.informe 
   inner join ln_contrapartes on ln_demo.contraparte=ln_contrapartes.contraparte
   where informes.informe  = @V_informe /*and estado_informe not in ('N','C','K','X')*/
   
   set @id=@V_informe 

   if (@id IS NOT NULL) begin

    /*DECLARE @histT varchar(max) = @preffix + 'Creación de la tarea.'*/
    DECLARE @histCierre varchar(max) = @preffix 

    if (@V_estado_informe = 'A' or @V_estado_informe = 'T' or @V_estado_informe = 'P') begin     

     select @nombre_asignado = isnull(first_name,'') + ' ' + isnull(last_name, '')
     from users where user_id = @V_asignado

     SET @hist1 = @histCierre + CHAR(13) + CHAR(10) + @preffix + 'Asignación de la tarea a ' + @nombre_asignado
    end

    if (@V_estado_informe = 'T' or @V_estado_informe = 'P') begin
     SET @hist1 = @histCierre + CHAR(13) + CHAR(10) + @preffix + 'Aceptación de la tarea.'
    end

    if (@V_estado_informe = 'P') begin
     SET @hist1 = @histCierre + CHAR(13) + CHAR(10) + @preffix + 'Tarea puesta en gestión.'
    end

    if (@V_estado_informe = 'E') begin
     SET @hist1 = @histCierre + CHAR(13) + CHAR(10) + @preffix + 'Tarea puesta en proceso.'
    end
    if (@V_estado_informe = 'N') begin
     SET @hist1 = @histCierre + CHAR(13) + CHAR(10) + @preffix + 'Tarea anulada.'
    end

    if (@V_estado_informe = 'W') begin
     SET @hist1 = @histCierre + CHAR(13) + CHAR(10) + @preffix + 'Tarea puesta en pausa.'
    end
    
    if (@V_estado_informe = 'F') begin
     SET @hist1 = @histCierre + CHAR(13) + CHAR(10) + @preffix + 'Tarea finalizada.'
    end

    if (@V_estado_informe = 'M') begin
     SET @hist1 = @histCierre + CHAR(13) + CHAR(10) + @preffix + 'Tarea a completar.'
    end

    if (@V_estado_informe = 'K') begin
     SET @hist1 = @histCierre + CHAR(13) + CHAR(10) + @preffix + 'Tarea aprobada.'
    end

    /*ACTUALIZA LA TAREA */
    UPDATE informes SET estado_informe=@V_estado_informe,fecha_aprobacion=getdate(),fecha_entregado=getdate(), aprobado_por=@V_user_id
                    WHERE informe = @id and idreg=@id

    SET @V_informe = @id

    /*INSERTA LOG DE TAREA */
    insert into informes_log (informe,horario,user_id,operacion) values (@id,getdate(),@V_user_id,iif(@V_estado_informe in ('P','E'),'I',iif(@V_estado_informe in ('W','M'),'P',iif(@V_estado_informe in ('F','K','C','N'),'F','F'))))

    /* TRAZABILIDAD DEL UPDATE DE TAREAS */
    
    --exec insertar_trazabilidad 'ACTUALIZACION DE TAREAS',@ClienteCierre,'UPDTASKS','BACK',@V_contraparte,@V_user_id,NULL,@servicio_contratadoCierre
    

   /*ACTUALIZAMOS TODAS LAS TAREAS Y EL INFORME QUE HAYA QUE APROBAR */
   if (@InfPadreCierre is not null )
   begin
    update informes set estado_informe='K',fecha_aprobacion=getdate(),fecha_entregado=getdate(), aprobado_por=@V_user_id
    from informes  where (informes.informe = @InfPadreCierre or informe_padre = @InfPadreCierre ) and estado_informe not in ('N','C','K','X')

    
    /*PUBLICAMOS EL INFORME */
    UPDATE ln_demo set visible=1,fecha_publicacion=getdate(),fecha_hora_pub=getdate() where contraparte=@V_contraparte AND GESTION = @GestionCierre
    
    --exec insertar_trazabilidad 'CIERRE Y PUBLICACION',@ClienteCierre,'CIERREINFORME','BACK',@V_contraparte,@V_user_id,NULL,@servicio_contratadoCierre
    
   end
   SELECT @id AS informe

   end
 end

 if (upper(@V_accion) = 'CANCELA_INFORME') 
 begin
   DECLARE @servicio_contratadoCie INT = NULL
   DECLARE @InfPadreCie int = null
   DECLARE @GestionCie int = null
   DECLARE @ClienteCie int = null
   
   /*AVERIGUAMOS LOS DATOS DE INFORME PADRE Y GESTION */
   select distinct @servicio_contratadoCierre= ln_contrapartes.servicio_contratado,
   @InfPadreCie= informes.informe_padre,
   @GestionCie=ln_demo.gestion,
   @ClienteCie=informes.cliente  
   from informes 
   inner join ln_demo on informes.informe=ln_demo.informe 
   inner join ln_contrapartes on ln_demo.contraparte=ln_contrapartes.contraparte
   where informes.informe  = @V_informe 
            
   
   set @id=@V_informe 

   if (@id IS NOT NULL) begin

    /*DECLARE @histT varchar(max) = @preffix + 'Creación de la tarea.'*/
    DECLARE @histCie varchar(max) = @preffix 

    if (@V_estado_informe = 'A' or @V_estado_informe = 'T' or @V_estado_informe = 'P') begin     

     select @nombre_asignado = isnull(first_name,'') + ' ' + isnull(last_name, '')
     from users where user_id = @V_asignado

     SET @hist1 = @histCie + CHAR(13) + CHAR(10) + @preffix + 'Asignación de la tarea a ' + @nombre_asignado
    end

    if (@V_estado_informe = 'T' or @V_estado_informe = 'P') begin
     SET @hist1 = @histCie + CHAR(13) + CHAR(10) + @preffix + 'Aceptación de la tarea.'
    end

    if (@V_estado_informe = 'P') begin
     SET @hist1 = @histCie + CHAR(13) + CHAR(10) + @preffix + 'Tarea puesta en gestión.'
    end

    if (@V_estado_informe = 'E') begin
     SET @hist1 = @histCie + CHAR(13) + CHAR(10) + @preffix + 'Tarea puesta en proceso.'
    end
    if (@V_estado_informe = 'N') begin
     SET @hist1 = @histCie + CHAR(13) + CHAR(10) + @preffix + 'Tarea anulada.'
    end
    if (@V_estado_informe = 'C') begin
     SET @hist1 = @histCie + CHAR(13) + CHAR(10) + @preffix + 'Tarea cancelada.'
    end
    if (@V_estado_informe = 'W') begin
     SET @hist1 = @histCie + CHAR(13) + CHAR(10) + @preffix + 'Tarea puesta en pausa.'
    end
    
    if (@V_estado_informe = 'F') begin
     SET @hist1 = @histCie + CHAR(13) + CHAR(10) + @preffix + 'Tarea finalizada.'
    end

    if (@V_estado_informe = 'M') begin
     SET @hist1 = @histCie + CHAR(13) + CHAR(10) + @preffix + 'Tarea a completar.'
    end

    if (@V_estado_informe = 'K') begin
     SET @hist1 = @histCie + CHAR(13) + CHAR(10) + @preffix + 'Tarea aprobada.'
    end

    /*ACTUALIZA EL INFORME */
                UPDATE informes SET estado_informe=@V_estado_informe,fecha_aprobacion=getdate(),fecha_entregado=getdate(), aprobado_por=@V_user_id
                WHERE informe = @V_informe
    /*SET @V_informe = @id*/

    /*INSERTA LOG DE TAREA */
    insert into informes_log (informe,horario,user_id,operacion) values (@V_informe,getdate(),@V_user_id,iif(@V_estado_informe in ('P','E'),'I',iif(@V_estado_informe in ('W','M'),'P',iif(@V_estado_informe in ('F','K','C','N'),'F','F'))))

       /*ACTUALIZAMOS TODAS LAS TAREAS Y EL INFORME QUE HAYA QUE APROBAR */
    update informes set estado_informe='N',fecha_aprobacion=getdate(),fecha_entregado=getdate(), aprobado_por=@V_user_id
    from informes  where (informe_padre = @V_informe ) 

    /*PUBLICAMOS EL INFORME */
    UPDATE ln_demo set visible=1,fecha_publicacion=getdate(),fecha_hora_pub=getdate() where contraparte=@V_contraparte AND GESTION = @GestionCie
   SELECT @id AS informe

   end
 end
 
 if (upper(@V_accion) = 'UPD_INICIO_TAREA') 
 begin
        UPDATE informes SET fecha_iniciado = @V_fecha_inicio, fecha_inicio = @V_fecha_inicio, fecha_comprometida = @V_fecha_comprometida
  WHERE informe = @V_informe and idreg=@V_informe
    end

 if (upper(@V_accion) = 'UPD_INCIADO') 
 begin
        UPDATE informes SET fecha_iniciado=  GETDATE() WHERE informe = @V_informe and idreg=@V_informe
    end

 if (upper(@V_accion) = 'UPD_ESTADO') 
 begin
 /* FALTA ANALIZAR SI ES LA PRIMERA O LA ULTIMA PARA ACTUAR CONTRA EL INFORME */
    DECLARE @histupd varchar(max) = @preffix 

    if (@V_estado_informe = 'P') begin
     SET @hist1 = @histupd + CHAR(13) + CHAR(10) + @preffix + 'Tarea puesta en gestión.'
    end

    if (@V_estado_informe = 'E') begin
     SET @hist1 = @histupd + CHAR(13) + CHAR(10) + @preffix + 'Tarea puesta en proceso.'
    end
    if (@V_estado_informe = 'N') begin
     SET @hist1 = @histupd + CHAR(13) + CHAR(10) + @preffix + 'Tarea anulada.'
    end

    if (@V_estado_informe = 'W') begin
     SET @hist1 = @histupd + CHAR(13) + CHAR(10) + @preffix + 'Tarea puesta en pausa.'
    end
    
    if (@V_estado_informe = 'F') begin
     SET @hist1 = @histupd + CHAR(13) + CHAR(10) + @preffix + 'Tarea finalizada.'
    end

    if (@V_estado_informe = 'M') begin
     SET @hist1 = @histupd + CHAR(13) + CHAR(10) + @preffix + 'Tarea a completar.'
    end

    if (@V_estado_informe = 'K') begin
     SET @hist1 = @histupd + CHAR(13) + CHAR(10) + @preffix + 'Tarea aprobada.'
    end

   UPDATE informes SET 
     /*historial_informe=convert(varchar(max),historial_informe) + CHAR(13) + CHAR(10) + @hist1, */
     fecha_entregado= iif(@V_estado_informe in ('F','K'),GETDATE(),fecha_entregado),
     fecha_aprobacion= iif(@V_estado_informe in ('F','K'),GETDATE(),fecha_aprobacion),
     estado_informe=@V_estado_informe 
    WHERE informe = @V_informe and idreg=@V_informe

        /* READY TO START analizar dependencias */
        
     if (@V_estado_informe in ('K','F','N','A','E')) /* SOLO SI LA TAREA ES APROBADA o FINALIZADO o ANULADA o EN PROCESO o NO CALIFICADO*/
     
     begin


      declare @triggerPadreDE int = null
      declare @dependencylistDE varchar(150) = null
      declare @InfPadreDE int = null
      declare @idTipoIformeDE int = null
      declare @idTareaDE int = null
      declare @estadoTareaDE varchar(1) = null

      select @idTipoIformeDE=INFP.id_tipo_informe,@idTareaDE=informes.idTarea,@estadoTareaDE=informes.estado_informe,@InfPadreDE=informes.informe_padre 
      from informes inner join informes INFP on informes.informe_padre= INFP.informe where informes.informe =  @V_informe


      select LN_informe_design.idElem,informes.estado_informe,informes.ready_to_start,informes.informe,LN_informe_design.dependency_tree,
      (select count(*) from informes where informe_padre = @InfPadreDE and estado_informe not in ('K','N') and idTarea in (select item from dbo.DelimitedSplit8K(LN_informe_design.dependency_tree,','))) AS pend_aprobar
      from LN_informe_design inner join informes on ln_informe_design.idElem = informes.idTarea
      where idTipoInforme=@idTipoIformeDE and LN_informe_design.tipo_elem='T' and LN_informe_design.activo=1
      and informes.informe_padre = @InfPadreDE
      and idelem in (select distinct LN_informe_design.idElem
      from informes
      inner join informes iPPAL on informes.informe_padre = iPPAL.informe
      inner join LN_informe_design on (LN_informe_design.idTipoInforme=iPPAL.id_tipo_informe and LN_informe_design.tipo_elem='T' and LN_informe_design.activo=1)
      cross apply dbo.DelimitedSplit8K(LN_informe_design.dependency_tree, ',') LISTOSPARAINICIAR 
      where informes.informe = @V_informe and LISTOSPARAINICIAR.Item = informes.idtarea)

     end
    /*READY TO START  analizar dependencias */

 end
 
 /* Dada una contraparte, producto y los datos del informe da de alta el informe padre y las subtareas de producción */
 if (upper(@V_accion) = 'UPD_TAREA2') 
 begin
   DECLARE @V_idiomaTD smallint = NULL
   DECLARE @V_filialTD smallint = NULL
   DECLARE @servicio_contratadoD INT = NULL

   select @V_idioma1 = idioma from idiomas where codigo_iso = @V_idioma_iso
   select @V_filial1 = filial from filiales where country_code = 'AR'

   select @cliente = LN_contrapartes.cliente,
     @identificador = LEFT(padrones.identificador,10),
     @abreviatura = LEFT(identificadores.abreviatura,10),
     @numero = LEFT(padrones.identificacion,50),
     @nombre_persona = LEFT(padrones.nombre_persona,200),
     @nombre = LEFT(LN_contrapartes.nombre_contacto,50),
     @email = LEFT(LN_contrapartes.email_contacto,50),
     @telefono = LEFT(LN_contrapartes.telefono_contacto,30),
     @nombre_cliente = LEFT(clientes.nombre_cliente, 200),
     @servicio_contratadoD= LN_contrapartes.servicio_contratado 
   from LN_contrapartes 
   inner join padrones on LN_contrapartes.id_padron = padrones.id_padron
   inner join identificadores on padrones.identificador = identificadores.identificador
   inner join clientes on LN_contrapartes.cliente = clientes.cliente
   where LN_contrapartes.contraparte = @V_contraparte

   select @nombre_tipo_informe = nombre_tipo_informe + ' (' + tipo_informe + ' ' + version + ')',
     @grupo_informes = grupo_informes,@V_id_tipo_informe=id_tipo_informe 
   from tipos_informe where id_tipo_informe  in (SELECT id_tipo_informe FROM informes where informe = @V_informe)
   
   set @id=@V_informe 

   if (@id IS NOT NULL) begin

    /*DECLARE @histT varchar(max) = @preffix + 'Creación de la tarea.'*/
    DECLARE @histTD varchar(max) = @preffix 

    if (@V_estado_informe = 'A' or @V_estado_informe = 'T' or @V_estado_informe = 'P') begin     

     select @nombre_asignado = isnull(first_name,'') + ' ' + isnull(last_name, '')
     from users where user_id = @V_asignado

     SET @hist1 = @histTD + CHAR(13) + CHAR(10) + @preffix + 'Asignación de la tarea a ' + @nombre_asignado
    end

    if (@V_estado_informe = 'T' or @V_estado_informe = 'P') begin
     SET @hist1 = @histTD + CHAR(13) + CHAR(10) + @preffix + 'Aceptación de la tarea.'
    end

    if (@V_estado_informe = 'P') begin
     SET @hist1 = @histTD + CHAR(13) + CHAR(10) + @preffix + 'Tarea puesta en gestión.'
    end

    if (@V_estado_informe = 'E') begin
     SET @hist1 = @histTD + CHAR(13) + CHAR(10) + @preffix + 'Tarea puesta en proceso.'
    end
    if (@V_estado_informe = 'N') begin
     SET @hist1 = @histTD + CHAR(13) + CHAR(10) + @preffix + 'Tarea anulada.'
    end

    if (@V_estado_informe = 'W') begin
     SET @hist1 = @histTD + CHAR(13) + CHAR(10) + @preffix + 'Tarea puesta en pausa.'
    end
    
    if (@V_estado_informe = 'F') begin
     SET @hist1 = @histTD + CHAR(13) + CHAR(10) + @preffix + 'Tarea finalizada.'
    end

    if (@V_estado_informe = 'M') begin
     SET @hist1 = @histTD + CHAR(13) + CHAR(10) + @preffix + 'Tarea a completar.'
    end

    if (@V_estado_informe = 'K') begin
     SET @hist1 = @histTD + CHAR(13) + CHAR(10) + @preffix + 'Tarea aprobada.'
    end

    DECLARE @fecha_limiteTD       datetime = dateadd(second,-1,dateadd(day,1,@V_fecha_limite_doc))
    DECLARE @fecha_comprometidaTD datetime = dateadd(second,-1,dateadd(day,1,@V_fecha_comprometida))

    set @fecha_comprometidaTD = @V_fecha_comprometida



    UPDATE informes SET prioridad=@V_prioridad, asignado=@V_asignado, 
     estado_informe=@V_estado_informe, 
     
     fecha_asignado=iif(asignado != @V_asignado, @ahora, fecha_asignado),
     fecha_aceptacion=iif(@V_estado_informe = 'T' OR @V_estado_informe = 'P', @ahora, fecha_aceptacion),
     fecha_inicio = iif(@V_estado_informe in ('A','P','E'),@V_fecha_inicio,fecha_inicio),
     fecha_iniciado = iif(@V_estado_informe in ('A','P','E'),@V_fecha_inicio,fecha_inicio),
     /*fecha_entregado= iif(@V_estado_informe in ('F','K'),GETDATE(),fecha_entregado),*/
     /*fecha_aprobacion= iif(@V_estado_informe in ('F','K'),GETDATE(),fecha_aprobacion),*/
                    fecha_entregado= iif(@V_estado_informe in ('F','K','N','C'),GETDATE(),fecha_entregado),
                    fecha_aprobacion= iif(@V_estado_informe in ('F','K','N','C'),GETDATE(),fecha_aprobacion),
                    aprobado_por = iif(@V_estado_informe in ('F','K','N','C'),@p_user_id,aprobado_por),
                    fecha_comprometida=@fecha_comprometidaTD

    WHERE informe = @id and idreg=@id
    SET @V_informe = @id


    



/*
AGB UPD LOG INFORMES
*/

    insert into informes_log (informe,horario,user_id,operacion)
    values (@id,getdate(),@V_user_id,iif(@V_estado_informe in ('P','E'),'I',iif(@V_estado_informe in ('W','M'),'P',iif(@V_estado_informe in ('F','K','C','N'),'F','F'))))


    /* TRAZABILIDAD DEL UPDATE DE TAREAS */
    /*exec insertar_trazabilidad 'ACTUALIZACION DE TAREAS',@cliente,'UPDTASKS','BACK',@V_contraparte,@V_user_id,NULL,@servicio_contratadoD*/

    /* READY TO START analizar dependencias */
    
     declare @triggerPadreD int = null
     declare @dependencylistD varchar(150) = null
     declare @InfPadre int = null
     declare @idTipoIforme int = null
     declare @idTarea int = null
     declare @estadoTarea varchar(1) = null


     if (@V_estado_informe in ('K','F','N')) /* SOLO SI LA TAREA ES APROBADA O ANULADA */
     begin



      select @idTipoIforme=INFP.id_tipo_informe,@idTarea=informes.idTarea,@estadoTarea=informes.estado_informe,@InfPadre=informes.informe_padre 
      from informes inner join informes INFP on informes.informe_padre= INFP.informe where informes.informe =  @V_informe

     

   -- EXEC LN_Blue_UPD 'UPD_TAREA2','199109','100621941','422946826',NULL,NULL,'4071729',NULL,'K','422946826',NULL,'15342812','2254875',NULL,NULL,'2023-03-13 11:01:00',nULL,NULL,NULL,'2023-03-13 11:00:00'

      select LN_informe_design.idElem,informes.estado_informe,informes.ready_to_start,informes.informe,LN_informe_design.dependency_tree,
      (select count(*) from informes where informe_padre = @InfPadre and estado_informe not in ('K','N') and idTarea in (select item from dbo.DelimitedSplit8K(LN_informe_design.dependency_tree,','))) AS pend_aprobar
      from LN_informe_design inner join informes on ln_informe_design.idElem = informes.idTarea
      where idTipoInforme=@idTipoIforme and LN_informe_design.tipo_elem='T' and LN_informe_design.activo=1
      and informes.informe_padre = @InfPadre
      and idelem in (select distinct LN_informe_design.idElem
      from informes
      inner join informes iPPAL on informes.informe_padre = iPPAL.informe
      inner join LN_informe_design on (LN_informe_design.idTipoInforme=iPPAL.id_tipo_informe and LN_informe_design.tipo_elem='T' and LN_informe_design.activo=1)
      cross apply dbo.DelimitedSplit8K(LN_informe_design.dependency_tree, ',') LISTOSPARAINICIAR 
      where informes.informe = @V_informe and LISTOSPARAINICIAR.Item = informes.idtarea)

     end


     if (@V_estado_informe in ('A','E')) /* SOLO SI LA TAREA ES NO CALIFICADA o EN PROCESO */
     begin


  

      select @idTipoIforme=INFP.id_tipo_informe,@idTarea=informes.idTarea,@estadoTarea=informes.estado_informe,@InfPadre=informes.informe_padre 
      from informes inner join informes INFP on informes.informe_padre= INFP.informe where informes.informe =  @V_informe

      



      select LN_informe_design.idElem,informes.estado_informe,informes.ready_to_start,informes.informe,LN_informe_design.dependency_tree,
      (select count(*) from informes where informe_padre = @InfPadre and idTarea in (select item from dbo.DelimitedSplit8K(LN_informe_design.dependency_tree,','))) AS pend_aprobar
      from LN_informe_design inner join informes on ln_informe_design.idElem = informes.idTarea
      where idTipoInforme=@idTipoIforme and LN_informe_design.tipo_elem='T' and LN_informe_design.activo=1
      and informes.informe_padre = @InfPadre
      and idelem in (select distinct LN_informe_design.idElem
      from informes
      inner join informes iPPAL on informes.informe_padre = iPPAL.informe
      inner join LN_informe_design on (LN_informe_design.idTipoInforme=iPPAL.id_tipo_informe and LN_informe_design.tipo_elem='T' and LN_informe_design.activo=1)
      cross apply dbo.DelimitedSplit8K(LN_informe_design.dependency_tree, ',') LISTOSPARAINICIAR 
      where informes.informe = @V_informe and LISTOSPARAINICIAR.Item = informes.idtarea)

     end


    /*READY TO START  analizar dependencias */
    /*SELECT @id AS informe*/

   end
 end



 /* Dada una contraparte, producto y los datos del informe da de alta el informe padre y las subtareas de producción */
 if (upper(@V_accion) = 'UPD_TAREA') 
 begin --100621941
   DECLARE @V_idiomaT smallint = NULL
   DECLARE @V_filialT smallint = NULL
   DECLARE @servicio_contratado INT = NULL

   select @V_idioma1 = idioma from idiomas where codigo_iso = @V_idioma_iso
   select @V_filial1 = filial from filiales where country_code = 'AR'

   select @cliente = LN_contrapartes.cliente,
     @identificador = LEFT(padrones.identificador,10),
     @abreviatura = LEFT(identificadores.abreviatura,10),
     @numero = LEFT(padrones.identificacion,50),
     @nombre_persona = LEFT(padrones.nombre_persona,200),
     @nombre = LEFT(LN_contrapartes.nombre_contacto,50),
     @email = LEFT(LN_contrapartes.email_contacto,50),
     @telefono = LEFT(LN_contrapartes.telefono_contacto,30),
     @nombre_cliente = LEFT(clientes.nombre_cliente, 200),
     @servicio_contratado= LN_contrapartes.servicio_contratado 
   from LN_contrapartes 
   inner join padrones on LN_contrapartes.id_padron = padrones.id_padron
   inner join identificadores on padrones.identificador = identificadores.identificador
   inner join clientes on LN_contrapartes.cliente = clientes.cliente
   where LN_contrapartes.contraparte = @V_contraparte

   select @nombre_tipo_informe = nombre_tipo_informe + ' (' + tipo_informe + ' ' + version + ')',
     @grupo_informes = grupo_informes,@V_id_tipo_informe=id_tipo_informe 
   from tipos_informe where id_tipo_informe  in (SELECT id_tipo_informe FROM informes where informe = @V_informe)
   
   set @id=@V_informe 

   if (@id IS NOT NULL) begin

    /*DECLARE @histT varchar(max) = @preffix + 'Creación de la tarea.'*/
    DECLARE @histT varchar(max) = @preffix 

    if (@V_estado_informe = 'A' or @V_estado_informe = 'T' or @V_estado_informe = 'P') begin     

     select @nombre_asignado = isnull(first_name,'') + ' ' + isnull(last_name, '')
     from users where user_id = @V_asignado

     SET @hist1 = @histT + CHAR(13) + CHAR(10) + @preffix + 'Asignación de la tarea a ' + @nombre_asignado
    end

    if (@V_estado_informe = 'T' or @V_estado_informe = 'P') begin
     SET @hist1 = @histT + CHAR(13) + CHAR(10) + @preffix + 'Aceptación de la tarea.'
    end

    if (@V_estado_informe = 'P') begin
     SET @hist1 = @histT + CHAR(13) + CHAR(10) + @preffix + 'Tarea puesta en gestión.'
    end

    if (@V_estado_informe = 'E') begin
     SET @hist1 = @histT + CHAR(13) + CHAR(10) + @preffix + 'Tarea puesta en proceso.'
    end
    if (@V_estado_informe = 'N') begin
     SET @hist1 = @histT + CHAR(13) + CHAR(10) + @preffix + 'Tarea anulada.'
    end

    if (@V_estado_informe = 'W') begin
     SET @hist1 = @histT + CHAR(13) + CHAR(10) + @preffix + 'Tarea puesta en pausa.'
    end
    
    if (@V_estado_informe = 'F') begin
     SET @hist1 = @histT + CHAR(13) + CHAR(10) + @preffix + 'Tarea finalizada.'
    end

    if (@V_estado_informe = 'M') begin
     SET @hist1 = @histT + CHAR(13) + CHAR(10) + @preffix + 'Tarea a completar.'
    end

    if (@V_estado_informe = 'K') begin
     SET @hist1 = @histT + CHAR(13) + CHAR(10) + @preffix + 'Tarea aprobada.'
    end

    DECLARE @fecha_limiteT       datetime = dateadd(second,-1,dateadd(day,1,@V_fecha_limite_doc))
    DECLARE @fecha_comprometidaT datetime = dateadd(second,-1,dateadd(day,1,@V_fecha_comprometida))

    set @fecha_comprometidaT = @V_fecha_comprometida

    UPDATE informes SET identificador=@identificador, numero=@numero, fecha_ingreso=@ahora, id_tipo_informe=@V_id_tipo_informe,
     objeto_informe='TAREA GENERADA '  + CHAR(13) + CHAR(10) + isnull(@V_objeto_informe, ''), 
     /*historial_informe=convert(varchar(max),historial_informe) + CHAR(13) + CHAR(10) + @hist1, */
     ingresado_por=@V_ingresado_por, idioma=@V_idioma1, filial=@V_filial1, prioridad=@V_prioridad, datamanager=@V_datamanager,
     
     /*asignado=iif(@V_estado_informe = 'A' OR @V_estado_informe = 'T' OR @V_estado_informe = 'P', @V_asignado, NULL), */
     
     asignado=@V_asignado, 

     estado_informe=@V_estado_informe, 
     fecha_asignado=iif(asignado != @V_asignado, @ahora, fecha_asignado),
     fecha_aceptacion=iif(@V_estado_informe = 'T' OR @V_estado_informe = 'P', @ahora, fecha_aceptacion),


/* fecha_asignado=iif(@V_estado_informe = 'A' OR @V_estado_informe = 'T' OR @V_estado_informe = 'P', @ahora, NULL),
fecha_aceptacion=iif(@V_estado_informe = 'T' OR @V_estado_informe = 'P', @ahora, NULL),
*/
    
/* fecha_asignado=getdate(),
fecha_aceptacion=getdate(),
*/
 
     
     excepcion=0, excepcion_prod=0, notificar_cliente=0, precio=@precio, moneda=@moneda,
     
     fecha_inicio = iif(@V_estado_informe in ('A','P','E'),@V_fecha_inicio,fecha_inicio),
     fecha_iniciado = iif(@V_estado_informe in ('A','P','E'),@V_fecha_inicio,fecha_inicio),
     
     fecha_entregado= iif(@V_estado_informe in ('F','K'),GETDATE(),fecha_entregado),
     fecha_aprobacion= iif(@V_estado_informe in ('F','K'),GETDATE(),fecha_aprobacion),
     nombre_contacto_1=@nombre, email_contacto_1=@email, telefono_contacto_1=@telefono,fecha_limite_doc=@fecha_limite1,
     fecha_comprometida=@fecha_comprometidaT

    WHERE informe = @id and idreg=@id
    SET @V_informe = @id

/*
AGB UPD LOG INFORMES
*/

    insert into informes_log (informe,horario,user_id,operacion)
    values (@id,getdate(),@V_user_id,iif(@V_estado_informe in ('P','E'),'I',iif(@V_estado_informe in ('W','M'),'P',iif(@V_estado_informe in ('F','K','C','N'),'F','F'))))

    /* TRAZABILIDAD DEL UPDATE DE TAREAS */
    --exec insertar_trazabilidad 'ACTUALIZACION DE TAREAS',@cliente,'UPDTASKS','BACK',@V_contraparte,@V_user_id,NULL,@servicio_contratado


    /* READY TO START */
     if (@V_estado_informe in ('K','F','N')) /* SOLO SI LA TAREA ES APROBADA O ANULADA */
     begin
      declare @triggerPadre int = null
      declare @dependencylist varchar(150) = null
      select /*informes.informe,informes.id_tipo_informe,*/
      @triggerPadre= iPPAL.informe,/*iPPAL.id_tipo_informe as TipoInfPPAL,*/
      @dependencylist= LN_informe_design.dependency_tree
      from informes
      inner join informes iPPAL on informes.informe_padre = iPPAL.informe
      inner join LN_informe_design on (LN_informe_design.idTipoInforme=iPPAL.id_tipo_informe and LN_informe_design.tipo_elem='T' and LN_informe_design.activo=1)
      cross apply dbo.DelimitedSplit8K(LN_informe_design.dependency_tree, ',') LISTOSPARAINICIAR 
      where informes.informe = @V_informe and LISTOSPARAINICIAR.Item = informes.idtarea
/* where informes.informe = @V_informe
and LN_informe_design.idElem = informes.idTarea
*/

/* update informes set ready_to_start=1,ready_to_start_date=getdate(),ready_to_start_trigger_task=@V_informe,ready_to_start_user_id=@V_user_id 
where informe_padre = @triggerPadre and estado_informe='A' and id_tipo_informe in (
select id_tipo_informe_blue from ln_tareas INNER JOIN dbo.DelimitedSplit8K(@dependencylist, ',') LISTOSPARAINICIAR ON LN_tareas.idTarea = convert(int,LISTOSPARAINICIAR.Item)  where id_tipo_informe_blue is not null )
*/

      
      update informes set ready_to_start=1,ready_to_start_date=getdate(),ready_to_start_trigger_task=@V_informe,ready_to_start_user_id=@V_user_id 
      where informe_padre = @triggerPadre and estado_informe='A' and id_tipo_informe in (
      /*select id_tipo_informe_blue from ln_tareas INNER JOIN dbo.DelimitedSplit8K(@dependencylist, ',') LISTOSPARAINICIAR ON LN_tareas.idTarea = convert(int,LISTOSPARAINICIAR.Item)  where id_tipo_informe_blue is not null )*/
      select id_tipo_informe_blue from ln_tareas where id_tipo_informe_blue is not null and idtarea in ( select LN_informe_design.idElem
      from informes
      inner join informes iPPAL on informes.informe_padre = iPPAL.informe
      inner join LN_informe_design on (LN_informe_design.idTipoInforme=iPPAL.id_tipo_informe and LN_informe_design.tipo_elem='T' and LN_informe_design.activo=1)
      cross apply dbo.DelimitedSplit8K(LN_informe_design.dependency_tree, ',') LISTOSPARAINICIAR 
      where informes.informe = @V_informe and LISTOSPARAINICIAR.Item = informes.idtarea) )


      /* V1 
       select @nombre_tipo_informe= nombre_tipo_informe + ' (' + tipo_informe + ' ' + version + ')',@grupo_informes = grupo_informes,@V_id_tipo_informe = tipos_informe.id_tipo_informe,
       @triggerPadre= informes.informe_padre
       from tipos_informe inner join informes on tipos_informe.id_tipo_informe = informes.id_tipo_informe
       where informes.informe = @V_informe
       update informes set estado_informe=estado_informe,
       ready_to_start=1,ready_to_start_user_id=@V_user_id,ready_to_start_date=getdate(),ready_to_start_trigger_task=@V_informe 
       where informe_padre = @triggerPadre and id_tipo_informe in (select id_tipo_informe_blue from LN_tareas where idTarea_Padre in (select idTarea from LN_tareas where id_tipo_informe_blue=@V_id_tipo_informe)) 
       and estado_informe='A'
       V1 */




      /* TRAZABILIDAD DEL READY 2 START*/
      --exec insertar_trazabilidad 'TAREAS DEPENDIENTES LISTAS PARA INICIAR',@cliente,'READYTOSTART','BACK',@V_contraparte,@V_user_id,NULL,@servicio_contratado
     end
    /*READY TO START */
    SELECT @id AS informe

   end
 end

  /* PAUSAR TAREAS */
 if (upper(@V_accion) = 'PAUSA_TAREA') 
 begin
  /*AGB */
  
  update informes set pausa = @V_pausa_tarea where informe = @V_informe and idreg=@V_informe and informe_padre is not null
/*
AGB UPD LOG INFORMES
*/
   
  
  
  insert into informes_log (informe,horario,user_id,operacion)
  values (@V_informe,getdate(),@V_user_id,iif(@V_pausa_tarea = 1,'P','I'))
  
  select @V_informe as tarea,@V_pausa_tarea as pausa,@V_informe as ID,@V_user_id as usuario,iif(@V_pausa_tarea = 1,'P','I') as operacion

  
 end


END
GO

Used By

No items found