email personalizado sendo enviado 2 vezes através do afterStateEntry

Estou enviando um e-mail personalizado através da função notifier.notify no evento afterStateEntry porém ele está enviando duas vezes o mesmo e-mail, sendo que um deles com os parâmetros preenchido e outro sem preencher.

function afterStateEntry(sequenceId){
     //RECUPERA USUARIO LOGADO
    var usuario          = getValue('WKUser');
    //recupera atividade
    var ativAtual          = getValue("WKNumState");    
    var matricula         = hAPI.getCardValue("matricula");

         if (ativAtual == 4) {
                try{
                    //Monta mapa com parâmetros do template
                    var parametros = new java.util.HashMap();
                    parametros.put("MATRICULA", matricula);

                    //Monta lista de destinatários
                    var destinatarios = new java.util.ArrayList();

                    var usuarios = grupoUsuariosNotificadosporDesligamento();

                     if (usuarios!= null && usuarios != "" && usuarios.values.length > 0){         
                         for (var i=0; i < usuarios.rowsCount; i++){
                              destinatarios.add(usuarios.getValue(i, "colleagueGroupPK.colleagueId"));
                         }
                     }        
                        //Envia e-mail
                        notifier.notify(usuario, "tl_desligamento", parametros, destinatarios, "text/html");

                } catch(e){
                    log.info(e);
                }
            }

    function grupoUsuariosNotificadosporDesligamento(){
        var grupo = DatasetFactory.createConstraint("colleagueGroupPK.groupId","DES","DES", ConstraintType.MUST);        
        var dataset = DatasetFactory.getDataset("colleagueGroup", null, new Array(grupo), null);

        return dataset;
    }

}
compartilhar
  • Estranho ter esse erro. Não vi problemas no evento. Mas eu colocaria a declaração de grupoUsuariosNotificadosporDesligamento fora da função afterStateEntry, usaria usuarios.rowsCount ao invés de usuarios.values.length no if e só enviaria o e-mail se destinatarios.size() > 0, evitando disparar pra uma lista vazia. Mas não vi motivos de enviar duas vezes o e-mail.

    Bruno Gasparetto   15 de Dec de 2020
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do fluig Forum!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags enviodeemail personalizado ou faça a sua própria pergunta.