Conforme vi alguns exemplos de relatorio do Ireport, mudei a forma da chamada do .jasper para essa forma
public JasperPrint gerar() {
JasperPrint rel = null;
ResultSet rs = null;
try {
rs = Conexao.Consulta("select la.codigo, valor, to_char(la.data,'DD/MM/YYYY') as data, "
+ "\n f.nome as descfornecedor, f1.nome as descterceiro, ll.descricao as lote "
+ "\n from leite_adiantamentos la "
+ "\n left join leite_fornecedores lf on lf.codfornecedor = la.fornecedor "
+ "\n left join fornecedores f on f.codigo = lf.codfornecedor "
+ "\n left join fornecedores f1 on f1.codigo = la.for_terceiro "
+ "\n left join leite_lote ll on ll.codigo = la.lote");
} catch (SQLException ex) {
Logger.getLogger(RelatorioAdiantamentos.class.getName()).log(Level.SEVERE, null, ex);
}
JRResultSetDataSource jrRS = new JRResultSetDataSource(rs);
try {
HashMap map = new HashMap();
String arquivoJasper = "D:/Leite_Novo/Leite/src/java/Relatorios/RelAdiantamento.jasper";
File arq = new File(arquivoJasper);
if (arq.exists()) {
rel = JasperFillManager.fillReport(arquivoJasper, map, jrRS);
} else {
rel = null;
}
} catch (JRException e) {
FacesMessage msgd = new FacesMessage(
"Erro relatório. " + e.getMessage());
FacesContext.getCurrentInstance().addMessage(null, msgd);
}
return rel;
}
Faz a chamada do meu .jasper, mas nao acontece nada, nem erro nem nada…simplesmente na linha:
rel = JasperFillManager.fillReport(arquivoJasper, map, jrRS);
para a execuçao, nao acontece erro, nao passa por nada.
Alguem pode me ajudar, preciso conseguir fazer isso, e nao estou conseguindo, aparentemente parece simples, mas nao sei se estou esquecendo de algum detalhe ou é algum processo diferente que se faça.