try {
gravarValorRealizadoMetasIndicadores();
ConfiguracaoDao confDao = new ConfiguracaoDao(null);
ConfiguracaoCfg configuracao = confDao.getConfiguracao();
ConfigMailCfgmDAO configMailCfgmDAO = new ConfigMailCfgmDAO();
List listConfigMailCfgm = configMailCfgmDAO.getMailsAtivos();
this.atualizaCabecalhos();
/*
// Acertar a hora de envio de acordo com as configuracoes gerais
// se este foi alterado ap�s a �ltima execu��o.
if (!this.hora.equals(configuracao.getHoraEnvioMailCfg()))
{
this.dataAtual = Data.getDataAtual();
String data = Data.parseDateHour(this.dataAtual).substring(0,10) + " " + this.hora + ":00:000";
Date dataExecucao;
if (Data.isPassado(Data.parseDateHour(data)))
dataExecucao = Data.addDias(1, this.dataAtual);
else
dataExecucao = this.dataAtual;
data = Data.parseDateHour(dataExecucao);
data = data.substring(0,10) + " " + this.hora + ":00:000";
dataExecucao = Data.parseDateHour(data);
timer = null;
timer = new Timer();
timer.scheduleAtFixedRate(this, dataExecucao, AgendadorEmail.INTERVALO);
}
*/
Long diasAnt;
Iterator it = listConfigMailCfgm.iterator();
String dataLimStr = null;
while( it.hasNext() ) {
ConfigMailCfgm configMailCfgm = (ConfigMailCfgm) it.next();
Date dataCorr = Data.addDias(0, configuracao.getUltimoEnvioEmailCfg());
if ((configuracao.getDiasAntecedenciaMailCfg().intValue() <= 0)
|| ("".equals(configuracao.getDiasAntecedenciaMailCfg().toString()))
|| (configuracao.getDiasAntecedenciaMailCfg() == null))
{
diasAnt = Long.valueOf("1");
}
else
{
diasAnt = configMailCfgm.getConfiguracaoCfg().getDiasAntecedenciaMailCfg();
}
Date data = Data.parseDateHour(Data.parseDateHour(Data.getDataAtual()).substring(0,10) + " 00:00:00:000");
while (dataCorr.compareTo(data) < 0)
{
dataCorr = Data.addDias(1, dataCorr);
Date dataLim = Data.addDias(diasAnt.intValue(), dataCorr);
dataLimStr = Data.parseDate(dataLim);
switch( configMailCfgm.getCodCfgm().intValue() ) {
case 4: // vcto limite fisico
eMailVenctoLimiteFisico(dataLimStr, configMailCfgm, dataLim);
break;
case 5: // vcto limite parecer
eMailVenctoParecer(dataLimStr, configMailCfgm, dataLim);
break;
case 6: // vcto limite ponto critico
eMailVenctoPontoCritico(dataCorr, configMailCfgm, dataLimStr);
break;
//case 27: // status indicador resultado -> Falta defini��es
//eMailStatusIndicadorResultado(dataCorr, configMailCfgm);
// break;
} // fim switch
/* -- Trata dos tipo de 7 a 13 -- */
if( configMailCfgm.getCodCfgm().intValue() > 6 && configMailCfgm.getCodCfgm().intValue() < 14 ) {
eMailDataItem(dataLimStr, configMailCfgm);
}
} // fim do while (dias)
}
configuracao.setUltimoEnvioEmailCfg(Data.getDataAtual());
confDao.alterar(configuracao);
org.apache.log4j.Logger.getLogger(this.getClass()).info("E-mails enviados em " + Data.getDataAtual() + " " + Data.getHoraAtual(true));
} catch(Exception e) {
org.apache.log4j.Logger.getLogger(this.getClass()).error(e);
this.enviarEmailExcecao("AgendadorEmail.run()", e);
} finally {