package gcom.gui.cadastro.endereco; import gcom.cadastro.endereco.FiltroLogradouro; import gcom.cadastro.endereco.FiltroOSProgramaCalibragem; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.atendimentopublico.ordemservico.OSProgramacaoCalibragem; 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 filtra os par�metros inseridos no logradouro_filtrar.jsp para * recuperar os logradouros * * @author S�vio Luiz * @date 28/06/2006 */ public class FiltrarLogradouroAction 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) { ActionForward retorno = actionMapping .findForward("retornarFiltroLogradouro"); // Mudar isso quando tiver esquema de seguran�a HttpSession sessao = httpServletRequest.getSession(false); DynaValidatorForm pesquisarActionForm = (DynaValidatorForm) actionForm; // Recupera os par�metros do form String idMunicipio = (String) pesquisarActionForm.get("idMunicipioFiltro"); String idBairro = (String) pesquisarActionForm.get("idBairro"); String nomeLogradouro = (String) pesquisarActionForm .get("nomeLogradouro"); String nomePopularLogradouro = (String) pesquisarActionForm .get("nomePopularLogradouro"); String idLogradouro = (String) pesquisarActionForm.get("idLogradouro"); String codigoCep = (String) pesquisarActionForm.get("cep"); Integer idTipoLogradouro = (Integer) pesquisarActionForm.get("idTipo"); Integer idTituloLogradouro = (Integer) pesquisarActionForm .get("idTitulo"); String indicadorUso = (String) pesquisarActionForm.get("indicadorUso"); FiltroLogradouro filtroLogradouro = new FiltroLogradouro(); filtroLogradouro .adicionarCaminhoParaCarregamentoEntidade("logradouroTipo"); filtroLogradouro .adicionarCaminhoParaCarregamentoEntidade("logradouroTitulo"); boolean peloMenosUmParametroInformado = false; // Insere os par�metros informados no filtro if (idMunicipio != null && !idMunicipio.trim().equalsIgnoreCase("")) { peloMenosUmParametroInformado = true; // filtroLogradouro.adicionarParametro(new ParametroSimples( // FiltroLogradouro.ID_MUNICIPIO, idMunicipio)); } if (nomeLogradouro != null && !nomeLogradouro.trim().equalsIgnoreCase("")) { peloMenosUmParametroInformado = true; // filtroLogradouro.adicionarParametro(new ComparacaoTexto( // FiltroLogradouro.NOME, nomeLogradouro)); } if (nomePopularLogradouro != null && !nomePopularLogradouro.trim().equalsIgnoreCase("")) { peloMenosUmParametroInformado = true; // filtroLogradouro.adicionarParametro(new ComparacaoTexto( // FiltroLogradouro.NOME_POPULAR, nomePopularLogradouro)); } if (idLogradouro != null && !idLogradouro.trim().equalsIgnoreCase("")) { peloMenosUmParametroInformado = true; // filtroLogradouro.adicionarParametro(new ParametroSimples( // FiltroLogradouro.ID, idLogradouro)); } if (idTipoLogradouro != null && idTipoLogradouro.intValue() > ConstantesSistema.NUMERO_NAO_INFORMADO) { peloMenosUmParametroInformado = true; // filtroLogradouro.adicionarParametro(new ParametroSimples( // FiltroLogradouro.ID_LOGRADOUROTIPO, idTipoLogradouro)); } if (idTituloLogradouro != null && idTituloLogradouro.intValue() > ConstantesSistema.NUMERO_NAO_INFORMADO) { peloMenosUmParametroInformado = true; // filtroLogradouro.adicionarParametro(new ParametroSimples( // FiltroLogradouro.ID_LOGRADOUROTITULO, idTituloLogradouro)); } /* * Caso seja passado como par�metro o c�digo do Munic�pio */ if (codigoCep != null && !codigoCep.equals("")) { if (!peloMenosUmParametroInformado) { httpServletRequest.setAttribute("consultaPorCep", "OK"); } peloMenosUmParametroInformado = true; httpServletRequest.setAttribute("codigoCep", codigoCep); } if (idBairro != null && !idBairro.equals("")) { if (!peloMenosUmParametroInformado) { httpServletRequest.setAttribute("consultaPorBairro", "OK"); } peloMenosUmParametroInformado = true; sessao.setAttribute("idBairroFiltro","true"); httpServletRequest.setAttribute("idBairro", idBairro); }else{ sessao.setAttribute("idBairroFiltro","false"); } if (indicadorUso != null && !indicadorUso.trim().equalsIgnoreCase("")) { peloMenosUmParametroInformado = true; // filtroLogradouro.adicionarParametro(new ParametroSimples( // FiltroLogradouro.INDICADORUSO, indicadorUso)); } // Erro caso o usu�rio mandou filtrar sem nenhum par�metro if (!peloMenosUmParametroInformado) { throw new ActionServletException( "atencao.filtro.nenhum_parametro_informado"); } // Manda o filtro pelo request para o ExibirManterLogradouroAction httpServletRequest.setAttribute("filtroLogradouro", filtroLogradouro); // sessao.setAttribute("filtroLogradouro", filtroLogradouro); String atualizar = null; atualizar = (String) httpServletRequest.getParameter("atualizar"); if (atualizar != null && !atualizar.equalsIgnoreCase("")) { sessao.setAttribute("atualizar", "true"); } FiltroOSProgramaCalibragem filtroOSProgramaCalibragem = new FiltroOSProgramaCalibragem( FiltroOSProgramaCalibragem.NUMERO_GRAU_IMPORTANCIA); filtroOSProgramaCalibragem.setConsultaSemLimites(true); filtroOSProgramaCalibragem.adicionarParametro(new ParametroSimples( FiltroOSProgramaCalibragem.PRIORIZACAO_TIPO_ID, new Integer(1))); filtroOSProgramaCalibragem.adicionarCaminhoParaCarregamentoEntidade("priorizacaoTipo"); Collection osProgramacaoCalibragem = Fachada.getInstancia().pesquisar( filtroOSProgramaCalibragem, OSProgramacaoCalibragem.class.getName()); if (osProgramacaoCalibragem != null && !osProgramacaoCalibragem.isEmpty()) { sessao.setAttribute("osProgramacaoCalibragem", osProgramacaoCalibragem); } return retorno; } }