public void geraXMLFontes_Recursos(XmlBuilder builder, ItemEstruturaIett item, String label,
boolean exibirRecursos) throws ECARException{
try{
ExercicioDao exercicioDao = new ExercicioDao(null);
ItemEstruturaPrevisaoDao itemPrevisaoDao = new ItemEstruturaPrevisaoDao(null);
/*
if(item.getEfIettFonteTotEfiefts().size() > 0){
builder.addNode("fontesRecurso", "label=\"" + builder.normalize(label) + "\"");
Iterator itFontes = item.getEfIettFonteTotEfiefts().iterator();
while(itFontes.hasNext()){
EfIettFonteTotEfieft fontes = (EfIettFonteTotEfieft) itFontes.next();
builder.addNode("fonteRecurso", "nome=\"" + builder.normalize(Pagina.trocaNull(fontes.getFonteRecursoFonr().getNomeFonr())) + "\"");
if (exibirRecursos){
Iterator itRecursos = new ItemEstruturaPrevisaoDao(null).getRecursosByFonteRecurso(fontes.getFonteRecursoFonr().getCodFonr(), fontes.getItemEstruturaIett().getCodIett()).iterator();
long codRecurso = -1;
while(itRecursos.hasNext()){
EfItemEstPrevisaoEfiep recurso = (EfItemEstPrevisaoEfiep) itRecursos.next();
String nomeRecurso = "";
if(recurso.getRecursoRec().getCodRec().longValue() != codRecurso){
nomeRecurso = recurso.getRecursoRec().getNomeRec();
codRecurso = recurso.getRecursoRec().getCodRec().longValue();
}
builder.addClosedNode("recurso",
"nome=\"" + builder.normalize(nomeRecurso) + "\"" +
//" valorAprovado=\"" + Util.formataMoeda(recurso.getValorAprovadoEfiep().doubleValue()) + "\"" +
//" valorRevisado=\"" + Util.formataMoeda(recurso.getValorRevisadoEfiep().doubleValue()) + "\"" +
" valorAprovado=\"" + Util.formataNumeroSemDecimal(recurso.getValorAprovadoEfiep().setScale(1, BigDecimal.ROUND_HALF_UP).doubleValue()) + "\"" +
" valorRevisado=\"" + Util.formataNumeroSemDecimal(recurso.getValorRevisadoEfiep().setScale(1, BigDecimal.ROUND_HALF_UP).doubleValue()) + "\"" +
" exercicio=\"" + builder.normalize(recurso.getExercicioExe().getDescricaoExe()) + "\"");
}
}
builder.closeNode("fonteRecurso");
}
builder.closeNode("fontesRecurso");
}*/
if(item.getEfIettFonteTotEfiefts().size() > 0){
boolean exibirQuadroTotais = false;
List totaisExercicios = exercicioDao.getExerciciosValidos(item.getCodIett());
int qtdeExeGeral = totaisExercicios.size();
double[] totAprovGeral = new double[qtdeExeGeral];
double[] totRevGeral = new double[qtdeExeGeral];
for(int i = 0; i < qtdeExeGeral; i++){
totAprovGeral[i] = 0;
totRevGeral[i] = 0;
}
builder.addNode("fontesRecurso", "label=\"" + builder.normalize(label) + "\"");
Iterator itFontes = item.getEfIettFonteTotEfiefts().iterator();
while(itFontes.hasNext()){
EfIettFonteTotEfieft fontes = (EfIettFonteTotEfieft) itFontes.next();
builder.addNode("fonteRecurso");
if (exibirRecursos){
List listaRecursos = itemPrevisaoDao.getRecursosByFonteRecurso(fontes.getComp_id().getCodFonr(), item.getCodIett(), Dominios.SIM);
if(listaRecursos != null && listaRecursos.size() > 0){
exibirQuadroTotais = true;
List listaItemRec = itemPrevisaoDao.getRecursosByFonteRecurso(fontes.getFonteRecursoFonr().getCodFonr(), fontes.getItemEstruturaIett().getCodIett(), Dominios.SIM);
Iterator itItemRec = listaItemRec.iterator();
List listaExercicios = exercicioDao.getExerciciosValidos(item.getCodIett());
Iterator itExerc = listaExercicios.iterator();
int numExe = 0;
/* Monta o Cabe�alho da Tabela
* | Recurso | Valor | 2004 | 2005 | 2006 | 2007 | Total |
* */
builder.addNode("fonteRecursoCabecalho");
builder.addClosedNode("itemCabecalho", "tam=\"2.5cm\"");
builder.addClosedNode("itemCabecalho", "tam=\"2.7cm\"");
//builder.addClosedNode("exercicioRecurso", "exercicio=\"Recurso\" alinhamento=\"justify\"");
builder.addClosedNode("exercicioRecurso", "exercicio=\"" + builder.normalize(fontes.getFonteRecursoFonr().getNomeFonr()) +"\" alinhamento=\"justify\"");
builder.addClosedNode("exercicioRecurso", "exercicio=\"Valor\" alinhamento=\"justify\"");
while (itExerc.hasNext()) {
ExercicioExe exercicio = (ExercicioExe) itExerc.next();
numExe++;
builder.addClosedNode("itemCabecalho", "tam=\"3.0cm\"");
builder.addClosedNode("exercicioRecurso", "exercicio=\"" + builder.normalize(exercicio.getDescricaoExe()) + "\" alinhamento=\"right\"");
}
builder.addClosedNode("itemCabecalho", "tam=\"3.3cm\"");
builder.addClosedNode("exercicioRecurso", "exercicio=\"Total\" alinhamento=\"right\"");
builder.closeNode("fonteRecursoCabecalho");
/* Criar os Arrays de valores Aprovados e Revisados conforme qtde de exerc�cios*/
double[] totalAprovExe = new double[numExe];
double[] totalRevExe = new double[numExe];
itExerc = listaExercicios.iterator();
numExe = 0;
while (itExerc.hasNext()) {
ExercicioExe exercicio = (ExercicioExe) itExerc.next();
totalAprovExe[numExe] = 0;
totalRevExe[numExe] = 0;
numExe++;
}
int col = 0;
String valorCampo = "";
String alinhamento = "";
/*buscar os valores para cada recurso da fonte de recursos*/
List listaRec = itemPrevisaoDao.getRecursosDistintosByFonteRecurso(fontes.getFonteRecursoFonr().getCodFonr(), fontes.getItemEstruturaIett().getCodIett());
Iterator itRec = listaRec.iterator();
while (itRec.hasNext()) {
RecursoRec recurso = (RecursoRec) itRec.next();
double totalAprovRec = 0;