package gcom.gui.cadastro.imovel; import gcom.cadastro.localidade.FiltroLocalidade; import gcom.cadastro.localidade.FiltroQuadra; import gcom.cadastro.localidade.FiltroQuadraFace; import gcom.cadastro.localidade.FiltroSetorComercial; import gcom.cadastro.localidade.Localidade; import gcom.cadastro.localidade.Quadra; import gcom.cadastro.localidade.QuadraFace; import gcom.cadastro.localidade.SetorComercial; import gcom.cadastro.sistemaparametro.SistemaParametro; 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 java.util.HashSet; import java.util.List; 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; /** * Classe respon�vel pelo recebimento dos dados que formar�o a inscri��o do im�vel * * @author Raphael Rossiter * @date 07/05/2009 */ public class ExibirInserirImovelLocalidadeAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping .findForward("inserirImovelLocalidade"); // obtendo uma instancia da sessao HttpSession sessao = httpServletRequest.getSession(false); DynaValidatorForm inserirImovelLocalidadeActionForm = (DynaValidatorForm) sessao .getAttribute("InserirImovelActionForm"); // cria as variaveis String idLocalidade = null; String codigoSetorComercial = null; String numeroQuadra = null; // atribui os valores q vem pelo request as variaveis idLocalidade = (String) inserirImovelLocalidadeActionForm.get("idLocalidade"); codigoSetorComercial = (String) inserirImovelLocalidadeActionForm.get("idSetorComercial"); numeroQuadra = (String) inserirImovelLocalidadeActionForm.get("idQuadra"); // instancia o filtro imovel FiltroQuadra filtroQuadra = new FiltroQuadra(); FiltroLocalidade filtroLocalidade = new FiltroLocalidade(); FiltroSetorComercial filtroSetorComercial = new FiltroSetorComercial(); FiltroQuadraFace filtroQuadraFace = new FiltroQuadraFace(); // cria a colecao para receber a pesquisa Collection localidades = new HashSet(); Collection setorComerciais = new HashSet(); Collection quadras = new HashSet(); Collection facesQuadra = new HashSet(); Fachada fachada = Fachada.getInstancia(); sessao.removeAttribute("gis"); SistemaParametro sistemaParametro = fachada.pesquisarParametrosDoSistema(); ((DynaValidatorForm) actionForm).set("usaRota", sistemaParametro.getIndicadorUsaRota().toString()); //PESQUISANDO LOCALIDADE... if (idLocalidade != null && !idLocalidade.toString().trim().equalsIgnoreCase("")) { filtroLocalidade.limparListaParametros(); filtroLocalidade.adicionarParametro(new ParametroSimples( FiltroLocalidade.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroLocalidade.adicionarParametro(new ParametroSimples( FiltroLocalidade.ID, new Integer(idLocalidade))); localidades = fachada.pesquisar(filtroLocalidade, Localidade.class.getName()); if (localidades != null && !localidades.isEmpty()) { //LOCALIDADE ENCONTRADA inserirImovelLocalidadeActionForm.set("idLocalidade", Util.adicionarZerosEsquedaNumero(3, new Integer(((Localidade) ((List) localidades).get(0)) .getId().toString()).toString())); inserirImovelLocalidadeActionForm.set("localidadeDescricao", ((Localidade) ((List) localidades).get(0)).getDescricao()); httpServletRequest.setAttribute("nomeCampo", "idSetorComercial"); } else { httpServletRequest.setAttribute("codigoLocalidadeNaoEncontrada", "true"); inserirImovelLocalidadeActionForm.set("idLocalidade", ""); inserirImovelLocalidadeActionForm.set("idSetorComercial", ""); inserirImovelLocalidadeActionForm.set("setorComercialDescricao", ""); inserirImovelLocalidadeActionForm.set("idQuadra", ""); inserirImovelLocalidadeActionForm.set("idQuadraFace", ""); httpServletRequest.setAttribute("nomeCampo", "idLocalidade"); } } //PESQUISANDO SETOR COMERCIAL... if (codigoSetorComercial != null && !codigoSetorComercial.toString().trim().equalsIgnoreCase("")) { if (idLocalidade != null && !idLocalidade.toString().trim().equalsIgnoreCase("")) { filtroSetorComercial.limparListaParametros(); filtroSetorComercial.adicionarParametro(new ParametroSimples( FiltroSetorComercial.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroSetorComercial.adicionarParametro(new ParametroSimples( FiltroSetorComercial.ID_LOCALIDADE, new Integer(idLocalidade))); filtroSetorComercial.adicionarParametro(new ParametroSimples( FiltroSetorComercial.CODIGO_SETOR_COMERCIAL,new Integer(codigoSetorComercial))); setorComerciais = fachada.pesquisar(filtroSetorComercial, SetorComercial.class.getName()); if (setorComerciais != null && !setorComerciais.isEmpty()) { // SETOR COMERCIAL ENCONTRADO inserirImovelLocalidadeActionForm.set("idSetorComercial", Util.adicionarZerosEsquedaNumero(3, new Integer( ((SetorComercial) ((List) setorComerciais).get(0)).getCodigo()).toString())); inserirImovelLocalidadeActionForm.set("setorComercialDescricao", ((SetorComercial) ((List) setorComerciais).get(0)).getDescricao()); httpServletRequest.setAttribute("nomeCampo", "idQuadra"); } else { inserirImovelLocalidadeActionForm.set("idSetorComercial",""); inserirImovelLocalidadeActionForm.set("idQuadra", ""); httpServletRequest.setAttribute("codigoSetorComercialNaoEncontrada", "true"); httpServletRequest.setAttribute("nomeCampo","idSetorComercial"); } } } else { inserirImovelLocalidadeActionForm.set("idSetorComercial", ""); inserirImovelLocalidadeActionForm.set("setorComercialDescricao", ""); } //PESQUISANDO QUADRA... if (numeroQuadra != null && !numeroQuadra.toString().trim().equalsIgnoreCase("")) { if (codigoSetorComercial != null && !codigoSetorComercial.toString().trim() .equalsIgnoreCase("")) { filtroQuadra.limparListaParametros(); filtroQuadra.adicionarCaminhoParaCarregamentoEntidade("rota"); filtroQuadra.adicionarParametro(new ParametroSimples( FiltroQuadra.ID_LOCALIDADE, new Integer(idLocalidade))); filtroQuadra.adicionarParametro(new ParametroSimples( FiltroQuadra.INDICADORUSO, ConstantesSistema.INDICADOR_USO_ATIVO)); filtroQuadra.adicionarParametro(new ParametroSimples( FiltroQuadra.CODIGO_SETORCOMERCIAL, new Integer(codigoSetorComercial))); filtroQuadra.adicionarParametro(new ParametroSimples( FiltroQuadra.NUMERO_QUADRA, new Integer(numeroQuadra))); quadras = fachada.pesquisar(filtroQuadra, Quadra.class.getName()); if (quadras != null && !quadras.isEmpty()) { // QUADRA ENCONTRADA Quadra quadra = (Quadra) Util.retonarObjetoDeColecao(quadras); inserirImovelLocalidadeActionForm.set("idQuadra", "" + Util.adicionarZerosEsquedaNumero(3, "" + quadra.getNumeroQuadra())); //ROTA QUE EST� ASSOCIADA COM A QUADRA String msg = "Rota:" + quadra.getRota().getCodigo().toString(); httpServletRequest.setAttribute("msgQuadra", msg); //CARREGANDO AS FACES ASSOCIADAS A QUADRA SELECIONADA if (sistemaParametro.getIndicadorQuadraFace().equals(ConstantesSistema.SIM)){ filtroQuadraFace.limparListaParametros(); filtroQuadraFace.adicionarParametro(new ParametroSimples( FiltroQuadraFace.ID_QUADRA, quadra.getId())); facesQuadra = fachada.pesquisar(filtroQuadraFace, QuadraFace.class.getName()); if (facesQuadra != null && !facesQuadra.isEmpty()) { //FACE(S) DA QUADRA ENCONTRADA(S) httpServletRequest.setAttribute("facesQuadra", facesQuadra); } else{ //FACE(S) DA QUADRA N�O ENCONTRADA(S) httpServletRequest.setAttribute("msgQuadraFace","Face(s) da Quadra inexistente(s)"); } httpServletRequest.setAttribute("nomeCampo", "idQuadraFace"); } else{ httpServletRequest.setAttribute("nomeCampo", "lote"); } } else { httpServletRequest.setAttribute("codigoQuadraNaoEncontrada", "true"); httpServletRequest.setAttribute("msgQuadra","QUADRA INEXISTENTE"); inserirImovelLocalidadeActionForm.set("idQuadra", ""); inserirImovelLocalidadeActionForm.set("idQuadraFace", ""); httpServletRequest.setAttribute("nomeCampo", "idQuadra"); } } } else { inserirImovelLocalidadeActionForm.set("idQuadra", ""); inserirImovelLocalidadeActionForm.set("idQuadraFace", ""); } //VERIFICA��O PARA DEFINIR SE O CAMPO DE FACE DA QUADRA FICAR� DISPON�VEL if (sistemaParametro.getIndicadorQuadraFace().equals(ConstantesSistema.SIM)){ httpServletRequest.setAttribute("exibirQuadraFace", "SIM"); } return retorno; } }