package gcom.gui.relatorio.arrecadacao; import gcom.arrecadacao.Arrecadador; import gcom.arrecadacao.FiltroArrecadador; import gcom.fachada.Fachada; import gcom.gui.arrecadacao.FiltrarMovimentoArrecadadoresActionForm; import gcom.relatorio.ExibidorProcessamentoTarefaRelatorio; import gcom.relatorio.RelatorioVazioException; import gcom.relatorio.arrecadacao.RelatorioManterMovimentoArrecadador; import gcom.seguranca.acesso.usuario.Usuario; import gcom.tarefa.TarefaRelatorio; import gcom.util.ConstantesSistema; 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 GerarRelatorioMovimentoArrecadadorManterAction 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(); FiltrarMovimentoArrecadadoresActionForm filtrarMovimentoArrecadadoresActionForm = (FiltrarMovimentoArrecadadoresActionForm) actionForm; String codigoBanco = ""; String codigoRemessa = ""; String descricaoIdentificacaoServico = ""; String numeroSequencialArquivo = ""; Date dataGeracaoInicio = null; Date dataGeracaoFim = null; Date ultimaAlteracaoInicio = null; Date ultimaAlteracaoFim = null; String descricaoOcorrencia = ""; String indicadorAceitacao = ""; String indicadorAbertoFechado = ""; if (filtrarMovimentoArrecadadoresActionForm.getBanco() != null && !filtrarMovimentoArrecadadoresActionForm.getBanco().equalsIgnoreCase("")){ codigoBanco = filtrarMovimentoArrecadadoresActionForm.getBanco().trim(); } if (filtrarMovimentoArrecadadoresActionForm.getRemessa() != null && !filtrarMovimentoArrecadadoresActionForm.getRemessa().equalsIgnoreCase("")){ codigoRemessa = filtrarMovimentoArrecadadoresActionForm.getRemessa().trim(); } if (filtrarMovimentoArrecadadoresActionForm.getIdentificacaoServico() != null && !filtrarMovimentoArrecadadoresActionForm.getIdentificacaoServico().equalsIgnoreCase("") && !filtrarMovimentoArrecadadoresActionForm.getIdentificacaoServico().equalsIgnoreCase(""+ConstantesSistema.NUMERO_NAO_INFORMADO)){ descricaoIdentificacaoServico = filtrarMovimentoArrecadadoresActionForm.getIdentificacaoServico().trim(); } if (filtrarMovimentoArrecadadoresActionForm.getNsa() != null && !filtrarMovimentoArrecadadoresActionForm.getNsa().equalsIgnoreCase("")){ numeroSequencialArquivo = filtrarMovimentoArrecadadoresActionForm.getNsa().trim(); } if (filtrarMovimentoArrecadadoresActionForm.getDataGeracaoMovimentoInicio() != null && !filtrarMovimentoArrecadadoresActionForm.getDataGeracaoMovimentoInicio().equalsIgnoreCase("")){ dataGeracaoInicio = Util.converteStringParaDate(filtrarMovimentoArrecadadoresActionForm.getDataGeracaoMovimentoInicio()); dataGeracaoFim = dataGeracaoInicio; } if (filtrarMovimentoArrecadadoresActionForm.getDataGeracaoMovimentoFim() != null && !filtrarMovimentoArrecadadoresActionForm.getDataGeracaoMovimentoFim().equalsIgnoreCase("")){ dataGeracaoFim = Util.converteStringParaDate(filtrarMovimentoArrecadadoresActionForm.getDataGeracaoMovimentoFim()); } if (filtrarMovimentoArrecadadoresActionForm.getDataProcessamentoMovimentoInicio() != null && !filtrarMovimentoArrecadadoresActionForm.getDataProcessamentoMovimentoInicio().equalsIgnoreCase("")){ ultimaAlteracaoInicio = Util.converteStringParaDate(filtrarMovimentoArrecadadoresActionForm.getDataProcessamentoMovimentoInicio()); ultimaAlteracaoFim = ultimaAlteracaoInicio; } if (filtrarMovimentoArrecadadoresActionForm.getDataProcessamentoMovimentoFim() != null && !filtrarMovimentoArrecadadoresActionForm.getDataProcessamentoMovimentoFim().equalsIgnoreCase("")){ ultimaAlteracaoFim = Util.converteStringParaDate(filtrarMovimentoArrecadadoresActionForm.getDataProcessamentoMovimentoFim()); } if (filtrarMovimentoArrecadadoresActionForm.getMovimentoItemOcorrencia() != null && !filtrarMovimentoArrecadadoresActionForm.getMovimentoItemOcorrencia().equalsIgnoreCase("") && !filtrarMovimentoArrecadadoresActionForm.getMovimentoItemOcorrencia().equalsIgnoreCase(""+ConstantesSistema.NUMERO_NAO_INFORMADO)){ descricaoOcorrencia = filtrarMovimentoArrecadadoresActionForm.getMovimentoItemOcorrencia().trim(); } if (filtrarMovimentoArrecadadoresActionForm.getMovimentoItemAceito() != null && !filtrarMovimentoArrecadadoresActionForm.getMovimentoItemAceito().equalsIgnoreCase("") && !filtrarMovimentoArrecadadoresActionForm.getMovimentoItemAceito().equalsIgnoreCase(""+ConstantesSistema.NUMERO_NAO_INFORMADO)){ indicadorAceitacao = filtrarMovimentoArrecadadoresActionForm.getMovimentoItemAceito().trim(); } if (filtrarMovimentoArrecadadoresActionForm.getMovimentoAbertoFechado() != null && !filtrarMovimentoArrecadadoresActionForm.getMovimentoAbertoFechado().equalsIgnoreCase("") && !filtrarMovimentoArrecadadoresActionForm.getMovimentoAbertoFechado().equalsIgnoreCase(""+ConstantesSistema.NUMERO_NAO_INFORMADO)){ indicadorAbertoFechado = filtrarMovimentoArrecadadoresActionForm.getMovimentoAbertoFechado(); } Arrecadador arrecadadorParametros = null; // Arrecadador if ((codigoBanco != null) && (!codigoBanco.trim().equals(""))) { FiltroArrecadador filtroArrecadador = new FiltroArrecadador(); filtroArrecadador.adicionarParametro(new ParametroSimples(FiltroArrecadador.CODIGO_AGENTE, codigoBanco)); filtroArrecadador.adicionarCaminhoParaCarregamentoEntidade("cliente"); Collection<Arrecadador> colecaoArrecadadores = fachada.pesquisar(filtroArrecadador, Arrecadador.class.getName()); if (colecaoArrecadadores != null && !colecaoArrecadadores.isEmpty()) { arrecadadorParametros = colecaoArrecadadores.iterator().next(); } } RelatorioManterMovimentoArrecadador relatorioManterMovimentoArrecadador = new RelatorioManterMovimentoArrecadador( (Usuario)(httpServletRequest.getSession(false)).getAttribute("usuarioLogado")); relatorioManterMovimentoArrecadador.addParametro("codigoBanco",codigoBanco); relatorioManterMovimentoArrecadador.addParametro("codigoRemessa",codigoRemessa); relatorioManterMovimentoArrecadador.addParametro("descricaoIdentificacaoServico",descricaoIdentificacaoServico); relatorioManterMovimentoArrecadador.addParametro("numeroSequencialArquivo",numeroSequencialArquivo); relatorioManterMovimentoArrecadador.addParametro("dataGeracaoInicio",dataGeracaoInicio); relatorioManterMovimentoArrecadador.addParametro("dataGeracaoFim",dataGeracaoFim); relatorioManterMovimentoArrecadador.addParametro("ultimaAlteracaoInicio",ultimaAlteracaoInicio); relatorioManterMovimentoArrecadador.addParametro("ultimaAlteracaoFim",ultimaAlteracaoFim); relatorioManterMovimentoArrecadador.addParametro("descricaoOcorrencia",descricaoOcorrencia); relatorioManterMovimentoArrecadador.addParametro("indicadorAceitacao",indicadorAceitacao); relatorioManterMovimentoArrecadador.addParametro("indicadorAbertoFechado",indicadorAbertoFechado); relatorioManterMovimentoArrecadador.addParametro("arrecadadorParametros",arrecadadorParametros); // 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 + ""; } relatorioManterMovimentoArrecadador.addParametro("tipoFormatoRelatorio", Integer.parseInt(tipoRelatorio)); try { retorno = processarExibicaoRelatorio(relatorioManterMovimentoArrecadador, 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; } }