Como implementar uma duração relativa

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 2 min. de leitura
  • Você pode implementar uma duração relativa criando a tabela cmn_relative_duration e a inclusão de script DurationCalculator.

    Antes de Iniciar

    Função necessária: administrador

    Procedimento

    1. Crie a tabela cmn_relative_duration.
    2. Crie a inclusão de script DurationCalculator.
    3. Crie uma amostra de entrada de duração relativa (por exemplo, "Próximo dia útil às 16h").
    4. Adicione os campos necessários às tabelas de SLA para oferecer suporte a durações relativas.
    5. Modificar cálculo de duração para SLAs.
    6. Modificar o cálculo do temporizador de Percentual de ANS para ANS (deve usar work_seconds).
    7. Adicione campos de programação ao fluxo de trabalho: programação e fuso horário (selecionados com base no campo da tabela de fluxo de trabalho).
    8. Adicione campos de suporte de duração à atividade Tarefa de fluxo de trabalho.
    9. Implemente o script de cálculo de duração para a atividade da tarefa.

    A tabela de duração relativa e os métodos DurationCalculator

    A tabela cmn_relative_duration oferece suporte à definição de uma data de vencimento como uma duração de tempo ou uma duração relativa.

    Esta tabela consiste em dois campos: "nome" e "script". O campo "script" contém o script de cálculo da duração relativa. Este script inclui a variável "calculator", que é usada para calcular a data de vencimento.

    O script include DurationCalculator pode ser usado para executar os cálculos de duração. A seguir estão os métodos disponíveis nesta inclusão de script.

    Tabela 1. Tabela de inclusão de script DurationCalculator
    Método Descrição
    setSchedule(cadeia de caracteres schedID, [cadeia de caracteres fuso horário]) Define a programação e o fuso horário a serem usados para calcular a data de vencimento.
    setStartDateTime(início de GlideDateTime) Define a hora de início dos cálculos de duração. Se "início" estiver em branco, usará a data/hora atuais.
    calcDuration (int segundos) Calcula a data e a hora de término. Após a conclusão, as propriedades this.endDateTime e this.seconds serão definidas para indicar os resultados do cálculo.
    calcRelativeDuration(cadeia de caracteres relativeDurationID) Calcula a duração usando o script de duração relativa especificado. Após a conclusão, as propriedades this.endDateTime e this.seconds serão definidas para indicar os resultados do cálculo.
    getEndDateTime () Obtém a propriedade this.endDateTime que foi definida por calcDuration/calculRelativeDuration indicando a data e hora de término da duração.
    getSeconds() Obtém a propriedade this.seconds que foi definida por calcDuration/calculRelativeDuration indicando o número total de segundos de trabalho a ser realizado para a duração.
    Nota:
    Este é o tempo total de trabalho, não o tempo total entre as horas de início e término e pode ser usado para determinar porcentagens do tempo de trabalho
    getTotalSeconds() Obtém a propriedade this.totalSeconds que foi definida por calcDuration/calculRelativeDuration indicando o número total de segundos entre as horas de início e término da duração.

    As funções a seguir são usadas em scripts de duração relativa:

    Tabela 2. Funções de script de duração relativa
    Função Descrição
    boolean isAfter(GlideDateTime dt, String time) A "hora" é posterior à hora especificada por "dt"? dt, se estiver em branco, usará a data/hora atual. a hora está em "hh:mm:ss" no formato de 24 horas.
    calcRelativeDueDate(glideDateTime start, int days, String endTime) Calcula a data de vencimento começando em "início" e adicionando "dias" usando a programação e o fuso horário. Quando encontrarmos o dia em que o trabalho vence, defina a hora como "endTime" desse dia. Após a conclusão, as propriedades this.endDateTime e this.seconds serão definidas para indicar os resultados do cálculo. Se endTime estiver em branco, use o final do dia útil final.