Moçada o código ai parece que ta blz, so que ele fala que não achou o subrelatorio
erro: Could not load object from location : .\TotalSituacoes.jasper
alguem se de olhar já sabe o que falta, ou tem um passo a passo para ligação do subreport ao relatorio principal pelo código?
se alguem tiver o tutorial ou souber o link por gentileza se possível me mande o arquivo por aqui pq não tenho acesso a outros sites, valeu!!
DataSource ds = null;
String formato = "pdf";
Map parametros = new HashMap();
JasperPrint print = null;
String sql;
String sqlsub;
SimpleDateFormat formatador = new SimpleDateFormat("yyyy-MM-dd");
String dtInicial;
String dtFinal;
//String pathsubreport="TotalSituacoes.jasper";
// CustomCode-End ADDITIONAL Var - execute
try {
// CustomCode-Begin ADDITIONAL Processing - execute
try {
ds = (DataSource)TelosApplicationContext.getBean("dataSource");
sql="Select DtConclusao, DtPrevisaoConclusao, Prioridade, Complexidade.Nome " +
"as Complexidade, ModuloProduto.Nome as Modulo, Pessoa.Nome as Cliente, SituacaoInf.Nome " +
"as SituacaoInf, Assunto, ControleExterno, SituacaoChamada.Nome as Situacao, AtendimentoChamada.Autoid " +
"as AutoidAtend, Dtabertura, Produto.Nome as Produto, Motivo.Nome as Motivo, Chamada.Autoid as " +
"AutoidChamada From Chamada Inner Join AtendimentoChamada on AtendimentoChamada.Chamada=Chamada.Autoid " +
"Inner Join Produto on Chamada.Produto=Produto.Autoid left outer Join ModuloProduto on " +
"Chamada.Modulo=ModuloProduto.Autoid left outer Join MotivoChamada as Motivo on " +
"Motivo.Autoid=Chamada.Motivo Inner Join Complexidade on Chamada.Complexidade=Complexidade.Codigo " +
"Inner Join SituacaoChamada on Chamada.Situacao=SituacaoChamada.Codigo Inner Join SituacaoChamada " +
"as SituacaoInf on Chamada.SituacaoInf=SituacaoInf.Codigo Inner Join Cliente on " +
"Chamada.Cliente=Cliente.Autoid Inner Join Pessoa on Cliente.Pessoa=Pessoa.Autoid " +
"left outer join Escopo on Chamada.Escopo=Escopo.Autoid "+
"where Chamada.Produto="+criteriaDto.getProduto();
if (criteriaDto.getCliente()!=null)
sql += " and Chamada.Cliente="+criteriaDto.getCliente();
if (criteriaDto.getMotivoAbertura()!=null)
sql+= " and Chamada.Motivo="+criteriaDto.getMotivoAbertura();
if (criteriaDto.getComplexidade()!=null)
sql+= " and Chamada.Complexidade="+criteriaDto.getComplexidade();
if (criteriaDto.getEscopoChamado()!=null)
sql += " and Chamada.Escopo="+criteriaDto.getEscopoChamado();
if (!criteriaDto.getSeqPrioridade().equals(""))
sql+= " and Chamada.SeqSituacao'="+criteriaDto.getSeqPrioridade()+"'";
// Data Inicial e Final de Abertura do Chamado
if (criteriaDto.getDtAberturaInicial()!=null && criteriaDto.getDtAberturaFinal()!=null)
{
dtInicial=formatador.format(criteriaDto.getDtAberturaInicial());
dtFinal=formatador.format(criteriaDto.getDtAberturaFinal());
sql += " and DtRegistroExterno >= '"+dtInicial+"' and DtRegistroExterno <= '"+dtFinal+"'";
}
else if (criteriaDto.getDtAberturaInicial()!=null)
{
dtInicial=formatador.format(criteriaDto.getDtAberturaInicial());
sql += " and DtRegistroExterno >= '"+dtInicial+"'";
}
else if (criteriaDto.getDtAberturaFinal()!=null)
{
dtFinal=formatador.format(criteriaDto.getDtAberturaFinal());
sql += " and DtRegistroExterno <= '"+dtFinal+"'";
}
// Data Inicial e Final de Conclusão do Chamado
if (criteriaDto.getDtConclusaoInicial()!=null && criteriaDto.getDtConclusaoFinal()!=null)
{
dtInicial=formatador.format(criteriaDto.getDtConclusaoInicial());
dtFinal=formatador.format(criteriaDto.getDtConclusaoFinal());
sql += " and DtConclusao >= '"+dtInicial+"' and DtConclusao <= '"+dtFinal+"'";
}
else if (criteriaDto.getDtConclusaoInicial()!=null)
{
dtInicial=formatador.format(criteriaDto.getDtConclusaoInicial());
sql += " and DtConclusao >= '"+dtInicial+"'";
}
else if (criteriaDto.getDtConclusaoFinal()!=null)
{
dtFinal=formatador.format(criteriaDto.getDtConclusaoFinal());
sql += " and DtConclusao <= '"+dtFinal+"'";
}
if (criteriaDto.getListaChamadoComControleExterno())
sql += " and ControleExterno <> ''";
if (criteriaDto.getListaChamadosConcluidas())
sql += " and Chamada.DtConclusao <> ''";
if (criteriaDto.getListaPrioridades())
sql += " and Chamada.DataPriorizacao <> ''";
sqlsub=(sql.substring(1054, sql.length()));
sql +=" order by Pessoa.Nome, Motivo.Nome, SituacaoChamada.Nome";
parametros.put("SQL",sql);
parametros.put("SQLSUB", sqlsub);
//parametros.put("PathTotalSit",pathsubreport);
JasperDesign jasperDesign = JRXmlLoader.load("D:\André Murta\HelpDesk30\EDSHDCasoUso\src\eds\helpdesk\relcontrolechamado\RptRelControleChamadoporSitInt.jrxml");
JasperDesign jasperSubreport = JRXmlLoader.load("D:\André Murta\HelpDesk30\EDSHDCasoUso\src\eds\helpdesk\relcontrolechamado\TotalSituacoes.jrxml");
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
JasperReport jasperReportSub = JasperCompileManager.compileReport(jasperSubreport);
print = JasperFillManager.fillReport(jasperReport,parametros, ds.getConnection());
JRExporter exporter = null;
if("html".equalsIgnoreCase(formato)) {
exporter = new JRHtmlExporter();
} else if("rtf".equalsIgnoreCase(formato)) {
exporter = new JRRtfExporter();
} else {
exporter = new JRPdfExporter();
}
String dataAtual = new SimpleDateFormat("dd/MM/yyyy").format(new Date());
String nomeRel = "nome_"+dataAtual+"."+formato;
exporter.setParameter(JRExporterParameter.JASPER_PRINT, print);
File arquivo = new File("RptRelControleChamadoporSitInt.pdf");
exporter.setParameter(JRExporterParameter.OUTPUT_FILE,arquivo);
exporter.exportReport();
} catch (Exception e) {
e.printStackTrace();
}