package gcom.gui.micromedicao; import gcom.cadastro.localidade.FiltroQuadra; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.micromedicao.FiltroRota; import gcom.micromedicao.Rota; import gcom.util.ConstantesSistema; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import java.util.Map; 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.DynaValidatorActionForm; /** * Action que define o pr�-processamento da p�gina de pesquisa de Rota * * @author Rafael Santos * @since 23/08/2006 */ public class ExibirPesquisarRotaAction extends GcomAction { /** * < <Descri��o do m�todo>> * * @param actionMapping * Descri��o do par�metro * @param actionForm * Descri��o do par�metro * @param httpServletRequest * Descri��o do par�metro * @param httpServletResponse * Descri��o do par�metro * @return Descri��o do retorno */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping.findForward("pesquisarRota"); DynaValidatorActionForm form = (DynaValidatorActionForm) actionForm; // obtendo uma instancia da sessao HttpSession sessao = httpServletRequest.getSession(false); //DynaValidatorForm pesquisarActionForm = (DynaValidatorForm) actionForm; String codigoSetorComercial = null; String idLocalidade = null; if (httpServletRequest.getParameter("destino") != null && !httpServletRequest.getParameter("destino").trim() .equalsIgnoreCase("")) { sessao.setAttribute("destino",(String) httpServletRequest .getParameter("destino")); } if (httpServletRequest.getParameter("codigoSetorComercial") != null && !httpServletRequest.getParameter("codigoSetorComercial").trim() .equalsIgnoreCase("")) { codigoSetorComercial = (String) httpServletRequest .getParameter("codigoSetorComercial"); form.set( "codigoSetorComercial", codigoSetorComercial ); } if (httpServletRequest.getParameter("idLocalidade") != null && !httpServletRequest.getParameter("idLocalidade").trim() .equalsIgnoreCase("")) { idLocalidade = (String) httpServletRequest .getParameter("idLocalidade"); form.set( "idLocalidade", idLocalidade ); } codigoSetorComercial = ( codigoSetorComercial == null ? (String) form.get( "codigoSetorComercial" ) : codigoSetorComercial ); idLocalidade = ( idLocalidade == null ? (String) form.get( "idLocalidade" ) : idLocalidade ); FiltroRota filtroRota = new FiltroRota(); filtroRota.adicionarCaminhoParaCarregamentoEntidade("cobrancaGrupo"); filtroRota.adicionarCaminhoParaCarregamentoEntidade("faturamentoGrupo"); filtroRota.adicionarCaminhoParaCarregamentoEntidade("setorComercial.localidade"); /** * carregamento do filtro comentado por pedro alexandre dia :22/01/2007 */ /*filtroRota .adicionarCaminhoParaCarregamentoEntidade(FiltroRota.SETOR_COMERCIAL_ID);*/ filtroRota.adicionarParametro(new ParametroSimples( FiltroRota.LOCALIDADE_ID, idLocalidade)); filtroRota.adicionarParametro(new ParametroSimples( FiltroRota.SETOR_COMERCIAL_CODIGO, codigoSetorComercial)); filtroRota.setCampoOrderBy(FiltroRota.CODIGO_ROTA); if (httpServletRequest.getParameter("indicadorUso") != null && !httpServletRequest.getParameter("indicadorUso").trim() .equalsIgnoreCase("")) { filtroRota.adicionarParametro(new ParametroSimples( FiltroQuadra.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); } if(httpServletRequest.getParameter("indicadorRotaAlternativa") != null && !httpServletRequest.getParameter("indicadorRotaAlternativa").trim().equalsIgnoreCase("") ){ filtroRota.adicionarParametro(new ParametroSimples(FiltroQuadra.INDICADOR_ROTA_ALTERNATIVA,ConstantesSistema.NAO)); } Collection rotas = null; // Aciona o controle de pagina��o para que sejam pesquisados apenas // os registros que aparecem na p�gina Map resultado = controlarPaginacao(httpServletRequest, retorno, filtroRota, Rota.class.getName()); rotas = (Collection) resultado.get("colecaoRetorno"); retorno = (ActionForward) resultado.get("destinoActionForward"); if (rotas == null || rotas.isEmpty()) { throw new ActionServletException( "atencao.pesquisa.nenhumresultado", null, "rota"); } sessao.setAttribute("rotas", rotas); return retorno; } }