Segue
Pessoal, bom dia. O código abaixo roda perfeitamente, mostrando meu relatório. O problema é que no sumário do relatório eu tenho um gráfico demonstrativo que usa outro dataset no jaspersoft. Eu gostaria de saber como passar através do spring mvc esse outro dataset para meu relatório ser gerado corretamente, com o dados do relatório principal (que já funciona) e com o gráfico (que ainda não funciona, pois não consigo enviar a List que contém as informações). Fazendo os testes diretamente no jaspersoft está tudo ok. O problema é fazer essa simulação através do spring mvc, pois não consigo enviar os dados desse subdataset para gerar o gráfico.
Código do AppWebConfiguration:
@Bean
public JasperReportsViewResolver getJasperReportsViewResolver(){
JasperReportsViewResolver resolver = new JasperReportsViewResolver();
//informa a localização dos arquvios compilados
resolver.setPrefix("/WEB-INF/views/jasper/");
//informa a extensão do relatório a ser lido
resolver.setSuffix(".jasper");
//indica a fonte de dados para o relatório principal
resolver.setReportDataKey("datasource");
//Como eu vou enviar os dados para a geração do gráfico?
//indica um padrão para o nome do relatório: Todos devem terminar com _report
resolver.setViewNames("*_report");
//essa classe permite definir o tipo de saída em tempo de execução
resolver.setViewClass(JasperReportsMultiFormatView.class);
resolver.setOrder(1);
return resolver;
}
Código do Controller...
@RequestMapping("/relacaoProcessos")
public String reportRelacaoProcessos(@AuthenticationPrincipal Usuario usuario, Model model,
@RequestParam(
value="format",
defaultValue = "pdf",
required=false
)String format){
List<Candidato> candidatos = candidatoDAO.relatorioProcessos(anoLetivo());
List<ReportListaCandidatosProcessoDeferido> relatorioProcessosDeferidos = new ArrayList<ReportListaCandidatosProcessoDeferido>();
//Essa List abaixo tem os dados que geraria o gráfico. Como eu poderia passar esses dados?
List<Candidato> candidatosGraf = candidatoDAO.somatorioPorValorBolsa(anoLetivo());
for (Candidato candidato : candidatos){
relatorioProcessosDeferidos.add(new ReportListaCandidatosProcessoDeferido(candidato));
}
model.addAttribute("format", format);
model.addAttribute("datasource", relatorioProcessosDeferidos);
//Eu precisaria de outro atributo para passar esse dataset do gráfico.
model.addAttribute("anoLetivo", anoLetivo());
return "R008_SISBS_GRAF_GERAL_report";
}