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;
double totalRevRec = 0;
builder.addNode("recursos");
/*Valores Aprovados*/
String nomeRecurso = recurso.getNomeRec();
String valorRecurso = "Aprovado";
valorCampo = "";
builder.addClosedNode("itemRecurso", "tam=\"2mm\"");
builder.addClosedNode("itemRecurso", "tam=\"2.3cm\"");
builder.addClosedNode("itemRecurso", "tam=\"2.7cm\"");
builder.addClosedNode("recurso", "valor=\"\" alinhamento=\"justify\" conteudo=\"N\"");
builder.addClosedNode("recurso", "valor=\"" + builder.normalize(nomeRecurso) + "\" alinhamento=\"justify\" conteudo=\"S\"");
builder.addClosedNode("recurso", "valor=\"" + builder.normalize(valorRecurso) + "\" alinhamento=\"justify\" conteudo=\"S\"");
col = 0;
itExerc = listaExercicios.iterator();
while (itExerc.hasNext()) {
ExercicioExe exercicio = (ExercicioExe) itExerc.next();
valorCampo = "-";
alinhamento = "center";
itItemRec = listaItemRec.iterator();
while (itItemRec.hasNext()) {
EfItemEstPrevisaoEfiep ieRecurso = (EfItemEstPrevisaoEfiep) itItemRec.next();
if (ieRecurso.getExercicioExe().equals(exercicio) &&
ieRecurso.getRecursoRec().equals(recurso)) {
valorCampo = Pagina.trocaNullMoeda(ieRecurso.getValorAprovadoEfiep());
alinhamento = "right";
if(ieRecurso.getValorAprovadoEfiep() != null){
totalAprovRec = totalAprovRec + ieRecurso.getValorAprovadoEfiep().doubleValue();
totalAprovExe[col] = totalAprovExe[col] + ieRecurso.getValorAprovadoEfiep().doubleValue();
totAprovGeral[col] = totAprovGeral[col] + ieRecurso.getValorAprovadoEfiep().doubleValue();
}
}
}
builder.addClosedNode("itemRecurso", "tam=\"3.0cm\"");
builder.addClosedNode("recurso", "valor=\"" + builder.normalize(valorCampo) + "\" alinhamento=\""+ builder.normalize(alinhamento) +"\" conteudo=\"S\"");
col++;
}
builder.addClosedNode("itemRecurso", "tam=\"3.3cm\"");
builder.addClosedNode("recurso", "valor=\"" + builder.normalize(Util.formataMoeda(totalAprovRec)) + "\" alinhamento=\"right\" conteudo=\"S\"");
builder.closeNode("recursos");
builder.addNode("recursos");
/*Valores Revisados*/
nomeRecurso = "";
valorRecurso = "Revisado";
valorCampo = "";
builder.addClosedNode("itemRecurso", "tam=\"2mm\"");
builder.addClosedNode("itemRecurso", "tam=\"2.3cm\"");
builder.addClosedNode("itemRecurso", "tam=\"2.7cm\"");
builder.addClosedNode("recurso", "valor=\"\" alinhamento=\"justify\" conteudo=\"N\"");
builder.addClosedNode("recurso", "valor=\"" + builder.normalize(nomeRecurso) + "\" alinhamento=\"justify\" conteudo=\"S\"");
builder.addClosedNode("recurso", "valor=\"" + builder.normalize(valorRecurso) + "\" alinhamento=\"justify\" conteudo=\"S\"");
col = 0;
itExerc = listaExercicios.iterator();
while (itExerc.hasNext()) {
ExercicioExe exercicio = (ExercicioExe) itExerc.next();
valorCampo = "-";
alinhamento = "center";
itItemRec = listaItemRec.iterator();
while (itItemRec.hasNext()) {
EfItemEstPrevisaoEfiep ieRecurso = (EfItemEstPrevisaoEfiep) itItemRec.next();
if (ieRecurso.getExercicioExe().equals(exercicio) &&
ieRecurso.getRecursoRec().equals(recurso)) {
valorCampo = Pagina.trocaNullMoeda(ieRecurso.getValorRevisadoEfiep());
alinhamento = "right";
if(ieRecurso.getValorRevisadoEfiep() != null){
totalRevRec += ieRecurso.getValorRevisadoEfiep().doubleValue();
totalRevExe[col] += ieRecurso.getValorRevisadoEfiep().doubleValue();
totRevGeral[col] += ieRecurso.getValorRevisadoEfiep().doubleValue();
}
}
}
builder.addClosedNode("itemRecurso", "tam=\"3.0cm\"");
builder.addClosedNode("recurso", "valor=\"" + builder.normalize(valorCampo) + "\" alinhamento=\""+ builder.normalize(alinhamento) +"\" conteudo=\"S\"");
col++;
}
builder.addClosedNode("itemRecurso", "tam=\"3.3cm\"");
builder.addClosedNode("recurso", "valor=\"" + builder.normalize(Util.formataMoeda(totalRevRec)) + "\" alinhamento=\"right\" conteudo=\"S\"");
builder.closeNode("recursos");
}
/*Mostra o Rodap� da Tabela*/
builder.addNode("fonteRecursosRodape");
/*Total Aprovado*/
valorCampo = "";
builder.addNode("linhaTotal");
builder.addClosedNode("itemTotal", "tam=\"2mm\"");
builder.addClosedNode("itemTotal", "tam=\"2.3cm\"");
builder.addClosedNode("itemTotal", "tam=\"2.7cm\"");
builder.addClosedNode("linha", "valor=\"\" alinhamento=\"justify\" borda=\"\" conteudo=\"N\" corFundo=\"#CCC\"");
builder.addClosedNode("linha", "valor=\"\" alinhamento=\"justify\" borda=\"cima\" conteudo=\"N\" corFundo=\"#CCC\"");
builder.addClosedNode("linha", "valor=\"Total Aprovado\" alinhamento=\"justify\" borda=\"cima\" conteudo=\"S\" corFundo=\"#CCC\"");
col = 0;
double totalAprovadoGeral = 0;
Iterator itTotAprov = listaExercicios.iterator();
while (itTotAprov.hasNext()) {
ExercicioExe exercicio = (ExercicioExe) itTotAprov.next();
valorCampo = Util.formataMoeda(totalAprovExe[col]);
totalAprovadoGeral = totalAprovadoGeral + totalAprovExe[col];
col++;
builder.addClosedNode("itemTotal", "tam=\"3.0cm\"");
builder.addClosedNode("linha", "valor=\"" + builder.normalize(valorCampo)+ "\" alinhamento=\"right\" borda=\"cima\" conteudo=\"S\" corFundo=\"#FFF\"");
}
builder.addClosedNode("itemTotal", "tam=\"3.3cm\"");
builder.addClosedNode("linha", "valor=\"" + builder.normalize(Util.formataMoeda(totalAprovadoGeral)) + "\" alinhamento=\"right\" borda=\"cima\" conteudo=\"S\" corFundo=\"#FFF\"");
builder.closeNode("linhaTotal");
/*Total Revisado*/
valorCampo = "";
builder.addNode("linhaTotal");
builder.addClosedNode("itemTotal", "tam=\"2mm\"");
builder.addClosedNode("itemTotal", "tam=\"2.3cm\"");
builder.addClosedNode("itemTotal", "tam=\"2.7cm\"");
builder.addClosedNode("linha", "valor=\"\" alinhamento=\"justify\" borda=\"\" conteudo=\"N\" corFundo=\"#CCC\"");
builder.addClosedNode("linha", "valor=\"\" alinhamento=\"justify\" borda=\"\" conteudo=\"N\" corFundo=\"#CCC\"");
builder.addClosedNode("linha", "valor=\"Total Revisado\" alinhamento=\"justify\" borda=\"\" conteudo=\"S\" corFundo=\"#CCC\"");
col = 0;
double totalRevisadoGeral = 0;
Iterator itTotRev = listaExercicios.iterator();
while (itTotRev.hasNext()) {
ExercicioExe exercicio = (ExercicioExe) itTotRev.next();
valorCampo = Util.formataMoeda(totalRevExe[col]);
totalRevisadoGeral += totalRevExe[col];
col++;
builder.addClosedNode("itemTotal", "tam=\"3.0cm\"");
builder.addClosedNode("linha", "valor=\"" + builder.normalize(valorCampo)+ "\" alinhamento=\"right\" borda=\"\" conteudo=\"S\" corFundo=\"#CCC\"");
}
builder.addClosedNode("itemTotal", "tam=\"3.3cm\"");
builder.addClosedNode("linha", "valor=\"" + builder.normalize(Util.formataMoeda(totalRevisadoGeral)) + "\" alinhamento=\"right\" borda=\"\" conteudo=\"S\" corFundo=\"#CCC\"");
builder.closeNode("linhaTotal");
/*Aumento/Redu��o*/
valorCampo = "";
builder.addNode("linhaTotal");
builder.addClosedNode("itemTotal", "tam=\"2mm\"");
builder.addClosedNode("itemTotal", "tam=\"2.3cm\"");
builder.addClosedNode("itemTotal", "tam=\"2.7cm\"");
builder.addClosedNode("linha", "valor=\"\" alinhamento=\"justify\" borda=\"\" conteudo=\"N\" corFundo=\"#CCC\"");
builder.addClosedNode("linha", "valor=\"\" alinhamento=\"justify\" borda=\"\" conteudo=\"N\" corFundo=\"#CCC\"");
builder.addClosedNode("linha", "valor=\"Aumento/Redu��o\" alinhamento=\"justify\" borda=\"baixo\" conteudo=\"S\" corFundo=\"#CCC\"");
col = 0;
Iterator itDif = listaExercicios.iterator();
while (itDif.hasNext()) {
ExercicioExe exercicio = (ExercicioExe) itDif.next();
valorCampo = Util.formataMoeda(totalRevExe[col] - totalAprovExe[col]);
col++;
builder.addClosedNode("itemTotal", "tam=\"3.0cm\"");
builder.addClosedNode("linha", "valor=\"" + builder.normalize(valorCampo)+ "\" alinhamento=\"right\" borda=\"baixo\" conteudo=\"S\" corFundo=\"#FFF\"");
}
double difTotal = totalRevisadoGeral - totalAprovadoGeral;
builder.addClosedNode("itemTotal", "tam=\"3.3cm\"");
builder.addClosedNode("linha", "valor=\"" + builder.normalize(Util.formataMoeda(difTotal)) + "\" alinhamento=\"right\" borda=\"baixo\" conteudo=\"S\" corFundo=\"#FFF\"");
builder.closeNode("linhaTotal");
builder.closeNode("fonteRecursosRodape");
}
}
builder.closeNode("fonteRecurso");
}
if(exibirQuadroTotais){
/* In�cio da montagem da tabela de totais gerais */
builder.addNode("fonteTotais");
/* Monta o Cabe�alho da Tabela de totais
* | TOTAIS | Valor | 2004 | 2005 | 2006 | 2007 | Total |
* */
builder.addNode("fonteTotaisCabecalho");
builder.addClosedNode("itemTotaisCabecalho", "tam=\"2.5cm\"");
builder.addClosedNode("itemTotaisCabecalho", "tam=\"2.7cm\"");
builder.addClosedNode("exercicioTotais", "exercicio=\"TOTAIS\" alinhamento=\"justify\"");
builder.addClosedNode("exercicioTotais", "exercicio=\"Valor\" alinhamento=\"justify\"");
int colunasExercicios = 0;
Iterator itExercFinal = totaisExercicios.iterator();
while (itExercFinal.hasNext()) {
ExercicioExe exercicio = (ExercicioExe) itExercFinal.next();
colunasExercicios++;
builder.addClosedNode("itemTotaisCabecalho", "tam=\"3.0cm\"");
builder.addClosedNode("exercicioTotais", "exercicio=\"" + builder.normalize(exercicio.getDescricaoExe()) + "\" alinhamento=\"right\"");
}
builder.addClosedNode("itemTotaisCabecalho", "tam=\"3.3cm\"");
builder.addClosedNode("exercicioTotais", "exercicio=\"Total\" alinhamento=\"right\"");
builder.closeNode("fonteTotaisCabecalho");