package gcom.gui.cadastro.endereco; import gcom.arrecadacao.banco.Agencia; import gcom.cadastro.cliente.ClienteEndereco; import gcom.cadastro.endereco.Cep; 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.FiltroBairro; import gcom.cadastro.imovel.Imovel; 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.util.ConstantesSistema; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.ArrayList; import java.util.Collection; import java.util.Date; 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; /** * < <Descri��o da Classe>> * * @author rodrigo */ public class InserirEnderecoAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o retorno ActionForward retorno = actionMapping.findForward("inserirEndereco"); // Obt�m a inst�ncia da fachada Fachada fachada = Fachada.getInstancia(); // Obt�m a sess�o HttpSession sessao = httpServletRequest.getSession(false); // Usuario usuario = (Usuario) sessao.getAttribute("usuarioLogado"); String tipoRetorno = (String) sessao.getAttribute("tipoPesquisaRetorno"); String tipoOperacao = (String) sessao.getAttribute("operacao"); if (tipoRetorno != null && !tipoRetorno.trim().equalsIgnoreCase("")) { InserirEnderecoActionForm inserirEnderecoActionForm = (InserirEnderecoActionForm) actionForm; String enderecoTipoJSP = inserirEnderecoActionForm.getTipo(); String cepJSP = inserirEnderecoActionForm.getCepSelecionado(); String logradouroJSP = inserirEnderecoActionForm.getLogradouro(); String bairroJSP = inserirEnderecoActionForm.getBairro(); String enderecoReferenciaJSP = inserirEnderecoActionForm .getEnderecoReferencia(); String numeroJSP = inserirEnderecoActionForm.getNumero(); String complementoJSP = inserirEnderecoActionForm.getComplemento(); String tipoAcao = inserirEnderecoActionForm.getTipoAcao(); String idPerimetroInicial = inserirEnderecoActionForm.getIdPerimetroInicial(); String idPerimetroFinal = inserirEnderecoActionForm.getIdPerimetroFinal(); Imovel imovel = new Imovel(); ClienteEndereco clienteEndereco = new ClienteEndereco(); Localidade localidade = new Localidade(); GerenciaRegional gerenciaRegional = new GerenciaRegional(); Agencia agencia = new Agencia(); LogradouroCep logradouroCep = new LogradouroCep(); LogradouroBairro logradouroBairro = new LogradouroBairro(); Quadra quadra = new Quadra(); if(sessao.getAttribute("quadraCaracteristicas") != null){ quadra = (Quadra) sessao.getAttribute("quadraCaracteristicas"); imovel.setQuadra(quadra); } // == Cep ================================================ if (cepJSP != null && !cepJSP.trim().equalsIgnoreCase("")) { Collection colecaoCep = null; FiltroCep filtroCep = new FiltroCep(); filtroCep.adicionarParametro(new ParametroSimples( FiltroCep.CEPID, cepJSP)); filtroCep.adicionarParametro(new ParametroSimples( FiltroCep.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); colecaoCep = fachada.pesquisar(filtroCep, Cep.class.getName()); if (colecaoCep == null || colecaoCep.isEmpty()) { throw new ActionServletException( "atencao.pesquisa.cep_invalido"); } else { Cep cep = (Cep) Util.retonarObjetoDeColecao(colecaoCep); // Adiciona o cep ao objeto final logradouroCep.setCep(cep); } } // ======================================================= // == Logradouro ========================================= if (logradouroJSP != null && !logradouroJSP.trim().equalsIgnoreCase("")) { Collection colecaoLogradouro = null; FiltroLogradouro filtroLogradouro = new FiltroLogradouro(); // Objetos que ser�o retornados pelo hibernate. filtroLogradouro .adicionarCaminhoParaCarregamentoEntidade("logradouroTipo"); filtroLogradouro .adicionarCaminhoParaCarregamentoEntidade("logradouroTitulo"); filtroLogradouro.adicionarParametro(new ParametroSimples( FiltroLogradouro.ID, logradouroJSP)); filtroLogradouro.adicionarParametro(new ParametroSimples( FiltroLogradouro.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); colecaoLogradouro = fachada.pesquisar(filtroLogradouro, Logradouro.class.getName()); if (colecaoLogradouro == null || colecaoLogradouro.isEmpty()) { // Nenhum logradouro foi encontrado throw new ActionServletException( "atencao.pesquisa.logradouro_inexistente"); } else { Logradouro logradouro = (Logradouro) Util .retonarObjetoDeColecao(colecaoLogradouro); // Adiciona o logradouro ao objeto final logradouroCep.setLogradouro(logradouro); } // ====================================================== // == Bairro ============================================ if (bairroJSP != null && !bairroJSP.equalsIgnoreCase("") && !bairroJSP .trim() .equalsIgnoreCase( String .valueOf(ConstantesSistema.NUMERO_NAO_INFORMADO))) { Collection colecaoBairro = null; FiltroBairro filtroBairro = new FiltroBairro(); // Objetos que ser�o retornados pelo hibernate. filtroBairro .adicionarCaminhoParaCarregamentoEntidade("municipio.unidadeFederacao"); filtroBairro.adicionarParametro(new ParametroSimples( FiltroBairro.ID, bairroJSP)); filtroBairro.adicionarParametro(new ParametroSimples( FiltroBairro.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); colecaoBairro = fachada.pesquisar(filtroBairro, Bairro.class.getName()); if (colecaoBairro == null || colecaoBairro.isEmpty()) { // Nenhum bairro foi encontrado throw new ActionServletException( "atencao.pesquisa.bairro_inexistente"); } else { Bairro bairro = (Bairro) Util .retonarObjetoDeColecao(colecaoBairro); // Adiciona o bairro ao objeto final logradouroBairro.setBairro(bairro); } } // ====================================================== } // ======================================================== if (idPerimetroInicial != null && !idPerimetroInicial.trim().equals("")) { Logradouro perimetroInicial = pesquisarLogradouroDigitado(idPerimetroInicial); if (perimetroInicial != null) { imovel.setPerimetroInicial(perimetroInicial); clienteEndereco.setPerimetroInicial(perimetroInicial); } else { throw new ActionServletException("atencao.pesquisa_inexistente", null, "Per�metro Inicial"); } } if (idPerimetroFinal != null && !idPerimetroFinal.trim().equals("")) { Logradouro perimetroFinal = pesquisarLogradouroDigitado(idPerimetroFinal); if (perimetroFinal != null) { imovel.setPerimetroFinal(perimetroFinal); clienteEndereco.setPerimetroFinal(perimetroFinal); } else { throw new ActionServletException("atencao.pesquisa_inexistente", null, "Per�metro Final"); } } // == Endereco Referencia ========================== if (enderecoReferenciaJSP != null && !enderecoReferenciaJSP .trim() .equalsIgnoreCase( String .valueOf(ConstantesSistema.NUMERO_NAO_INFORMADO))) { Collection colecaoEnderecoReferencia = null; FiltroEnderecoReferencia filtroEnderecoReferencia = new FiltroEnderecoReferencia(); filtroEnderecoReferencia .adicionarParametro(new ParametroSimples( FiltroEnderecoReferencia.ID, enderecoReferenciaJSP)); filtroEnderecoReferencia .adicionarParametro(new ParametroSimples( FiltroEnderecoReferencia.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); colecaoEnderecoReferencia = fachada.pesquisar( filtroEnderecoReferencia, EnderecoReferencia.class .getName()); if (colecaoEnderecoReferencia == null || colecaoEnderecoReferencia.isEmpty()) { // Nenhum EnderecoReferencia foi encontrado throw new ActionServletException( "atencao.pesquisa.endereco_referencia_inexistente"); } else { EnderecoReferencia enderecoReferencia = (EnderecoReferencia) Util .retonarObjetoDeColecao(colecaoEnderecoReferencia); // Adiciona o EnderecoReferencia ao objeto final clienteEndereco.setEnderecoReferencia(enderecoReferencia); imovel.setEnderecoReferencia(enderecoReferencia); localidade.setEnderecoReferencia(enderecoReferencia); gerenciaRegional.setEnderecoReferencia(enderecoReferencia); agencia.setEnderecoReferencia(enderecoReferencia); } } // ======================================================== // == Endereco Tipo ======================================= if (tipoRetorno.trim().equalsIgnoreCase("cliente")) { if (enderecoTipoJSP != null && !enderecoTipoJSP .trim() .equalsIgnoreCase( String .valueOf(ConstantesSistema.NUMERO_NAO_INFORMADO))) { Collection colecaoEnderecoTipo = null; FiltroEnderecoTipo filtroEnderecoTipo = new FiltroEnderecoTipo(); filtroEnderecoTipo.adicionarParametro(new ParametroSimples( FiltroEnderecoTipo.ID, enderecoTipoJSP)); filtroEnderecoTipo.adicionarParametro(new ParametroSimples( FiltroEnderecoTipo.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); colecaoEnderecoTipo = fachada.pesquisar(filtroEnderecoTipo, EnderecoTipo.class.getName()); if (colecaoEnderecoTipo == null || colecaoEnderecoTipo.isEmpty()) { // Nenhum EnderecoTipo foi encontrado throw new ActionServletException( "atencao.pesquisa.endereco_tipo_inexistente"); } else { EnderecoTipo enderecoTipo = (EnderecoTipo) Util .retonarObjetoDeColecao(colecaoEnderecoTipo); // Adiciona o EnderecoTipo ao objeto final clienteEndereco.setEnderecoTipo(enderecoTipo); } } } // ====================================================== // == N�mero ============================================ if (numeroJSP != null && !numeroJSP.trim().equalsIgnoreCase("")) { // Adiciona o numero ao objeto final clienteEndereco.setNumero(numeroJSP); imovel.setNumeroImovel(numeroJSP); localidade.setNumeroImovel(numeroJSP); gerenciaRegional.setNumeroImovel(numeroJSP); agencia.setNumeroImovel(numeroJSP); } // ====================================================== // == Complemento ====================================== if (complementoJSP != null && !complementoJSP.trim().equalsIgnoreCase("")) { // Adiciona o complemento ao objeto final clienteEndereco.setComplemento(complementoJSP); imovel.setComplementoEndereco(complementoJSP); localidade.setComplementoEndereco(complementoJSP); gerenciaRegional.setComplementoEndereco(complementoJSP); agencia.setComplementoEndereco(complementoJSP); } // ====================================================== // Adiciona o indicador para nao receber correspond�ncia ao objeto // final clienteEndereco .setIndicadorEnderecoCorrespondencia(ConstantesSistema.INDICADOR_NAO_ENDERECO_CORRESPONDENCIA); // Adiciona a data da �ltima altera��o ao objeto final imovel.setUltimaAlteracao(new Date()); localidade.setUltimaAlteracao(new Date()); clienteEndereco.setUltimaAlteracao(new Date()); gerenciaRegional.setUltimaAlteracao(new Date()); agencia.setUltimaAlteracao(new Date()); // Carregando os objetos finais com o LogradouroCep e // LogradouroBairro logradouroCep .setIndicadorUso(ConstantesSistema.INDICADOR_USO_ATIVO); Integer idLogradouroCep = fachada .inserirAssociacaoLogradouroCep(logradouroCep); logradouroCep.setId(idLogradouroCep); logradouroBairro = fachada.pesquisarAssociacaoLogradouroBairro( logradouroBairro.getBairro().getId(), logradouroCep .getLogradouro().getId()); imovel.setLogradouroCep(logradouroCep); imovel.setLogradouroBairro(logradouroBairro); localidade.setLogradouroCep(logradouroCep); localidade.setLogradouroBairro(logradouroBairro); gerenciaRegional.setLogradouroCep(logradouroCep); gerenciaRegional.setLogradouroBairro(logradouroBairro); agencia.setLogradouroCep(logradouroCep); agencia.setLogradouroBairro(logradouroBairro); clienteEndereco.setLogradouroCep(logradouroCep); clienteEndereco.setLogradouroBairro(logradouroBairro); // ====================================================== Collection enderecos = null; /* * Especialmente para o retorno do caso de uso de RA, foi criado um retorno diferente */ if (tipoRetorno.trim().equalsIgnoreCase("registroAtendimento")){ //Aba N� 02 - Endere�o do Im�vel if (tipoOperacao.equalsIgnoreCase("1")){ if (sessao.getAttribute("colecaoEnderecos") == null){ enderecos = new ArrayList(); enderecos.add(imovel); sessao.setAttribute("colecaoEnderecos", enderecos); } else{ enderecos = (Collection) sessao .getAttribute("colecaoEnderecos"); if (enderecos.isEmpty() || (tipoAcao != null && !tipoAcao.equals(""))) { enderecos.clear(); enderecos.add(imovel); } } httpServletRequest.setAttribute("fecharPopup", "ok"); } //Aba N� 03 - Endere�o do Solicitante else if (tipoOperacao.equalsIgnoreCase("2")){ if (sessao.getAttribute("colecaoEnderecosAbaSolicitante") == null){ enderecos = new ArrayList(); enderecos.add(clienteEndereco); sessao.setAttribute("colecaoEnderecosAbaSolicitante", enderecos); } else{ enderecos = (Collection) sessao .getAttribute("colecaoEnderecosAbaSolicitante"); if (enderecos.isEmpty() || (tipoAcao != null && !tipoAcao.equals(""))) { enderecos.clear(); enderecos.add(clienteEndereco); } } httpServletRequest.setAttribute("fecharPopup", "ok"); } //Aba N� 02 - Endere�o do Im�vel (Atualizar) else if (tipoOperacao.equalsIgnoreCase("3")){ if (sessao.getAttribute("colecaoEnderecos") == null){ enderecos = new ArrayList(); enderecos.add(imovel); sessao.setAttribute("colecaoEnderecos", enderecos); } else{ enderecos = (Collection) sessao .getAttribute("colecaoEnderecos"); if (enderecos.isEmpty() || (tipoAcao != null && !tipoAcao.equals(""))) { enderecos.clear(); enderecos.add(imovel); } } httpServletRequest.setAttribute("fecharPopup", "ok"); } //POPUP - Endere�o do Solicitante else if (tipoOperacao.equalsIgnoreCase("4")){ if (sessao.getAttribute("colecaoEnderecosSolicitante") == null){ enderecos = new ArrayList(); enderecos.add(clienteEndereco); sessao.setAttribute("colecaoEnderecosSolicitante", enderecos); } else{ enderecos = (Collection) sessao .getAttribute("colecaoEnderecosSolicitante"); if (enderecos.isEmpty() || (tipoAcao != null && !tipoAcao.equals(""))) { enderecos.clear(); enderecos.add(clienteEndereco); } } } //POPUP - Endere�o do Solicitante da reitera��o da RA else if (tipoOperacao.equalsIgnoreCase("5")){ if (sessao.getAttribute("colecaoEnderecos") == null){ enderecos = new ArrayList(); enderecos.add(clienteEndereco); sessao.setAttribute("colecaoEnderecos", enderecos); } else{ enderecos = (Collection) sessao .getAttribute("colecaoEnderecos"); if (enderecos.isEmpty() || (tipoAcao != null && !tipoAcao.equals(""))) { enderecos.clear(); enderecos.add(clienteEndereco); } } httpServletRequest.setAttribute("fecharPopup", "ok"); } httpServletRequest.setAttribute("flagRedirect", "registroAtendimento"); } //Continua��o da forma padr�o do retorno de um endere�o else{ if (sessao.getAttribute("colecaoEnderecos") == null) { enderecos = new ArrayList(); if (tipoRetorno.trim().equalsIgnoreCase("cliente")) { enderecos.add(clienteEndereco); httpServletRequest.setAttribute("flagRedirect", "cliente"); } else if (tipoRetorno.trim().equalsIgnoreCase("imovel")) { enderecos.add(imovel); httpServletRequest.setAttribute("flagRedirect", "imovel"); httpServletRequest.setAttribute("fecharPopup", "ok"); } else if (tipoRetorno.trim().equalsIgnoreCase("localidade")) { enderecos.add(localidade); httpServletRequest.setAttribute("flagRedirect", "localidade"); httpServletRequest.setAttribute("fecharPopup", "ok"); } else if (tipoRetorno.trim().equalsIgnoreCase("gerenciaRegional")) { enderecos.add(gerenciaRegional); httpServletRequest.setAttribute("flagRedirect", "gerenciaRegional"); httpServletRequest.setAttribute("fecharPopup", "ok"); } else if (tipoRetorno.trim().equalsIgnoreCase("agencia")) { enderecos.add(agencia); httpServletRequest.setAttribute("flagRedirect", "agencia"); httpServletRequest.setAttribute("fecharPopup", "ok"); } else if (tipoRetorno.trim().equalsIgnoreCase("sistemaParametro")) { enderecos.add(imovel); httpServletRequest.setAttribute("flagRedirect","sistemaParametro"); } sessao.setAttribute("colecaoEnderecos", enderecos); } else { enderecos = (Collection) sessao .getAttribute("colecaoEnderecos"); if (tipoRetorno.trim().equalsIgnoreCase("cliente")) { if (tipoAcao != null && !tipoAcao.equals("")) { Iterator iteratorEnderecos = enderecos.iterator(); ClienteEndereco clienteEnderecoNaColecao = null; while (iteratorEnderecos.hasNext()) { clienteEnderecoNaColecao = (ClienteEndereco) iteratorEnderecos .next(); // Verificando se o endere�o j� existe na cole��o // Roberta Costa - 31/07/2006 if ( clienteEnderecoNaColecao.getEnderecoTipo().getId() .equals(clienteEndereco.getEnderecoTipo().getId()) && clienteEnderecoNaColecao.getLogradouroCep() .equals(clienteEndereco.getLogradouroCep()) && clienteEnderecoNaColecao.getLogradouroBairro() .equals(clienteEndereco.getLogradouroBairro()) && clienteEnderecoNaColecao.getEnderecoReferencia().getId() .equals(clienteEndereco.getEnderecoReferencia().getId()) && clienteEnderecoNaColecao.getNumero() .equals(clienteEndereco.getNumero()) && ( clienteEnderecoNaColecao.getComplemento() == null && clienteEndereco.getComplemento() == null || (clienteEnderecoNaColecao.getComplemento() != null && clienteEndereco.getComplemento() != null && clienteEnderecoNaColecao.getComplemento() .equals(clienteEndereco.getComplemento()))) && ( (clienteEnderecoNaColecao.getPerimetroInicial() == null && clienteEndereco.getPerimetroInicial() == null) || (clienteEnderecoNaColecao.getPerimetroInicial() != null && clienteEndereco.getPerimetroInicial() != null && clienteEnderecoNaColecao.getPerimetroInicial().getId().equals(clienteEndereco.getPerimetroInicial().getId()))) && ( (clienteEnderecoNaColecao.getPerimetroFinal() == null && clienteEndereco.getPerimetroFinal() == null) || (clienteEnderecoNaColecao.getPerimetroFinal() != null && clienteEndereco.getPerimetroFinal() != null && clienteEnderecoNaColecao.getPerimetroFinal().getId().equals(clienteEndereco.getPerimetroFinal().getId()))) ){ throw new ActionServletException( "atencao.endereco_ja_informado"); } if (obterTimestampIdObjeto(clienteEnderecoNaColecao) == Long .parseLong(inserirEnderecoActionForm .getObjetoClienteEnderecoSelecionado())) { if (clienteEnderecoNaColecao.getId() != null){ clienteEndereco.setId(clienteEnderecoNaColecao.getId()); } clienteEndereco .setUltimaAlteracao(clienteEnderecoNaColecao .getUltimaAlteracao()); iteratorEnderecos.remove(); } if (obterTimestampIdObjeto(clienteEnderecoNaColecao) == Long .parseLong(inserirEnderecoActionForm .getEnderecoCorrespondencia())) { DynaValidatorForm formProcessoCliente = (DynaValidatorForm) sessao .getAttribute("ClienteActionForm"); formProcessoCliente .set( "enderecoCorrespondenciaSelecao", Long .parseLong(inserirEnderecoActionForm .getEnderecoCorrespondencia())); clienteEndereco .setIndicadorEnderecoCorrespondencia(ConstantesSistema.INDICADOR_ENDERECO_CORRESPONDENCIA); } } httpServletRequest.setAttribute("fecharPopup", "ok"); }else{ Iterator iteratorEnderecos = enderecos.iterator(); ClienteEndereco clienteEnderecoNaColecao = null; while (iteratorEnderecos.hasNext()) { clienteEnderecoNaColecao = (ClienteEndereco) iteratorEnderecos .next(); // Verificando se o endere�o j� existe na cole��o // Roberta Costa - 31/07/2006 if ( clienteEnderecoNaColecao.getEnderecoTipo().getId() .equals(clienteEndereco.getEnderecoTipo().getId()) && clienteEnderecoNaColecao.getLogradouroCep() .equals(clienteEndereco.getLogradouroCep()) && clienteEnderecoNaColecao.getLogradouroBairro() .equals(clienteEndereco.getLogradouroBairro()) && clienteEnderecoNaColecao.getEnderecoReferencia().getId() .equals(clienteEndereco.getEnderecoReferencia().getId()) && clienteEnderecoNaColecao.getNumero() .equals(clienteEndereco.getNumero()) && ( clienteEnderecoNaColecao.getComplemento() == null && clienteEndereco.getComplemento() == null || (clienteEnderecoNaColecao.getComplemento() != null && clienteEndereco.getComplemento() != null && clienteEnderecoNaColecao.getComplemento() .equals(clienteEndereco.getComplemento()))) && ( (clienteEnderecoNaColecao.getPerimetroInicial() == null && clienteEndereco.getPerimetroInicial() == null) || (clienteEnderecoNaColecao.getPerimetroInicial() != null && clienteEndereco.getPerimetroInicial() != null && clienteEnderecoNaColecao.getPerimetroInicial().getId().equals(clienteEndereco.getPerimetroInicial().getId()))) && ( (clienteEnderecoNaColecao.getPerimetroFinal() == null && clienteEndereco.getPerimetroFinal() == null) || (clienteEnderecoNaColecao.getPerimetroFinal() != null && clienteEndereco.getPerimetroFinal() != null && clienteEnderecoNaColecao.getPerimetroFinal().getId().equals(clienteEndereco.getPerimetroFinal().getId()))) ){ throw new ActionServletException( "atencao.endereco_ja_informado"); } } } enderecos.add(clienteEndereco); httpServletRequest.setAttribute("flagRedirect", "cliente"); } else if (tipoRetorno.trim().equalsIgnoreCase("imovel")) { if (enderecos.isEmpty() || (tipoAcao != null && !tipoAcao.equals(""))) { enderecos.clear(); enderecos.add(imovel); } httpServletRequest.setAttribute("flagRedirect", "imovel"); httpServletRequest.setAttribute("fecharPopup", "ok"); } else if (tipoRetorno.trim().equalsIgnoreCase("localidade")) { if (enderecos.isEmpty() || (tipoAcao != null && !tipoAcao.equals(""))) { enderecos.clear(); enderecos.add(localidade); } httpServletRequest.setAttribute("flagRedirect", "localidade"); httpServletRequest.setAttribute("fecharPopup", "ok"); } else if (tipoRetorno.trim().equalsIgnoreCase("gerenciaRegional")) { if (enderecos.isEmpty() || (tipoAcao != null && !tipoAcao.equals(""))) { enderecos.clear(); enderecos.add(gerenciaRegional); } httpServletRequest.setAttribute("flagRedirect", "gerenciaRegional"); httpServletRequest.setAttribute("fecharPopup", "ok"); } else if (tipoRetorno.trim().equalsIgnoreCase("agencia")) { if (enderecos.isEmpty() || (tipoAcao != null && !tipoAcao.equals(""))) { enderecos.clear(); enderecos.add(agencia); } httpServletRequest.setAttribute("flagRedirect", "agencia"); httpServletRequest.setAttribute("fecharPopup", "ok"); } else if (tipoRetorno.trim().equalsIgnoreCase("sistemaParametro")) { if (enderecos.isEmpty() || (tipoAcao != null && !tipoAcao.equals("")) ) { enderecos.clear(); enderecos.add(imovel); } httpServletRequest.setAttribute("flagRedirect","sistemaParametro"); } else if (tipoRetorno.trim().equalsIgnoreCase("agencia")) { if (enderecos.isEmpty() || (tipoAcao != null && !tipoAcao.equals(""))) { enderecos.clear(); enderecos.add(agencia); } httpServletRequest.setAttribute("flagRedirect", "agencia"); httpServletRequest.setAttribute("fecharPopup", "ok"); } } } httpServletRequest.setAttribute("flagOperacao", tipoOperacao); httpServletRequest.setAttribute("flagReload", "true"); // Limpar o formul�rio inserirEnderecoActionForm.setBairro(""); inserirEnderecoActionForm.setCep(""); inserirEnderecoActionForm.setCepSelecionado(""); inserirEnderecoActionForm.setCepUnico(""); inserirEnderecoActionForm.setComplemento(""); inserirEnderecoActionForm.setEnderecoReferencia(EnderecoReferencia.NUMERO.toString()); inserirEnderecoActionForm.setLogradouro(""); inserirEnderecoActionForm.setLogradouroDescricao(""); inserirEnderecoActionForm.setNumero(""); inserirEnderecoActionForm.setTipo(String .valueOf(ConstantesSistema.NUMERO_NAO_INFORMADO)); inserirEnderecoActionForm.setEnderecoCorrespondencia(""); inserirEnderecoActionForm.setObjetoClienteEnderecoSelecionado(""); inserirEnderecoActionForm.setTipoAcao(""); inserirEnderecoActionForm.setIdPerimetroInicial(""); inserirEnderecoActionForm.setDescricaoPerimetroInicial(""); inserirEnderecoActionForm.setIdPerimetroFinal(""); inserirEnderecoActionForm.setDescricaoPerimetroFinal(""); inserirEnderecoActionForm.setTipoPesquisaTela(""); String fecharPopup = (String) httpServletRequest.getAttribute("fecharPopup"); if (fecharPopup != null && !fecharPopup.trim().equals("")) { inserirEnderecoActionForm.setMostrarPerimetro(false); } sessao.removeAttribute("objetoCep"); sessao.removeAttribute("colecaoCepSelecionadosUsuario"); sessao.removeAttribute("logradouroBairros"); } // devolve o mapeamento de retorno 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; } }