package gcom.gui.cobranca; import gcom.cobranca.CobrancaGrupo; import gcom.cobranca.FiltroCobrancaGrupo; 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; /** * [UC0930]FILTRAR GRUPO DE COBRANCA * * @author Arthur Carvalho * @date 14/08/09 */ public class FiltrarCobrancaGrupoAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { ActionForward retorno = actionMapping .findForward("exibirManterCobrancaGrupo"); HttpSession sessao = httpServletRequest.getSession(false); Fachada fachada = Fachada.getInstancia(); FiltrarCobrancaGrupoActionForm form = (FiltrarCobrancaGrupoActionForm) actionForm; FiltroCobrancaGrupo filtroCobrancaGrupo = new FiltroCobrancaGrupo(); boolean peloMenosUmParametroInformado = false; String id = form.getId(); String descricao = form.getDescricao(); String descricaoAbreviada = form.getDescricaoAbreviada(); String anoMesReferencia = form.getAnoMesReferencia(); String indicadorUso = form.getIndicadorUso(); String tipoPesquisa = form.getTipoPesquisa(); //Indicador Atualizar String indicadorAtualizar = httpServletRequest.getParameter("indicadorAtualizar"); if (indicadorAtualizar != null && !indicadorAtualizar.equals("")) { sessao.setAttribute("indicadorAtualizar", indicadorAtualizar); } else { sessao.removeAttribute("indicadorAtualizar"); } //ID if (id != null && !id.trim().equals("")) { peloMenosUmParametroInformado = true; filtroCobrancaGrupo.adicionarParametro(new ParametroSimples( FiltroCobrancaGrupo.ID, id)); } // Descricao if (descricao != null && !descricao.trim().equalsIgnoreCase("")) { peloMenosUmParametroInformado = true; if (tipoPesquisa != null && tipoPesquisa .equals(ConstantesSistema.TIPO_PESQUISA_COMPLETA .toString())) { filtroCobrancaGrupo .adicionarParametro(new ComparacaoTextoCompleto( FiltroCobrancaGrupo.DESCRICAO, descricao)); } else { filtroCobrancaGrupo.adicionarParametro(new ComparacaoTexto( FiltroCobrancaGrupo.DESCRICAO, descricao)); } } //Descricao Abreviada if ( descricaoAbreviada != null && !descricaoAbreviada.trim().equalsIgnoreCase("")) { peloMenosUmParametroInformado = true; filtroCobrancaGrupo.adicionarParametro( new ComparacaoTextoCompleto( FiltroCobrancaGrupo.DESCRICAO_ABREVIADA, descricaoAbreviada)); } //Ano Mes Referencia if(anoMesReferencia != null && !anoMesReferencia.trim().equals("")){ String mes = anoMesReferencia.substring(0, 2); String ano = anoMesReferencia.substring(3, 7); String anoMes = ano+mes; peloMenosUmParametroInformado = true; filtroCobrancaGrupo.adicionarParametro(new ParametroSimples( FiltroCobrancaGrupo.ANO_MES_REFERENCIA, anoMes)); } // Indicador uso if (indicadorUso != null && !indicadorUso.trim().equals("")) { peloMenosUmParametroInformado = true; filtroCobrancaGrupo.adicionarParametro(new ParametroSimples( FiltroCobrancaGrupo.INDICADOR_USO, indicadorUso)); } Collection<CobrancaGrupo> colecaoCobrancaGrupo = fachada .pesquisar(filtroCobrancaGrupo, CobrancaGrupo.class .getName()); // Verificar a existencia de um Grupo de cadastro if (colecaoCobrancaGrupo.isEmpty()) { throw new ActionServletException( "atencao.pesquisa_inexistente", null,"Grupo de Cobran�a"); } // Filtragem sem parametros if (!peloMenosUmParametroInformado == true) { throw new ActionServletException( "atencao.filtro.nenhum_parametro_informado"); } // Pesquisa sem registros if (colecaoCobrancaGrupo == null || colecaoCobrancaGrupo.isEmpty()) { throw new ActionServletException( "atencao.pesquisa.nenhumresultado", null, "Grupo de Cobran�a"); } else { httpServletRequest.setAttribute("colecaoCobrancaGrupo", colecaoCobrancaGrupo); CobrancaGrupo CobrancaGrupo = new CobrancaGrupo(); CobrancaGrupo = (CobrancaGrupo) Util .retonarObjetoDeColecao(colecaoCobrancaGrupo); String idRegistroAtualizar = CobrancaGrupo.getId().toString(); sessao.setAttribute("idRegistroAtualizar", idRegistroAtualizar); } sessao.setAttribute("filtroCobrancaGrupo", filtroCobrancaGrupo); httpServletRequest.setAttribute("filtroCobrancaGrupo", filtroCobrancaGrupo); return retorno; } }