Gerar Relatório - !Report com ArrayList

0 respostas
R

Boa tarde amigos…

Quando eu rodo a minha aplicação, me deparo com o seguinte erro:

net.sf.jasperreports.engine.JRException: Error retrieving field value from bean : codpes
	at net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getBeanProperty(JRAbstractBeanDataSource.java:116)
	at net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getFieldValue(JRAbstractBeanDataSource.java:93)
	at net.sf.jasperreports.engine.data.JRBeanCollectionDataSource.getFieldValue(JRBeanCollectionDataSource.java:104)
	at net.sf.jasperreports.engine.fill.JRFillDataset.setOldValues(JRFillDataset.java:815)
	at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:779)
	at net.sf.jasperreports.engine.fill.JRBaseFiller.next(JRBaseFiller.java:1109)
	at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:111)
	at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:767)
	at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:690)
	at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:89)
	at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:601)
	at relatorio.ProcessoAnalise.doGet(ProcessoAnalise.java:52)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoSuchMethodException: Unknown property 'codpes'
	at org.apache.commons.beanutils.PropertyUtilsBean.getSimpleProperty(PropertyUtilsBean.java:1122)
	at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:686)
	at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:715)
	at org.apache.commons.beanutils.PropertyUtils.getProperty(PropertyUtils.java:290)
	at net.sf.jasperreports.engine.data.JRAbstractBeanDataSource.getBeanProperty(JRAbstractBeanDataSource.java:104)
	... 25 more

Meu Servlet:

protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {

		MovimentaDao md = new MovimentaDao();
		try {

			md.open();

			// JasperReports -> iReport

			JRDataSource jrds = new JRBeanCollectionDataSource(md.findByAll());

			// Arquivo do relatório
			JasperDesign jd = JRXmlLoader
					.load("c:\\relatorio\\processoAnalise.jrxml");

			// Compilar o relatório
			JasperReport jr = JasperCompileManager.compileReport(jd);

			// Mescar os dados do JDBC ao documento do Relatório
			JasperPrint jp = JasperFillManager.fillReport(jr, null, jrds);

			// Download de PDF
			response.reset();
			response.setContentType("application/pdf");

			OutputStream out = response.getOutputStream();
			JasperExportManager.exportReportToPdfStream(jp, out);
			out.flush();
			out.close();

		} catch (Exception e) {
			e.printStackTrace();

		} finally {

			try {
				md.close();

			} catch (Exception e) {

				e.printStackTrace();
			}
		}

	}

Meu MovimentaDao…

public List<Pessoal> findByAll() throws Exception {

		open();
		List<Pessoal> listaPessoal = new ArrayList<Pessoal>();
		stmt = con.prepareStatement("select * from pessoal p");
		rs = stmt.executeQuery();

		while (rs.next()) {

			Pessoal p = new Pessoal(rs.getString("p.codpes"),
					rs.getString("p.nome"), rs.getString("p.cargo"),
					rs.getString("p.sigla"), new ArrayList<Movimenta>());

			listaPessoal.add(p);

		}

		for (Pessoal p : listaPessoal) {

			stmt = con
					.prepareStatement("select * from movimenta m where m.codpes = ? and m.dtdev is null");
			stmt.setString(1, p.getCodPessoal());
			rs = stmt.executeQuery();

			while (rs.next()) {

				Movimenta m = new Movimenta(rs.getInt("m.lanca"),
						rs.getString("m.secproc"), rs.getString("m.numproc"),
						rs.getString("m.anoproc"), rs.getString("m.dtdist"),
						rs.getString("m.dtdev"), rs.getString("m.codpes"),
						rs.getString("m.codpron"));

				p.getListaMovimenta().add(m);

			}

		}

		close();
		return listaPessoal;

	}

[color=red]Eu só gostaria de imprimir um PDF através de uma lista que eu fiz na minha classe MovimentaDao.[/color]

Muito obrigado :smiley:

Criado 25 de setembro de 2012
Respostas 0
Participantes 1