package gcom.gui.cadastro.geografico; import gcom.cadastro.geografico.FiltroMicrorregiao; import gcom.cadastro.geografico.FiltroRegiao; import gcom.cadastro.geografico.FiltroRegiaoDesenvolvimento; import gcom.cadastro.geografico.FiltroUnidadeFederacao; import gcom.cadastro.geografico.Microrregiao; import gcom.cadastro.geografico.Regiao; import gcom.cadastro.geografico.RegiaoDesenvolvimento; import gcom.cadastro.geografico.UnidadeFederacao; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.ConstantesSistema; 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; import org.apache.struts.validator.DynaValidatorForm; /** * Action que define o pr�-processamento da p�gina de pesquisa de responsavel * superior * * @author S�vio Luiz * @created 26 de Abril de 2005 */ public class ExibirPesquisarMunicipioAction extends GcomAction { /** * 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 mapeamento de retorno ActionForward retorno = actionMapping.findForward("pesquisarMunicipio"); DynaValidatorForm pesquisarActionForm = (DynaValidatorForm) actionForm; // Obt�m a inst�ncia da Fachada Fachada fachada = Fachada.getInstancia(); // Mudar isso quando tiver esquema de seguran�a HttpSession sessao = httpServletRequest.getSession(false); if (httpServletRequest.getParameter("objetoConsulta") == null) { pesquisarActionForm.set("nomeMunicipio", ""); pesquisarActionForm.set("idRegiaoDesenvolvimento", null); pesquisarActionForm.set("idRegiao", null); pesquisarActionForm.set("idMicrorregiao", null); pesquisarActionForm.set("idUnidadeFederacao", null); } // Verifica se o pesquisar munic�pio foi chamado a partir do inserir munic�pio // e em caso afirmativo recebe o par�metro e manda-o pela sess�o para // ser verificado no municipio_resultado_pesquisa e depois retirado da // sess�o no ExibirFiltrarMunicipioAction if (httpServletRequest.getParameter("consulta") != null) { String consulta = httpServletRequest.getParameter("consulta"); sessao.setAttribute("consulta", consulta); }else{ sessao.removeAttribute("consulta"); } // cria os filtros para pesquisar os objetos FiltroRegiaoDesenvolvimento filtroRegiaoDesenvolvimento = new FiltroRegiaoDesenvolvimento(); FiltroRegiao filtroRegiao = new FiltroRegiao(); FiltroMicrorregiao filtroMicrorregiao = new FiltroMicrorregiao(); FiltroUnidadeFederacao filtroUnidadeFederacao = new FiltroUnidadeFederacao(); // inicializa a cole��o Collection regiaoDesenvolvimentos = null; // inicializa a cole��o Collection regioes = null; // inicializa a cole��o Collection microrregioes = null; // inicializa a cole��o Collection unidadesFederacao = null; // INICIO-------Parte que trata do pesquisa de dependencia // caso seja escolhido a regi�o Integer idRegiao = (Integer) pesquisarActionForm.get("idRegiao"); if (idRegiao != null && idRegiao.intValue() != ConstantesSistema.NUMERO_NAO_INFORMADO) { filtroMicrorregiao.adicionarParametro(new ParametroSimples( FiltroMicrorregiao.REGIAO_ID, idRegiao)); filtroMicrorregiao.setCampoOrderBy(FiltroMicrorregiao.DESCRICAO); if( httpServletRequest.getParameter("indicadorUsoTodos") == null){ sessao.removeAttribute("indicadorUsoTodos"); filtroMicrorregiao.adicionarParametro(new ParametroSimples( FiltroMicrorregiao.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); } microrregioes = fachada.pesquisar(filtroMicrorregiao, Microrregiao.class.getName()); if (microrregioes == null || microrregioes.isEmpty()) { throw new ActionServletException( "atencao.pesquisa.nenhumresultado", null, "microrregioes"); } else { sessao.setAttribute("microrregioes", microrregioes); httpServletRequest.setAttribute("nomeCampo", "idMicrorregiao"); } // FIM-------Parte que trata do pesquisa de dependencia } else { if( httpServletRequest.getParameter("indicadorUsoTodos") == null){ sessao.removeAttribute("indicadorUsoTodos"); filtroRegiaoDesenvolvimento .adicionarParametro(new ParametroSimples( FiltroRegiaoDesenvolvimento.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); } filtroRegiaoDesenvolvimento.setCampoOrderBy(FiltroRegiaoDesenvolvimento.DESCRICAO); regiaoDesenvolvimentos = fachada.pesquisar( filtroRegiaoDesenvolvimento, RegiaoDesenvolvimento.class .getName()); if (regiaoDesenvolvimentos == null || regiaoDesenvolvimentos.isEmpty()) { throw new ActionServletException( "atencao.pesquisa.nenhumresultado", null, "regiao desenvolvimento"); } else { sessao.setAttribute("regiaoDesenvolvimentos", regiaoDesenvolvimentos); } filtroRegiao.adicionarParametro(new ParametroSimples( FiltroRegiao.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroRegiao.setCampoOrderBy(FiltroRegiao.DESCRICAO); regioes = fachada.pesquisar(filtroRegiao, Regiao.class.getName()); if (regioes == null || regioes.isEmpty()) { throw new ActionServletException( "atencao.pesquisa.nenhumresultado", null, "regiao"); } else { sessao.setAttribute("regioes", regioes); } filtroMicrorregiao.adicionarParametro(new ParametroSimples( FiltroMicrorregiao.INDICADOR_USO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroMicrorregiao.setCampoOrderBy(FiltroMicrorregiao.DESCRICAO); microrregioes = fachada.pesquisar(filtroMicrorregiao, Microrregiao.class.getName()); if (microrregioes == null || microrregioes.isEmpty()) { throw new ActionServletException( "atencao.pesquisa.nenhumresultado", null, "microrregiao"); } else { sessao.setAttribute("microrregioes", microrregioes); } filtroUnidadeFederacao.setCampoOrderBy(FiltroUnidadeFederacao.DESCRICAO); unidadesFederacao = fachada.pesquisar(filtroUnidadeFederacao, UnidadeFederacao.class.getName()); if (unidadesFederacao == null || unidadesFederacao.isEmpty()) { throw new ActionServletException( "atencao.pesquisa.nenhumresultado", null, "unidade federacao"); } else { sessao.setAttribute("unidadesFederacao", unidadesFederacao); } // envia uma flag que ser� verificado no // municipio_resultado_pesquisa.jsp // para saber se ir� usar o enviar dados ou o enviar dados // parametros if (httpServletRequest .getParameter("caminhoRetornoTelaPesquisaMunicipio") != null) { sessao .setAttribute( "caminhoRetornoTelaPesquisaMunicipio", httpServletRequest .getParameter("caminhoRetornoTelaPesquisaMunicipio")); if(sessao.getAttribute("caminhoRetornoTelaPesquisaBairro") != null) { sessao.setAttribute("caminho",sessao.getAttribute("caminhoRetornoTelaPesquisaBairro")); } }else{ if(sessao.getAttribute("caminhoRetornoTelaPesquisaMunicipio") != null){ sessao.setAttribute("caminho",sessao.getAttribute("caminhoRetornoTelaPesquisaMunicipio")); }else{ sessao .removeAttribute("caminhoRetornoTelaPesquisaMunicipio"); } } } pesquisarActionForm.set("tipoPesquisa", ConstantesSistema.TIPO_PESQUISA_INICIAL.toString()); if( httpServletRequest.getParameter("indicadorUsoTodos") != null){ sessao.setAttribute("indicadorUsoTodos", httpServletRequest.getParameter("indicadorUsoTodos")); } return retorno; } }