private void geraXMLIndicadores(XmlBuilder builder, AcompReferenciaItemAri itemAri) throws ECARException{
try {
AcompRealFisicoDao acompRealFisicoDao = new AcompRealFisicoDao(null);
ExercicioDao exercicioDao = new ExercicioDao(null);
ItemEstrtIndResulDao itemEstrtIndResulDao = new ItemEstrtIndResulDao(null);
EstruturaFuncaoDao estruturaFuncaoDao = new EstruturaFuncaoDao(null);
String mostrarProjecao = (projecao) ? "S" : "N";
//List<ExercicioExe> exercicios = new ExercicioDao(null).getExerciciosProjecao(itemAri.getItemEstruturaIett().getCodIett());
//Ref. mantis 7770: exibir os �ltimos quatro anos...
//Pegando exercicios do mais novo para mais antigo para pegar os ultimos anos primeiro...
//List<ExercicioExe> todosExercicios = exercicioDao.listar(ExercicioExe.class, new String[] {"dataInicialExe","desc"});
//Mantis #11071: Ajustes no Relat�rio do PPA (metas f�sicas de exerc�cios)
List<ExercicioExe> todosExercicios = exercicioDao.getExeByPerExe(itemAri.getAcompReferenciaAref().getExercicioExe());
if(todosExercicios == null || todosExercicios.isEmpty()) {
throw new Exception("N�o existem exerc�cios cadastrado");
}
List<ExercicioExe> exercicios = new ArrayList<ExercicioExe>();
//Obtendo ultimos 4 anos...
int qtdeAnos = 4;
if(todosExercicios.size() < qtdeAnos) {
qtdeAnos = todosExercicios.size();
}
exercicios.addAll(todosExercicios.subList(0, qtdeAnos));
//Re-ordenando do mais antigo para o o mais novo...
Collections.reverse(exercicios);
List indResultados = acompRealFisicoDao.getIndResulByAcompRefItemBySituacao(itemAri, Dominios.TODOS, false);
if(indResultados != null && indResultados.size() > 0){
String exibirSituacaoColuna = "N";
if("N".equals(mostrarProjecao)) {
exibirSituacaoColuna = "S";
}
builder.addNode("indicadores", "labelFuncao=\""
+ builder.normalize(Util.normalizaCaracterMarcador(estruturaFuncaoDao.getLabelIndicadoresResultado(itemAri.getItemEstruturaIett().getEstruturaEtt())))
+ "\" mostrarProjecao=\"" + builder.normalize(Util.normalizaCaracterMarcador(mostrarProjecao)) + "\""
+ " exibirSituacaoColuna=\"" + builder.normalize(Util.normalizaCaracterMarcador(exibirSituacaoColuna)) + "\"");
int numeroExercicios = 0;
for(ExercicioExe exercicio : exercicios){