*/
private void geraXMLEvolucaoFinanceira(XmlBuilder builder, AcompReferenciaItemAri itemAri) throws ECARException{
try{
ItemEstruturaPrevisaoDao itemEstPrevDao = new ItemEstruturaPrevisaoDao(null);
ItemEstruturaRealizadoDao itemEstRealizadoDao = new ItemEstruturaRealizadoDao(null);
ItemEstruturaContaOrcamentoDao itemEstContaOrcDao = new ItemEstruturaContaOrcamentoDao(null);
List listaExercicios = itemEstPrevDao.getListaExerciciosItemEstruturaPrevisao(itemAri.getItemEstruturaIett());
//List lista = itemEstPrevDao.getListaItemEstruturaPrevisao(itemAri.getItemEstruturaIett(), itemAri.getAcompReferenciaAref().getExercicioExe());
List lista = itemEstPrevDao.getListaItemEstruturaPrevisao(itemAri.getItemEstruturaIett(), null);
//Melhoria de performance
//Iterator it = lista.iterator();
EfItemEstPrevisaoEfiep itemEstPrev = new EfItemEstPrevisaoEfiep();
//if (it.hasNext()){
if (lista != null && !lista.isEmpty()){
int colunas = 0;
int numeroColunasExibidas = 0;
String descFinanceiro[] = new String[3];
boolean mostrarDescFinanceiro[] = new boolean[3];
descFinanceiro[0] = configura.getRecursoDescValor1Cfg();
descFinanceiro[1] = configura.getRecursoDescValor2Cfg();
descFinanceiro[2] = configura.getRecursoDescValor3Cfg();
boolean mostrarValores[] = new boolean[6];
String descricoes[] = new String[6];
descricoes[0] = configura.getFinanceiroDescValor1Cfg();
descricoes[1] = configura.getFinanceiroDescValor2Cfg();
descricoes[2] = configura.getFinanceiroDescValor3Cfg();
descricoes[3] = configura.getFinanceiroDescValor4Cfg();
descricoes[4] = configura.getFinanceiroDescValor5Cfg();
descricoes[5] = configura.getFinanceiroDescValor6Cfg();
for(int i = 0; i < 6; i++){
mostrarValores[i] = itemEstRealizadoDao.getVerificarMostrarValorByPosicaoCfg(i);
if(mostrarValores[i]){
colunas++;
}
}
builder.addNode("evolucaoFinanceira", "colunasRealizadas=\"" + builder.normalize(String.valueOf(colunas)) + "\"");
builder.addNode("colunas");
builder.addClosedNode("coluna", "nome=\"Categoria Econ�mica\"");
builder.addClosedNode("coluna", "nome=\"Fonte\"");
//builder.addClosedNode("coluna", "nome=\"Aprovado\"");
//builder.addClosedNode("coluna", "nome=\"Revisado\"");
//int numeroColunasExibidas = 2; //Aprovado - Revisado
for(int i = 0; i < 3; i++){
mostrarDescFinanceiro[i] = itemEstRealizadoDao.getVerificarMostrarRecursoByPosicaoCfg(i);
if(mostrarDescFinanceiro[i]){
builder.addClosedNode("coluna", "nome=\"" + builder.normalize(Util.normalizaCaracterMarcador(descFinanceiro[i])) + "\"");
numeroColunasExibidas++;
}
}
for(int i = 0; i < 6; i++){
mostrarValores[i] = itemEstRealizadoDao.getVerificarMostrarValorByPosicaoCfg(i);
if(mostrarValores[i]){
builder.addClosedNode("coluna", "nome=\"" + builder.normalize(Util.normalizaCaracterMarcador(descricoes[i])) + "\"");
numeroColunasExibidas++;
}
}
builder.closeNode("colunas");
/*
* 13.62cm / numeroColunasExibidas = tamanho de cada coluna din�mica
* Quanto mais colunas, menos espa�o no relat�rio.
*/
double t = 13.62;
String tam = String.valueOf(t/numeroColunasExibidas) + "cm";
builder.addNode("colunasHeader");
for(int x = 1; x <= numeroColunasExibidas; x++){
builder.addClosedNode("colunaHeader", "tamanho=\"" + builder.normalize(Util.normalizaCaracterMarcador(tam)) + "\"");
}
builder.closeNode("colunasHeader");
double totFonAprovado = 0, totFonRevisado = 0;
double totGerAprovado = 0, totGerRevisado = 0;
double[] totFonValor = new double[6];
double[] totGerValor = new double[6];
/*Inicializar os valores...*/
for(int i = 0; i < 6; i++){
totFonValor[i] = 0;
totGerValor[i] = 0;
}
//Melhoria de performance
//Iterator itExe = listaExercicios.iterator();
//while(itExe.hasNext()){
for(Iterator itExe = listaExercicios.iterator(); itExe.hasNext();){
ExercicioExe exercicio = (ExercicioExe) itExe.next();
String exercicioDesc = exercicio.getDescricaoExe();
String exercicioDescTotal = exercicioDesc;
double totExeAprovado = 0, totExeRevisado = 0;
double[] totExeValor = new double[6];
/*Inicializar os valores...*/
for(int i = 0; i < 6; i++){
totExeValor[i] = 0;
}
lista = itemEstPrevDao.getListaItemEstruturaPrevisao(itemAri.getItemEstruturaIett(), exercicio);
//it = lista.iterator();
long codFonte = -1;
//while(it.hasNext()){
for(Iterator it = lista.iterator(); it.hasNext();){
itemEstPrev = (EfItemEstPrevisaoEfiep) it.next();
/* ler EfItemEstContaEfiec */
EfItemEstContaEfiec itemEstConta =
itemEstContaOrcDao.getItemEstruturaConta(
itemAri.getItemEstruturaIett(),
exercicio,
itemEstPrev.getFonteRecursoFonr(),
itemEstPrev.getRecursoRec());