package gcom.gui.relatorio.arrecadacao; import gcom.arrecadacao.Arrecadador; import gcom.arrecadacao.ArrecadadorMovimento; import gcom.arrecadacao.FiltroArrecadador; import gcom.arrecadacao.aviso.bean.AvisoBancarioHelper; import gcom.arrecadacao.banco.Agencia; import gcom.arrecadacao.banco.Banco; import gcom.arrecadacao.banco.ContaBancaria; import gcom.fachada.Fachada; import gcom.gui.arrecadacao.aviso.FiltrarAvisoBancarioActionForm; import gcom.relatorio.ExibidorProcessamentoTarefaRelatorio; import gcom.relatorio.RelatorioVazioException; import gcom.relatorio.arrecadacao.RelatorioManterAvisoBancario; import gcom.seguranca.acesso.usuario.Usuario; import gcom.tarefa.TarefaRelatorio; import gcom.util.SistemaException; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.Collection; import java.util.Date; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; /** * Realiza o filtro do aviso bancario de acordo com os par�metros informados * * @author Vivianne Sousa * @created 13/03/2006 */ public class GerarRelatorioAvisoBancarioManterAction extends ExibidorProcessamentoTarefaRelatorio { public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) { /** * @author Rafael Corr�a * @date 05/09/2006 * * @param actionMapping * @param actionForm * @param httpServletRequest * @param httpServletResponse * @return */ ActionForward retorno = null; Fachada fachada = Fachada.getInstancia(); FiltrarAvisoBancarioActionForm filtrarAvisoBancarioActionForm = (FiltrarAvisoBancarioActionForm) actionForm; String arrecadadorCodAgente = filtrarAvisoBancarioActionForm .getArrecadadorCodAgente(); String dataLancamentoInicioString = filtrarAvisoBancarioActionForm .getDataLancamentoInicio(); String dataLancamentoFimString = filtrarAvisoBancarioActionForm .getDataLancamentoFim(); String tipoAviso = filtrarAvisoBancarioActionForm.getTipoAviso(); String idContaBancaria = filtrarAvisoBancarioActionForm .getIdContaBancaria(); String idBancoConta = filtrarAvisoBancarioActionForm.getIdBanco(); String codigoAgencia = filtrarAvisoBancarioActionForm.getCodAgencia(); String numeroConta = filtrarAvisoBancarioActionForm.getNumeroConta(); String idMovimento = filtrarAvisoBancarioActionForm.getIdMovimento(); String codigoBancoArrecadador = filtrarAvisoBancarioActionForm .getCodigoBanco(); String codigoRemessa = filtrarAvisoBancarioActionForm .getCodigoRemessa(); String identificacaoServico = filtrarAvisoBancarioActionForm .getIdentificacaoServico(); String numeroSequencial = filtrarAvisoBancarioActionForm .getNumeroSequencial(); String periodoArrecadacaoInicio = filtrarAvisoBancarioActionForm .getPeriodoArrecadacaoInicio(); String periodoArrecadacaoFim = filtrarAvisoBancarioActionForm .getPeriodoArrecadacaoFim(); String dataPrevisaoCreditoDebitoInicioString = filtrarAvisoBancarioActionForm .getDataPrevisaoCreditoDebitoInicio(); String dataPrevisaoCreditoDebitoFimString = filtrarAvisoBancarioActionForm .getDataPrevisaoCreditoDebitoFim(); String dataRealizacaoCreditoDebitoInicioString = filtrarAvisoBancarioActionForm .getDataRealizacaoCreditoDebitoInicio(); String dataRealizacaoCreditoDebitoFimString = filtrarAvisoBancarioActionForm .getDataRealizacaoCreditoDebitoFim(); String intervaloValorRealizadoInicio = filtrarAvisoBancarioActionForm .getIntervaloValorRealizadoInicio(); String intervaloValorRealizadoFim = filtrarAvisoBancarioActionForm .getIntervaloValorRealizadoFim(); String avisoAbertoFechado = filtrarAvisoBancarioActionForm.getAviso(); AvisoBancarioHelper avisoBancarioHelper = new AvisoBancarioHelper(); AvisoBancarioHelper avisoBancarioHelperParametros = new AvisoBancarioHelper(); Arrecadador arrecadadorParametros = null; ContaBancaria contaBancariaParametros = null; ArrecadadorMovimento arrecadadorMovimentoParametros = null; // Passando os Par�metros para os filtros... // Arrecadador if ((arrecadadorCodAgente != null) && (!arrecadadorCodAgente.trim().equals(""))) { avisoBancarioHelper.setCodigoAgenteArrecadador(new Short( arrecadadorCodAgente)); FiltroArrecadador filtroArrecadador = new FiltroArrecadador(); filtroArrecadador.adicionarParametro(new ParametroSimples( FiltroArrecadador.CODIGO_AGENTE, arrecadadorCodAgente)); filtroArrecadador .adicionarCaminhoParaCarregamentoEntidade("cliente"); Collection<Arrecadador> colecaoArrecadadores = fachada.pesquisar( filtroArrecadador, Arrecadador.class.getName()); if (colecaoArrecadadores != null && !colecaoArrecadadores.isEmpty()) { arrecadadorParametros = colecaoArrecadadores.iterator().next(); } } // Per�do Lan�amento if ((dataLancamentoInicioString != null) && (!dataLancamentoInicioString.equals(""))) { Date dataLancamentoInicio = null; Date dataLancamentoFim = null; if ((dataLancamentoFimString == null) || (dataLancamentoFimString.equals(""))) { dataLancamentoFimString = dataLancamentoInicioString; } dataLancamentoInicio = Util .converteStringParaDate(dataLancamentoInicioString); dataLancamentoFim = Util .converteStringParaDate(dataLancamentoFimString); avisoBancarioHelper.setDataLancamentoInicial(dataLancamentoInicio); avisoBancarioHelper.setDataLancamentoFinal(dataLancamentoFim); avisoBancarioHelperParametros .setDataLancamentoInicial(dataLancamentoInicio); avisoBancarioHelperParametros .setDataLancamentoFinal(dataLancamentoFim); } // Tipo Aviso if ((tipoAviso != null) && (!tipoAviso.trim().equals("")) && (!tipoAviso.trim().equals("3"))) { avisoBancarioHelper.setIndicadorCreditoDebito(new Short(tipoAviso)); avisoBancarioHelperParametros.setTipoAviso(tipoAviso); } // Conta Banc�ria if ((idContaBancaria != null) && (!idContaBancaria.trim().equals(""))) { avisoBancarioHelper .setIdContaBancaria(new Integer(idContaBancaria)); Banco banco = new Banco(); Agencia agencia = new Agencia(); contaBancariaParametros = new ContaBancaria(); banco.setId(new Integer(idBancoConta)); agencia.setCodigoAgencia(new String(codigoAgencia)); agencia.setBanco(banco); contaBancariaParametros.setNumeroConta(numeroConta); contaBancariaParametros.setAgencia(agencia); } // Movimento if ((idMovimento != null) && (!idMovimento.trim().equals(""))) { avisoBancarioHelper.setIdMovimentoArrecadador(new Integer( idMovimento)); arrecadadorMovimentoParametros = new ArrecadadorMovimento(); arrecadadorMovimentoParametros.setCodigoBanco(new Short( codigoBancoArrecadador)); arrecadadorMovimentoParametros.setCodigoRemessa(new Short( codigoRemessa)); arrecadadorMovimentoParametros .setDescricaoIdentificacaoServico(identificacaoServico); arrecadadorMovimentoParametros .setNumeroSequencialArquivo(new Integer(numeroSequencial)); } // Per�odo Previs�o Cr�dito/D�bito if ((dataPrevisaoCreditoDebitoInicioString != null) && (!dataPrevisaoCreditoDebitoInicioString.trim().equals(""))) { Date dataPrevisaoCreditoDebitoInicio = null; Date dataPrevisaoCreditoDebitoFim = null; if ((dataPrevisaoCreditoDebitoFimString == null) || (dataPrevisaoCreditoDebitoFimString.equals(""))) { dataPrevisaoCreditoDebitoFimString = dataPrevisaoCreditoDebitoInicioString; } dataPrevisaoCreditoDebitoInicio = Util .converteStringParaDate(dataPrevisaoCreditoDebitoInicioString); dataPrevisaoCreditoDebitoFim = Util .converteStringParaDate(dataPrevisaoCreditoDebitoFimString); avisoBancarioHelper .setDataPrevistaInicial(dataPrevisaoCreditoDebitoInicio); avisoBancarioHelper .setDataPrevistaFinal(dataPrevisaoCreditoDebitoFim); avisoBancarioHelperParametros .setDataPrevistaInicial(dataPrevisaoCreditoDebitoInicio); avisoBancarioHelperParametros .setDataPrevistaFinal(dataPrevisaoCreditoDebitoFim); } // Per�odo Realiza��o Cr�dito/D�bito if ((dataRealizacaoCreditoDebitoInicioString != null) && (!dataRealizacaoCreditoDebitoInicioString.trim().equals(""))) { Date dataRealizacaoCreditoDebitoInicio = null; Date dataRealizacaoCreditoDebitoFim = null; if ((dataRealizacaoCreditoDebitoFimString == null) || (dataRealizacaoCreditoDebitoFimString.equals(""))) { dataRealizacaoCreditoDebitoFimString = dataRealizacaoCreditoDebitoInicioString; } dataRealizacaoCreditoDebitoInicio = Util .converteStringParaDate(dataRealizacaoCreditoDebitoInicioString); dataRealizacaoCreditoDebitoFim = Util .converteStringParaDate(dataRealizacaoCreditoDebitoFimString); avisoBancarioHelper .setDataRealizadaInicial(dataRealizacaoCreditoDebitoInicio); avisoBancarioHelper .setDataRealizadaFinal(dataRealizacaoCreditoDebitoFim); avisoBancarioHelperParametros .setDataRealizadaInicial(dataRealizacaoCreditoDebitoInicio); avisoBancarioHelperParametros .setDataRealizadaFinal(dataRealizacaoCreditoDebitoFim); } // Per�do Arrecada��o if ((periodoArrecadacaoInicio != null) && (!periodoArrecadacaoInicio.trim().equals(""))) { int periodoArrecadacaoInicioTratado = Integer .parseInt(Util .formatarMesAnoParaAnoMesSemBarra(periodoArrecadacaoInicio)); int periodoArrecadacaoFimTratado = Integer.parseInt(Util .formatarMesAnoParaAnoMesSemBarra(periodoArrecadacaoFim)); avisoBancarioHelper .setAnoMesReferenciaArrecadacaoInicial(periodoArrecadacaoInicioTratado); avisoBancarioHelper .setAnoMesReferenciaArrecadacaoFinal(periodoArrecadacaoFimTratado); avisoBancarioHelperParametros .setAnoMesReferenciaArrecadacaoInicial(periodoArrecadacaoInicioTratado); avisoBancarioHelperParametros .setAnoMesReferenciaArrecadacaoFinal(periodoArrecadacaoFimTratado); } // Intervalo Valor Realizado if ((intervaloValorRealizadoInicio != null) && (!intervaloValorRealizadoInicio.trim().equals(""))) { avisoBancarioHelper .setValorRealizadoInicial(Util .formatarMoedaRealparaBigDecimal(intervaloValorRealizadoInicio)); avisoBancarioHelper .setValorRealizadoFinal(Util .formatarMoedaRealparaBigDecimal(intervaloValorRealizadoFim)); avisoBancarioHelperParametros .setValorRealizadoInicial(Util .formatarMoedaRealparaBigDecimal(intervaloValorRealizadoInicio)); avisoBancarioHelperParametros .setValorRealizadoFinal(Util .formatarMoedaRealparaBigDecimal(intervaloValorRealizadoFim)); } // Aviso Abertos/Fechados if (avisoAbertoFechado != null && (!avisoAbertoFechado.equals("-1"))) { avisoBancarioHelper.setTipoAviso(avisoAbertoFechado); avisoBancarioHelperParametros.setTipoAviso(avisoAbertoFechado); } // cria uma inst�ncia da classe do relat�rio RelatorioManterAvisoBancario relatorioManterAvisoBancario = new RelatorioManterAvisoBancario( (Usuario)(httpServletRequest.getSession(false)).getAttribute("usuarioLogado")); relatorioManterAvisoBancario.addParametro("avisoBancarioHelper", avisoBancarioHelper); relatorioManterAvisoBancario.addParametro( "avisoBancarioHelperParametros", avisoBancarioHelperParametros); relatorioManterAvisoBancario.addParametro("arrecadadorParametros", arrecadadorParametros); relatorioManterAvisoBancario.addParametro("contaBancariaParametros", contaBancariaParametros); relatorioManterAvisoBancario.addParametro( "arrecadadorMovimentoParametros", arrecadadorMovimentoParametros); // chama o met�do de gerar relat�rio passando o c�digo da analise // como par�metro String tipoRelatorio = httpServletRequest.getParameter("tipoRelatorio"); if (tipoRelatorio == null) { tipoRelatorio = TarefaRelatorio.TIPO_PDF + ""; } relatorioManterAvisoBancario.addParametro("tipoFormatoRelatorio", Integer.parseInt(tipoRelatorio)); try { retorno = processarExibicaoRelatorio(relatorioManterAvisoBancario, tipoRelatorio, httpServletRequest, httpServletResponse, actionMapping); } catch (SistemaException ex) { // manda o erro para a p�gina no request atual reportarErros(httpServletRequest, "erro.sistema"); // seta o mapeamento de retorno para a tela de erro de popup retorno = actionMapping.findForward("telaErroPopup"); } catch (RelatorioVazioException ex1) { // manda o erro para a p�gina no request atual reportarErros(httpServletRequest, "erro.relatorio.vazio"); // seta o mapeamento de retorno para a tela de aten��o de popup retorno = actionMapping.findForward("telaAtencaoPopup"); } return retorno; } }