Boa tarde.
A unica maneira que encontrei de resolver o problema foi utilizando o web service e o mesmo abrindo cada solicitação separadamente.
Assim porem é possível enviar a solicitação para um gestor especifico.
Hoje pesquiso dentro do meu ERP o gestor e com ele a verificação via e-mail com o usuário do Fluig.
function servicetask10(attempt, message) {
log.warn("####### Service TASK 10");
var numProcessoPai = getValue("WKNumProces");
usuarioCorrente = getValue("WKUser");
emailUsuarioCorrente = fluigAPI.getUserService().getCurrent().getEmail();
var servico = ServiceManager.getService("ECMWorkflow");
var serviceHelper = servico.getBean();
//var usuario = new java.util.ArrayList();
//usuario.add("user" + "#####");
var service = serviceHelper.instantiate('WSFluig.ECMWorkflowEngineServiceService');
var request = service.getWorkflowEngineServicePort();
var indexes = hAPI.getChildrenIndexes("table_Produtos");
var total = 0;
var gestores = new java.util.ArrayList();
for (var i = 0; i < indexes.length; i++) {
if(!gestores.contains(hAPI.getCardValue("email_gestor___" + indexes[i]))){
gestores.add(hAPI.getCardValue("email_gestor___" + indexes[i]));
}
}
var iterador = gestores.size();
ObjFactory = serviceHelper.instantiate('WSFluig.ObjectFactory');
var ProcessAttachmentDtoArray = ObjFactory.createProcessAttachmentDtoArray();
var ProcessTaskAppointmentDtoArray = ObjFactory.createProcessTaskAppointmentDtoArray();
for(i = 0; i < iterador; i++) {
var contador = 0;
var email_gestor_atual = gestores.get(i);
var c1 = DatasetFactory.createConstraint("mail", email_gestor_atual, email_gestor_atual, ConstraintType.MUST);
var constraints = new Array(c1);
var dataset = DatasetFactory.getDataset("colleague", null, constraints, null);
var colleagueIds = ObjFactory.createStringArray();
colleagueIds.getItem().add(dataset.getValue(0, "colleaguePK.colleagueId")); //responsavel
var cardData = ObjFactory.createStringArrayArray();
for (var j = 0; j < indexes.length; j++) {
if(email_gestor_atual == hAPI.getCardValue("email_gestor___" + indexes[j])){
cardData.getItem().add(incluiCampo(ObjFactory, "CP_MAT", hAPI.getCardValue("CP_MAT")));
cardData.getItem().add(incluiCampo(ObjFactory, "email_gestor", hAPI.getCardValue("email_gestor___" + indexes[j])));
cardData.getItem().add(incluiCampo(ObjFactory, "email_solicitante", emailUsuarioCorrente));
cardData.getItem().add(incluiCampo(ObjFactory, "id_gestor", dataset.getValue(0, "colleaguePK.colleagueId")));
cardData.getItem().add(incluiCampo(ObjFactory, "funcionarioZOOM", hAPI.getCardValue("funcionarioZOOM")));
var produto = hAPI.getCardValue("produtoZOOM___" + indexes[j]);
var codigoprod = hAPI.getCardValue("CP_COD___" + indexes[j]);
var quantidadeprod = hAPI.getCardValue("CP_QUANT___" + indexes[j]);
var ctt_custo = hAPI.getCardValue("ctt_custo___" + indexes[j]);
cardData.getItem().add(incluiCampo(ObjFactory, "produtoZOOM___" +indexes[j],produto));
cardData.getItem().add(incluiCampo(ObjFactory, "CP_COD___" +indexes[j],codigoprod));
cardData.getItem().add(incluiCampo(ObjFactory, "CP_QUANT___" +indexes[j],quantidadeprod));
cardData.getItem().add(incluiCampo(ObjFactory, "ctt_custo___" +indexes[j],ctt_custo));
}
}
var userId = usuarioCorrente; //quem inicia
var ativDestino = 5;
var codEmpresa = 99; //trocar no ambiente produção
var retorno = request.startProcess("usuario", "#############", codEmpresa, 'Solicitação ao Armazem Aprovador', ativDestino, colleagueIds, 'processo iniciado pelo processo pai nº '+numProcessoPai, userId, true, ProcessAttachmentDtoArray, cardData, ProcessTaskAppointmentDtoArray, false);
var idProcesso = retorno.getItem().get(5).getItem().get(1);
log.info("*************** idProcesso gerado ************** "+idProcesso)
}
}
function incluiCampo(ObjFactory, nomeCampo, valorCampo) {
var field = ObjFactory.createStringArray();
field.getItem().add(nomeCampo); // nome do campo.
field.getItem().add(valorCampo); // valor do campo.
return field;
}