158 lines
6.2 KiB
JavaScript
158 lines
6.2 KiB
JavaScript
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 = ""
|
|
+ "<p><b>Trintídio CCT:</b> " + hAPI.getCardValue("trintidiocct") + "</p>"
|
|
+ "<p><b>Trintídio pós-férias:</b> " + hAPI.getCardValue("trintidioposferias") + "</p>"
|
|
+ "<p><b>Afastamento:</b> " + hAPI.getCardValue("trintidioposafastamento") + "</p>"
|
|
+ "<p><b>Pré-aposentadoria:</b> " + hAPI.getCardValue("preaposentadoria") + "</p>"
|
|
+ "<p><b>Acidentária:</b> " + hAPI.getCardValue("acidentaria") + "</p>"
|
|
+ "<p><b>Gestante/Lactante:</b> " + hAPI.getCardValue("gestante") + "</p>"
|
|
+ "<p><b>Sindical:</b> " + hAPI.getCardValue("sindical") + "</p>"
|
|
+ "<p><b>PCD:</b> " + hAPI.getCardValue("pcd") + "</p>"
|
|
+ "<p><b>Outras Estabilidades:</b> " + hAPI.getCardValue("outros") + "</p>";
|
|
|
|
// 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 =
|
|
"<p><b>Colaborador:</b> " + nomeColab + "</p>" +
|
|
"<p><b>CPF:</b> " + cpf + "</p>" +
|
|
"<p><b>Cargo:</b> " + cargo + "</p>" +
|
|
"<p><b>Departamento:</b> " + departamento + "</p>" +
|
|
"<p><b>Gestor responsável:</b> " + gestor + "</p>" +
|
|
"<p><b>Tipo de desligamento:</b> " + tipo + "</p>" +
|
|
"<p><b>Justificativa:</b> " + motivo + "</p>";
|
|
}
|
|
|
|
// ======================================================
|
|
// 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 =
|
|
"<p><b>Colaborador:</b> " + nomeColab + "</p>" +
|
|
"<p><b>CPF:</b> " + cpf + "</p>" +
|
|
"<p><b>Cargo:</b> " + cargo + "</p>" +
|
|
"<p><b>Resultado da aprovação:</b> " + aprov + "</p>";
|
|
}
|
|
|
|
// ======================================================
|
|
// 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 =
|
|
"<p><b>Colaborador:</b> " + nomeColab + "</p>" +
|
|
infoEstabilidades;
|
|
}
|
|
|
|
// ======================================================
|
|
// STATE 24 → CONFORMIDADE
|
|
// ======================================================
|
|
if (state == 24) {
|
|
titulo = "Etapa de análise de conformidades";
|
|
descricao = "A área responsável está validando impedimentos.";
|
|
|
|
campos =
|
|
"<p><b>Colaborador:</b> " + nomeColab + "</p>" +
|
|
"<p><b>Possui impeditivos?</b> " + hAPI.getCardValue("impeditivosColab") + "</p>" +
|
|
"<p><b>Informações adicionais:</b> " + hAPI.getCardValue("InforConf") + "</p>";
|
|
}
|
|
|
|
// ======================================================
|
|
// 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 =
|
|
"<p><b>Colaborador:</b> " + nomeColab + "</p>" +
|
|
"<p><b>Data exata do desligamento:</b> " + hAPI.getCardValue("dataExata") + "</p>" +
|
|
"<p><b>Detalhamento:</b> " + hAPI.getCardValue("detalheSolicitacao") + "</p>";
|
|
}
|
|
|
|
// ======================================================
|
|
// 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 =
|
|
"<p><b>Colaborador:</b> " + nomeColab + "</p>" +
|
|
"<p><b>Considerações:</b> " + hAPI.getCardValue("consideracoes") + "</p>";
|
|
}
|
|
|
|
// 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);
|
|
}
|