Boa tarde galera, tdo certo?? Bem, estou fazendo um relatório no ireport e preciso passar uma coleção por parâmetro. Já pesquisei mto sobre como fazer, e não estou conseguindo…Abaixo como estou fazendo:
No meu bean:
List<Nota> notasHistoricoList = new ArrayList<Nota>();
private BigDecimal escalaDeNotasMax;
private BigDecimal escalaDeNotasMin;
private String escalaDeNotas;
private String observacoesFinais;
private List<Nota> notasMediaFinal = new ArrayList<Nota>();
private Date dataReferenciaFinal = new Date();
private Date dataReferenciaAssinatura = new Date();
private String fraseParaAta;
private String fraseFinalAta;
public void geraRelatorioAtaResultadosFinaisPDF() {
if (turma.getEtapa().getFormaAvaliacao().getTipo().equals("P")) {
geraRelatorioAtaResultadosFinaisPorParecer(true);
} else {
geraRelatorioAtaResultadosFinais(true);
}
}
public void geraRelatorioAtaResultadosFinais(boolean isPDF) {
String parametroRelatorioVazio;
nomeRelatorio = "Ata de Resultados Finais";
Map<String, String> parametros = new HashMap<String, String>();
if (notasMediaFinal.isEmpty()) {
parametroRelatorioVazio = "Não há dados para exibir.";
} else {
parametroRelatorioVazio = "";
}
escalaDeNotasMax = turma.getEtapa().getFormaAvaliacao().getNotaMaxima();
escalaDeNotasMin = turma.getEtapa().getFormaAvaliacao().getNotaMinima();
if (escalaDeNotasMax != null && escalaDeNotasMin != null) {
escalaDeNotas = escalaDeNotasMin + " à " + escalaDeNotasMax;
} else {
escalaDeNotas = "Notas não informadas.";
}
if (observacoesFinais.isEmpty() || observacoesFinais.equals("")) {
observacoesFinais = " ";
}
if (dataReferenciaFinal != null) {
fraseParaAta = "Aos " + DateUtil.getDataParaAtas(dataReferenciaFinal)
+ ", conclui-se a apuração do rendimento escolar dos alunos"
+ " nos termos da Lei 9394/96.";
}
fraseFinalAta = "E para constar, lavro a presente ata.";
parametros.put("parametroRelatorioVazio", parametroRelatorioVazio);
parametros.put("nomeRelatorio", nomeRelatorio);
parametros.put("escalaDeNotas", escalaDeNotas);
parametros.put("fraseParaAta", fraseParaAta);
parametros.put("fraseFinalAta", fraseFinalAta);
parametros.put("dataReferenciaAssinatura", DateUtil.DataPorExtenso(dataReferenciaAssinatura));
parametros.put("cargaHorariaDisciplina", cargaHorariaDisciplina.toString());
parametros.put("observacoesFinais", observacoesFinais);
geraRelatorioPDF(notasMediaFinal, RELATORIO_ATARESULTADOSFINAIS, parametros);
}
//getters e setters
E no meu xhtml:
<treap:btnRelatorio metodo="#{notaJsfBean.geraRelatorioAtaResultadosFinaisPDF()}"/>
Estou fazendo o relatório sem usar conecção com BD, simplesmente passo os parâmetros do meu bean ou senão utilizo oque tenho no meu domínio( classe de entidade do DB). Pela classe, o único caminho que teria para chegar até a coleção que preciso é o seguinte:
turma.etapa.gradeCollection
Sendo que turma e etapa são objetos de Turma e Etapa respectivamente. Se alguém puder ajudar, agradeço mto, pois estou a alguns dias já tentando resolver isso e não estou conseguindo…Vlw