private void eMailVenctoParecer (String dataLimStr, ConfigMailCfgm configMailCfgm, Date dataLimite) throws ECARException, Exception {
try {
AcompReferenciaItemDao ariDAO = new AcompReferenciaItemDao(null);
UsuarioDao usuDAO = new UsuarioDao();
TfuncacompConfigmailTfacfgmDAO tfuncacompConfigmailTfacfgmDAO = new TfuncacompConfigmailTfacfgmDAO();
AcompRelatorioDao acompRelatorioDao = new AcompRelatorioDao(null);
List listItens = null;
String dataCompStr = null;
Iterator itItem = null;
/* --
* Por Rog�rio (26/02/2007)
* Otimiza��o de query.
* listItens = ariDAO.listar(AcompRefItemLimitesArli.class, new String[]{"dataLimiteArli","ASC"});
* itItem = listItens.iterator();
* -- */
listItens = ariDAO.listarAcompReferenciaItemLimitesPorVenctoParecer(dataLimite);
if( listItens != null ) itItem = listItens.iterator();
/* -- OFinal da otimiza��o -- */
while( itItem.hasNext() ){
AcompRefItemLimitesArli arli = (AcompRefItemLimitesArli) itItem.next();
dataCompStr = Data.parseDate(arli.getDataLimiteArli());
if( dataLimStr.equals(dataCompStr) ) {
AcompReferenciaItemAri ari = arli.getAcompReferenciaItemAri();
List listAri = new ArrayList();
if( ari.getItemEstruturaIett() != null && ari.getItemEstruturaIett().getItemEstUsutpfuacIettutfas() != null )
listAri = new ArrayList(ari.getItemEstruturaIett().getItemEstUsutpfuacIettutfas());
List usuariosEmailEnviado = new ArrayList();
String descricaoEvento = "Vencimento da Data limite para " + arli.getTipoFuncAcompTpfa().getLabelPosicaoTpfa() + ".";
Iterator itList = listAri.iterator();
while( itList.hasNext() ) {
ItemEstUsutpfuacIettutfa itemEstUsutpfacIetutfa = (ItemEstUsutpfuacIettutfa) itList.next();
TipoFuncAcompTpfa tipoFuncao = itemEstUsutpfacIetutfa.getTipoFuncAcompTpfa();
TfuncacompConfigmailTfacfgmPK tfcfgmPK = new TfuncacompConfigmailTfacfgmPK();
tfcfgmPK.setCodCfgm(configMailCfgm.getCodCfgm());
tfcfgmPK.setCodTpfa(tipoFuncao.getCodTpfa());
TfuncacompConfigmailTfacfgm tfcfm = (TfuncacompConfigmailTfacfgm) tfuncacompConfigmailTfacfgmDAO.buscar(TfuncacompConfigmailTfacfgm.class, tfcfgmPK);
//Verificando se j� existe posi��o liberada
//Caso j� exista (indLiberadoArel) , n�o precisa mandar e-mail
AcompRelatorioArel acompRelatorio = acompRelatorioDao.getAcompRelatorio(tipoFuncao, ari);
if ( acompRelatorio != null && !"S".equals(acompRelatorio.getIndLiberadoArel()) ) {
if ( itemEstUsutpfacIetutfa != null && itemEstUsutpfacIetutfa.getComp_id() != null && "S".equals(tfcfm.getEnviaMailTfacfgm()) ) {