public void execute(JobExecutionContext arg) throws JobExecutionException { logger.entering(new Object[0]); WebApplicationContext context = QuartzServletContextListener.getSpringApplicationContext(); AtendimentoFacade atendimentoFacade = (AtendimentoFacade) context.getBean("atendimentoFacade"); AlertaFacade alertaFacade = (AlertaFacade) context.getBean("alertaFacade"); Alerta alerta = (Alerta) arg.getJobDetail().getJobDataMap().get("alerta"); alerta = alertaFacade.get(alerta.getId(), true); List<Atendimento> atendimentos = new ArrayList(); if ((alerta.getEscalonamentos() != null) && (!alerta.getEscalonamentos().isEmpty())) { for (Escalonamento es : alerta.getEscalonamentos()) { atendimentos = atendimentoFacade.getAtendimentoPorTempo( es.getTempo(), es.getUnidade(), alerta.getProblemas()); List emails = null; if ((atendimentos != null) && (!atendimentos.isEmpty())) { StringBuilder sb = new StringBuilder(); sb.append("<br />"); for (Atendimento atn : atendimentos) { sb.append(montaMsg(atn)); sb.append("<br />"); emails = recuperaEmail(es, atn); } String msg = MessagesUtil.matchAndReplace( MessagesUtil.getMessage("MessageResources", "msg.alertas.atrasados"), new Object[] {es.getTempo().toString(), es.getUnidade(), sb.toString()}); enviaEmails(emails, msg); } } } logger.exiting(new Object[0]); }
private String montaMsg(Atendimento atn) { logger.entering(new Object[0]); logger.exiting(new Object[0]); return MessagesUtil.matchAndReplace( MessagesUtil.getMessage("MessageResources", "msg.alertas.atrasados.info.atendimento"), new Object[] { atn.getCliente() == null ? "" : atn.getCliente().getNome(), atn.getProblemaInicial() == null ? "" : atn.getProblemaInicial().getDescricao(), atn.getDtAbertura() == null ? "" : MyToolkit.formaterData(atn.getDtAbertura(), "dd/MM/yyyy HH:mm"), atn.getStatus() != null ? atn.getStatus().getNome() : "", atn.getTempoPercorrido() + " " + MessagesUtil.getMessage("MessageResources", "view.alerta.tempo.minutos") }); }
private void enviaEmails(List<String> emails, String msg) { logger.entering(new Object[0]); if ((emails != null) && (!emails.isEmpty())) { for (String email : emails) { try { MessageUtil.enviaEmail( email, MessagesUtil.getMessage("MessageResources", "ass.alertas.atrasados"), msg, null); } catch (EmailException e) { logger.exception(e.getMessage(), e); } } } logger.exiting(new Object[0]); }
public ActionForward processar( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { logger.entering(new Object[0]); UsuarioForm myForm = (UsuarioForm) form; Usuario usuario = this.usuarioFacade.getUsuarioLogin(myForm.getLogin()); Integer nrTentativasMax = Integer.valueOf(MessagesUtil.getInt("MessageResources", "numero.max.tentativas")); if (usuario != null) { if (usuario.getBloqueado().booleanValue()) { addMensagem( request, new ActionMessage("msg.usuario.bloqueado", new String[] {usuario.getNome()}), "mensagemNegativa"); return mapping.findForward("principal"); } if (usuario.getTentativas().intValue() >= nrTentativasMax.intValue()) { addMensagem( request, new ActionMessage("msg.usuario.bloqueado", new String[0]), "mensagemNegativa"); return mapping.findForward("principal"); } if (!Cryptex.decrypt(usuario.getSenha()).equals(myForm.getSenha())) { usuario.setTentativas(Integer.valueOf(usuario.getTentativas().intValue() + 1)); if (usuario.getTentativas().intValue() >= nrTentativasMax.intValue()) { usuario.setBloqueado(Boolean.valueOf(true)); this.usuarioFacade.atualizar(usuario); addMensagem(request, new ActionMessage("msg.usuario.bloquear"), "mensagemNegativa"); return mapping.findForward("principal"); } this.usuarioFacade.atualizar(usuario); addMensagem( request, new ActionMessage( "msg.senha.invalida", new Object[] { Integer.valueOf(usuario.getTentativas().intValue()), Integer.valueOf(nrTentativasMax.intValue()), Integer.valueOf(nrTentativasMax.intValue()) }), "mensagemAdvertencia"); return mapping.findForward("principal"); } usuario.setTentativas(Integer.valueOf(0)); this.usuarioFacade.atualizar(usuario); } else { addMensagem(request, new ActionMessage("msg.usuario.inexistente"), "mensagemNegativa"); return mapping.findForward("principal"); } controlAcesso(request, usuario); ContextoUsuario contextoUsuario = new ContextoUsuario(); contextoUsuario.setUsuarioLogado(usuario); registrarContextoUsuario(contextoUsuario, request.getSession()); ActionUtil.getInstance().montarMenu(contextoUsuario, request.getSession()); montaHome(request, usuario); adicionaMotivos(request.getSession()); logger.exiting(new Object[0]); return mapping.findForward("home"); }