package gcom.relatorio.arrecadacao; import gcom.arrecadacao.bean.PesquisarAnaliseAvisosBancariosHelper; import gcom.cadastro.sistemaparametro.SistemaParametro; import gcom.fachada.Fachada; import gcom.gui.ActionServletException; import gcom.relatorio.ConstantesRelatorios; import gcom.relatorio.RelatorioDataSource; import gcom.seguranca.acesso.usuario.Usuario; import gcom.tarefa.TarefaException; import gcom.tarefa.TarefaRelatorio; import gcom.util.agendadortarefas.AgendadorTarefas; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; /** * [UC0827] Gerar Relat�rio An�lise dos Avisos Banc�rios * * @see gcom.gui.relatorio.arrecadacao.GerarRelatorioAnaliseAvisosBancariosActionForm * @see gcom.gui.relatorio.arrecadacao.ExibirGerarRelatorioAnaliseAvisosBancariosAction * @see gcom.gui.relatorio.arrecadacao.GerarRelatorioAnaliseAvisosBancariosAction * * @author Victor Cisneiros * @date 30/07/2008 */ public class RelatorioAnaliseAvisosBancarios extends TarefaRelatorio { private static final long serialVersionUID = 1L; public RelatorioAnaliseAvisosBancarios(Usuario usuario) { super(usuario, ConstantesRelatorios.RELATORIO_ANALISE_AVISOS_BANCARIOS); } @Override public Object executar() throws TarefaException { Fachada fachada = Fachada.getInstancia(); Map<String, Object> parametros = new HashMap<String, Object>(); SistemaParametro sistemaParametro = Fachada.getInstancia().pesquisarParametrosDoSistema(); parametros.put("imagem", sistemaParametro.getImagemRelatorio()); parametros.put("tipoRelatorio", "RF0827"); Integer mesAno = (Integer) getParametro("mesAno"); Boolean porEstado = (Boolean) getParametro("porEstado"); Boolean porArrecadador = (Boolean) getParametro("porArrecadador"); Boolean porFormaArrecadacao = (Boolean) getParametro("porFormaArrecadacao"); Integer idArrecadador = (Integer) getParametro("idArrecadador"); Integer idFormaArrecadacao = (Integer) getParametro("idFormaArrecadacao"); Integer tipoRelatorio = (Integer) getParametro("tipoRelatorio"); parametros.put("mesAno", mesAno.toString().substring(4) + "/" + mesAno.toString().substring(0, 4)); parametros.put("porEstado", porEstado); parametros.put("porArrecadador", porArrecadador); parametros.put("porFormaArrecadacao", porFormaArrecadacao); PesquisarAnaliseAvisosBancariosHelper filtro = new PesquisarAnaliseAvisosBancariosHelper(); filtro.setMesAno(mesAno); filtro.setPorEstado(porEstado); filtro.setPorArrecadador(porArrecadador); filtro.setPorFormaArrecadacao(porFormaArrecadacao); filtro.setIdArrecadador(idArrecadador); filtro.setIdFormaArrecadacao(idFormaArrecadacao); Collection<RelatorioAnaliseAvisosBancariosBean> pesquisa = fachada.pesquisarAnaliseAvisosBancarios(filtro); if (pesquisa.isEmpty()) { throw new ActionServletException("atencao.dados.inexistente.parametros.informados"); } List<RelatorioAnaliseAvisosBancariosBean> beans = new ArrayList<RelatorioAnaliseAvisosBancariosBean>(); beans.addAll(pesquisa); byte[] retorno = this.gerarRelatorio(ConstantesRelatorios.RELATORIO_ANALISE_AVISOS_BANCARIOS, parametros, new RelatorioDataSource(beans), tipoRelatorio); return retorno; } @Override public int calcularTotalRegistrosRelatorio() { return 0; } @Override public void agendarTarefaBatch() { AgendadorTarefas.agendarTarefa("RelatorioAnaliseAvisosBancarios", this); } }