Introdução
Nesse vigésimo post vou finalizar a modelagem do BPM. Vou adicionar as condições dos SequenceFlow subsequente aos Gateways, definir os Delegates da aprovação da conta, pagina da task usuário, dados do fluxo atual, etc..
Task User - Aprovar Conta
No BPM desenhado até então tenho 3 Task User's que são as tasks de Aprovar Conta (Apesar que eu tinha colocado a descrição errada). Agora vou acertar os nomes das tasks para Avaliar Conta e setar o atributo Form Key para apontar para ../lancamento/lancamentoList.jsf
Segue o print das task em destaque:
Agora vou configurar as Service Task's informando qual será o delegate executado nessa task. Observe que estou configurando como Delegate Expression o #{aprovacaoLancamentoDelegate} nas 3 Task Service's.
Agora vou ajustar as condições dos Sequence Flow's, primeiro de Reprovado na Lane do supervisor, colocando a EL #{not aprovadoSupervisor}:
Agora o Sequence Flow de Aprovado até Hum Mil Reais com a seguinte EL #{aprovadoSupervisor and valorLancamento lt 1000}:
Agora o Sequence Flow de Aprovado a partir de Hum Mil Reais. Repare que o Sequence Flow está marcado como default:
Agora o Sequence Flow de Reprovado pelo Gerente, com a seguinte EL #{not aprovadoGerente}:
Agora o Sequence Flow de Aprovado até Cinco Mil Reais com a seguinte EL #{aprovadoGerente and valorLancamento lt 5000}:
Agora o Sequence Flow de Aprovado a partir de Cinco Mil Reais. Repare que o Sequence Flow está marcado como default:
Agora o Sequence Flow de Reprovado pelo Diretor com a seguinte EL #{not aprovadoDiretor}:
Agora o Sequence Flow de Aprovado. Repare que o Sequence Flow está marcado como default:

E pra finalizar nos Sequence Flow's de Reprovado vou colocar o um listener para excluir o lançamento através do Delegate #{apagaLancamentoDelegate}
Conclusão
Nesse post eu preenchi as informações necessárias para automação do BPM. Nos próximos post vou começar a implementação para consultar as Task's, executar os Delegates e iniciar o fluxo.
Nenhum comentário:
Postar um comentário