package gcom.gui.cadastro.localidade; import gcom.cadastro.localidade.FiltroLocalidade; import gcom.cadastro.localidade.FiltroSetorComercial; import gcom.cadastro.localidade.Localidade; import gcom.cadastro.localidade.SetorComercial; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.micromedicao.FiltroRota; import gcom.micromedicao.Rota; 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; /** * Descri��o da classe * * @author Administrador * @date 08/07/2006 */ public class ExibirFiltrarQuadraAction extends GcomAction { private String localidadeID; private String setorComercialCD; private Collection colecaoPesquisa; /** * <Breve descri��o sobre o caso de uso> * * <Identificador e nome do caso de uso> * * <Breve descri��o sobre o subfluxo> * * <Identificador e nome do subfluxo> * * <Breve descri��o sobre o fluxo secund�rio> * * <Identificador e nome do fluxo secund�rio> * * @author Administrador * @date 08/07/2006 * * @param actionMapping * @param actionForm * @param httpServletRequest * @param httpServletResponse * @return */ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping .findForward("filtrarQuadra"); Fachada fachada = Fachada.getInstancia(); HttpSession sessao = httpServletRequest.getSession(false); FiltrarQuadraActionForm filtrarQuadraActionForm = (FiltrarQuadraActionForm) actionForm; if (sessao.getAttribute("consulta") != null) { sessao.removeAttribute("consulta"); } String idRota = filtrarQuadraActionForm.getIdRota(); if (idRota != null && !idRota.trim().equals("")) { FiltroRota filtroRota = new FiltroRota(); filtroRota.adicionarParametro(new ParametroSimples(FiltroRota.ID_ROTA, idRota)); Collection colecaoRotas = fachada.pesquisar(filtroRota, Rota.class.getName()); if (colecaoRotas != null && !colecaoRotas.isEmpty()) { Rota rota = (Rota) Util.retonarObjetoDeColecao(colecaoRotas); if(rota.getIndicadorRotaAlternativa().shortValue() == ConstantesSistema.SIM){ filtrarQuadraActionForm.setCodigoRota(""); throw new ActionServletException("atencao.rota_alternativa_nao_pode_associar_quadra"); }else{ filtrarQuadraActionForm.setCodigoRota(rota.getCodigo().toString()); } } } String objetoConsulta = (String) httpServletRequest.getParameter("objetoConsulta"); if (objetoConsulta != null && !objetoConsulta.trim().equalsIgnoreCase("")) { //Recebe o valor do campo localidadeID do formul�rio. localidadeID = filtrarQuadraActionForm.getLocalidadeID(); //Recebe o valor do campo setorComercialID do formul�rio. setorComercialCD = filtrarQuadraActionForm .getSetorComercialCD(); switch (Integer.parseInt(objetoConsulta)) { //Localidade case 1: pesquisarLocalidade(filtrarQuadraActionForm, fachada, httpServletRequest); break; //Setor Comercial case 2: pesquisarLocalidade(filtrarQuadraActionForm, fachada, httpServletRequest); pesquisarSetorComercial(filtrarQuadraActionForm, fachada, httpServletRequest); break; default: break; } } if (httpServletRequest.getParameter("desfazer") != null && httpServletRequest.getParameter("desfazer").equalsIgnoreCase("S")) { //-------------- bt LIMPAR --------------- String[] arrayQuadraIDVazio = null; filtrarQuadraActionForm.setLocalidadeID(""); filtrarQuadraActionForm.setLocalidadeNome(""); filtrarQuadraActionForm.setSetorComercialCD(""); filtrarQuadraActionForm.setSetorComercialID(""); filtrarQuadraActionForm.setSetorComercialNome(""); filtrarQuadraActionForm.setQuadraID(arrayQuadraIDVazio); filtrarQuadraActionForm.setQuadraMensagem(""); filtrarQuadraActionForm.setQuadraNM(""); //filtrarQuadraActionForm.setBairroNome(""); filtrarQuadraActionForm.setIndicadorUso("3"); //filtrarQuadraActionForm.setTipoPesquisa(ConstantesSistema.TIPO_PESQUISA_INICIAL.toString()); sessao.setAttribute("indicadorAtualizar","1"); } // c�digo para checar ou naum o checkbox Atualizar String primeiraVez = httpServletRequest.getParameter("menu"); if (primeiraVez != null && !primeiraVez.equals("")) { sessao.setAttribute("indicadorAtualizar","1"); filtrarQuadraActionForm.setIndicadorUso("3"); //filtrarQuadraActionForm.setTipoPesquisa(ConstantesSistema.TIPO_PESQUISA_INICIAL.toString()); } //se voltou da tela de Atualizar Quadra //checkbox Atualizar = checked if (sessao.getAttribute("voltar") !=null && sessao.getAttribute("voltar").equals("filtrar")){ sessao.setAttribute("indicadorAtualizar","1"); if(sessao.getAttribute("indicadorUso") != null){ filtrarQuadraActionForm.setIndicadorUso(sessao.getAttribute("indicadorUso").toString()); // filtrarQuadraActionForm.setTipoPesquisa(ConstantesSistema.TIPO_PESQUISA_INICIAL.toString()); } } sessao.removeAttribute("idRegistroAtualizacao"); sessao.removeAttribute("indicadorUso"); //devolve o mapeamento de retorno return retorno; } private void pesquisarLocalidade( FiltrarQuadraActionForm filtrarQuadraActionForm, Fachada fachada, HttpServletRequest httpServletRequest) { if (localidadeID == null || localidadeID.trim().equalsIgnoreCase("")) { //Limpa os campos localidadeID e setorComercialID do formulario filtrarQuadraActionForm .setLocalidadeNome("Informe Localidade"); httpServletRequest.setAttribute("corLocalidade", "exception"); } else { FiltroLocalidade filtroLocalidade = new FiltroLocalidade(); filtroLocalidade.adicionarParametro(new ParametroSimples( FiltroLocalidade.ID, localidadeID)); //Retorna localidade colecaoPesquisa = fachada.pesquisar(filtroLocalidade, Localidade.class.getName()); if (colecaoPesquisa == null || colecaoPesquisa.isEmpty()) { //Localidade nao encontrada //Limpa o campo localidadeID do formul�rio filtrarQuadraActionForm.setLocalidadeID(""); filtrarQuadraActionForm .setLocalidadeNome("Localidade inexistente."); httpServletRequest.setAttribute("corLocalidade", "exception"); httpServletRequest.setAttribute("nomeCampo", "localidadeID"); } else { Localidade objetoLocalidade = (Localidade) Util .retonarObjetoDeColecao(colecaoPesquisa); filtrarQuadraActionForm.setLocalidadeID(String .valueOf(objetoLocalidade.getId())); filtrarQuadraActionForm .setLocalidadeNome(objetoLocalidade.getDescricao()); httpServletRequest.setAttribute("corLocalidade", "valor"); httpServletRequest.setAttribute("nomeCampo", "setorComercialCD"); } } } private void pesquisarSetorComercial( FiltrarQuadraActionForm filtrarQuadraActionForm, Fachada fachada, HttpServletRequest httpServletRequest) { if (localidadeID == null || localidadeID.trim().equalsIgnoreCase("")) { //Limpa os campos setorComercialCD e setorComercialID do formulario filtrarQuadraActionForm.setSetorComercialCD(""); filtrarQuadraActionForm.setSetorComercialID(""); filtrarQuadraActionForm .setSetorComercialNome("Informe Localidade."); httpServletRequest.setAttribute("corSetorComercial", "exception"); httpServletRequest.setAttribute("nomeCampo", "localidadeID"); } else if (setorComercialCD == null || setorComercialCD.trim().equalsIgnoreCase("")) { filtrarQuadraActionForm.setSetorComercialCD(""); filtrarQuadraActionForm.setSetorComercialID(""); filtrarQuadraActionForm .setSetorComercialNome("Informe o setor comercial."); httpServletRequest.setAttribute("corSetorComercial", "exception"); httpServletRequest.setAttribute("nomeCampo", "setorComercialCD"); } else { FiltroSetorComercial filtroSetorComercial = new FiltroSetorComercial(); filtroSetorComercial.adicionarParametro(new ParametroSimples( FiltroSetorComercial.ID_LOCALIDADE, localidadeID)); filtroSetorComercial.adicionarParametro(new ParametroSimples( FiltroSetorComercial.CODIGO_SETOR_COMERCIAL, setorComercialCD)); //Retorna setorComercial colecaoPesquisa = fachada.pesquisar(filtroSetorComercial, SetorComercial.class.getName()); if (colecaoPesquisa == null || colecaoPesquisa.isEmpty()) { //setorComercial nao encontrado //Limpa os campos setorComercialCD e setorComercialID do // formulario filtrarQuadraActionForm.setSetorComercialCD(""); filtrarQuadraActionForm.setSetorComercialID(""); filtrarQuadraActionForm .setSetorComercialNome("Setor comercial inexistente."); httpServletRequest.setAttribute("corSetorComercial", "exception"); httpServletRequest.setAttribute("nomeCampo", "setorComercialCD"); } else { SetorComercial objetoSetorComercial = (SetorComercial) Util .retonarObjetoDeColecao(colecaoPesquisa); filtrarQuadraActionForm.setSetorComercialCD(String .valueOf(objetoSetorComercial.getCodigo())); filtrarQuadraActionForm.setSetorComercialID(String .valueOf(objetoSetorComercial.getId())); filtrarQuadraActionForm .setSetorComercialNome(objetoSetorComercial .getDescricao()); httpServletRequest.setAttribute("corSetorComercial", "valor"); httpServletRequest.setAttribute("nomeCampo", "quadraNM"); } } } }