Set arelsGravados = acompReferenciaItemAlterar.getAcompRelatorioArels();
// obtem as fun��es de acompanhamento do item que emitem posi��o
Iterator it = itemEstUsutpfuacDao.getFuacEmitePosicaoOrderByFuncAcomp(itemAlterarMonitoramento).iterator();
while(it.hasNext()){
TipoFuncAcompTpfa funcAcomp = ((ItemEstUsutpfuacIettutfa)it.next()).getTipoFuncAcompTpfa();
// S� gerar AREL(parecer) para as fun��es cadastradas no tipo de acompanhamento
Iterator itTafc = ta.getTipoAcompFuncAcompTafcs().iterator();
while(itTafc.hasNext()){
TipoAcompFuncAcompTafc tafc = (TipoAcompFuncAcompTafc) itTafc.next();
//verifica a fun��o e se ela n�o est� como "ignorar"
if(tafc.getTipoFuncAcompTpfa().equals(funcAcomp) && (tafc.getIndObrigatorio().equals("S") || tafc.getIndOpcional().equals("S"))){
boolean existeArelParaFuncao = false;
Iterator itArelsGravados = arelsGravados.iterator();
while(itArelsGravados.hasNext() && !existeArelParaFuncao){
AcompRelatorioArel arel = (AcompRelatorioArel)itArelsGravados.next();
if(arel.getTipoFuncAcompTpfa().equals(funcAcomp)) {
existeArelParaFuncao = true;
}
}
if(!existeArelParaFuncao) {
AcompRefLimitesArl arlAcomp = acompReferenciaDao.getAcompRefLimitesByFuncaoAcomp(acompanhamento, funcAcomp);
if(arlAcomp != null) {
AcompRefItemLimitesArli arliAri = acompReferenciaDao.getAcompRefItemLimitesArliByAriAndTpfa(acompReferenciaItemAlterar.getCodAri(), funcAcomp.getCodTpfa());
if(arliAri == null) {
AcompRefItemLimitesArli acompRefItemLimite = new AcompRefItemLimitesArli();
acompRefItemLimite.setDataLimiteArli(arlAcomp.getDataLimiteArl());
acompRefItemLimite.setAcompReferenciaItemAri(acompReferenciaItemAlterar);
acompRefItemLimite.setTipoFuncAcompTpfa(funcAcomp);