* @throws ECARException
* @throws Exception
*/
private void eMailVenctoLimiteFisico(String dataLimStr, ConfigMailCfgm configMailCfgm, Date dataLimite) throws ECARException, Exception {
try {
AcompReferenciaItemDao ariDAO = new AcompReferenciaItemDao(null);
TfuncacompConfigmailTfacfgmDAO tfuncacompConfigmailTfacfgmDAO = new TfuncacompConfigmailTfacfgmDAO();
AcompRealFisicoDao acompRealFisicoDao = new AcompRealFisicoDao(null);
UsuarioDao usuDAO = new UsuarioDao();
List listItens = null;
String dataCompStr = null;
Iterator itItem = null;
listItens = ariDAO.listarAcompReferenciaItemPorDataLimiteFisico(dataLimite);
if( listItens != null ) itItem = listItens.iterator();
/* -- Fim da otimiza��o -- */
while( itItem.hasNext() ){
AcompReferenciaItemAri ari = (AcompReferenciaItemAri) itItem.next();
dataCompStr = Data.parseDate(ari.getDataLimiteAcompFisicoAri());
if( dataLimStr.equals(dataCompStr) && // compara as datas e envia somente para os itens ativos
(ari != null && ari.getItemEstruturaIett() != null && ari.getItemEstruturaIett().getIndAtivoIett().equals("S"))) {
List list = new ArrayList(ari.getItemEstruturaIett().getItemEstUsutpfuacIettutfas());
String descricaoEvento = "Vencimento da Data limite F�sico.";
List usuariosEmailEnviado = new ArrayList();
Iterator itList = list.iterator();
while( itList.hasNext() ) {
ItemEstUsutpfuacIettutfa itemEstUsutpfacIetutfa = (ItemEstUsutpfuacIettutfa) itList.next();
TfuncacompConfigmailTfacfgmPK tfcfgmPK = new TfuncacompConfigmailTfacfgmPK();
tfcfgmPK.setCodCfgm(configMailCfgm.getCodCfgm());
tfcfgmPK.setCodTpfa(itemEstUsutpfacIetutfa.getTipoFuncAcompTpfa().getCodTpfa());
TfuncacompConfigmailTfacfgm tfcfm = (TfuncacompConfigmailTfacfgm) tfuncacompConfigmailTfacfgmDAO.buscar(TfuncacompConfigmailTfacfgm.class, tfcfgmPK);
List acompRealFisicoList = acompRealFisicoDao.getIndResulByAcompRefItemBySituacao(ari, Dominios.TODOS, false);
Iterator itArf = acompRealFisicoList.iterator();
boolean faltaArf = false;
while (itArf.hasNext())
{
AcompRealFisicoArf arf = (AcompRealFisicoArf) itArf.next();
if (arf.getQtdRealizadaArf() == null)
faltaArf = true;
}
List novosIndicadores = ariDAO.getNovosIndicadores(ari);
Iterator itIndicadores = novosIndicadores.iterator();
if(itIndicadores.hasNext()){
faltaArf = true;
}