Setar Horas na atividade, respeitando o expediente

Olá,

Estou tentando parametrizar o horário de uma determinada atividade, através de um “afterTaskCreate” - é setado o valor correto, mas o mesmo não respeita o Expediente da atividade.

Segue Evento “afterTaskCreate”

function afterTaskCreate(colleagueId){
var numEmpresa = getValue(“WKCompany”)
var numProcesso = getValue(“WKNumProces”);
var nrProxAtividade = getValue(“WKNextState”);
var data = new Date();
var complexidade = hAPI.getCardValue(“selectComplexidade”)
var complexidade2 = hAPI.getCardValue(“selectComplexidade2”)
var prazoHoras = 0;
if (nrProxAtividade==“13”){
if(complexidade == “Alta” || complexidade2 == “Alta”){
prazoHoras = 24
}
if(complexidade == “Media” || complexidade2 == “Media”){
prazoHoras = 16
}
if(complexidade == “Baixa” || complexidade2 == “Baixa”){
prazoHoras = 12
}
//Define o dia correto (ao somar as horas)
data.setHours(data.getHours()+ prazoHoras);
//Define o horario em segundos de acordo com as horas e minutos
var horarioSegundos = data.getHours() * 60 * 60;
horarioSegundos = horarioSegundos + ((data.getMinutes()) * 60);
hAPI.setDueDate(numProcesso, hAPI.getActualThread(numEmpresa, numProcesso, nrProxAtividade), colleagueId, data, horarioSegundos);
}
}

O que devemos fazer para que ele sete a hora, mas não ignore o Expediente?

1 curtida

Você alterou no processo o expediente que quer?

image

Sim, está setado o Expediente corretamente!

Um caminho é usar a função calculateDeadLineHours(data, segundos, prazo, periodId) aí voce calcula o tempo e atribuí conforme o retorno.

Obs: periodId = código de expediente.

https://tdn.totvs.com/display/public/fluig/hAPI

Este tópico foi fechado automaticamente 16 horas depois da úlima resposta. Novas respostas não são mais permitidas.