public class SessaoExpiradaJsfListener {
private final void verificaSessaoExpirada(@Observes @JArchJsfEventAfter @JArchJsfEventRestoreView PhaseEvent event,
UserInformation userInformation) {
boolean login = event.getFacesContext().getViewRoot().getViewId().contains("/login.xhtml");
HttpSession session = ((HttpSession) event.getFacesContext().getExternalContext().getSession(false));
if ((session == null && !login)
|| (session != null && session.isNew())
|| (!login && !userInformation.exists())) {
JavaScriptUtils.showMessageBodyErrorRedirect("../login/login.jsf",
BundleUtils.messageBundle("message.sessaoExpirada"),
BundleUtils.messageBundle("message.sessaoExpirada"));
}
}
}
Nosso cliente DSF nos passou a seguinte definição. Toda conta lançada pelo Operador:
a-) Até R$ 1.000,00 (Mil Reais), precisa somente da aprovação do Supervisor.
b-) Acima de R$ 1.000,00 (MIl Reais) até R$ 5.000,00 (Cinco Mil Reais), precisa da aprovação do Supervisor, e caso ele aprove precisa também da aprovação do Gerente.
c-) Acima de R$ 5.000,00 (Cinco Mil Reais), precisa da aprovação do Supervisor, e caso ele aprove precisa também da aprovação do Gerente, e caso ele aprove precisa da aprovação também do Diretor.
Para esse post vou implementar o primeiro nÃvel de aprovação, que está definido no item "a".
O JARCH utiliza o BPM com o Camunda, o Camunda BPM é um fluxo de trabalho de código aberto e plataforma de automação de decisão. O Camunda BPM é fornecido com ferramentas para criar modelos de fluxo de trabalho e decisão, operar modelos implantados na produção e permitir que os usuários executem tarefas de fluxo de trabalho a eles atribuÃdos. Para saber mais sobre o Camunda acesse: https://www.camunda.org
A ferramenta de modelagem do BPM fornecido pelo Camunda é o Modeler, utilizando a especificação BPMN. BPMN é a especificação dos componentes utilizados para modelar o BPM.
Para baixar a ferramenta acesse: https://camunda.com/download/modeler/
Após baixar e executar essa ferramenta:
Vou clicar em BPMN diagram:
Segue a primeira modelagem do BPM utilizando BPMN:
No fluxo desenhado acima simplesmente criei uma Lane onde coloquei a anotação de inicio de fluxo. O inicio do fluxo será quando o operador incluir uma conta na aplicação. Após o motor do Camunda criar a instância do fluxo será criado a task Avaliar Conta. Essa task é para o Supervisor, e quando o mesmo executar o motor do camunda irá direcionar para a tela de lista de lançamento de conta, onde farei a implementação para interceptar a Task que disparou essa chamada. Vou fazer a chamada da tela de dados da conta onde o Supervisor irá definir a aprovação da conta. Nesse BPM já defini algumas informações como Id, Name, Process Id, Process Name, Version Tag e Executable, conforme print:
Agora vou salvar esse arquivo como AvaliacaoConta.bpmn dentro de contas-web/src/main/resources, conforme print:
Nenhum comentário:
Postar um comentário