Mecanismo para pegar gestor do requisitante do processo

Estou querendo fazer um mecanismo customizado que consiga pegar o ID do gestor do requisitante do processo, podem me ajudar?

Como estou fazendo: Eu pego o id do Requisitante depois o setor do requisitante depois pego os usuários desse setor e depois pego o usuário desse setor que tem o papel GER.

Meu MECCustomizado esta assim:

function resolve(process,colleague){

    var userList = new java.util.ArrayList();
    //-------------------------------------------------Pegando Id do Requisitante---------------------------------------------------------    
    var numeroDoProcesso = getValue("WKNumProces");    
    var c1 = DatasetFactory.createConstraint("workflowProcessPK.processInstanceId", numeroDoProcesso, numeroDoProcesso, ConstraintType.MUST);

    var constraints   = new Array(c1);
    var campos = new Array("requesterId")
    var dataset = DatasetFactory.getDataset("workflowProcess", campos, constraints, null);

    for(var a = 0; a < dataset.rowsCount; a++) {

        // Pegando o ID do Requisitante.
        var requisitante = (dataset.getValue(a, "requesterId"));        
    //-----------------------------------------------------------------------------------------------------------------------------------    

        //-------------------------------------------------Pegando setor do Requisitante---------------------------------------------------------    
        var c2 = DatasetFactory.createConstraint("colleagueGroupPK.colleagueId", requisitante, requisitante, ConstraintType.MUST);
        var constraints2 = new Array(c2);
        var campos2 = new Array("colleagueGroupPK.groupId")
        var dataset2 = DatasetFactory.getDataset("colleagueGroup", campos2, constraints2, null);

        for(var b = 0; b < dataset2.rowsCount; b++) {

            //Pegando o Setor do Requisitante
            var setorDoRequisitante = (dataset2.getValue(b, "colleagueGroupPK.groupId"));
            if (setorDoRequisitante != "DefaultGroup-1") {
                //-----------------------------------------------------------------------------------------------------------------------------------    


                //-------------------------------------------------Pegando usuários do setor do Requisitante---------------------------------------------------------    
                var c3 = DatasetFactory.createConstraint("colleagueGroupPK.groupId", setorDoRequisitante, setorDoRequisitante, ConstraintType.MUST);
                var constraints3 = new Array(c3);
                var campos3 = new Array("colleagueGroupPK.colleagueId")
                var dataset3 = DatasetFactory.getDataset("colleagueGroup", campos3, constraints3, null);

                for(var c = 0; c < dataset3.rowsCount; c++) {

                    usuario = dataset3.getValue(c, "colleagueGroupPK.colleagueId");

                    var c4 = DatasetFactory.createConstraint("workflowColleagueRolePK.colleagueId", usuario, usuario, ConstraintType.MUST);
                    var constraints4 = new Array(c4);
                    var campos4 = new Array("workflowColleagueRolePK.colleagueId", "workflowColleagueRolePK.roleId")
                    var dataset4 = DatasetFactory.getDataset("workflowColleagueRole", campos4, constraints4, null);

                    for(var d = 0; d < dataset4.rowsCount; d++) {
                        var papel = (dataset4.getValue(d, "workflowColleagueRolePK.roleId"));
                        if(papel == "admin") {
                            userList.add(dataset4.getValue(d, "workflowColleagueRolePK.colleagueId"));    
                        }
                    }    
                }
            } 
        }
    }
    return userList;
}

Estou com dois problema:

O primeiro é: Esse mecanismo só está pegando o setor "DefaultGroup-1" que é o padrão fluig e não o setor do usuário mesmo.

O segundo é: Se eu acrescentar um else no if do setor:

else {
                userList.add('NULLPE001');
                userList.add('OPPRI002');
                    }

Ele irá pegar esses dois usuários e no momento de enviar o fluig irá me mostrar essa tela: Capturar.PNG Que é uma tela diferente da normal e sem nenhum usuário mas, se eu clicar em "Descartar" e clicar em enviar novamente ele irá me mostrar a tela normal com os dois usuários do else: Capturar22.PNG

Podem me ajudar com esses dois problemas ?

Agradeço a atenção pessoal. Abraço.

compartilhar
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do fluig Forum!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags mecanismocustomizado ou faça a sua própria pergunta.