Boa noite a todos preciso de uma ajuda, criei um simples relatorio com o ireport e estou tetanto implementar os metodos para chamar ele de dentro no sistema.
os metodos estam até executando, mas nao esta me gerando nenhum erro e nem o relatorio.
Desculpem se for banal a pergunta mas sou iniciante.
Grato desde ja
Classe DAOProduto
package dao;
import conexao.Conexao;
import dto.DTOProduto;
import java.sql.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import net.sf.jasperreports.engine.JasperManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.view.JasperViewer;
public class DAOProduto {
private Connection con;
private String valores[];
private String dir = System.getProperty("user.dir") + "/web/Relatorios/";
public DAOProduto() {
con = Conexao.getInstancia().criarConexao();
}
public void inserir(DTOProduto produto) {
String sql = "INSERT INTO produto(nome,descricao,laboratorio,quantidade,valor_venda) " +
"VALUE (?, ?, ?, ?, ?);";
try {
PreparedStatement smtp = con.prepareStatement(sql);
smtp.setString(1, produto.getNome());
smtp.setString(2, produto.getDescricao());
smtp.setString(3, produto.getLaboratorio());
smtp.setInt(4, produto.getQuantidade());
smtp.setFloat(5, produto.getValor_venda());
smtp.executeUpdate();
limpar_campos(produto);
} catch (SQLException sqle) {
sqle.printStackTrace();
}
}
public List<DTOProduto> pesquisar(String nome) {
List<DTOProduto> produtos = new ArrayList<DTOProduto>();
String sql = " SELECT idProduto,nome,descricao,laboratorio,quantidade,valor_venda " +
" FROM produto where produto.nome LIKE '%" + nome + "%' ";
try {
PreparedStatement smtp = con.prepareStatement(sql);
ResultSet rs = smtp.executeQuery();
while (rs.next()) {
DTOProduto p = new DTOProduto();
p.setIdProduto(rs.getInt(1));
p.setNome(rs.getString(2));
p.setDescricao(rs.getString(3));
p.setLaboratorio(rs.getString(4));
p.setQuantidade(rs.getInt(5));
p.setValor_venda(rs.getFloat(6));
produtos.add(p);
}
} catch (SQLException sqle) {
sqle.printStackTrace();
}
return produtos;
}
public void alterar(DTOProduto produto) {
String sql = " UPDATE produto SET nome = ?,descricao = ?,laboratorio = ?, " +
" quantidade = ?,valor_venda = ? WHERE idProduto = ?; ";
try {
PreparedStatement smtp = con.prepareStatement(sql);
smtp.setString(1, produto.getNome());
smtp.setString(2, produto.getDescricao());
smtp.setString(3, produto.getLaboratorio());
smtp.setInt(4, produto.getQuantidade());
smtp.setFloat(5, produto.getValor_venda());
smtp.setInt(6, produto.getIdProduto());
smtp.execute();
limpar_campos(produto);
} catch (SQLException sqle) {
sqle.printStackTrace();
}
}
public void excluir(DTOProduto p) {
String sql = "DELETE FROM `produto` WHERE `idProduto` = ?;";
try {
PreparedStatement smtp = con.prepareStatement(sql);
smtp.setInt(1, p.getIdProduto());
smtp.execute();
} catch (SQLException sqle) {
sqle.printStackTrace();
}
}
public void limpar_campos(DTOProduto prod) {
prod.setNome(null);
prod.setDescricao(null);
prod.setLaboratorio(null);
prod.setQuantidade(null);
prod.setValor_venda(0);
}
public void RelatorioProduto() {
String sql = " SELECT * FROM produto ";
try {
PreparedStatement smtp = con.prepareStatement(sql);
ResultSet rs = smtp.executeQuery();
HashMap prod = new HashMap();
while(rs.next()) {
//for até o numero de campos da tabela
valores = new String[10];
for (int i = 1; i < 10; i++) {
valores[i] = rs.getString(i);
}
}
} catch (SQLException sqle) {
sqle.printStackTrace();
}
/* Inicio do bloco que ira gerar nossos relatorios e 3ª parte */
try {
//String array[] = valores;
JasperDesign design = JasperManager.loadXmlDesign(dir + "rptProdutos.jrxml");
// JasperDesign design = JasperManager.loadXmlDesign("\web\Relatorios\rptProdutos.jrxml");
JasperReport jr = JasperManager.compileReport(design);
HashMap parameters = new HashMap();
parameters.put("PAR_PEDID", 1);
//parameters.put("PARAMETRO_2", array[2]);
//parameters.put("PARAMETRO_3", array[5]);
//parameters.put("PARAMETRO_4", array[4]);
//parameters.put("PARAMETRO_5",array[9]);
JasperPrint impressao = JasperManager.fillReport(jr, parameters, con);
JasperViewer jrviewer = new JasperViewer(impressao, false);
jrviewer.show();
} catch (Exception e) {
e.printStackTrace();
}
}
}
ProdutoBean
package managedbeans;
import dao.DAOProduto;
import dto.DTOProduto;
import java.util.List;
public class ProdutoBean {
private DTOProduto produto;
private DAOProduto produtos;
private boolean erro = false;
private boolean edicao;
private String nome;
private List<DTOProduto> listaProdutos;
public ProdutoBean() {
produto = new DTOProduto();
produtos = new DAOProduto();
}
//geteres e setrs omitidos
private String prepararEdicao(boolean edicao) {
setEdicao(edicao);
return "edicaoProduto";
}
public String insercaoProduto() {
produto = new DTOProduto();
return prepararEdicao(false);
}
public String edicaoProduto() {
return prepararEdicao(true);
}
public String pesquisarProduto() {
listaProdutos = produtos.pesquisar(nome);
return "pesquisaProduto";
}
public String pesquisarProdutos() {
listaProdutos = produtos.pesquisar(nome);
return "";
}
public String inserirProduto() {
produtos.inserir(produto);
edicao = false;
return "";
}
public String editarProduto() {
produtos.alterar(produto);
for (int i = 0; i < listaProdutos.size(); i++) {
DTOProduto p = listaProdutos.get(i);
if (p.getIdProduto() == produto.getIdProduto()) {
listaProdutos.set(i, produto);
break;
}
}
return "";
}
public String excluirProduto() {
produtos.excluir(produto);
for (int i = 0; i < listaProdutos.size(); i++) {
DTOProduto p = listaProdutos.get(i);
if (p.getIdProduto() == produto.getIdProduto()) {
listaProdutos.remove(i);
break;
}
}
return "";
}
/**
* @return the inicial
*/
public String inicial() {
return "inicial";
}
public String gerarRelProduto(){
produtos.RelatorioProduto() ;
return "";
}
}
Pagina de Chamada do relatorio
<jsp:directive.page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"/>
<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<f:view>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title><h:outputText value="Sistema Farmatads"/></title>
</head>
<body>
<jsp:include page="cabecalho.jsp" flush="true"/>
<f:loadBundle basename="managedbeans.labels" var="label" />
<h:outputLabel value="Olá, Sr(a). #{LoginBean.funcionario.nome}. Seja bem vindo!" />
<div align="right">
<h:panelGrid columns="1">
<h:outputLabel value="#{LoginBean.dataAtual}" />
</h:panelGrid>
</div>
<h:form>
<div align="center">
<h:panelGrid border="1" columns="2">
<h:outputText value="#{label.RelProdutos}" />
<h:commandButton action="#{ProdutoBean.gerarRelProduto}" />
</h:panelGrid>
</h:form>
</div>
</body>
</html>
</f:view>
Oque estou fazendo de errado ???
Obrigado…