public ActionForward execute( ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { HttpSession sessao = httpServletRequest.getSession(false); InformarVencimentoAlternativoActionForm informarVencimentoAlternativoActionForm = (InformarVencimentoAlternativoActionForm) actionForm; if (Util.verificarNaoVazio(informarVencimentoAlternativoActionForm.getIdImovel())) { Collection<ClienteImovel> colecaoClienteImovel = obterColecaoClienteImovel(informarVencimentoAlternativoActionForm); if (Util.isVazioOrNulo(colecaoClienteImovel)) { httpServletRequest.setAttribute("corInscricao", "exception"); httpServletRequest.setAttribute("nomeCampo", "idImovel"); limparFormESessao(informarVencimentoAlternativoActionForm, sessao); informarVencimentoAlternativoActionForm.setInscricaoImovel("Matrícula Inexistente"); } else { setarDadosFormESessao( informarVencimentoAlternativoActionForm, colecaoClienteImovel, sessao); } } return actionMapping.findForward("informarVencimentoAlternativo"); }
/** * Obtém o ClienteImovel relacionado ao imóvel informado, onde a relação entre o cliente e o * imóvel seja de Usuário. * * @since 22/10/2009 * @author Marlon Patrick */ private Collection<ClienteImovel> obterColecaoClienteImovel( InformarVencimentoAlternativoActionForm informarVencimentoAlternativoActionForm) { FiltroClienteImovel filtroClienteImovel = new FiltroClienteImovel(); filtroClienteImovel.adicionarCaminhoParaCarregamentoEntidade("imovel"); filtroClienteImovel.adicionarCaminhoParaCarregamentoEntidade("imovel.setorComercial"); filtroClienteImovel.adicionarCaminhoParaCarregamentoEntidade("imovel.quadra"); filtroClienteImovel.adicionarCaminhoParaCarregamentoEntidade("imovel.ligacaoAguaSituacao"); filtroClienteImovel.adicionarCaminhoParaCarregamentoEntidade("imovel.ligacaoEsgotoSituacao"); filtroClienteImovel.adicionarCaminhoParaCarregamentoEntidade("cliente"); filtroClienteImovel.adicionarCaminhoParaCarregamentoEntidade( "imovel.quadra.rota.faturamentoGrupo"); filtroClienteImovel.adicionarCaminhoParaCarregamentoEntidade("imovel"); filtroClienteImovel.adicionarParametro( new ParametroSimples( FiltroClienteImovel.IMOVEL_ID, informarVencimentoAlternativoActionForm.getIdImovel())); filtroClienteImovel.adicionarParametro( new ParametroSimples(FiltroClienteImovel.CLIENTE_RELACAO_TIPO, ClienteRelacaoTipo.USUARIO)); filtroClienteImovel.adicionarParametro(new ParametroNulo(FiltroClienteImovel.DATA_FIM_RELACAO)); return Fachada.getInstancia().pesquisar(filtroClienteImovel, ClienteImovel.class.getName()); }
/** * Limpa todos os campos que seriam exibidos na tela, sejam eles do form ou da sessão. * * @since 23/10/2009 * @author Marlon Patrick */ private void limparFormESessao( InformarVencimentoAlternativoActionForm informarVencimentoAlternativoActionForm, HttpSession sessao) { informarVencimentoAlternativoActionForm.setIdImovel(""); informarVencimentoAlternativoActionForm.setInscricaoImovel(""); informarVencimentoAlternativoActionForm.setNomeClienteUsuario(""); informarVencimentoAlternativoActionForm.setSituacaoAguaImovel(""); informarVencimentoAlternativoActionForm.setSituacaoEsgotoImovel(""); informarVencimentoAlternativoActionForm.setDiaVencimentoGrupo(""); informarVencimentoAlternativoActionForm.setDiaVencimentoAtual(""); informarVencimentoAlternativoActionForm.setDataAlteracaoVencimento(""); informarVencimentoAlternativoActionForm.setIndicadorVencimentoMesSeguinte(""); sessao.removeAttribute("vencimentoAlternativo"); sessao.removeAttribute("colecaoNovoDiaVencimento"); sessao.removeAttribute("imovel"); }
/** * Este método seta as informações a serem exibidas para o usuário no form e na sessão, para que a * JSP responsável processe os dados. * * @since 22/10/2009 * @author Marlon Patrick */ private void setarDadosFormESessao( InformarVencimentoAlternativoActionForm informarVencimentoAlternativoActionForm, Collection<ClienteImovel> colecaoClienteImovel, HttpSession sessao) { Fachada fachada = Fachada.getInstancia(); ClienteImovel clienteImovel = colecaoClienteImovel.iterator().next(); fachada.verificarExistenciaRegistroAtendimento( clienteImovel.getImovel().getId(), "atencao.vencimento_alternativo_existencia_registro_atendimento", EspecificacaoTipoValidacao.VENCIMENTO_ALTERNATIVO); informarVencimentoAlternativoActionForm.setInscricaoImovel( clienteImovel.getImovel().getInscricaoFormatada()); informarVencimentoAlternativoActionForm.setNomeClienteUsuario( clienteImovel.getCliente().getNome()); informarVencimentoAlternativoActionForm.setSituacaoAguaImovel( clienteImovel.getImovel().getLigacaoAguaSituacao().getDescricao()); informarVencimentoAlternativoActionForm.setSituacaoEsgotoImovel( clienteImovel.getImovel().getLigacaoEsgotoSituacao().getDescricao()); informarVencimentoAlternativoActionForm.setDiaVencimentoGrupo(""); if (clienteImovel.getImovel().getQuadra().getRota().getFaturamentoGrupo().getDiaVencimento() != null && !clienteImovel .getImovel() .getQuadra() .getRota() .getFaturamentoGrupo() .getDiaVencimento() .equals(0)) { informarVencimentoAlternativoActionForm.setDiaVencimentoGrupo( clienteImovel .getImovel() .getQuadra() .getRota() .getFaturamentoGrupo() .getDiaVencimento() .toString()); } informarVencimentoAlternativoActionForm.setDiaVencimentoAtual(""); if (clienteImovel.getImovel().getDiaVencimento() != null && !clienteImovel.getImovel().getDiaVencimento().equals(0)) { informarVencimentoAlternativoActionForm.setDiaVencimentoAtual( clienteImovel.getImovel().getDiaVencimento().toString()); } FiltroVencimentoAlternativo filtroVencimentoAlternativo = new FiltroVencimentoAlternativo(FiltroVencimentoAlternativo.DATA_IMPLANTACAO); filtroVencimentoAlternativo.adicionarParametro( new ParametroSimples( FiltroVencimentoAlternativo.IMOVEL_ID, clienteImovel.getImovel().getId())); Collection<VencimentoAlternativo> vencimentosAlternativos = fachada.pesquisar(filtroVencimentoAlternativo, VencimentoAlternativo.class.getName()); if (!Util.isVazioOrNulo(vencimentosAlternativos)) { VencimentoAlternativo vencimentoAlternativo = vencimentosAlternativos.iterator().next(); informarVencimentoAlternativoActionForm.setDataAlteracaoVencimento(""); if (vencimentoAlternativo.getDataImplantacao() != null) { informarVencimentoAlternativoActionForm.setDataAlteracaoVencimento( new SimpleDateFormat("dd/MM/yyyy").format(vencimentoAlternativo.getDataImplantacao())); } sessao.setAttribute("vencimentoAlternativo", vencimentoAlternativo); } sessao.setAttribute( "colecaoNovoDiaVencimento", criarColecaoNovoDiaPagamento(clienteImovel, sessao)); if (clienteImovel.getImovel().getIndicadorVencimentoMesSeguinte() != null) { informarVencimentoAlternativoActionForm.setIndicadorVencimentoMesSeguinte( clienteImovel.getImovel().getIndicadorVencimentoMesSeguinte().toString()); } else { informarVencimentoAlternativoActionForm.setIndicadorVencimentoMesSeguinte("2"); } sessao.setAttribute("imovel", clienteImovel.getImovel()); }