Caros(as), É possível bloquear no processo o cancelamento da solicitação feita pelo solicitante em uma determinanda atividade? Alguem ja o fez?
Caros(as), É possível bloquear no processo o cancelamento da solicitação feita pelo solicitante em uma determinanda atividade? Alguem ja o fez?
function beforeCancelProcess(colleagueId,processId){
var atividade = getValue("WKNumState");
log.info("$%# atividasde "+ atividade);
var ProxAtividade = getValue("WKNextState");
log.info("$%# ProxAtividade "+ ProxAtividade);
var usuarioSolic = getValue('WKUser');
log.info("$%# usuarioSolic "+ usuarioSolic);
var numSolicitacao = getValue("WKNumProces");
log.info("$%# numSolicitacao "+ numSolicitacao);
try {
log.info("$%# 1");
var c1 = DatasetFactory.createConstraint('active', 'true', 'true', ConstraintType.MUST);
var c2 = DatasetFactory.createConstraint('processId', 'F005', 'F005', ConstraintType.MUST);
var c3 = DatasetFactory.createConstraint('active', 'true', 'true', ConstraintType.MUST);
var c4 = DatasetFactory.createConstraint('workflowProcessPK.processInstanceId', processId, processId, ConstraintType.MUST);
log.info("$%# 2");
//Constraints
var constraints = new Array(c1,c2,c3,c4);
// Filtrar somente essas colunas
var filterFields = new Array("requesterId");
var sortingFields = new Array("requesterId");
var DsRequisitante = DatasetFactory.getDataset("workflowProcess", filterFields, constraints, sortingFields);
log.info("$%# 3");
if (DsRequisitante.rowsCount > 0) {
for(var j = 0; j < DsRequisitante.rowsCount; j++) {
var Requisitante = DsRequisitante.getValue(j, "requesterId");
log.info("[AVISO] Adicionou usuario: " + DsRequisitante.getValue(j, "requesterId"));
}
}
else
{
throw "Erro no Dataset. Contactar o administrador do Fluig.";
}
log.info("$%# 4");
log.info("$%# 5 "+usuarioSolic);
log.info("$%# 6 "+Requisitante);
if (Requisitante == usuarioSolic ) {
throw "O solicitante não pode cancelar o processo";
}
log.info("$%# 5");
} catch(err){
throw +"ERRO>> "+err;
}
log.info("$%# fim");
}