cÓdigo java subreport - ireport jasper [resolvido aew!]

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!! :wink:

		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();
			}

AH SO UM DETALHE COMO O CAMINHO NAO TAVA QUERENDO DAR CERTO, JA COLOQUEI O CAMINHO DO DIRETÓRIO DO SUBREPORT LA NO PRINCIPAL DE UMA VEZ. :wink:

Dá uma olhada aí:

http://www.livramento.yu.com.br/tutoriais/ireport.html

esse código não fala sobre subreport :cry:

não sei não, mas quando eu uso o jasper aqui eu tenho que colocar a barra normal “/”.
se eu colocar a invertida dá pau…""

não se se isso te ajuda…

flws

evandro me manda seu código ai!! :lol: