package gcom.gui.arrecadacao; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.gui.GcomAction; import gcom.util.ConstantesSistema; import gcom.util.Util; import java.util.Collection; import java.util.Date; 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; /** * Description of the Class * * @author Tiago Moreno * @create 07/02/2006 * */ public class PesquisarMovimentoArrecadadorAction extends GcomAction { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { // Seta o mapeamento de retorno ActionForward retorno = actionMapping .findForward("pesquisarMovimentoArrecadadorResultado"); // Obt�m a inst�ncia da fachada Fachada fachada = Fachada.getInstancia(); // cria sessao HttpSession sessao = httpServletRequest.getSession(false); // Recupera informa��es do formulario PesquisarMovimentoArrecadadorActionForm pesquisarMovimentoArrecadadorActionForm = (PesquisarMovimentoArrecadadorActionForm) actionForm; String codigoBanco = null; String codigoRemessa = null; String descricaoIdentificacaoServico = null; String numeroSequencialArquivo = null; Date dataGeracaoInicio = null; Date dataGeracaoFim = null; Date ultimaAlteracaoInicio = null; Date ultimaAlteracaoFim = null; String descricaoOcorrencia = null; String indicadorAceitacao = null; String indicadorAbertoFechado = null; boolean peloMenosUmParametroInformado = false; if (pesquisarMovimentoArrecadadorActionForm.getIdBanco() != null && !pesquisarMovimentoArrecadadorActionForm.getIdBanco().equalsIgnoreCase("")){ codigoBanco = pesquisarMovimentoArrecadadorActionForm.getIdBanco().trim(); peloMenosUmParametroInformado = true; } if (pesquisarMovimentoArrecadadorActionForm.getTipoRemessa() != null && !pesquisarMovimentoArrecadadorActionForm.getTipoRemessa().equalsIgnoreCase("")){ codigoRemessa = pesquisarMovimentoArrecadadorActionForm.getTipoRemessa().trim(); peloMenosUmParametroInformado = true; } if (pesquisarMovimentoArrecadadorActionForm.getIdentificacaoServico() != null && !pesquisarMovimentoArrecadadorActionForm.getIdentificacaoServico().equalsIgnoreCase("") && !pesquisarMovimentoArrecadadorActionForm.getIdentificacaoServico().equalsIgnoreCase(""+ConstantesSistema.NUMERO_NAO_INFORMADO)){ descricaoIdentificacaoServico = pesquisarMovimentoArrecadadorActionForm.getIdentificacaoServico().trim(); peloMenosUmParametroInformado = true; } if (pesquisarMovimentoArrecadadorActionForm.getNumeroSequencialArquivo() != null && !pesquisarMovimentoArrecadadorActionForm.getNumeroSequencialArquivo().equalsIgnoreCase("")){ numeroSequencialArquivo = pesquisarMovimentoArrecadadorActionForm.getNumeroSequencialArquivo().trim(); peloMenosUmParametroInformado = true; } if (pesquisarMovimentoArrecadadorActionForm.getDataMovimentoInicio() != null && !pesquisarMovimentoArrecadadorActionForm.getDataMovimentoInicio().equalsIgnoreCase("")){ dataGeracaoInicio = Util.converteStringParaDate(pesquisarMovimentoArrecadadorActionForm.getDataMovimentoInicio()); dataGeracaoFim = dataGeracaoInicio; peloMenosUmParametroInformado = true; } if (pesquisarMovimentoArrecadadorActionForm.getDataMovimentoFim() != null && !pesquisarMovimentoArrecadadorActionForm.getDataMovimentoFim().equalsIgnoreCase("")){ dataGeracaoFim = Util.converteStringParaDate(pesquisarMovimentoArrecadadorActionForm.getDataMovimentoFim()); peloMenosUmParametroInformado = true; } if (pesquisarMovimentoArrecadadorActionForm.getMovimentoItemOcorrencia() != null && !pesquisarMovimentoArrecadadorActionForm.getMovimentoItemOcorrencia().equalsIgnoreCase("") && !pesquisarMovimentoArrecadadorActionForm.getMovimentoItemOcorrencia().equalsIgnoreCase(""+ConstantesSistema.NUMERO_NAO_INFORMADO)){ descricaoOcorrencia = pesquisarMovimentoArrecadadorActionForm.getMovimentoItemOcorrencia().trim(); peloMenosUmParametroInformado = true; } if (pesquisarMovimentoArrecadadorActionForm.getMovimentoItemAceito() != null && !pesquisarMovimentoArrecadadorActionForm.getMovimentoItemAceito().equalsIgnoreCase("") && !pesquisarMovimentoArrecadadorActionForm.getMovimentoItemAceito().equalsIgnoreCase(""+ConstantesSistema.NUMERO_NAO_INFORMADO)){ indicadorAceitacao = pesquisarMovimentoArrecadadorActionForm.getMovimentoItemAceito().trim(); peloMenosUmParametroInformado = true; } //Erro caso o usu�rio mandou filtrar sem nenhum par�metro if (!peloMenosUmParametroInformado) { throw new ActionServletException( "atencao.filtro.nenhum_parametro_informado"); } //1� Passo - Pegar o total de registros atrav�s de um count da consulta // que aparecer� na tela Integer totalRegistros = fachada.filtrarMovimentoArrecadadoresCount (codigoBanco, codigoRemessa, descricaoIdentificacaoServico, numeroSequencialArquivo, dataGeracaoInicio, dataGeracaoFim, ultimaAlteracaoInicio, ultimaAlteracaoFim, descricaoOcorrencia, indicadorAceitacao,indicadorAbertoFechado); //2� Passo - Chamar a fun��o de Pagina��o passando o total de registros retorno = this.controlarPaginacao(httpServletRequest, retorno,totalRegistros); // 3� Passo - Obter a cole��o da consulta que aparecer� na tela passando // o numero de paginas da pesquisa que est� no request Collection colecaoMovimentoArrecadador = fachada.filtrarMovimentoArrecadadorParaPaginacao( codigoBanco, codigoRemessa, descricaoIdentificacaoServico, numeroSequencialArquivo, dataGeracaoInicio, dataGeracaoFim, ultimaAlteracaoInicio, ultimaAlteracaoFim, descricaoOcorrencia, indicadorAceitacao, ((Integer) httpServletRequest.getAttribute("numeroPaginasPesquisa")),indicadorAbertoFechado); // valida se a colecao esta vazia if (colecaoMovimentoArrecadador == null) { throw new ActionServletException("atencao.colecao_vazia"); } else { if (!colecaoMovimentoArrecadador.isEmpty()) { // joga a colecao na sess�o sessao.setAttribute("colecaoMovimentoArrecadador", colecaoMovimentoArrecadador); } else { throw new ActionServletException("atencao.colecao_vazia"); } } return retorno; }}