Sou novato, mais que novato, em criação de fluxo de aprovação.
Nossa empresa contratou um desenvolvedor para fazer um fluxo de aprovação de um documento.
Entretanto, não queremos ficar dependentes deles.
Não nos deram o código-fonte.
Mas eu preciso de ajuda para duas perguntas:
-
Os códigos de dois arquivos abaixo mostram onde eu preciso modificar o que está em produção (isto é o que foi importado do Fluig de produção o processo para o Eclipse Luna).
-
Mais abaixo do texto, além dos dois códigos abaixo, eu explico minha maior dúvida.
Então, começando pelo item 1 acima, o evento beforeTaskComplete, tem um script (arquivo de nome cadastro_casos.beforeaskComplete.js), assim…
function beforeTaskComplete(colleagueId,nextSequenceId,userList){
var ativAtual = getValue("WKNumState");
var numProcess = getValue("WKNumProces");
var template = "";
var parametros = new java.util.HashMap();
var destinatarios = new java.util.ArrayList();
if(nextSequenceId == atAprovacaoScCaptador){
template = "tpl_nova_solicitacao";
destinatarios.add("criacaocasosnovos@meudominio.com.br");
//destinatarios.add("worksite_mail@meudominio.com.br");
parametros.put("Cliente", hAPI.getCardValue("seClienteNv") == "Sim" ? hAPI.getCardValue("cNvNome") : hAPI.getCardValue("nomeCliente"));
parametros.put("Materia", hAPI.getCardValue("materiaCaso"));
parametros.put("Assunto", hAPI.getCardValue("assuntoCaso"));
parametros.put("SCCaptador", getUserName(hAPI.getCardValue("scCaptador")));
parametros.put("SCEmissor", getUserName(hAPI.getCardValue("scEmissorEmissaoNH")));
parametros.put("Coordenador", getUserName(hAPI.getCardValue("coordenadorEmissaoNH")));
parametros.put("Origem", hAPI.getCardValue("origemCaso") == "1" ? 'RJ' : 'SP');
}
else if(ativAtual == atAprovacaoScCaptador){
destinatarios.add(hAPI.getCardValue("matSolicitante"));
if(hAPI.getCardValue("aprovacaoScCaptador") == "Sim"){
template = "tpl_solicitacao_aprovada";
parametros.put("Cliente", hAPI.getCardValue("seClienteNv") == "Sim" ? hAPI.getCardValue("cNvNome") : hAPI.getCardValue("nomeCliente"));
parametros.put("Materia", hAPI.getCardValue("materiaCaso"));
parametros.put("Assunto", hAPI.getCardValue("assuntoCaso"));
parametros.put("SCCaptador", getUserName(hAPI.getCardValue("scCaptador")));
parametros.put("SCEmissor", getUserName(hAPI.getCardValue("scEmissorEmissaoNH")));
parametros.put("Coordenador", getUserName(hAPI.getCardValue("coordenadorEmissaoNH")));
parametros.put("Origem", hAPI.getCardValue("origemCaso") == "1" ? 'RJ' : 'SP');
}
else{
template = "tpl_solicitacao_reprovada";
}
}
else if(ativAtual == atAproacaoComite){
destinatarios.add(hAPI.getCardValue("matSolicitante"));
if(hAPI.getCardValue("confidencial") == "Não"){
destinatarios.add("notificaaberturacaso@meudominio.com.br");
//destinatarios.add("worksite_mail@meudominio.com.br");
}
else{
destinatarios.add(hAPI.getCardValue("emailScCaptador"));
destinatarios.add(hAPI.getCardValue("emailSolicitante"));
}
if(hAPI.getCardValue("aprovacaoComite") == "Sim"){
template = "tpl_solicitacao_aprovada_comite";
parametros.put("Cliente", hAPI.getCardValue("seClienteNv") == "Sim" ? hAPI.getCardValue("cNvNome") : hAPI.getCardValue("nomeCliente"));
parametros.put("Materia", hAPI.getCardValue("materiaCaso"));
parametros.put("Assunto", hAPI.getCardValue("assuntoCaso"));
parametros.put("SCCaptador", getUserName(hAPI.getCardValue("scCaptador")));
parametros.put("SCEmissor", getUserName(hAPI.getCardValue("scEmissorEmissaoNH")));
parametros.put("Coordenador", getUserName(hAPI.getCardValue("coordenadorEmissaoNH")));
parametros.put("Origem", hAPI.getCardValue("origemCaso") == "1" ? 'RJ' : 'SP');
}
else{
template = "tpl_solicitacao_reprovada_comite";
parametros.put("justificativaAprovComite", hAPI.getCardValue("justificativaAprovComite"));
}
}
else if(ativAtual == atAprovacaoDiretoria){
destinatarios.add(hAPI.getCardValue("matSolicitante"));
destinatarios.add(hAPI.getCardValue("scEmissorEmissaoNH"));
destinatarios.add(hAPI.getCardValue("scCaptador"));
if(hAPI.getCardValue("aprovacaoDiretoria") == "Não"){
template = "tpl_job_client_reprovado";
parametros.put("justificativaAprovDiretoria", hAPI.getCardValue("justificativaAprovDiretoria"));
}
}
if(template != ""){
log.info("template:"+template);
log.info("destinatarios:"+destinatarios);
parametros.put("subject", "Processo de Cadastro de Caso UCRG - Requisição "+numProcess);
parametros.put("numSolicitacao", numProcess);
parametros.put("numeroCaso", hAPI.getCardValue("numeroCaso"));
notifier.notify("fluig", template, parametros, destinatarios, "text/html");
}
}
… e outro arquivo, de nome uteis.js e que é um arquivo de evento de formulário, com o seguinte código:
function uteis(){}
var atRegistrarCaso = 4;
var atAprovacaoScCaptador = 14;
var atAproacaoComite = 21;
var atAprovacaoDiretoria = 27;
var atNotifArquivo = 44;
var atNotifAdm = 46;
var atValidarPreenchimento = 54;
function getDatetimeNow() {
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth() + 1;
var yyyy = today.getFullYear();
if (dd < 10) {
dd = '0' + dd
}
if (mm < 10) {
mm = '0' + mm
}
today = dd + '/' + mm + '/' + yyyy;
return today;
}
function getNomeUsuario(usuario) {
var nomeUsuario = null;
var c1 = DatasetFactory.createConstraint("colleaguePK.colleagueId", usuario, usuario, ConstraintType.MUST);
var c2 = DatasetFactory.createConstraint("active", "true", "true", ConstraintType.MUST);
var constraints = new Array(c1, c2);
var dataset = DatasetFactory.getDataset("colleague", null, constraints, null);
if(dataset.rowsCount > 0){
nomeUsuario = dataset.getValue(0, "colleagueName");
}
return nomeUsuario;
}
O que eu preciso modificar é o valor da variável ‘atAprovacaoScCaptador’ do bloco do primeiro arquivo. Isto é, onde tem
if(nextSequenceId == atAprovacaoScCaptador){
template = “tpl_nova_solicitacao”;
destinatarios.add(“criacaocasosnovos@meudominio.com.br”);
//destinatarios.add(“worksite_mail@meudominio.com.br”);
a variável destacada (atAprovacaoScCaptador) deveria estar com o valor 54 e não 14, como está definida nao arquivo uteis.js com o valor var atAprovacaoScCaptador = 14;
Com relação ao item 2, minhas preocupações são:
a) Se eu alterar o código do arquivo uteis.js para que o valor da variável/constante
var atAprovacaoScCaptador = 14;
se modifique para
var atAprovacaoScCaptador = 54;
quais os riscos de dar zebra quando eu exportar de volta para o Fluig de produção (a pergunta não é sobre o resultado da lógica, mas sim de causar mau funcionamento no Fluig)?
b) Quando eu for exportar, devo selecionar no Eclipse Luna o quê, propriamente? O ‘forms’, o ‘diagrams’ o ‘scripts’? Todos eles?