package gcom.batch.faturamento; import java.util.Collection; import java.util.Collections; import java.util.Iterator; import gcom.cadastro.sistemaparametro.SistemaParametro; import gcom.fachada.Fachada; import gcom.faturamento.FaturamentoGrupo; import gcom.micromedicao.FiltroRota; import gcom.micromedicao.Rota; import gcom.seguranca.acesso.usuario.Usuario; import gcom.tarefa.TarefaBatch; import gcom.tarefa.TarefaException; import gcom.util.ConstantesJNDI; import gcom.util.ConstantesSistema; import gcom.util.agendadortarefas.AgendadorTarefas; import gcom.util.filtro.ParametroSimples; /** * UC0926 - Gerar B�nus de Tarifa Social * * @author Hugo Amorim * @created 25/08/2009 */ public class TarefaBatchGerarBonusTarifaSocial extends TarefaBatch { private static final long serialVersionUID = 1L; public TarefaBatchGerarBonusTarifaSocial (Usuario usuario,int idFuncionalidadeIniciada) { super(usuario, idFuncionalidadeIniciada); } @Deprecated public TarefaBatchGerarBonusTarifaSocial() { super(null, 0); } @Override public Object executar() throws TarefaException { FaturamentoGrupo faturamentoGrupo = (FaturamentoGrupo) getParametro("faturamentoGrupo"); SistemaParametro sistemaParametro = (SistemaParametro) getParametro("sistemaParametros"); Collection colecaoRotasParaExecucao = (Collection) getParametro(ConstantesSistema.COLECAO_UNIDADES_PROCESSAMENTO_BATCH); // (Collection<Rota>) Iterator iterator = colecaoRotasParaExecucao.iterator(); while (iterator.hasNext()) { Object[] array = (Object[]) iterator.next(); System.out .println("Rota Gerar Bonus Tarifa Social " + ((Rota) array[1]).getId() + " *********************************************************"); enviarMensagemControladorBatch( ConstantesJNDI.BATCH_GERAR_BONUS_TARIFA_SOCIAL, new Object[]{faturamentoGrupo, sistemaParametro, Collections.singletonList((Rota) array[1]), this.getIdFuncionalidadeIniciada()}); } return null; } @Override protected Collection<Object> pesquisarTodasUnidadeProcessamentoBatch() { FaturamentoGrupo faturamentoGrupo = (FaturamentoGrupo) getParametro("faturamentoGrupo"); FiltroRota filtroRota = new FiltroRota(); filtroRota.adicionarParametro(new ParametroSimples( FiltroRota.FATURAMENTO_GRUPO_ID, faturamentoGrupo.getId())); return Fachada.getInstancia().pesquisar(filtroRota, Rota.class.getName()); } @Override protected Collection<Object> pesquisarTodasUnidadeProcessamentoReinicioBatch() { return null; } @Override public void agendarTarefaBatch() { AgendadorTarefas.agendarTarefa( "GerarBonusTarifaSocialBatch", this); } }