String strIndicador = "";
Map<String, String> urlArguments = new HashMap<String, String>();
AcompanhamentoItemEstrutura acompanhamento = new AcompanhamentoItemEstrutura(Long.valueOf(codAri));
IndicadorResultado indicador = new IndicadorResultado(Long.valueOf(codIettir));
strIndicador = indicador.getNome();
//se o indicador pertence a um grupo, obt�m os valores
//dos indicadores do grupo
if(indicador.hasLabelGrupo()){
for(Exercicio exercicio: acompanhamento.getExercicios()){
for(IndicadorResultado ind: indicador.getIndicadoresDoGrupo()){
//previsto por exercicio
dataset.addValue(ind.getPrevistoNoExercicio(exercicio), ind.getNome().concat(" (Previsto)"), exercicio.getDescricao());
//coloca o valor previsto - mesmo link do realizado
StringBuffer prevStrKey = new StringBuffer("codAri=");
prevStrKey.append(codAri.toString()).append("&codExe=").
append(exercicio.getId()).
append("&codIettir=").append(ind.getId());
urlArguments.put(ind.getNome().concat(" (Previsto)").concat(exercicio.getDescricao()), prevStrKey.toString());
//value[valor, rowKey, columnKey] = [valor, nome do indicador, nome]
dataset.addValue(ind.getRealizadoNoExercio(exercicio), ind.getNome().concat(" (Realizado)"), exercicio.getDescricao());
StringBuffer realStrKey = new StringBuffer("codAri=");
realStrKey.append(codAri.toString()).append("&codExe=").
append(exercicio.getId()).
append("&codIettir=").append(ind.getId());
urlArguments.put(ind.getNome().concat(" (Realizado)").concat(exercicio.getDescricao()), realStrKey.toString());
}
}
}else{//indicador n�o pertence a um grupo
//series
String PREVISTO = "Previsto";
String REALIZADO = "Realizado";
for(Exercicio exercicio: acompanhamento.getExercicios()){
double realizado = indicador.getRealizadoNoExercicio(exercicio, acompanhamento);
double previsto = indicador.getPrevistoNoExercicio(exercicio);
dataset.addValue(previsto, PREVISTO, exercicio.getDescricao());
dataset.addValue(realizado, REALIZADO, exercicio.getDescricao());
StringBuffer p = new StringBuffer("codAri=");
p.append(codAri.toString()).append("&codExe=").append(exercicio.getRealObject().getCodExe().toString()).append("&codIettir=").append(indicador.getId());
urlArguments.put(exercicio.getDescricao(), p.toString());
}
}
grafico = ChartFactory.createBarChart3D("Valores Realizado por Exerc�cio",
"",
strIndicador,
dataset,
PlotOrientation.VERTICAL,
true,
true,
true);
CategoryPlot plot = grafico.getCategoryPlot();
BarRenderer renderer = (BarRenderer) plot.getRenderer();
ItemLabelPosition posicao = new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12,TextAnchor.BOTTOM_CENTER,TextAnchor.CENTER,0);
renderer.setPositiveItemLabelPosition(posicao);
renderer.setItemLabelsVisible(true);
Font labelFont = new Font("Times new Roman", 0, 15);
renderer.setItemLabelFont(labelFont);
//renderer.setLabelGenerator(new LabelGenerator(indicador.isMoeda()));
if(urlArguments != null){
StandardCategoryURLGenerator generator = new StandardCategoryURLGenerator(baseURL, urlArguments, indicador.hasLabelGrupo());
renderer.setItemURLGenerator(generator);
}
TextTitle title = new TextTitle();
title.setFont(new Font("Arial", Font.PLAIN, 15));