function onNotify(subject, receivers, template, params) { // BLOQUEAR e-mails padrões do Fluig var templatesPadrao = [ // Notificações de processo "TPLPROCESS_NEW_STATE_TO_MANAGER", "TPLPROCESS_NEW_STATE_TO_USER", "TPLPROCESS_NEW_STATE_TO_GROUP", // Notificações de tarefas atribuídas "TPLTASK_ASSIGN_MANAGER", "TPLTASK_ASSIGN_USER", "TPLTASK_ASSIGN_GROUP", "TPLTASK_NEW_ASSIGN" ]; // Se o template for padrão → BLOQUEAR if (templatesPadrao.indexOf(template) >= 0) { log.info("### [GINSENG][onNotify] BLOQUEANDO template padrão → " + template); receivers.clear(); return; } // SOMENTE PARA O PROCESSO DE DESLIGAMENTO var processo = params.get("WKDef"); if (processo != "desligamentoColaborador") { return; } var state = params.get("WKCurrentState"); var numSolic = params.get("WKNumProces"); var linkSolic = params.get("SERVER_URL") + "/portal/p/1/pageworkflowview?app_ecm_workflowview_detailsProcessInstanceID=" + numSolic; // CAMPOS QUE VOCÊ PRECISA var nomeColab = hAPI.getCardValue("colabDesliga"); var cpf = hAPI.getCardValue("colabCpf"); var admissao = hAPI.getCardValue("colabadmissao"); var departamento = hAPI.getCardValue("departamento"); var cargo = hAPI.getCardValue("cargoColaborador"); var gestor = hAPI.getCardValue("requesterName"); var tipo = hAPI.getCardValue("tipodesligamento"); var motivo = hAPI.getCardValue("motivoDesligamento"); var aprov = hAPI.getCardValue("DesligamentoAprov"); var infoEstabilidades = "" + "
Trintídio CCT: " + hAPI.getCardValue("trintidiocct") + "
" + "Trintídio pós-férias: " + hAPI.getCardValue("trintidioposferias") + "
" + "Afastamento: " + hAPI.getCardValue("trintidioposafastamento") + "
" + "Pré-aposentadoria: " + hAPI.getCardValue("preaposentadoria") + "
" + "Acidentária: " + hAPI.getCardValue("acidentaria") + "
" + "Gestante/Lactante: " + hAPI.getCardValue("gestante") + "
" + "Sindical: " + hAPI.getCardValue("sindical") + "
" + "PCD: " + hAPI.getCardValue("pcd") + "
" + "Outras Estabilidades: " + hAPI.getCardValue("outros") + "
"; // VARIÁVEIS DO TEMPLATE var titulo = ""; var descricao = ""; var campos = ""; // ====================================================== // STATE 4 → ABERTURA // ====================================================== if (state == 4) { titulo = "Solicitação de desligamento aberta"; descricao = "Uma nova solicitação foi iniciada no sistema."; campos = "Colaborador: " + nomeColab + "
" + "CPF: " + cpf + "
" + "Cargo: " + cargo + "
" + "Departamento: " + departamento + "
" + "Gestor responsável: " + gestor + "
" + "Tipo de desligamento: " + tipo + "
" + "Justificativa: " + motivo + "
"; } // ====================================================== // STATE 20 → APROVAÇÃO DO GESTOR // ====================================================== if (state == 20) { titulo = "Solicitação em etapa de aprovação"; descricao = "A solicitação avançou para a aprovação do gestor."; campos = "Colaborador: " + nomeColab + "
" + "CPF: " + cpf + "
" + "Cargo: " + cargo + "
" + "Resultado da aprovação: " + aprov + "
"; } // ====================================================== // STATE 22 → PREVISÃO E IMPEDITIVOS // ====================================================== if (state == 22) { titulo = "Etapa: Previsão e Impeditivos"; descricao = "O departamento de DP está preenchendo as previsões."; campos = "Colaborador: " + nomeColab + "
" + infoEstabilidades; } // ====================================================== // STATE 24 → CONFORMIDADE // ====================================================== if (state == 24) { titulo = "Etapa de análise de conformidades"; descricao = "A área responsável está validando impedimentos."; campos = "Colaborador: " + nomeColab + "
" + "Possui impeditivos? " + hAPI.getCardValue("impeditivosColab") + "
" + "Informações adicionais: " + hAPI.getCardValue("InforConf") + "
"; } // ====================================================== // STATE 5 → COMUNICAÇÃO DO DESLIGAMENTO // ====================================================== if (state == 5) { titulo = "Etapa de gestão e comunicação"; descricao = "A área está realizando comunicação e alinhamentos."; campos = "Colaborador: " + nomeColab + "
" + "Data exata do desligamento: " + hAPI.getCardValue("dataExata") + "
" + "Detalhamento: " + hAPI.getCardValue("detalheSolicitacao") + "
"; } // ====================================================== // STATE 15 → INATIVAÇÃO DE PERFIS // ====================================================== if (state == 15) { titulo = "Etapa: Inativação de Acessos"; descricao = "A TI está desativando os perfis do colaborador."; campos = "Colaborador: " + nomeColab + "
" + "Considerações: " + hAPI.getCardValue("consideracoes") + "
"; } // PARAMETROS PARA O TEMPLATE params.put("TEMPLATE_CUSTOM", "ginseng_notificacao"); params.put("TITULO", titulo); params.put("DESCRICAO", descricao); params.put("CAMPOS", campos); params.put("LINK", linkSolic); params.put("NUMSOL", numSolic); // ASSUNTO PERSONALIZADO subject.clear(); subject.add("📌 " + titulo + " - Solicitação Nº " + numSolic); }