List<EfItemEstContaEfiec> contas = new ArrayList<EfItemEstContaEfiec>();
//Gerar 4 ocorr�ncias (contas) por ano
for(int i=0; i<4; i++) {
EfItemEstContaEfiec conta = new EfItemEstContaEfiec();
for(ExercicioExe exercicio : exercicios) {
int ano = Integer.parseInt(new SimpleDateFormat("yyyy").format(exercicio.getDataInicialExe()));
if(inicio == ano) {
conta.setExercicioExe(exercicio);
break;
}
}
conta.setIndAtivoEfiec("S");
conta.setIndAcumuladoEfiec("N");
conta.setContaSistemaOrcEfiec(iett.getSiglaIett() + " 0000");
conta.setItemEstruturaIett(iett);
contas.add(conta);
}
for(Iterator<EfItemEstContaEfiec> itContas = contas.iterator(); itContas.hasNext();) {
EfItemEstContaEfiec conta = itContas.next();
for(Iterator<FonteRecursoFonr> itFontes = fontesRecurso.iterator(); itFontes.hasNext();) {
FonteRecursoFonr fonte = itFontes.next();
conta.setContaSistemaOrcEfiec(conta.getContaSistemaOrcEfiec() + " " + fonte.getSiglaFonr().trim());
conta.setFonteRecursoFonr(fonte);
//T� invertido, o Recurso responde pela Fonte do recurso e vice-versa
for(Iterator<RecursoRec> itRecursos = recursos.iterator(); itRecursos.hasNext();) {
RecursoRec recurso = itRecursos.next();
conta.setContaSistemaOrcEfiec(conta.getContaSistemaOrcEfiec() + " " + recurso.getSiglaRec().trim());
conta.setRecursoRec(recurso);
if(itContas.hasNext() && itRecursos.hasNext()) {
conta = itContas.next();
conta.setFonteRecursoFonr(fonte);
conta.setContaSistemaOrcEfiec(conta.getContaSistemaOrcEfiec() + " " + fonte.getSiglaFonr().trim());
} else if(itContas.hasNext() && itFontes.hasNext()) {
conta = itContas.next();
}
}
}