package gcom.gui.cadastro.endereco; import gcom.cadastro.geografico.FiltroMunicipio; import gcom.cadastro.geografico.Municipio; import gcom.fachada.Fachada; import gcom.gui.GcomAction; import gcom.util.ConstantesSistema; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.Collection; 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; /** * Esta classe tem por finalidade exibir para o usu�rio a tela que receber� os * par�metros para realiza��o da pesquisa de CEPs * * @author Raphael Rossiter * @date 05/05/2006 */ public class ExibirPesquisarCepAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping.findForward("exibirPesquisarCep"); HttpSession sessao = httpServletRequest.getSession(false); Fachada fachada = Fachada.getInstancia(); PesquisarCepActionForm pesquisarCepActionForm = (PesquisarCepActionForm) actionForm; if (httpServletRequest.getParameter("voltaFiltro") == null && httpServletRequest.getParameter("pesquisaMunicipio") == null) { pesquisarCepActionForm.setIdMunicipio(""); pesquisarCepActionForm.setNomeMunicipio(""); pesquisarCepActionForm.setNomeLogradouro(""); } /* * Caso o par�metro "Munic�pio" seja previamente definido pelo caso de * uso que chama est� funcionalidade, o mesmo dever� ser mantido para * realiza��o da pesquisa dos CEPs */ String idMunicipio = null; if(httpServletRequest .getParameter("idMunicipioDefinido") != null){ idMunicipio = httpServletRequest .getParameter("idMunicipioDefinido"); }else{ idMunicipio = (String)httpServletRequest .getAttribute("idMunicipioDefinido"); } FiltroMunicipio filtroMunicipio = new FiltroMunicipio(); Collection colecaoMunicipio = null; Municipio municipio = null; if (httpServletRequest.getParameter("indicadorUsoTodos") != null) { sessao.setAttribute("indicadorUsoTodos", httpServletRequest .getParameter("indicadorUsoTodos")); } if (idMunicipio != null && !idMunicipio.equals("")) { filtroMunicipio.adicionarParametro(new ParametroSimples( FiltroMunicipio.ID, idMunicipio)); if (sessao.getAttribute("indicadorUsoTodos") == null) { filtroMunicipio.adicionarParametro(new ParametroSimples( FiltroMunicipio.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); sessao.removeAttribute("indicadorUsoTodos"); } colecaoMunicipio = fachada.pesquisar(filtroMunicipio, Municipio.class.getName()); if (colecaoMunicipio != null && !colecaoMunicipio.isEmpty()) { sessao.setAttribute("municipioInformado", idMunicipio); municipio = (Municipio) Util .retonarObjetoDeColecao(colecaoMunicipio); pesquisarCepActionForm.setIdMunicipio(String.valueOf(municipio .getId())); pesquisarCepActionForm.setNomeMunicipio(municipio.getNome()); } } else if (pesquisarCepActionForm.getIdMunicipio() != null && !pesquisarCepActionForm.getIdMunicipio().equals("")) { filtroMunicipio .adicionarParametro(new ParametroSimples( FiltroMunicipio.ID, pesquisarCepActionForm .getIdMunicipio())); if (sessao.getAttribute("indicadorUsoTodos") == null) { filtroMunicipio.adicionarParametro(new ParametroSimples( FiltroMunicipio.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); sessao.removeAttribute("indicadorUsoTodos"); } colecaoMunicipio = fachada.pesquisar(filtroMunicipio, Municipio.class.getName()); if (colecaoMunicipio != null && !colecaoMunicipio.isEmpty()) { municipio = (Municipio) Util .retonarObjetoDeColecao(colecaoMunicipio); pesquisarCepActionForm.setIdMunicipio(String.valueOf(municipio .getId())); pesquisarCepActionForm.setNomeMunicipio(municipio.getNome()); httpServletRequest.setAttribute("nomeCampo", "nomeLogradouro"); } else { pesquisarCepActionForm.setIdMunicipio(""); pesquisarCepActionForm .setNomeMunicipio("MUNIC�PIO INEXISTENTE"); httpServletRequest.setAttribute("idMunicipioNaoEncontrado", "OK"); httpServletRequest.setAttribute("nomeCampo", "idMunicipio"); } } else { sessao.removeAttribute("municipioInformado"); } // Retorno para tela de informar endereco if (httpServletRequest .getParameter("caminhoRetornoTelaInformarEndereco") != null) { sessao .setAttribute( "caminhoRetornoTelaInformarEndereco", httpServletRequest .getParameter("caminhoRetornoTelaInformarEndereco")); } // Verifica se o tipoConsulta � diferente de nulo ou vazio esse tipo // consulta vem do // municipio_resultado_pesquisa.jsp ou do bairro_resultado_pesquisa.jsp. // � feita essa verifica��o pois pode ser que ainda n�o tenha // feito a pesquisa de municipio ou bairro. if (httpServletRequest.getParameter("tipoConsulta") != null && !httpServletRequest.getParameter("tipoConsulta").equals("")) { // Verifica se o tipo da consulta de cliente � de municipio // se for os parametros de enviarDadosParametros ser�o mandados para // a pagina cliente_pesuisar.jsp if (httpServletRequest.getParameter("tipoConsulta").equals( "municipio")) { pesquisarCepActionForm.setIdMunicipio(httpServletRequest .getParameter("idCampoEnviarDados")); pesquisarCepActionForm.setNomeMunicipio(httpServletRequest .getParameter("descricaoCampoEnviarDados")); } } if (httpServletRequest.getParameter("tipoPesquisaLogradouro") == null || httpServletRequest.getParameter("tipoPesquisaLogradouro").equals("")) { pesquisarCepActionForm.setTipoPesquisaLogradouro( ConstantesSistema.TIPO_PESQUISA_INICIAL.toString()); } if (httpServletRequest.getParameter("idCepInicial") != null && !httpServletRequest.getParameter("idCepInicial").equals("")){ pesquisarCepActionForm.setIdCepInicial(Long.parseLong(httpServletRequest.getParameter("idCepInicial"))); } if (httpServletRequest.getParameter("idCepFinal") != null && !httpServletRequest.getParameter("idCepFinal").equals("")){ pesquisarCepActionForm.setIdCepFinal(Long.parseLong(httpServletRequest.getParameter("idCepFinal"))); } return retorno; } }