if((fontesRecursos.size() == 0) && (!iett.getSiglaIett().substring(0,1).equals("0"))) {
//T� invertido, o Recurso responde pela Fonte do recurso e vice-versa
for(Iterator<FonteRecursoFonr> itFontes = fontesRecurso.iterator(); itFontes.hasNext();) {
FonteRecursoFonr fonte = itFontes.next();
EfIettFonteTotEfieft efTotEfieft = new EfIettFonteTotEfieft();
EfIettFonteTotEfieftPK efTotEfieftPK = new EfIettFonteTotEfieftPK();
efTotEfieftPK.setCodFonr(fonte.getCodFonr());
efTotEfieftPK.setCodIett(iett.getCodIett());
efTotEfieft.setComp_id(efTotEfieftPK);
efTotEfieft.setDataInclusaoEfieft(new Date());
efTotEfieft.setIndAtivoEfieft("S");
efTotEfieft.setItemEstruturaIett(iett);
efTotEfieft.setFonteRecursoFonr(fonte);
//Acrescenta o objeto na lista que ser� salva posteriormente no banco.
fontesTotEfieft.add(efTotEfieft);
}
}
/***********************************************/
//Descartar a��es em que a sigla inicie com zero
if (!iett.getSiglaIett().substring(0,1).equals("0")) {
int anoInicio = Integer.parseInt(new SimpleDateFormat("yyyy").format(iett.getDataInicioIett()));
int anoFim = anoInicio;
if(iett.getDataTerminoIett() != null) {
anoFim = Integer.parseInt(new SimpleDateFormat("yyyy").format((iett.getDataTerminoIett())));
}
//loop dos anos a serem gerados ocorr�ncias (contas)
for(int inicio=anoInicio; inicio<=anoFim; inicio++) {
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();
}
}
}