package gcom.batch.faturamento;
import gcom.seguranca.acesso.usuario.Usuario;
import gcom.tarefa.TarefaBatch;
import gcom.tarefa.TarefaException;
import gcom.util.ConstantesJNDI;
import gcom.util.Util;
import gcom.util.agendadortarefas.AgendadorTarefas;
import java.util.Collection;
import java.util.Date;
import java.util.Iterator;
/**
* @author Hugo Leonardo
* @created 19/10/2010
*/
public class TarefaBatchPrescreverDebitosImoveisPublicosAutomatico extends TarefaBatch {
private static final long serialVersionUID = 1L;
public TarefaBatchPrescreverDebitosImoveisPublicosAutomatico(Usuario usuario,
int idFuncionalidadeIniciada) {
super(usuario, idFuncionalidadeIniciada);
}
@Deprecated
public TarefaBatchPrescreverDebitosImoveisPublicosAutomatico() {
super(null, 0);
}
@SuppressWarnings("unchecked")
public Object executar() throws TarefaException {
Collection<Integer> colecaoDadosPrescricaoAutomaticos = (Collection<Integer>) getParametro("colecaoDadosPrescricao");
String idsEsferaPoder = "";
Iterator iterator = colecaoDadosPrescricaoAutomaticos.iterator();
Object[] idEsferapoder = null;
if(iterator.hasNext()){
idEsferapoder = (Object[]) iterator.next();
if ( idEsferapoder[0] != null ) {
idsEsferaPoder += idEsferapoder[0].toString() + ",";
}
if ( idEsferapoder[1] != null ) {
idsEsferaPoder += idEsferapoder[1].toString() + ",";
}
if ( idEsferapoder[2] != null ) {
idsEsferaPoder += idEsferapoder[2].toString() + ",";
}
if(idEsferapoder[0] != null || idEsferapoder[1] != null || idEsferapoder[2] != null ){
idsEsferaPoder = Util.removerUltimosCaracteres(idsEsferaPoder, 1);
}
}
Integer anoMesFaturamento = (Integer) getParametro("anoMesFaturamento");
// AnoMesReferencia - 5 Anos
Integer anoMesPrescricao = Util.subtrairAnoAnoMesReferencia(anoMesFaturamento, 5);
Date dataPrescricao = Util.subtrairNumeroAnosDeUmaData(new Date(), 5);
Integer usuarioLogado = Usuario.USUARIO_BATCH.getId();
enviarMensagemControladorBatch(
ConstantesJNDI.BATCH_PRESCREVER_DEBITOS_IMOVEIS_PUBLICOS_AUTOMATICO_MDB,
new Object[] {this.getIdFuncionalidadeIniciada(),
anoMesFaturamento, dataPrescricao, usuarioLogado, idsEsferaPoder});
return null;
}
@Override
public Collection pesquisarTodasUnidadeProcessamentoBatch() {
return null;
}
@Override
public Collection pesquisarTodasUnidadeProcessamentoReinicioBatch() {
return null;
}
@Override
public void agendarTarefaBatch() {
AgendadorTarefas.agendarTarefa("PrescreverDebitosImoveisPublicosAutomatico", this);
}
}