Estou iniciando no java e gostaria de fazer um master detail simples, na mesta tela mas não consigo fazer a datatable detalhe exibir os registros detalhe do master.
A estrutura é PREPEDIDOVENDA e ITEMPREPEDIDOVENDA. As classes foram mapeadas pelo hibernate e foi feito relacionamento 1 para N.
Desde já, obrigado!
Itamar G. Jr.
Analista de Sistemas Sr
Werner Tecidos S/A
itamar.gjr!@gmail.com
MANAGER BEAN:
package manager;
import java.util.ArrayList;
import java.util.List;
import persistence.PrePedidoVendaDao;
import entity.PrePedidoVenda;
public class PrePedBean {
private PrePedidoVenda prepedidovenda;
private List<PrePedidoVenda> listaPrePedidoVenda;
public PrePedBean() {
prepedidovenda = new PrePedidoVenda();
listaPrePedidoVenda = new ArrayList<PrePedidoVenda>();
}
public PrePedidoVenda getPrepedidovenda() {
return prepedidovenda;
}
public void setPrepedidovenda(PrePedidoVenda prepedidovenda) {
this.prepedidovenda = prepedidovenda;
}
public List<PrePedidoVenda> getListaPrePedidoVenda() {
try {
listaPrePedidoVenda = new PrePedidoVendaDao().findAll(PrePedidoVenda.class, "numero_preped");
} catch (Exception e) {
e.printStackTrace();
}
return listaPrePedidoVenda;
}
public void setListaPrePedidoVenda(List<PrePedidoVenda> listaPrePedidoVenda) {
this.listaPrePedidoVenda = listaPrePedidoVenda;
}
}
JSP:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://richfaces.org/rich" prefix="rich" %>
<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Sistema de Pedidos - Werner Fábrica de Tecidos S/A</title>
</head>
<body>
<f:view>
<a4j:form id="formconsultaprepedidos" >
<rich:dataTable value="#{mbprog.listaPrePedidoVenda}" var="pre">
<h:column>
<f:facet name="header">
<h:outputText value="Pré Pedido" />
</f:facet>
<h:outputText value="#{pre.numero_preped}" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Data" />
</f:facet>
<h:outputText value="#{pre.data_preped}" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Cliente" />
</f:facet>
<h:outputText value="#{pre.codigo_cliente}" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Representante" />
</f:facet>
<h:outputText value="#{pre.codigo_representante}" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Transportadora" />
</f:facet>
<h:outputText value="#{pre.codigo_transportadora}" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Previsão de Entrega" />
</f:facet>
<h:outputText value="#{pre.previsaoentrega_preped}" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Condição de Faturamento" />
</f:facet>
<h:outputText value="#{pre.codigo_condfat}" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Tabela de Vendas" />
</f:facet>
<h:outputText value="#{pre.codigo_tabven}" />
</h:column>
<rich:column>
<f:facet name="header">
<h:outputText value="Detalhar" />
</f:facet>
<a4j:commandLink value="Selecionar" reRender="paineldetalhe">
<f:setPropertyActionListener value="#{pre}" target="#{mbprog.prepedidovenda}"/>
</a4j:commandLink>
</rich:column>
</rich:dataTable>
<br /><br />
<h:panelGrid id="paineldetalhe">
<rich:dataGrid value="#{mbprog.prepedidovenda.itemprepedidovenda}" var="item">
<h:column>
<f:facet name="header">
<h:outputText value="Artigo" />
</f:facet>
<h:outputText value="#{item.codigo_artigo}" />
</h:column>
</rich:dataGrid>
</h:panelGrid>
</a4j:form>
<br /><br />
<a href="menuprincipal.jsf">Voltar</a>
</f:view>
</body>
</html>
PREPEDIDOVENDA:
package entity;
import java.util.Date;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.OneToMany;
@Entity
public class PrePedidoVenda {
@Id
@Column
private Integer numero_preped;
@Column
private Date data_preped;
@Column
private Integer codigo_cliente;
@Column
private String tipo_preped;
@Column
private Integer codigo_representante;
@Column
private Integer codigo_representante2;
@Column
private String codigo_transportadora;
@Column
private String codigo_transpredespacho;
@Column
private Integer id_tabven;
@Column
private String obs_preped1;
@Column
private String obs_preped2;
@Column
private String obs_preped3;
@Column
private String obs_preped4;
@Column
private String previsaoentrega_preped;
@Column
private String numpedcliente_preped;
@Column
private String datapedcliente_preped;
@Column
private String arquivo_preped;
@Column
private Date datarecep_preped;
@Column
private String japrint_preped;
@Column
private String codigo_condfat;
@Column
private String codigo_tabven;
@OneToMany(mappedBy="prepedidovenda", cascade=CascadeType.ALL)
private List<ItemPrePedidoVenda> itemprepedidovenda;
public PrePedidoVenda(Integer numero_preped, Date data_preped,
Integer codigo_cliente, String tipo_preped,
Integer codigo_representante, Integer codigo_representante2,
String codigo_transportadora, String codigo_transpredespacho,
Integer id_tabven, String obs_preped1, String obs_preped2,
String obs_preped3, String obs_preped4,
String previsaoentrega_preped, String numpedcliente_preped,
String datapedcliente_preped, String arquivo_preped,
Date datarecep_preped, String japrint_preped,
String codigo_condfat, String codigo_tabven) {
super();
this.numero_preped = numero_preped;
this.data_preped = data_preped;
this.codigo_cliente = codigo_cliente;
this.tipo_preped = tipo_preped;
this.codigo_representante = codigo_representante;
this.codigo_representante2 = codigo_representante2;
this.codigo_transportadora = codigo_transportadora;
this.codigo_transpredespacho = codigo_transpredespacho;
this.id_tabven = id_tabven;
this.obs_preped1 = obs_preped1;
this.obs_preped2 = obs_preped2;
this.obs_preped3 = obs_preped3;
this.obs_preped4 = obs_preped4;
this.previsaoentrega_preped = previsaoentrega_preped;
this.numpedcliente_preped = numpedcliente_preped;
this.datapedcliente_preped = datapedcliente_preped;
this.arquivo_preped = arquivo_preped;
this.datarecep_preped = datarecep_preped;
this.japrint_preped = japrint_preped;
this.codigo_condfat = codigo_condfat;
this.codigo_tabven = codigo_tabven;
}
public PrePedidoVenda() {
super();
}
public List<ItemPrePedidoVenda> getItemprepedidovenda() {
return itemprepedidovenda;
}
public void setItemprepedidovenda(List<ItemPrePedidoVenda> itemprepedidovenda) {
this.itemprepedidovenda = itemprepedidovenda;
}
public Integer getNumero_preped() {
return numero_preped;
}
public void setNumero_preped(Integer numero_preped) {
this.numero_preped = numero_preped;
}
public Date getData_preped() {
return data_preped;
}
public void setData_preped(Date data_preped) {
this.data_preped = data_preped;
}
public Integer getCodigo_cliente() {
return codigo_cliente;
}
public void setCodigo_cliente(Integer codigo_cliente) {
this.codigo_cliente = codigo_cliente;
}
public String getTipo_preped() {
return tipo_preped;
}
public void setTipo_preped(String tipo_preped) {
this.tipo_preped = tipo_preped;
}
public Integer getCodigo_representante() {
return codigo_representante;
}
public void setCodigo_representante(Integer codigo_representante) {
this.codigo_representante = codigo_representante;
}
public Integer getCodigo_representante2() {
return codigo_representante2;
}
public void setCodigo_representante2(Integer codigo_representante2) {
this.codigo_representante2 = codigo_representante2;
}
public String getCodigo_transportadora() {
return codigo_transportadora;
}
public void setCodigo_transportadora(String codigo_transportadora) {
this.codigo_transportadora = codigo_transportadora;
}
public String getCodigo_transpredespacho() {
return codigo_transpredespacho;
}
public void setCodigo_transpredespacho(String codigo_transpredespacho) {
this.codigo_transpredespacho = codigo_transpredespacho;
}
public Integer getId_tabven() {
return id_tabven;
}
public void setId_tabven(Integer id_tabven) {
this.id_tabven = id_tabven;
}
public String getObs_preped1() {
return obs_preped1;
}
public void setObs_preped1(String obs_preped1) {
this.obs_preped1 = obs_preped1;
}
public String getObs_preped2() {
return obs_preped2;
}
public void setObs_preped2(String obs_preped2) {
this.obs_preped2 = obs_preped2;
}
public String getObs_preped3() {
return obs_preped3;
}
public void setObs_preped3(String obs_preped3) {
this.obs_preped3 = obs_preped3;
}
public String getObs_preped4() {
return obs_preped4;
}
public void setObs_preped4(String obs_preped4) {
this.obs_preped4 = obs_preped4;
}
public String getPrevisaoentrega_preped() {
return previsaoentrega_preped;
}
public void setPrevisaoentrega_preped(String previsaoentrega_preped) {
this.previsaoentrega_preped = previsaoentrega_preped;
}
public String getNumpedcliente_preped() {
return numpedcliente_preped;
}
public void setNumpedcliente_preped(String numpedcliente_preped) {
this.numpedcliente_preped = numpedcliente_preped;
}
public String getDatapedcliente_preped() {
return datapedcliente_preped;
}
public void setDatapedcliente_preped(String datapedcliente_preped) {
this.datapedcliente_preped = datapedcliente_preped;
}
public String getArquivo_preped() {
return arquivo_preped;
}
public void setArquivo_preped(String arquivo_preped) {
this.arquivo_preped = arquivo_preped;
}
public Date getDatarecep_preped() {
return datarecep_preped;
}
public void setDatarecep_preped(Date datarecep_preped) {
this.datarecep_preped = datarecep_preped;
}
public String getJaprint_preped() {
return japrint_preped;
}
public void setJaprint_preped(String japrint_preped) {
this.japrint_preped = japrint_preped;
}
public String getCodigo_condfat() {
return codigo_condfat;
}
public void setCodigo_condfat(String codigo_condfat) {
this.codigo_condfat = codigo_condfat;
}
public String getCodigo_tabven() {
return codigo_tabven;
}
public void setCodigo_tabven(String codigo_tabven) {
this.codigo_tabven = codigo_tabven;
}
@Override
public String toString() {
return "PrePedidoVenda [numero_preped=" + numero_preped
+ ", data_preped=" + data_preped + ", codigo_cliente="
+ codigo_cliente + ", tipo_preped=" + tipo_preped
+ ", codigo_representante=" + codigo_representante
+ ", codigo_representante2=" + codigo_representante2
+ ", codigo_transportadora=" + codigo_transportadora
+ ", codigo_transpredespacho=" + codigo_transpredespacho
+ ", id_tabven=" + id_tabven + ", obs_preped1=" + obs_preped1
+ ", obs_preped2=" + obs_preped2 + ", obs_preped3="
+ obs_preped3 + ", obs_preped4=" + obs_preped4
+ ", previsaoentrega_preped=" + previsaoentrega_preped
+ ", numpedcliente_preped=" + numpedcliente_preped
+ ", datapedcliente_preped=" + datapedcliente_preped
+ ", arquivo_preped=" + arquivo_preped + ", datarecep_preped="
+ datarecep_preped + ", japrint_preped=" + japrint_preped
+ ", codigo_condfat=" + codigo_condfat + ", codigo_tabven="
+ codigo_tabven + "]";
}
}
ITEMPREPEDIDOVENDA:
package entity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
@Entity
public class ItemPrePedidoVenda {
@Id
@Column
private Integer id_artcolcorfun;
@Column
private Double quantpedido_itempreped;
@Column
private Double quantatendido_itempreped;
@Column
private String situacao_itempreped;
@Column
private Integer numitem_pedcliente;
@Column
private Double preco_itempreped;
@ManyToOne
@JoinColumn(name="numero_preped")
private PrePedidoVenda prepedidovenda;
public ItemPrePedidoVenda(Integer id_artcolcorfun,
Double quantpedido_itempreped, Double quantatendido_itempreped,
String situacao_itempreped, Integer numitem_pedcliente,
Double preco_itempreped) {
super();
this.id_artcolcorfun = id_artcolcorfun;
this.quantpedido_itempreped = quantpedido_itempreped;
this.quantatendido_itempreped = quantatendido_itempreped;
this.situacao_itempreped = situacao_itempreped;
this.numitem_pedcliente = numitem_pedcliente;
this.preco_itempreped = preco_itempreped;
}
public ItemPrePedidoVenda() {
super();
}
public PrePedidoVenda getPrepedidovenda() {
return prepedidovenda;
}
public void setPrepedidovenda(PrePedidoVenda prepedidovenda) {
this.prepedidovenda = prepedidovenda;
}
public Integer getId_artcolcorfun() {
return id_artcolcorfun;
}
public void setId_artcolcorfun(Integer id_artcolcorfun) {
this.id_artcolcorfun = id_artcolcorfun;
}
public Double getQuantpedido_itempreped() {
return quantpedido_itempreped;
}
public void setQuantpedido_itempreped(Double quantpedido_itempreped) {
this.quantpedido_itempreped = quantpedido_itempreped;
}
public Double getQuantatendido_itempreped() {
return quantatendido_itempreped;
}
public void setQuantatendido_itempreped(Double quantatendido_itempreped) {
this.quantatendido_itempreped = quantatendido_itempreped;
}
public String getSituacao_itempreped() {
return situacao_itempreped;
}
public void setSituacao_itempreped(String situacao_itempreped) {
this.situacao_itempreped = situacao_itempreped;
}
public Integer getNumitem_pedcliente() {
return numitem_pedcliente;
}
public void setNumitem_pedcliente(Integer numitem_pedcliente) {
this.numitem_pedcliente = numitem_pedcliente;
}
public Double getPreco_itempreped() {
return preco_itempreped;
}
public void setPreco_itempreped(Double preco_itempreped) {
this.preco_itempreped = preco_itempreped;
}
@Override
public String toString() {
return "ItemPrePedidoVenda [id_artcolcorfun=" + id_artcolcorfun
+ ", quantpedido_itempreped=" + quantpedido_itempreped
+ ", quantatendido_itempreped=" + quantatendido_itempreped
+ ", situacao_itempreped=" + situacao_itempreped
+ ", numitem_pedcliente=" + numitem_pedcliente
+ ", preco_itempreped=" + preco_itempreped + "]";
}
}