package gcom.relatorio.transacao; import gcom.fachada.Fachada; import gcom.relatorio.ConstantesRelatorios; import gcom.relatorio.RelatorioDataSource; import gcom.relatorio.RelatorioVazioException; import gcom.seguranca.acesso.OperacaoEfetuada; import gcom.seguranca.acesso.usuario.Usuario; import gcom.seguranca.transacao.FiltroTabelaLinhaColunaAlteracao; import gcom.seguranca.transacao.TabelaLinhaColunaAlteracao; import gcom.tarefa.TarefaException; import gcom.tarefa.TarefaRelatorio; import gcom.util.Util; import gcom.util.filtro.ParametroSimples; import java.util.ArrayList; import java.util.Collection; import java.util.Date; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; public class RelatorioOperacao extends TarefaRelatorio { private static final long serialVersionUID = 1L; public RelatorioOperacao (Usuario usuario) { super(usuario, ConstantesRelatorios.RELATORIO_OPERACAO); } private Collection<RelatorioOperacaoBean> inicializarBeanRelatorio( Collection dadosRelatorio) { Collection<RelatorioOperacaoBean> colecaoBean = new ArrayList(); Iterator iterator = dadosRelatorio.iterator(); while (iterator.hasNext()) { OperacaoEfetuada operacaoEfetuada = (OperacaoEfetuada) iterator.next(); Set usuarioAlteracoes = operacaoEfetuada.getUsuarioAlteracoes(); /*Iterator itUsuarioAlteracoes =*/ usuarioAlteracoes.iterator(); FiltroTabelaLinhaColunaAlteracao filtroTabelaLinhaColunaAlteracao = new FiltroTabelaLinhaColunaAlteracao(); filtroTabelaLinhaColunaAlteracao.adicionarCaminhoParaCarregamentoEntidade(FiltroTabelaLinhaColunaAlteracao.TABELA_COLUNA); filtroTabelaLinhaColunaAlteracao.adicionarCaminhoParaCarregamentoEntidade(FiltroTabelaLinhaColunaAlteracao.TABELA_LINHA_ALTERACAO); filtroTabelaLinhaColunaAlteracao.adicionarCaminhoParaCarregamentoEntidade(FiltroTabelaLinhaColunaAlteracao.TABELA); filtroTabelaLinhaColunaAlteracao.adicionarCaminhoParaCarregamentoEntidade(FiltroTabelaLinhaColunaAlteracao.OPERACAO_EFETUADA); filtroTabelaLinhaColunaAlteracao.adicionarParametro(new ParametroSimples(FiltroTabelaLinhaColunaAlteracao.OPERACAO_EFETUADA_ID, operacaoEfetuada.getId())); Collection tabelaLinhaColunaAlteracoes = Fachada.getInstancia() .pesquisar( filtroTabelaLinhaColunaAlteracao , TabelaLinhaColunaAlteracao.class.getName() ); /*Iterator itTabelaLinhaColunaAlteracoes =*/ tabelaLinhaColunaAlteracoes.iterator(); } return colecaoBean; } /** * M�todo que executa a tarefa * * @return Object */ public Object executar() throws TarefaException { int tipoFormatoRelatorio = (Integer) getParametro("tipoFormatoRelatorio"); // valor de retorno byte[] retorno = null; // Par�metros do relat�rio Map parametros = new HashMap(); //Fachada fachada = Fachada.getInstancia(); Collection dadosRelatorio = new ArrayList(); // Collection dadosRelatorio = Fachada.getInstancia().pesquisarUsuarioAlteracaoDasOperacoesEfetuadasHqlRelatorio(idUsuarioAcao, // idOperacao, idUsuario,dataInicial, dataFinal, horaInicial, horaFinal, idTabela, idTabelaColuna, id1); Collection<RelatorioOperacaoBean> colecaoBean = inicializarBeanRelatorio( dadosRelatorio ); Date data = new Date(System.currentTimeMillis()); String nomeOperacao = ""; if (colecaoBean == null || colecaoBean.isEmpty()) { throw new RelatorioVazioException("Relat�rio sem dados"); } OperacaoEfetuada operacaoEfetuada = (OperacaoEfetuada) dadosRelatorio.iterator().next(); nomeOperacao = operacaoEfetuada.getOperacao().getDescricao(); data = operacaoEfetuada.getUltimaAlteracao(); parametros.put("dataRealizacao", Util.formatarDataComHora(data)); parametros.put("nomeOperacao", nomeOperacao); RelatorioDataSource ds = new RelatorioDataSource((List) colecaoBean); retorno = this.gerarRelatorio(ConstantesRelatorios.RELATORIO_OPERACAO, parametros,ds, tipoFormatoRelatorio); return retorno; } @Override public int calcularTotalRegistrosRelatorio() { return 0; } public void agendarTarefaBatch() { } }