public ActionForward execute( ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o mapeamento de retorno ActionForward retorno = actionMapping.findForward("exibirGerarRelatorioLogradourosPorMunicipio"); Fachada fachada = Fachada.getInstancia(); // Mudar isso quando tiver esquema de segurança HttpSession sessao = httpServletRequest.getSession(false); GerarRelatorioLogradouroPorMunicipioActionForm gerarLogradouroActionForm = (GerarRelatorioLogradouroPorMunicipioActionForm) actionForm; /* * Removendo o bairro selecionado da sessão */ if (httpServletRequest.getParameter("remover") != null && httpServletRequest.getParameter("remover").equals("s")) { String idBairro = httpServletRequest.getParameter("idBairro"); if (idBairro != null && !idBairro.equals("") && sessao.getAttribute("colecaoBairrosSelecionadosUsuario") != null) { Collection colecaoBairrosSelecionadosUsuario = (Collection) sessao.getAttribute("colecaoBairrosSelecionadosUsuario"); Iterator colecaoBairrosSelecionadosUsuarioIterator; Bairro bairroInserir; colecaoBairrosSelecionadosUsuarioIterator = colecaoBairrosSelecionadosUsuario.iterator(); while (colecaoBairrosSelecionadosUsuarioIterator.hasNext()) { bairroInserir = (Bairro) colecaoBairrosSelecionadosUsuarioIterator.next(); if (bairroInserir.getId().equals(new Integer(idBairro))) { colecaoBairrosSelecionadosUsuario.remove(bairroInserir); break; } } if (colecaoBairrosSelecionadosUsuario.isEmpty()) { gerarLogradouroActionForm.setColecaoBairro(""); } } gerarLogradouroActionForm.setIdBairro(""); gerarLogradouroActionForm.setNomeBairro(""); return retorno; } gerarLogradouroActionForm.setColecaoBairro(""); if (sessao.getAttribute("colecaoBairrosSelecionadosUsuario") != null) { Collection colecaoBairros = (List) sessao.getAttribute("colecaoBairrosSelecionadosUsuario"); if (!colecaoBairros.isEmpty()) { gerarLogradouroActionForm.setColecaoBairro("CARREGADO"); } else { gerarLogradouroActionForm.setColecaoBairro(""); } } // -------Parte que trata do código quando o usuário tecla enter // caso seja o id do municipio String idDigitadoEnterMunicipio = (String) gerarLogradouroActionForm.getIdMunicipio(); String codigoDigitadoEnterBairro = (String) gerarLogradouroActionForm.getIdBairro(); /* * Removendo toda a coleção de bairro da sessão */ String removerColecaoBairro = httpServletRequest.getParameter("removerColecaoBairro"); if (removerColecaoBairro != null && !removerColecaoBairro.equals("")) { sessao.removeAttribute("colecaoBairrosSelecionadosUsuario"); gerarLogradouroActionForm.setColecaoBairro(""); } // Verifica se o código foi digitado if (idDigitadoEnterMunicipio != null && !idDigitadoEnterMunicipio.trim().equals("") && !Util.validarValorNaoNumerico(idDigitadoEnterMunicipio)) { FiltroMunicipio filtroMunicipio = new FiltroMunicipio(); filtroMunicipio.adicionarParametro( new ParametroSimples(FiltroMunicipio.ID, idDigitadoEnterMunicipio)); filtroMunicipio.adicionarParametro( new ParametroSimples( FiltroMunicipio.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); Collection municipioEncontrado = fachada.pesquisar(filtroMunicipio, Municipio.class.getName()); if (municipioEncontrado != null && !municipioEncontrado.isEmpty()) { // O municipio foi encontrado gerarLogradouroActionForm.setIdMunicipio( ((Municipio) ((List) municipioEncontrado).get(0)).getId().toString()); gerarLogradouroActionForm.setNomeMunicipio( ((Municipio) ((List) municipioEncontrado).get(0)).getNome()); } else { httpServletRequest.setAttribute("nomeCampo", "codigoBairro"); httpServletRequest.setAttribute("idMunicipioNaoEncontrado", "true"); gerarLogradouroActionForm.setIdMunicipio(""); httpServletRequest.setAttribute("nomeCampo", "idMunicipio"); httpServletRequest.setAttribute("idMunicipioNaoEncontrado", "exception"); gerarLogradouroActionForm.setNomeMunicipio("Município inexistente"); } } // Verifica se o código foi digitado if (codigoDigitadoEnterBairro != null && !codigoDigitadoEnterBairro.trim().equals("") && !Util.validarValorNaoNumerico(codigoDigitadoEnterBairro)) { FiltroBairro filtroBairro = new FiltroBairro(); filtroBairro.adicionarCaminhoParaCarregamentoEntidade("municipio"); filtroBairro.adicionarParametro( new ParametroSimples(FiltroBairro.CODIGO, codigoDigitadoEnterBairro)); filtroBairro.adicionarParametro( new ParametroSimples(FiltroBairro.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); // verifica se o bairro pesquisado é de um municipio existente if (idDigitadoEnterMunicipio != null && !idDigitadoEnterMunicipio.trim().equals("") && Integer.parseInt(idDigitadoEnterMunicipio) > 0) { filtroBairro.adicionarParametro( new ParametroSimples(FiltroBairro.MUNICIPIO_ID, idDigitadoEnterMunicipio)); } Collection bairroEncontrado = fachada.pesquisar(filtroBairro, Bairro.class.getName()); if (bairroEncontrado != null && !bairroEncontrado.isEmpty()) { // O bairro foi encontrado Bairro objetoBairroEncontrado = (Bairro) Util.retonarObjetoDeColecao(bairroEncontrado); gerarLogradouroActionForm.setIdBairro(String.valueOf(objetoBairroEncontrado.getCodigo())); gerarLogradouroActionForm.setNomeBairro(objetoBairroEncontrado.getNome()); httpServletRequest.setAttribute("nomeCampo", "botaoAdicionarBairro"); httpServletRequest.setAttribute("idBairroNaoEncontrado", "true"); /* * Adicionado o novo BAIRRO na coleção */ String adicionarBairroColecao = httpServletRequest.getParameter("adicionarBairroColecao"); if (adicionarBairroColecao != null && !adicionarBairroColecao.equals("")) { gerarLogradouroActionForm.setIdBairro(""); gerarLogradouroActionForm.setNomeBairro(""); List colecaoBairrosSelecionadosUsuario = new ArrayList(); if (sessao.getAttribute("colecaoBairrosSelecionadosUsuario") != null) { colecaoBairrosSelecionadosUsuario = (List) sessao.getAttribute("colecaoBairrosSelecionadosUsuario"); if (!colecaoBairrosSelecionadosUsuario.contains( (Bairro) ((List) bairroEncontrado).get(0))) { colecaoBairrosSelecionadosUsuario.add((Bairro) ((List) bairroEncontrado).get(0)); gerarLogradouroActionForm.setColecaoBairro("CARREGADO"); } else { throw new ActionServletException("atencao.objeto_ja_selecionado", null, "Bairro"); } } else { colecaoBairrosSelecionadosUsuario.add((Bairro) ((List) bairroEncontrado).get(0)); sessao.setAttribute( "colecaoBairrosSelecionadosUsuario", colecaoBairrosSelecionadosUsuario); gerarLogradouroActionForm.setColecaoBairro("CARREGADO"); } } } else { gerarLogradouroActionForm.setIdBairro(""); gerarLogradouroActionForm.setNomeBairro(""); httpServletRequest.setAttribute("nomeCampo", "codigoBairro"); httpServletRequest.setAttribute("idBairroNaoEncontrado", "exception"); gerarLogradouroActionForm.setNomeBairro("Bairro inexistente"); } } // fim da parte da pesquisa do enter return retorno; }
/** * Description of the Method * * @param actionMapping Description of the Parameter * @param actionForm Description of the Parameter * @param httpServletRequest Description of the Parameter * @param httpServletResponse Description of the Parameter * @return Description of the Return Value */ public ActionForward execute( ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o caminho de retorno ActionForward retorno = actionMapping.findForward("inserirCep"); // Mudar isso quando houver esquema de segurança HttpSession sessao = httpServletRequest.getSession(false); InserirCepActionForm inserirCepActionForm = (InserirCepActionForm) actionForm; // Obtém a instância da fachada Fachada fachada = Fachada.getInstancia(); Collection colecaoCepTipo = null; Collection colecaoLogradouroTipo = null; String municipioId = inserirCepActionForm.getMunicipioId(); String objetoConsulta = (String) httpServletRequest.getParameter("objetoConsulta"); if (objetoConsulta != null && !objetoConsulta.trim().equalsIgnoreCase("")) { switch (Integer.parseInt(objetoConsulta)) { // Municipio case 1: FiltroMunicipio filtroMunicipio = new FiltroMunicipio(); filtroMunicipio.adicionarParametro(new ParametroSimples(FiltroMunicipio.ID, municipioId)); filtroMunicipio.adicionarParametro( new ParametroSimples( FiltroMunicipio.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); // Retorna Municipio colecaoPesquisa = fachada.pesquisar(filtroMunicipio, Municipio.class.getName()); if (colecaoPesquisa == null || colecaoPesquisa.isEmpty()) { // Municipio nao encontrado // Limpa o campo MunicipioId do formulário inserirCepActionForm.setMunicipioId(""); inserirCepActionForm.setMunicipio("Municipio inexistente."); httpServletRequest.setAttribute("corMunicipio", "exception"); sessao.setAttribute("corMunicipio", "exception"); httpServletRequest.setAttribute("nomeCampo", "municipioId"); } else { Municipio objetoMunicipio = (Municipio) Util.retonarObjetoDeColecao(colecaoPesquisa); inserirCepActionForm.setMunicipioId(String.valueOf(objetoMunicipio.getId())); inserirCepActionForm.setMunicipio(objetoMunicipio.getNome()); httpServletRequest.setAttribute("corMunicipio", "valor"); } break; case 2: String bairroId = inserirCepActionForm.getBairroId(); FiltroBairro filtroBairro = new FiltroBairro(); filtroBairro.adicionarParametro(new ParametroSimples(FiltroBairro.CODIGO, bairroId)); filtroBairro.adicionarParametro( new ParametroSimples(FiltroBairro.MUNICIPIO_ID, municipioId)); filtroBairro.adicionarParametro( new ParametroSimples( FiltroBairro.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); // Retorna Bairro colecaoPesquisa = fachada.pesquisar(filtroBairro, Bairro.class.getName()); if (colecaoPesquisa == null || colecaoPesquisa.isEmpty()) { // Bairro nao encontrado // Limpa o campo BairroId do formulário inserirCepActionForm.setBairroId(""); inserirCepActionForm.setBairro("Bairro inexistente."); httpServletRequest.setAttribute("corBairro", "exception"); httpServletRequest.setAttribute("nomeCampo", "bairroId"); } else { Bairro objetoBairro = (Bairro) Util.retonarObjetoDeColecao(colecaoPesquisa); inserirCepActionForm.setBairroId(String.valueOf(objetoBairro.getCodigo())); inserirCepActionForm.setBairro(objetoBairro.getNome()); httpServletRequest.setAttribute("corBairro", "valor"); } break; } } // Filtro de Tipo CEP para trazer apenas os que tiverem Indicador Uso = 1 FiltroCepTipo filtroCepTipo = new FiltroCepTipo(); filtroCepTipo.adicionarParametro( new ParametroSimples(FiltroCepTipo.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroCepTipo.setCampoOrderBy(FiltroCepTipo.ID); // Pesquisa a coleção de Tipo de CEP colecaoCepTipo = fachada.pesquisar(filtroCepTipo, CepTipo.class.getName()); httpServletRequest.setAttribute("colecaoCepTipo", colecaoCepTipo); // Filtro de Tipo Logradouro colecaoLogradouroTipo = fachada.retornaListaLogradouroTipoCep(); sessao.setAttribute("colecaoLogradouroTipo", colecaoLogradouroTipo); if ((httpServletRequest.getParameter("desfazer") != null && httpServletRequest.getParameter("desfazer").equalsIgnoreCase("S"))) { inserirCepActionForm.setCepTipo(""); inserirCepActionForm.setSigla(""); inserirCepActionForm.setCodigo(""); inserirCepActionForm.setMunicipioId(""); inserirCepActionForm.setMunicipio(""); inserirCepActionForm.setBairroId(""); inserirCepActionForm.setBairro(""); inserirCepActionForm.setLogradouroTipo(""); inserirCepActionForm.setLogradouro(""); if (inserirCepActionForm.getCodigo() == null || inserirCepActionForm.getCodigo().equals("")) { Collection colecaoPesquisa = null; FiltroCep filtroCep = new FiltroCep(); filtroCep.setCampoOrderBy(FiltroCep.CODIGO); colecaoPesquisa = fachada.pesquisar(filtroCep, Cep.class.getName()); // Verifica se há algum registro na tabela if (colecaoPesquisa == null || colecaoPesquisa.isEmpty()) { throw new ActionServletException("atencao.pesquisa.nenhum_registro_tabela", null, "CEP"); } else { sessao.setAttribute("colecaoCep", colecaoPesquisa); } // Coleção de CEP FiltroCep filtroCep2 = new FiltroCep(); filtroCep2.setCampoOrderBy(FiltroCep.CEPID); Collection colecaoCep2 = fachada.pesquisar(filtroCep2, Cep.class.getName()); sessao.setAttribute("colecaoCep2", colecaoCep2); } } return retorno; }