package gcom.gui.cadastro.endereco; import gcom.arrecadacao.banco.Agencia; import gcom.cadastro.cliente.ClienteEndereco; import gcom.cadastro.endereco.Cep; import gcom.cadastro.endereco.CepTipo; import gcom.cadastro.endereco.EnderecoReferencia; import gcom.cadastro.endereco.EnderecoTipo; import gcom.cadastro.endereco.FiltroCep; import gcom.cadastro.endereco.FiltroEnderecoReferencia; import gcom.cadastro.endereco.FiltroEnderecoTipo; import gcom.cadastro.endereco.FiltroLogradouro; import gcom.cadastro.endereco.Logradouro; import gcom.cadastro.endereco.LogradouroBairro; import gcom.cadastro.endereco.LogradouroCep; import gcom.cadastro.geografico.Bairro; import gcom.cadastro.geografico.Municipio; import gcom.cadastro.imovel.Imovel; import gcom.cadastro.localidade.FiltroQuadra; import gcom.cadastro.localidade.GerenciaRegional; import gcom.cadastro.localidade.Localidade; import gcom.cadastro.localidade.Quadra; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.gui.integracao.GisHelper; import gcom.util.ConstantesSistema; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.validator.DynaValidatorForm; /** * NOVO ENDERE�O * * Esta classe tem por finalidade exibir para o usu�rio a tela que receber� os par�metros para informar * um endere�o * * @author Raphael Rossiter * @date 08/05/2006 */ public class ExibirInserirEnderecoAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping.findForward("exibirInserirEndereco"); Fachada fachada = Fachada.getInstancia(); HttpSession sessao = httpServletRequest.getSession(false); InserirEnderecoActionForm inserirEnderecoActionForm = (InserirEnderecoActionForm) actionForm; String limparLogradouro = httpServletRequest.getParameter("limparLogradouro"); String tipoRetorno = (String) httpServletRequest.getParameter("tipoPesquisaEndereco"); String tipoOperacao = (String) httpServletRequest.getParameter("operacao"); String objetoConsulta = (String) httpServletRequest.getParameter("objetoConsulta"); String caminhoRetornoTelaAdicionarSolicitante = (String) httpServletRequest.getParameter("caminhoRetornoTelaAdicionarSolicitante"); String abrirPesquisaLogradouro = (String) httpServletRequest.getParameter("abrirPesquisaLogradouro"); String origem = (String) httpServletRequest.getParameter("origem"); httpServletRequest.setAttribute("origem", ""); if (tipoRetorno != null && !tipoRetorno.trim().equalsIgnoreCase("")) { sessao.setAttribute("tipoPesquisaRetorno", tipoRetorno); } if (abrirPesquisaLogradouro != null) { // inserirEnderecoActionForm.setTipoPesquisaTela(tipoPesquisaTela); httpServletRequest.setAttribute("abrirPesquisaLogradouro", "SIM"); } if (caminhoRetornoTelaAdicionarSolicitante != null && !caminhoRetornoTelaAdicionarSolicitante.trim().equalsIgnoreCase("")) { sessao.setAttribute("caminhoRetornoTelaAdicionarSolicitante", caminhoRetornoTelaAdicionarSolicitante); } if (tipoOperacao != null && !tipoOperacao.trim().equalsIgnoreCase("")) { sessao.setAttribute("operacao", tipoOperacao); inserirEnderecoActionForm.setEnderecoReferencia(EnderecoReferencia.NUMERO.toString()); // Limpar o formul�rio inserirEnderecoActionForm.setBairro(String.valueOf(ConstantesSistema.NUMERO_NAO_INFORMADO)); inserirEnderecoActionForm.setCep(""); inserirEnderecoActionForm.setCepUnico(""); inserirEnderecoActionForm.setComplemento(""); inserirEnderecoActionForm.setLogradouro(""); inserirEnderecoActionForm.setLogradouroDescricao(""); inserirEnderecoActionForm.setNumero(""); inserirEnderecoActionForm.setTipo(String.valueOf(ConstantesSistema.NUMERO_NAO_INFORMADO)); inserirEnderecoActionForm.setAssociacaoExistente(""); inserirEnderecoActionForm.setTipoAcao(""); inserirEnderecoActionForm.setIdPerimetroInicial(""); inserirEnderecoActionForm.setDescricaoPerimetroInicial(""); inserirEnderecoActionForm.setIdPerimetroFinal(""); inserirEnderecoActionForm.setDescricaoPerimetroFinal(""); inserirEnderecoActionForm.setTipoPesquisaTela(""); inserirEnderecoActionForm.setMostrarPerimetro(false); sessao.removeAttribute("colecaoCepSelecionadosUsuario"); sessao.removeAttribute("objetoCep"); sessao.removeAttribute("logradouroBairros"); sessao.removeAttribute("indicadorRelacaoQuadraBairro"); httpServletRequest.setAttribute("nomeCampo", "logradouro"); } String mostrarPerimetro = httpServletRequest.getParameter("mostrarPerimetro"); if (mostrarPerimetro != null && mostrarPerimetro.trim().equals("sim")) { inserirEnderecoActionForm.setMostrarPerimetro(true); } if (objetoConsulta != null && !objetoConsulta.trim().equals("")) { if (objetoConsulta.trim().equals("1")) { String idPerimetroInicial = inserirEnderecoActionForm.getIdPerimetroInicial(); if (idPerimetroInicial != null && !idPerimetroInicial.trim().equals("")) { Logradouro perimetroInicial = pesquisarLogradouroDigitado(idPerimetroInicial); if (perimetroInicial != null) { inserirEnderecoActionForm.setIdPerimetroInicial(perimetroInicial.getId().toString()); inserirEnderecoActionForm.setDescricaoPerimetroInicial(perimetroInicial.getDescricaoFormatada()); httpServletRequest.setAttribute("nomeCampo", "idPerimetroFinal"); } else { inserirEnderecoActionForm.setIdPerimetroInicial(""); inserirEnderecoActionForm.setDescricaoPerimetroInicial("PER�METRO INEXISTENTE"); httpServletRequest.setAttribute("perimetroInicialInexistente", true); httpServletRequest.setAttribute("nomeCampo", "idPerimetroInicial"); } } else { inserirEnderecoActionForm.setDescricaoPerimetroInicial(""); } } if (objetoConsulta.trim().equals("2")) { String idPerimetroFinal = inserirEnderecoActionForm.getIdPerimetroFinal(); if (idPerimetroFinal != null && !idPerimetroFinal.trim().equals("")) { Logradouro perimetroFinal = pesquisarLogradouroDigitado(inserirEnderecoActionForm.getIdPerimetroFinal()); if (perimetroFinal != null) { inserirEnderecoActionForm.setIdPerimetroFinal(perimetroFinal.getId().toString()); inserirEnderecoActionForm.setDescricaoPerimetroFinal(perimetroFinal.getDescricaoFormatada()); } else { inserirEnderecoActionForm.setIdPerimetroFinal(""); inserirEnderecoActionForm.setDescricaoPerimetroFinal("PER�METRO INEXISTENTE"); httpServletRequest.setAttribute("perimetroFinalInexistente", true); httpServletRequest.setAttribute("nomeCampo", "idPerimetroFinal"); } } else { inserirEnderecoActionForm.setDescricaoPerimetroFinal(""); } } } else { /* * Trecho de c�digo respons�vel pela exibi��o de um endere�o j� cadastrado ou j� selecionado mas ainda * n�o cadastrado pelo usu�rio */ String exibirEndereco = httpServletRequest.getParameter("exibirEndereco"); if (exibirEndereco != null && !exibirEndereco.equals("")){ inserirEnderecoActionForm.setTipoAcao("atualizacao"); Collection enderecos = null; if (tipoRetorno.trim().equalsIgnoreCase("cliente")) { enderecos = (Collection) sessao.getAttribute("colecaoEnderecos"); String objetoClienteEnderecoSelecionado = httpServletRequest.getParameter("objetoSelecionado"); String enderecoCorrespondencia = httpServletRequest.getParameter("enderecoCorrespondencia"); inserirEnderecoActionForm.setObjetoClienteEnderecoSelecionado(objetoClienteEnderecoSelecionado); inserirEnderecoActionForm.setEnderecoCorrespondencia(enderecoCorrespondencia); Iterator iteratorEnderecos = enderecos.iterator(); ClienteEndereco clienteEndereco = null; while (iteratorEnderecos.hasNext()){ clienteEndereco = (ClienteEndereco) iteratorEnderecos.next(); if (obterTimestampIdObjeto(clienteEndereco) == Long.parseLong(inserirEnderecoActionForm.getObjetoClienteEnderecoSelecionado())) { carregarValidarEndereco("OK", "OK", fachada, sessao, httpServletRequest, clienteEndereco.getLogradouroCep().getCep().getCodigo().toString() , clienteEndereco.getLogradouroCep().getLogradouro().getId().toString(), inserirEnderecoActionForm, null, actionMapping); if (clienteEndereco.getEnderecoTipo() != null){ inserirEnderecoActionForm.setTipo(clienteEndereco.getEnderecoTipo().getId().toString()); } //Alterado por Leonardo Vieira 11/08/2007 //Devido a n�o exist�ncia da rela��o logradourobairro para determinados im�veis //Base de dados COMPESA if (clienteEndereco.getLogradouroBairro() != null) { inserirEnderecoActionForm.setBairro(clienteEndereco.getLogradouroBairro().getBairro().getId().toString()); } if (clienteEndereco.getEnderecoReferencia() != null){ inserirEnderecoActionForm.setEnderecoReferencia(clienteEndereco.getEnderecoReferencia().getId().toString()); } inserirEnderecoActionForm.setNumero(clienteEndereco.getNumero()); if (clienteEndereco.getComplemento() != null){ inserirEnderecoActionForm.setComplemento(clienteEndereco.getComplemento()); } if (clienteEndereco.getPerimetroInicial() != null){ inserirEnderecoActionForm.setIdPerimetroInicial(clienteEndereco.getPerimetroInicial().getId().toString()); inserirEnderecoActionForm.setDescricaoPerimetroInicial(clienteEndereco.getPerimetroInicial().getDescricaoFormatada()); } if (clienteEndereco.getPerimetroFinal() != null){ inserirEnderecoActionForm.setIdPerimetroFinal(clienteEndereco.getPerimetroFinal().getId().toString()); inserirEnderecoActionForm.setDescricaoPerimetroFinal(clienteEndereco.getPerimetroFinal().getDescricaoFormatada()); } } } httpServletRequest.setAttribute("nomeCampo", "tipo"); } else if (tipoRetorno.trim().equalsIgnoreCase("imovel")) { enderecos = (Collection) sessao .getAttribute("colecaoEnderecos"); Imovel imovelEndereco = ((Imovel) enderecos.iterator().next()); carregarValidarEndereco("OK", "OK", fachada, sessao, httpServletRequest, imovelEndereco.getLogradouroCep().getCep().getCodigo().toString() , imovelEndereco.getLogradouroCep().getLogradouro().getId().toString(), inserirEnderecoActionForm, null, actionMapping); if ( imovelEndereco.getLogradouroBairro() != null ) { inserirEnderecoActionForm.setBairro(imovelEndereco.getLogradouroBairro().getBairro().getId().toString()); } if (imovelEndereco.getEnderecoReferencia() != null){ inserirEnderecoActionForm.setEnderecoReferencia(imovelEndereco.getEnderecoReferencia().getId().toString()); } inserirEnderecoActionForm.setNumero(imovelEndereco.getNumeroImovel()); if (imovelEndereco.getComplementoEndereco() != null){ inserirEnderecoActionForm.setComplemento(imovelEndereco.getComplementoEndereco()); } if (imovelEndereco.getPerimetroInicial() != null){ inserirEnderecoActionForm.setIdPerimetroInicial(imovelEndereco.getPerimetroInicial().getId().toString()); inserirEnderecoActionForm.setDescricaoPerimetroInicial(imovelEndereco.getPerimetroInicial().getDescricaoFormatada()); } if (imovelEndereco.getPerimetroFinal() != null){ inserirEnderecoActionForm.setIdPerimetroFinal(imovelEndereco.getPerimetroFinal().getId().toString()); inserirEnderecoActionForm.setDescricaoPerimetroFinal(imovelEndereco.getPerimetroFinal().getDescricaoFormatada()); } httpServletRequest.setAttribute("nomeCampo", "cep"); } else if (tipoRetorno.trim().equalsIgnoreCase("localidade")) { enderecos = (Collection) sessao .getAttribute("colecaoEnderecos"); Localidade localidadeEndereco = ((Localidade) enderecos.iterator().next()); carregarValidarEndereco("OK", "OK", fachada, sessao, httpServletRequest, localidadeEndereco.getLogradouroCep().getCep().getCodigo().toString() , localidadeEndereco.getLogradouroCep().getLogradouro().getId().toString() , inserirEnderecoActionForm, null, actionMapping); inserirEnderecoActionForm.setBairro(localidadeEndereco.getLogradouroBairro().getBairro().getId().toString()); if (localidadeEndereco.getEnderecoReferencia() != null){ inserirEnderecoActionForm.setEnderecoReferencia(localidadeEndereco.getEnderecoReferencia().getId().toString()); } inserirEnderecoActionForm.setNumero(localidadeEndereco.getNumeroImovel()); if (localidadeEndereco.getComplementoEndereco() != null){ inserirEnderecoActionForm.setComplemento(localidadeEndereco.getComplementoEndereco()); } httpServletRequest.setAttribute("nomeCampo", "cep"); } else if (tipoRetorno.trim().equalsIgnoreCase("registroAtendimento")) { //Aba N� 02 - Endere�o do local da ocorr�ncia (Objeto Im�vel) if (tipoOperacao.trim().equalsIgnoreCase("1")){ enderecos = (Collection) sessao .getAttribute("colecaoEnderecos"); Imovel imovelEndereco = ((Imovel) enderecos.iterator().next()); carregarValidarEndereco("OK", "OK", fachada, sessao, httpServletRequest, imovelEndereco.getLogradouroCep().getCep().getCodigo().toString() , imovelEndereco.getLogradouroCep().getLogradouro().getId().toString(), inserirEnderecoActionForm, null, actionMapping); inserirEnderecoActionForm.setBairro(imovelEndereco.getLogradouroBairro().getBairro().getId().toString()); if (imovelEndereco.getEnderecoReferencia() != null){ inserirEnderecoActionForm.setEnderecoReferencia(imovelEndereco.getEnderecoReferencia().getId().toString()); } inserirEnderecoActionForm.setNumero(imovelEndereco.getNumeroImovel()); if (imovelEndereco.getComplementoEndereco() != null){ inserirEnderecoActionForm.setComplemento(imovelEndereco.getComplementoEndereco()); } if (imovelEndereco.getPerimetroInicial() != null){ inserirEnderecoActionForm.setIdPerimetroInicial(imovelEndereco.getPerimetroInicial().getId().toString()); inserirEnderecoActionForm.setDescricaoPerimetroInicial(imovelEndereco.getPerimetroInicial().getDescricaoFormatada()); } if (imovelEndereco.getPerimetroFinal() != null){ inserirEnderecoActionForm.setIdPerimetroFinal(imovelEndereco.getPerimetroFinal().getId().toString()); inserirEnderecoActionForm.setDescricaoPerimetroFinal(imovelEndereco.getPerimetroFinal().getDescricaoFormatada()); } if (origem != null && !origem.trim().equalsIgnoreCase("")) { httpServletRequest.setAttribute("origem", "acquaGIS"); } } //Aba N� 03 - Endere�o do Solicitante (Objeto ClienteEndereco) else if (tipoOperacao.trim().equalsIgnoreCase("2")){ enderecos = (Collection) sessao .getAttribute("colecaoEnderecosAbaSolicitante"); ClienteEndereco clienteEndereco = ((ClienteEndereco) enderecos.iterator().next()); carregarValidarEndereco("OK", "OK", fachada, sessao, httpServletRequest, clienteEndereco.getLogradouroCep().getCep().getCodigo().toString() , clienteEndereco.getLogradouroCep().getLogradouro().getId().toString(), inserirEnderecoActionForm, null, actionMapping); inserirEnderecoActionForm.setBairro(clienteEndereco.getLogradouroBairro().getBairro().getId().toString()); if (clienteEndereco.getEnderecoReferencia() != null){ inserirEnderecoActionForm.setEnderecoReferencia(clienteEndereco.getEnderecoReferencia().getId().toString()); } inserirEnderecoActionForm.setNumero(clienteEndereco.getNumero()); if (clienteEndereco.getComplemento() != null){ inserirEnderecoActionForm.setComplemento(clienteEndereco.getComplemento()); } if (clienteEndereco.getPerimetroInicial() != null){ inserirEnderecoActionForm.setIdPerimetroInicial(clienteEndereco.getPerimetroInicial().getId().toString()); inserirEnderecoActionForm.setDescricaoPerimetroInicial(clienteEndereco.getPerimetroInicial().getDescricaoFormatada()); } if (clienteEndereco.getPerimetroFinal() != null){ inserirEnderecoActionForm.setIdPerimetroFinal(clienteEndereco.getPerimetroFinal().getId().toString()); inserirEnderecoActionForm.setDescricaoPerimetroFinal(clienteEndereco.getPerimetroFinal().getDescricaoFormatada()); } } //Aba N� 02 - Endere�o do local da ocorr�ncia (Objeto Im�vel) - Atualizar if (tipoOperacao.trim().equalsIgnoreCase("3")){ enderecos = (Collection) sessao .getAttribute("colecaoEnderecos"); Imovel imovelEndereco = ((Imovel) enderecos.iterator().next()); carregarValidarEndereco("OK", "OK", fachada, sessao, httpServletRequest, imovelEndereco.getLogradouroCep().getCep().getCodigo().toString() , imovelEndereco.getLogradouroCep().getLogradouro().getId().toString(), inserirEnderecoActionForm, null, actionMapping); inserirEnderecoActionForm.setBairro(imovelEndereco.getLogradouroBairro().getBairro().getId().toString()); if (imovelEndereco.getEnderecoReferencia() != null){ inserirEnderecoActionForm.setEnderecoReferencia(imovelEndereco.getEnderecoReferencia().getId().toString()); } inserirEnderecoActionForm.setNumero(imovelEndereco.getNumeroImovel()); if (imovelEndereco.getComplementoEndereco() != null){ inserirEnderecoActionForm.setComplemento(imovelEndereco.getComplementoEndereco()); } if (imovelEndereco.getPerimetroInicial() != null){ inserirEnderecoActionForm.setIdPerimetroInicial(imovelEndereco.getPerimetroInicial().getId().toString()); inserirEnderecoActionForm.setDescricaoPerimetroInicial(imovelEndereco.getPerimetroInicial().getDescricaoFormatada()); } if (imovelEndereco.getPerimetroFinal() != null){ inserirEnderecoActionForm.setIdPerimetroFinal(imovelEndereco.getPerimetroFinal().getId().toString()); inserirEnderecoActionForm.setDescricaoPerimetroFinal(imovelEndereco.getPerimetroFinal().getDescricaoFormatada()); } } //Aba N� 03 - Endere�o do Solicitante (Objeto ClienteEndereco) - Atualizar else if (tipoOperacao.trim().equalsIgnoreCase("4")){ enderecos = (Collection) sessao .getAttribute("colecaoEnderecosSolicitante"); ClienteEndereco clienteEndereco = ((ClienteEndereco) enderecos.iterator().next()); carregarValidarEndereco("OK", "OK", fachada, sessao, httpServletRequest, clienteEndereco.getLogradouroCep().getCep().getCodigo().toString() , clienteEndereco.getLogradouroCep().getLogradouro().getId().toString(), inserirEnderecoActionForm, null, actionMapping); inserirEnderecoActionForm.setBairro(clienteEndereco.getLogradouroBairro().getBairro().getId().toString()); if (clienteEndereco.getEnderecoReferencia() != null){ inserirEnderecoActionForm.setEnderecoReferencia(clienteEndereco.getEnderecoReferencia().getId().toString()); } inserirEnderecoActionForm.setNumero(clienteEndereco.getNumero()); if (clienteEndereco.getComplemento() != null){ inserirEnderecoActionForm.setComplemento(clienteEndereco.getComplemento()); } if (clienteEndereco.getPerimetroInicial() != null){ inserirEnderecoActionForm.setIdPerimetroInicial(clienteEndereco.getPerimetroInicial().getId().toString()); inserirEnderecoActionForm.setDescricaoPerimetroInicial(clienteEndereco.getPerimetroInicial().getDescricaoFormatada()); } if (clienteEndereco.getPerimetroFinal() != null){ inserirEnderecoActionForm.setIdPerimetroFinal(clienteEndereco.getPerimetroFinal().getId().toString()); inserirEnderecoActionForm.setDescricaoPerimetroFinal(clienteEndereco.getPerimetroFinal().getDescricaoFormatada()); } } else if (tipoOperacao.trim().equalsIgnoreCase("5")){ enderecos = (Collection) sessao.getAttribute("colecaoEnderecos"); ClienteEndereco clienteEndereco = ((ClienteEndereco) enderecos.iterator().next()); carregarValidarEndereco("OK", "OK", fachada, sessao, httpServletRequest, clienteEndereco.getLogradouroCep().getCep().getCodigo().toString() , clienteEndereco.getLogradouroCep().getLogradouro().getId().toString(), inserirEnderecoActionForm, null, actionMapping); inserirEnderecoActionForm.setBairro(clienteEndereco.getLogradouroBairro().getBairro().getId().toString()); if (clienteEndereco.getEnderecoReferencia() != null){ inserirEnderecoActionForm.setEnderecoReferencia(clienteEndereco.getEnderecoReferencia().getId().toString()); } inserirEnderecoActionForm.setNumero(clienteEndereco.getNumero()); if (clienteEndereco.getComplemento() != null){ inserirEnderecoActionForm.setComplemento(clienteEndereco.getComplemento()); } if (clienteEndereco.getPerimetroInicial() != null){ inserirEnderecoActionForm.setIdPerimetroInicial(clienteEndereco.getPerimetroInicial().getId().toString()); inserirEnderecoActionForm.setDescricaoPerimetroInicial(clienteEndereco.getPerimetroInicial().getDescricaoFormatada()); } if (clienteEndereco.getPerimetroFinal() != null){ inserirEnderecoActionForm.setIdPerimetroFinal(clienteEndereco.getPerimetroFinal().getId().toString()); inserirEnderecoActionForm.setDescricaoPerimetroFinal(clienteEndereco.getPerimetroFinal().getDescricaoFormatada()); } } httpServletRequest.setAttribute("nomeCampo", "cep"); } else if (tipoRetorno.trim().equalsIgnoreCase("gerenciaRegional")) { enderecos = (Collection) sessao .getAttribute("colecaoEnderecos"); GerenciaRegional gerenciaRegionalEndereco = ((GerenciaRegional) enderecos.iterator().next()); carregarValidarEndereco("OK", "OK", fachada, sessao, httpServletRequest, gerenciaRegionalEndereco.getLogradouroCep().getCep().getCodigo().toString() , gerenciaRegionalEndereco.getLogradouroCep().getLogradouro().getId().toString() , inserirEnderecoActionForm, null, actionMapping); inserirEnderecoActionForm.setBairro(gerenciaRegionalEndereco.getLogradouroBairro().getBairro().getId().toString()); if (gerenciaRegionalEndereco.getEnderecoReferencia() != null){ inserirEnderecoActionForm.setEnderecoReferencia(gerenciaRegionalEndereco.getEnderecoReferencia().getId().toString()); } inserirEnderecoActionForm.setNumero(gerenciaRegionalEndereco.getNumeroImovel()); if (gerenciaRegionalEndereco.getComplementoEndereco() != null){ inserirEnderecoActionForm.setComplemento(gerenciaRegionalEndereco.getComplementoEndereco()); } httpServletRequest.setAttribute("nomeCampo", "cep"); } else if (tipoRetorno.trim().equalsIgnoreCase("agencia")) { enderecos = (Collection) sessao .getAttribute("colecaoEnderecos"); Agencia agenciaEndereco = ((Agencia) enderecos.iterator().next()); carregarValidarEndereco("OK", "OK", fachada, sessao, httpServletRequest, agenciaEndereco.getLogradouroCep().getCep().getCodigo().toString() , agenciaEndereco.getLogradouroCep().getLogradouro().getId().toString() , inserirEnderecoActionForm, null, actionMapping); inserirEnderecoActionForm.setBairro(agenciaEndereco.getLogradouroBairro().getBairro().getId().toString()); if (agenciaEndereco.getEnderecoReferencia() != null){ inserirEnderecoActionForm.setEnderecoReferencia(agenciaEndereco.getEnderecoReferencia().getId().toString()); } inserirEnderecoActionForm.setNumero(agenciaEndereco.getNumeroImovel()); if (agenciaEndereco.getComplementoEndereco() != null){ inserirEnderecoActionForm.setComplemento(agenciaEndereco.getComplementoEndereco()); } httpServletRequest.setAttribute("nomeCampo", "cep"); } else if (tipoRetorno.trim().equalsIgnoreCase("sistemaParametro")) { enderecos = (Collection) sessao.getAttribute("colecaoEnderecos"); Imovel imovelEndereco = ((Imovel) enderecos.iterator().next()); carregarValidarEndereco("OK", "OK", fachada, sessao, httpServletRequest, imovelEndereco.getLogradouroCep().getCep().getCodigo().toString(), imovelEndereco.getLogradouroCep().getLogradouro().getId().toString(), inserirEnderecoActionForm, null, actionMapping); inserirEnderecoActionForm.setBairro(imovelEndereco.getLogradouroBairro().getBairro().getId().toString()); if (imovelEndereco.getEnderecoReferencia() != null){ inserirEnderecoActionForm.setEnderecoReferencia(imovelEndereco.getEnderecoReferencia().getId().toString()); } inserirEnderecoActionForm.setNumero(imovelEndereco.getNumeroImovel()); if (imovelEndereco.getComplementoEndereco() != null){ inserirEnderecoActionForm.setComplemento(imovelEndereco.getComplementoEndereco()); } httpServletRequest.setAttribute("nomeCampo", "cep"); } } else{ String cepJSP = inserirEnderecoActionForm.getCep(); String pesquisarCep = httpServletRequest.getParameter("pesquisarCep"); String pesquisarLogradouro = httpServletRequest.getParameter("pesquisarLogradouro"); String logradouroJSP = inserirEnderecoActionForm.getLogradouro(); //------------------------------------------------------------------------------ //Integra��o com o AcquaGis //------------------------------------------------------------------------------ String gis = httpServletRequest.getParameter("gis"); if(!"".equals(gis) && gis!= null ){ GisHelper gisHelper = (GisHelper) sessao.getAttribute("gisHelper"); if(gisHelper != null){ gisHelper.setInformarCep("NAO"); if(gisHelper.getImovel()!=null){ if(gisHelper.getImovel().getLogradouroBairro().getLogradouro()!=null && gisHelper.getImovel().getLogradouroBairro().getLogradouro().getId()!=null){ logradouroJSP = gisHelper.getImovel().getLogradouroBairro().getLogradouro().getId().toString(); } if(gisHelper.getImovel().getNumeroImovel()!=null){ inserirEnderecoActionForm.setNumero(gisHelper.getImovel().getNumeroImovel()); } if(gisHelper.getImovel().getLogradouroBairro()!=null && gisHelper.getImovel().getLogradouroBairro().getBairro()!=null && gisHelper.getImovel().getLogradouroBairro().getBairro().getId()!=null){ inserirEnderecoActionForm.setBairro(gisHelper.getImovel().getLogradouroBairro().getBairro().getId().toString()); } if(gisHelper.getImovel().getComplementoEndereco()!=null){ inserirEnderecoActionForm.setComplemento(gisHelper.getImovel().getComplementoEndereco()); } } sessao.setAttribute("gisHelper",gisHelper); } } //------------------------------------------------------------------------------ //Integra��o com o AcquaGis //------------------------------------------------------------------------------ /* * Caso o usu�rio confirme */ if (httpServletRequest.getParameter("confirmado") != null){ sessao.removeAttribute("objetoCep"); sessao.removeAttribute("colecaoCepSelecionadosUsuario"); pesquisarLogradouro = "OK"; } Cep chamarConfirmacao = carregarValidarEndereco(pesquisarCep, pesquisarLogradouro, fachada, sessao, httpServletRequest, cepJSP , logradouroJSP, inserirEnderecoActionForm, limparLogradouro, actionMapping); if (chamarConfirmacao != null){ //Chamar tela de confirma��o String[] parametrosMensagem = new String[1]; parametrosMensagem[0] = chamarConfirmacao.getCepFormatado(); httpServletRequest.setAttribute("caminhoActionConclusao", "/gsan/exibirInserirEnderecoAction.do"); return montarPaginaConfirmacao("atencao.endereco_municipio_incompativel", httpServletRequest, actionMapping, parametrosMensagem); } } } httpServletRequest.setAttribute("flagReload", "false"); return retorno; } private Logradouro pesquisarLogradouroDigitado(String idLogradouro) { Logradouro logradouro = null; FiltroLogradouro filtroLogradouro = new FiltroLogradouro(); filtroLogradouro.adicionarCaminhoParaCarregamentoEntidade(FiltroLogradouro.LOGRADOUROTIPO); filtroLogradouro.adicionarCaminhoParaCarregamentoEntidade(FiltroLogradouro.LOGRADOUROTITULO); filtroLogradouro.adicionarParametro(new ParametroSimples(FiltroLogradouro.ID, idLogradouro)); Collection logradouros = Fachada.getInstancia().pesquisar(filtroLogradouro, Logradouro.class.getName()); if (logradouros != null && !logradouros.isEmpty()) { logradouro = (Logradouro) Util.retonarObjetoDeColecao(logradouros); } return logradouro; } public Cep carregarValidarEndereco(String pesquisarCep, String pesquisarLogradouro, Fachada fachada, HttpSession sessao, HttpServletRequest httpServletRequest, String cepJSP, String logradouroJSP, InserirEnderecoActionForm inserirEnderecoActionForm, String limparLogradouro, ActionMapping actionMapping){ Cep retorno = null; if (sessao.getAttribute("colecaoEnderecoReferencia") == null){ Collection colecaoTipo = null; Collection colecaoEnderecoReferencia = null; FiltroEnderecoTipo filtroEnderecoTipo = null; FiltroEnderecoReferencia filtroEnderecoReferencia = null; filtroEnderecoTipo = new FiltroEnderecoTipo( FiltroEnderecoTipo.DESCRICAO); filtroEnderecoTipo.adicionarParametro(new ParametroSimples( FiltroEnderecoTipo.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroEnderecoReferencia = new FiltroEnderecoReferencia( FiltroEnderecoReferencia.DESCRICAO); filtroEnderecoReferencia.adicionarParametro(new ParametroSimples( FiltroEnderecoReferencia.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); // Retorna todos os tipos de endere�o colecaoTipo = fachada.pesquisar(filtroEnderecoTipo, EnderecoTipo.class.getName()); if (colecaoTipo == null || colecaoTipo.isEmpty()) { // Nenhum tipo de endere�o cadastrado throw new ActionServletException( "atencao.pesquisa.nenhum_registro_tabela", null, "EnderecoTipo"); } else { sessao.setAttribute("colecaoTipo", colecaoTipo); } // Retorna todas as referencias do endere�o colecaoEnderecoReferencia = fachada.pesquisar( filtroEnderecoReferencia, EnderecoReferencia.class .getName()); if (colecaoEnderecoReferencia == null || colecaoEnderecoReferencia.isEmpty()) { // Nenhuma referencia de endere�o cadastrada throw new ActionServletException( "atencao.pesquisa.nenhum_registro_tabela", null, "EnderecoReferencia"); } else { sessao.setAttribute("colecaoEnderecoReferencia", colecaoEnderecoReferencia); } } String removerCep = httpServletRequest.getParameter("removerCep"); if (removerCep != null && !removerCep.equals("")){ sessao.removeAttribute("objetoCep"); sessao.removeAttribute("colecaoCepSelecionadosUsuario"); } // CEP if (((pesquisarCep != null && !pesquisarCep.trim().equalsIgnoreCase("")) && (cepJSP != null && !cepJSP.equals(""))) || (httpServletRequest.getParameter("idCampoEnviarDados") != null && httpServletRequest.getParameter("tipoConsulta") != null && httpServletRequest.getParameter("tipoConsulta").equals("cep")) || httpServletRequest.getParameter("idCampoEnviarDados") != null && httpServletRequest.getParameter("tipoConsulta") != null && httpServletRequest.getParameter("tipoConsulta").equals("logradouro") && cepJSP != null && !cepJSP.equals("")) { /* * Recebendo os par�metros a partir de uma consulta realizada via popup (Cep) */ if (httpServletRequest.getParameter("idCampoEnviarDados") != null){ cepJSP = httpServletRequest.getParameter("idCampoEnviarDados"); } Collection colecaoCep = null; FiltroCep filtroCep = new FiltroCep(); filtroCep.adicionarCaminhoParaCarregamentoEntidade("cepTipo"); filtroCep.adicionarParametro(new ParametroSimples(FiltroCep.CODIGO, cepJSP)); filtroCep.adicionarParametro(new ParametroSimples(FiltroCep.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); colecaoCep = fachada.pesquisar(filtroCep, Cep.class.getName()); if (colecaoCep != null && !colecaoCep.isEmpty()) { Cep objetoCep = (Cep) Util.retonarObjetoDeColecao(colecaoCep); /* * Inicializando os campos relacionados ao CEP */ inserirEnderecoActionForm.setCep(""); inserirEnderecoActionForm.setCepDescricao(""); /* * ---------------------------------------- * REGRAS PARA A NOVA VALIDA��O DE ENDERE�O * ---------------------------------------- */ /* * Cen�rio 01 * * O cep n�o � �nico de Munic�pio e existe associa��o com um Logradouro. * Exibe a descri��o do CEP e do Logradouro a ele associado * * Caso n�o exista associa��o com o Logradouro ou existe a associa��o, mas o CEP * informado � �nico de Munic�pio */ if (sessao.getAttribute("colecaoCepSelecionadosUsuario") != null && (inserirEnderecoActionForm.getLogradouro() != null && !inserirEnderecoActionForm.getLogradouro().equals(""))){ Logradouro logradouroJaAssociado = fachada.verificarCepAssociadoOutroLogradouro(objetoCep); if (objetoCep.getCepTipo().getId().equals(CepTipo.UNICO)){ throw new ActionServletException("atencao.logradouro_cep_tipo_unico"); } else if (objetoCep.getCepTipo().getId().equals(CepTipo.INICIAL)) { Logradouro logradouroSelecionado = new Logradouro(); logradouroSelecionado.setId(new Integer(inserirEnderecoActionForm.getLogradouro())); if (fachada.verificarLogradouroAssociadoCepTipoLogradouro(logradouroSelecionado)){ throw new ActionServletException("atencao.logradouro_cep_tipo_inicial"); } } else if (logradouroJaAssociado != null){ throw new ActionServletException( "atencao.logradouro_cep_ja_associado", String.valueOf(objetoCep.getCodigo()), String.valueOf(logradouroJaAssociado.getId()), logradouroJaAssociado.getDescricaoFormatada()); } Collection colecaoCepSelecionadosUsuario = (Collection) sessao.getAttribute("colecaoCepSelecionadosUsuario"); LogradouroCep logradouroCepADD = new LogradouroCep(); logradouroCepADD.setCep(objetoCep); //Evitar repeti��o Iterator iteratorColecaoCepSelecionadosUsuario = colecaoCepSelecionadosUsuario.iterator(); boolean repeticao = false; while (iteratorColecaoCepSelecionadosUsuario.hasNext()){ if (((LogradouroCep) iteratorColecaoCepSelecionadosUsuario.next()).getCep().getCepId() .equals(objetoCep.getCepId())){ repeticao = true; break; } } if (!repeticao){ colecaoCepSelecionadosUsuario.add(logradouroCepADD); inserirEnderecoActionForm.setCepSelecionado(String.valueOf(objetoCep.getCepId())); } inserirEnderecoActionForm.setAssociacaoExistente("FALSO"); Logradouro logradouroCarregarBairros = new Logradouro(); logradouroCarregarBairros.setId(new Integer(inserirEnderecoActionForm.getLogradouro())); Collection<Bairro> colecaoBairros = fachada.obterBairrosPorLogradouro(logradouroCarregarBairros); if (colecaoBairros != null && !colecaoBairros.isEmpty()) { sessao.setAttribute("logradouroBairros", colecaoBairros); /* * Caso o logradouro esteja associado apenas com um bairro, este bairro ser� selecionado * automaticamente pelo sistema. */ if (colecaoBairros.size() == 1){ inserirEnderecoActionForm.setBairro(((Bairro) Util.retonarObjetoDeColecao(colecaoBairros)).getId().toString()); } } } else if (!fachada.verificarCepUnicoMunicipio(objetoCep) && !fachada.verificarCepInicialMunicipio(objetoCep)){ Logradouro logradouroAssociado = fachada.verificarCepAssociadoOutroLogradouro(objetoCep); if (logradouroAssociado != null){ sessao.setAttribute("objetoCep", objetoCep); inserirEnderecoActionForm.setCepSelecionado(String.valueOf(objetoCep.getCepId())); httpServletRequest.setAttribute("logradouroBloqueado", "OK"); inserirEnderecoActionForm.setLogradouro(String.valueOf(logradouroAssociado.getId())); inserirEnderecoActionForm.setLogradouroDescricao(logradouroAssociado.getDescricaoFormatada()); Collection<Bairro> colecaoBairros = fachada.obterBairrosPorLogradouro(logradouroAssociado); /* * [FS0034] Validar dados cadastrais do Munic�pio * * Selecionar automaticamente o bairro, caso muni_icrelacionquadrabairro = 1 em munic�pio e * o bairro associado a quadra esteja cadastrado no relacionamento logradouro_bairro * * Autor: Hugo Leonardo * Data: 02/02/2011 */ if(inserirEnderecoActionForm.getLogradouro() != null && !inserirEnderecoActionForm.getLogradouro().equals("")){ Municipio munic = null; Quadra quadra = null; LogradouroBairro logradouroBairro = null; munic = logradouroAssociado.getMunicipio(); if(munic != null && munic.getIndicadorRelacaoQuadraBairro().compareTo(ConstantesSistema.SIM) == 0){ sessao.setAttribute("indicadorRelacaoQuadraBairro", "1"); DynaValidatorForm inserirImovelLocalidadeActionForm = (DynaValidatorForm) sessao .getAttribute("InserirImovelActionForm"); if(inserirImovelLocalidadeActionForm == null){ inserirImovelLocalidadeActionForm = (DynaValidatorForm) sessao.getAttribute("ManterImovelActionForm"); } if( logradouroAssociado.getLogradouroBairros() != null && inserirImovelLocalidadeActionForm != null && inserirImovelLocalidadeActionForm.get("idQuadra") != null && !inserirImovelLocalidadeActionForm.get("idQuadra").equals("") && inserirImovelLocalidadeActionForm.get("idLocalidade") != null && !inserirImovelLocalidadeActionForm.get("idLocalidade").equals("") && inserirImovelLocalidadeActionForm.get("idSetorComercial") != null && !inserirImovelLocalidadeActionForm.get("idSetorComercial").equals("") ){ Collection<LogradouroBairro> logradouroBairros = logradouroAssociado.getLogradouroBairros(); String numeroQuadra = (String) inserirImovelLocalidadeActionForm.get("idQuadra"); String idLocalidade = (String) inserirImovelLocalidadeActionForm.get("idLocalidade"); String codigoSetorComercial = (String) inserirImovelLocalidadeActionForm.get("idSetorComercial"); FiltroQuadra filtroQuadra = new FiltroQuadra(); filtroQuadra.limparListaParametros(); filtroQuadra.adicionarCaminhoParaCarregamentoEntidade(FiltroQuadra.BAIRRO); filtroQuadra.adicionarParametro(new ParametroSimples( FiltroQuadra.ID_LOCALIDADE, new Integer(idLocalidade))); filtroQuadra.adicionarParametro(new ParametroSimples( FiltroQuadra.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroQuadra.adicionarParametro(new ParametroSimples( FiltroQuadra.CODIGO_SETORCOMERCIAL, new Integer(codigoSetorComercial))); filtroQuadra.adicionarParametro(new ParametroSimples( FiltroQuadra.NUMERO_QUADRA, new Integer(numeroQuadra))); Collection quadras = fachada.pesquisar(filtroQuadra, Quadra.class.getName()); if (quadras != null && !quadras.isEmpty()) { quadra = (Quadra) Util.retonarObjetoDeColecao(quadras); } if(quadra != null){ boolean flag = false; Iterator iteratorLogradouroBairros = logradouroBairros.iterator(); while (iteratorLogradouroBairros.hasNext()) { logradouroBairro = (LogradouroBairro) iteratorLogradouroBairros.next(); if(quadra.getBairro() != null && logradouroBairro.getBairro() != null && quadra.getBairro().getId().intValue() == logradouroBairro.getBairro().getId().intValue()){ flag = true; colecaoBairros.clear(); colecaoBairros.add(quadra.getBairro()); break; } } if(!flag){ throw new ActionServletException( "atencao.bairro_associado_quadra.nao.existe_logradourobairro", String.valueOf(quadra.getBairro().getNome()), String.valueOf(logradouroAssociado.getNome())); } } } }else{ sessao.removeAttribute("indicadorRelacaoQuadraBairro"); } } if (colecaoBairros != null && !colecaoBairros.isEmpty()){ sessao.setAttribute("logradouroBairros", colecaoBairros); /* * Caso o logradouro esteja associado apenas com um bairro, este bairro ser� selecionado * automaticamente pelo sistema. */ if (colecaoBairros.size() == 1){ inserirEnderecoActionForm.setBairro(((Bairro) Util.retonarObjetoDeColecao(colecaoBairros)).getId().toString()); } } inserirEnderecoActionForm.setCepUnico("FALSE"); inserirEnderecoActionForm.setAssociacaoExistente("OK"); httpServletRequest.setAttribute("nomeCampo", "bairro"); } else{ inserirEnderecoActionForm.setCepUnico("FALSE"); sessao.setAttribute("objetoCep", objetoCep); inserirEnderecoActionForm.setCepSelecionado(String.valueOf(objetoCep.getCepId())); inserirEnderecoActionForm.setAssociacaoExistente("FALSO"); inserirEnderecoActionForm.setLogradouro(""); inserirEnderecoActionForm.setLogradouroDescricao(""); httpServletRequest.setAttribute("nomeCampo", "logradouro"); } } else{ inserirEnderecoActionForm.setCepUnico("TRUE"); inserirEnderecoActionForm.setCodigoCepUnico(objetoCep.getCepId().toString()); sessao.setAttribute("objetoCep", objetoCep); inserirEnderecoActionForm.setCepSelecionado(String.valueOf(objetoCep.getCepId())); inserirEnderecoActionForm.setAssociacaoExistente("FALSO"); inserirEnderecoActionForm.setLogradouro(""); inserirEnderecoActionForm.setLogradouroDescricao(""); httpServletRequest.setAttribute("nomeCampo", "logradouro"); } } else { // Cep nao encontrado httpServletRequest.setAttribute("corRetornoCep", "exception"); inserirEnderecoActionForm.setCep(""); inserirEnderecoActionForm.setCepDescricao("CEP INEXISTENTE"); httpServletRequest.setAttribute("nomeCampo", "cep"); } } String tipoPesquisa = inserirEnderecoActionForm.getTipoPesquisaTela(); //LOGRADOURO if (((pesquisarLogradouro != null && !pesquisarLogradouro.trim().equalsIgnoreCase("")) && (logradouroJSP != null && !logradouroJSP.equals(""))) || (httpServletRequest.getParameter("idCampoEnviarDados") != null && httpServletRequest.getParameter("tipoConsulta") != null && httpServletRequest.getParameter("tipoConsulta").equals("logradouro"))) { if (tipoPesquisa != null && tipoPesquisa.trim().equalsIgnoreCase("perimetroInicial")) { inserirEnderecoActionForm.setIdPerimetroInicial(httpServletRequest.getParameter("idCampoEnviarDados")); inserirEnderecoActionForm.setDescricaoPerimetroInicial(httpServletRequest.getParameter("descricaoCampoEnviarDados")); } else if (tipoPesquisa != null && tipoPesquisa.trim().equalsIgnoreCase("perimetroFinal")) { inserirEnderecoActionForm.setIdPerimetroFinal(httpServletRequest.getParameter("idCampoEnviarDados")); inserirEnderecoActionForm.setDescricaoPerimetroFinal(httpServletRequest.getParameter("descricaoCampoEnviarDados")); } else { /* * Recebendo os par�metros a partir de uma consulta realizada via popup (Logradouro) */ if (httpServletRequest.getParameter("idCampoEnviarDados") != null){ logradouroJSP = httpServletRequest.getParameter("idCampoEnviarDados"); } Collection colecaoLogradouro = null; FiltroLogradouro filtroLogradouro = new FiltroLogradouro(); filtroLogradouro.adicionarCaminhoParaCarregamentoEntidade("municipio"); filtroLogradouro.adicionarCaminhoParaCarregamentoEntidade("logradouroTipo"); filtroLogradouro.adicionarCaminhoParaCarregamentoEntidade("logradouroTitulo"); filtroLogradouro.adicionarParametro(new ParametroSimples( FiltroLogradouro.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroLogradouro.adicionarParametro(new ParametroSimples( FiltroLogradouro.ID, logradouroJSP)); colecaoLogradouro = fachada.pesquisar(filtroLogradouro, Logradouro.class.getName()); if (colecaoLogradouro == null || colecaoLogradouro.isEmpty()) { // Logradouro nao encontrado httpServletRequest.setAttribute("corRetorno", "exception"); inserirEnderecoActionForm.setLogradouro(""); inserirEnderecoActionForm.setLogradouroDescricao("Logradouro inexistente."); httpServletRequest.setAttribute("nomeCampo", "logradouro"); } else { httpServletRequest.setAttribute("corRetorno", "valor"); Logradouro logradouro = (Logradouro) Util .retonarObjetoDeColecao(colecaoLogradouro); Collection colecaoCepSelecionadosUsuario = new ArrayList(); //Caso o usu�rio n�o tenha informado o CEP if (sessao.getAttribute("objetoCep") == null && sessao.getAttribute("colecaoCepSelecionadosUsuario") == null){ /* * * CEN�RIO 02 * * Caso o logradouro seja de um munic�pio que possui CEP por logradouro, ou seja existe * associa��o com 1 ou mais CEPs, que podem ser de logradouro ou inicial de munic�pio */ if (fachada.verificarMunicipioComCepPorLogradouro(logradouro.getMunicipio())){ /* * Exibe a descri��o do Logradouro e a(s) descri��e(s) do(s) CEP(s) a ele * associado(s), para a escolha pelo usu�rio */ colecaoCepSelecionadosUsuario = fachada .pesquisarAssociacaoLogradouroCepPorLogradouro(logradouro); if (colecaoCepSelecionadosUsuario != null && !colecaoCepSelecionadosUsuario.isEmpty()){ sessao.setAttribute("colecaoCepSelecionadosUsuario", colecaoCepSelecionadosUsuario); } inserirEnderecoActionForm.setAssociacaoExistente("OK"); httpServletRequest.setAttribute("logradouroMunicipioCepUnico", "FALSE"); } else{ /* * * CEN�RIO 03 * * Caso o logradouro seja de um munic�pio que N�O possui CEP por logradouro. * Exibe a descri��o do Logradouro e a descri��o do CEP do Munic�pio (exibe * a descri��o do CEP do munic�pio na tebela e no campo de CEP, sem permitir * altera��o at� que mude o logradouro). */ colecaoCepSelecionadosUsuario = new ArrayList(); LogradouroCep logradouroCepUnicoMunicipio = new LogradouroCep(); Cep cepUnicoMunicipio = fachada.obterCepUnicoMunicipio(logradouro.getMunicipio()); if (cepUnicoMunicipio != null){ logradouroCepUnicoMunicipio.setCep(cepUnicoMunicipio); colecaoCepSelecionadosUsuario.add(logradouroCepUnicoMunicipio); sessao.setAttribute("colecaoCepSelecionadosUsuario", colecaoCepSelecionadosUsuario); httpServletRequest.setAttribute("logradouroMunicipioCepUnico", "OK"); inserirEnderecoActionForm.setAssociacaoExistente("OK"); } else{ inserirEnderecoActionForm.setAssociacaoExistente("FALSO"); } } } else if(sessao.getAttribute("objetoCep") != null){ Cep cepSelecionado = (Cep) sessao.getAttribute("objetoCep"); if (cepSelecionado.getCepTipo().getId().equals(CepTipo.UNICO) && fachada.verificarMunicipioComCepPorLogradouro(logradouro.getMunicipio())){ throw new ActionServletException("atencao.logradouro_cep_tipo_unico"); } else if (cepSelecionado.getCepTipo().getId().equals(CepTipo.UNICO) && !cepSelecionado.getMunicipio().equalsIgnoreCase(logradouro .getMunicipio().getNome())){ //Chamar tela de confirma��o Cep cepUnicoMunicipio = fachada.obterCepUnicoMunicipio(logradouro.getMunicipio()); return cepUnicoMunicipio; } else if (cepSelecionado.getCepTipo().getId().equals(CepTipo.INICIAL)){ if (fachada.verificarLogradouroAssociadoCepTipoLogradouro(logradouro)){ throw new ActionServletException("atencao.logradouro_cep_tipo_inicial"); } } colecaoCepSelecionadosUsuario = fachada .pesquisarAssociacaoLogradouroCepPorLogradouro(logradouro); boolean repeticao = false; if (colecaoCepSelecionadosUsuario != null && !colecaoCepSelecionadosUsuario.isEmpty()){ LogradouroCep logradouroCepADD = new LogradouroCep(); logradouroCepADD.setCep(cepSelecionado); //Evitar repeti��o Iterator iteratorColecaoCepSelecionadosUsuario = colecaoCepSelecionadosUsuario.iterator(); while (iteratorColecaoCepSelecionadosUsuario.hasNext()){ if (((LogradouroCep) iteratorColecaoCepSelecionadosUsuario.next()).getCep().getCepId() .equals(cepSelecionado.getCepId())){ repeticao = true; //----------------------------------------------- inserirEnderecoActionForm.setAssociacaoExistente("OK"); //----------------------------------------------- break; } } if (!repeticao){ colecaoCepSelecionadosUsuario.add(logradouroCepADD); inserirEnderecoActionForm.setCepSelecionado(String.valueOf(cepSelecionado.getCepId())); sessao.removeAttribute("objetoCep"); sessao.setAttribute("colecaoCepSelecionadosUsuario", colecaoCepSelecionadosUsuario); } } if ((inserirEnderecoActionForm.getTipoAcao() == null || inserirEnderecoActionForm.getTipoAcao().equals("")) && !repeticao){ inserirEnderecoActionForm.setAssociacaoExistente("FALSO"); } } Collection<Bairro> colecaoBairros = fachada.obterBairrosPorLogradouro(logradouro); inserirEnderecoActionForm.setLogradouro(String.valueOf(logradouro.getId())); inserirEnderecoActionForm.setLogradouroDescricao(logradouro.getDescricaoFormatada()); /* * [FS0034] Validar dados cadastrais do Munic�pio * * Selecionar automaticamente o bairro, caso muni_icrelacionquadrabairro = 1 em munic�pio e * o bairro associado a quadra esteja cadastrado no relacionamento logradouro_bairro * * Autor: Hugo Leonardo * Data: 02/02/2011 */ if(inserirEnderecoActionForm.getLogradouro() != null && !inserirEnderecoActionForm.getLogradouro().equals("")){ Collection colecaoLogr = null; FiltroLogradouro filtroLogr = new FiltroLogradouro(); filtroLogr.adicionarCaminhoParaCarregamentoEntidade("municipio"); filtroLogr.adicionarCaminhoParaCarregamentoEntidade("logradouroBairros"); filtroLogr.adicionarParametro(new ParametroSimples( FiltroLogradouro.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroLogr.adicionarParametro(new ParametroSimples( FiltroLogradouro.ID, inserirEnderecoActionForm.getLogradouro())); colecaoLogr = fachada.pesquisar(filtroLogr, Logradouro.class.getName()); Municipio munic = null; Logradouro logr = null; Quadra quadra = null; if (colecaoLogr != null && !colecaoLogr.isEmpty()) { logr = (Logradouro) Util.retonarObjetoDeColecao(colecaoLogr); if(logr.getMunicipio() != null){ munic = logr.getMunicipio(); } } if(munic != null && munic.getIndicadorRelacaoQuadraBairro().compareTo(ConstantesSistema.SIM) == 0){ sessao.setAttribute("indicadorRelacaoQuadraBairro", "1"); DynaValidatorForm inserirImovelLocalidadeActionForm = (DynaValidatorForm) sessao .getAttribute("InserirImovelActionForm"); if(inserirImovelLocalidadeActionForm == null){ inserirImovelLocalidadeActionForm = (DynaValidatorForm) sessao.getAttribute("ManterImovelActionForm"); } if( logr.getLogradouroBairros() != null && inserirImovelLocalidadeActionForm != null && inserirImovelLocalidadeActionForm.get("idQuadra") != null && !inserirImovelLocalidadeActionForm.get("idQuadra").equals("") && inserirImovelLocalidadeActionForm.get("idLocalidade") != null && !inserirImovelLocalidadeActionForm.get("idLocalidade").equals("") && inserirImovelLocalidadeActionForm.get("idSetorComercial") != null && !inserirImovelLocalidadeActionForm.get("idSetorComercial").equals("") ){ Collection<LogradouroBairro> logradouroBairros = logr.getLogradouroBairros(); String numeroQuadra = (String) inserirImovelLocalidadeActionForm.get("idQuadra"); String idLocalidade = (String) inserirImovelLocalidadeActionForm.get("idLocalidade"); String codigoSetorComercial = (String) inserirImovelLocalidadeActionForm.get("idSetorComercial"); FiltroQuadra filtroQuadra = new FiltroQuadra(); filtroQuadra.limparListaParametros(); filtroQuadra.adicionarCaminhoParaCarregamentoEntidade(FiltroQuadra.BAIRRO); filtroQuadra.adicionarParametro(new ParametroSimples( FiltroQuadra.ID_LOCALIDADE, new Integer(idLocalidade))); filtroQuadra.adicionarParametro(new ParametroSimples( FiltroQuadra.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroQuadra.adicionarParametro(new ParametroSimples( FiltroQuadra.CODIGO_SETORCOMERCIAL, new Integer(codigoSetorComercial))); filtroQuadra.adicionarParametro(new ParametroSimples( FiltroQuadra.NUMERO_QUADRA, new Integer(numeroQuadra))); Collection quadras = fachada.pesquisar(filtroQuadra, Quadra.class.getName()); if (quadras != null && !quadras.isEmpty()) { quadra = (Quadra) Util.retonarObjetoDeColecao(quadras); } if(quadra != null){ boolean flag = false; Iterator iteratorLogradouroBairros = logradouroBairros.iterator(); while (iteratorLogradouroBairros.hasNext()) { LogradouroBairro logradouroBairro = (LogradouroBairro) iteratorLogradouroBairros.next(); if(quadra.getBairro() != null && logradouroBairro.getBairro() != null && quadra.getBairro().getId().intValue() == logradouroBairro.getBairro().getId().intValue()){ flag = true; colecaoBairros.clear(); colecaoBairros.add(quadra.getBairro()); break; } } if(!flag){ throw new ActionServletException( "atencao.bairro_associado_quadra.nao.existe_logradourobairro", String.valueOf(quadra.getBairro().getNome()), String.valueOf(logr.getNome())); } } } }else{ sessao.removeAttribute("indicadorRelacaoQuadraBairro"); } } if (colecaoBairros != null && !colecaoBairros.isEmpty()) { sessao.setAttribute("logradouroBairros", colecaoBairros); /* * Caso o logradouro esteja associado apenas com um bairro, este bairro ser� selecionado * automaticamente pelo sistema. */ if (colecaoBairros.size() == 1){ inserirEnderecoActionForm.setBairro(((Bairro) Util.retonarObjetoDeColecao(colecaoBairros)).getId().toString()); } } httpServletRequest.setAttribute("nomeCampo", "bairro"); } } } // Limpar os dados referentes ao logradouro =========================== if (limparLogradouro != null && !limparLogradouro.trim().equalsIgnoreCase("")) { inserirEnderecoActionForm.setLogradouro(""); inserirEnderecoActionForm.setLogradouroDescricao(""); sessao.removeAttribute("colecaoCepSelecionadosUsuario"); } if (httpServletRequest.getParameter("tipoConsulta") != null && !httpServletRequest.getParameter("tipoConsulta").equals("")) { // Verifica se o tipo da consulta de imovel � de logradouro // se for os parametros de enviarDadosParametros ser�o mandados para // a pagina imovel_pesuisar.jsp if (httpServletRequest.getParameter("tipoConsulta").equals( "logradouro")) { if (tipoPesquisa != null && tipoPesquisa.trim().equalsIgnoreCase("perimetroInicial")) { inserirEnderecoActionForm.setIdPerimetroInicial(httpServletRequest.getParameter("idCampoEnviarDados")); inserirEnderecoActionForm.setDescricaoPerimetroInicial(httpServletRequest.getParameter("descricaoCampoEnviarDados")); } else if (tipoPesquisa != null && tipoPesquisa.trim().equalsIgnoreCase("perimetroFinal")) { inserirEnderecoActionForm.setIdPerimetroFinal(httpServletRequest.getParameter("idCampoEnviarDados")); inserirEnderecoActionForm.setDescricaoPerimetroFinal(httpServletRequest.getParameter("descricaoCampoEnviarDados")); } else { inserirEnderecoActionForm.setLogradouro(httpServletRequest .getParameter("idCampoEnviarDados")); inserirEnderecoActionForm .setLogradouroDescricao(httpServletRequest .getParameter("descricaoCampoEnviarDados")); } } } return retorno; } }