package gcom.gui.cadastro.imovel; import gcom.cadastro.imovel.FiltroImovelPerfil; import gcom.cadastro.imovel.ImovelPerfil; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.ConstantesSistema; import gcom.util.Util; import gcom.util.filtro.ComparacaoTexto; import gcom.util.filtro.ComparacaoTextoCompleto; 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; /** * Filtrar Imovel Perfil * @author Wallace Thierre * Data: 01/10/2010 * */ public class FiltrarImovelPerfilAction extends GcomAction{ public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse){ ActionForward retorno = actionMapping .findForward("exibirManterImovelPerfil"); HttpSession sessao = httpServletRequest.getSession(false); Fachada fachada = Fachada.getInstancia(); FiltrarImovelPerfilActionForm filtrarImovelPerfilActionForm = (FiltrarImovelPerfilActionForm) actionForm; FiltroImovelPerfil filtroImovelPerfil = new FiltroImovelPerfil(); boolean peloMenosUmParametroInformado = false; String id = filtrarImovelPerfilActionForm.getId(); String descricao = filtrarImovelPerfilActionForm.getDescricao(); String indicadorUso = filtrarImovelPerfilActionForm.getIndicadorUso(); String indicadorGeracaoAutomatica = filtrarImovelPerfilActionForm.getIndicadorGeracaoAutomatica(); String indicadorInserirManterPerfil = filtrarImovelPerfilActionForm.getIndicadorInserirManterPerfil(); String indicadorGerarDadosLeitura = filtrarImovelPerfilActionForm.getIndicadorGerarDadosLeitura(); String indicadorBloquearRetificacao = filtrarImovelPerfilActionForm.getIndicadorBloquearRetificacao(); String indicadorGrandeConsumidor = filtrarImovelPerfilActionForm.getIndicadorGrandeConsumidor(); String indicadorBloquearDadosSocial = filtrarImovelPerfilActionForm.getIndicadorBloquearDadosSocial(); String indicadorGeraDebitoSegundaViaConta = filtrarImovelPerfilActionForm.getIndicadorGeraDebitoSegundaViaConta(); String tipoPesquisa = filtrarImovelPerfilActionForm.getTipoPesquisa(); //Id if(id != null && !id.trim().equals("")){ peloMenosUmParametroInformado = true; filtroImovelPerfil.adicionarParametro(new ParametroSimples (FiltroImovelPerfil.ID, id)); } //Descri��o Imovel if(descricao != null && !descricao.trim().equalsIgnoreCase("")){ peloMenosUmParametroInformado = true; if (tipoPesquisa != null && tipoPesquisa .equals(ConstantesSistema.TIPO_PESQUISA_COMPLETA .toString())) { filtroImovelPerfil .adicionarParametro(new ComparacaoTextoCompleto( FiltroImovelPerfil.DESCRICAO, descricao)); } else { filtroImovelPerfil.adicionarParametro(new ComparacaoTexto( FiltroImovelPerfil.DESCRICAO, descricao)); } } //Indicador de Uso if(indicadorUso != null && !indicadorUso.trim().equals("")){ peloMenosUmParametroInformado = true; filtroImovelPerfil.adicionarParametro(new ParametroSimples (FiltroImovelPerfil.INDICADOR_USO, indicadorUso)); } //Indicador Gera��o Autom�tica if(indicadorGeracaoAutomatica != null && !indicadorGeracaoAutomatica.trim().equals("")){ peloMenosUmParametroInformado = true; filtroImovelPerfil.adicionarParametro(new ParametroSimples (FiltroImovelPerfil.INDICADOR_GERACAO_AUTOMATICA, indicadorGeracaoAutomatica)); } //Indicador Inserir Manter Perfil if(indicadorInserirManterPerfil != null && !indicadorInserirManterPerfil.trim().equals("")){ peloMenosUmParametroInformado = true; filtroImovelPerfil.adicionarParametro(new ParametroSimples (FiltroImovelPerfil.INDICADOR_INSERIR_MANTER_PERFIL, indicadorInserirManterPerfil)); } //Indicador Gerar Dados Leitura if(indicadorGerarDadosLeitura != null && !indicadorGerarDadosLeitura.trim().equals("")){ peloMenosUmParametroInformado = true; filtroImovelPerfil.adicionarParametro(new ParametroSimples (FiltroImovelPerfil.INDICADOR_GERAR_DADOS_LEITURA, indicadorGerarDadosLeitura)); } //Indicador Bloquear Retifica��o if(indicadorBloquearRetificacao!= null && !indicadorBloquearRetificacao.trim().equals("")){ peloMenosUmParametroInformado = true; filtroImovelPerfil.adicionarParametro(new ParametroSimples (FiltroImovelPerfil.INDICADOR_BLOQUEAR_RETIFICACAO, indicadorBloquearRetificacao)); } //Indicador Grande Consumidor if(indicadorGrandeConsumidor != null && !indicadorGrandeConsumidor.trim().equals("")){ peloMenosUmParametroInformado = true; filtroImovelPerfil.adicionarParametro(new ParametroSimples (FiltroImovelPerfil.INDICADOR_GRANDE_CONSUMIDOR, indicadorGrandeConsumidor)); } //Indicador Bloquear Dados Sociais if(indicadorBloquearDadosSocial!= null && !indicadorBloquearDadosSocial.trim().equals("")){ peloMenosUmParametroInformado = true; filtroImovelPerfil.adicionarParametro(new ParametroSimples (FiltroImovelPerfil.INDICADOR_BLOQUEAR_DADOS_SOCIAL, indicadorBloquearDadosSocial)); } //Indicador Gera��o D�bito Segunda Via Conta if(indicadorGeraDebitoSegundaViaConta != null && !indicadorGeraDebitoSegundaViaConta.trim().equals("")){ peloMenosUmParametroInformado = true; filtroImovelPerfil.adicionarParametro(new ParametroSimples (FiltroImovelPerfil.INDICADOR_GERA_DEBITO_SEGUNDA_VIA_CONTA, indicadorGeraDebitoSegundaViaConta)); } Collection colecaoImovelPerfil = null; if(peloMenosUmParametroInformado == true){ colecaoImovelPerfil = fachada.pesquisar (filtroImovelPerfil, ImovelPerfil.class.getName()); } //Filtragem sem parametros if(!peloMenosUmParametroInformado){ colecaoImovelPerfil = fachada.pesquisar (filtroImovelPerfil, ImovelPerfil.class.getName()); } //Verificar a exist�ncia de um Perfil Imovel if(colecaoImovelPerfil == null || colecaoImovelPerfil.isEmpty()){ throw new ActionServletException("atencao.pesquisa.nenhumresultado", null,"Imovel Perfil"); }else { httpServletRequest.setAttribute("colecaoImovelPerfil", colecaoImovelPerfil); ImovelPerfil imovelPerfil= new ImovelPerfil(); imovelPerfil = (ImovelPerfil) Util .retonarObjetoDeColecao(colecaoImovelPerfil); String idRegistroAtualizacao = imovelPerfil.getId().toString(); sessao.setAttribute("idRegistroAtualizacao", idRegistroAtualizacao); } sessao.setAttribute("filtroImovelPerfil", filtroImovelPerfil); httpServletRequest.setAttribute("filtroImovelPerfil", filtroImovelPerfil); return retorno; } }