Ajuda com adicionar itens no Pedido de Venda

1 resposta
D

Boa noite pessoal, estou com serio problema no meu TCC e não esto conseguindo resolver.
Tenho um classe PedidoVenda, Itens venda. Porem são em pagina diferente e quando mando adiciona o produto no List do pedido de venda ele não fica gravado no momento de salva o que pode ser ?

@Entity
@Table(name="pedidosvenda")
public class PedidoVenda implements Serializable {
    
    @GeneratedValue
    @Id
    private Integer idpedidovenda;
    
    @ManyToOne(fetch= FetchType.EAGER)
    @JoinColumn(name="idCliente",insertable=true,updatable=true)
    @Cascade(org.hibernate.annotations.CascadeType.ALL)
    private Cliente cliente;
    
    @ManyToOne(fetch= FetchType.LAZY)
    @JoinColumn(name="idTransportadora",insertable=true,updatable=true)
    @Cascade(org.hibernate.annotations.CascadeType.ALL)
    private Transportadora transportadora;
    
    @OneToMany(mappedBy = "pedido", targetEntity = ItensPedido.class, fetch = FetchType.EAGER, cascade = CascadeType.ALL)
    private List<ItensPedido> itensPedido;
    
     // public void addItem(ItensPedido ii)
    //{
     //if(itensPedido == null)
      //{
         //itensPedido= new LinkedList<ItensPedido>();
                 
      //}
      //ii.setPedido(this);
      //itensPedido.add(ii);
   // }
   
    

    @Temporal(javax.persistence.TemporalType.DATE)
    private Date datacadastro;
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date dataentrega;
    private String observacao;
    private double desconto;

    public Cliente getCliente() {
        return cliente;
    }

    public void setCliente(Cliente cliente) {
        this.cliente = cliente;
    }

    public Date getDatacadastro() {
        return datacadastro;
    }

    public void setDatacadastro(Date datacadastro) {
        this.datacadastro = datacadastro;
    }

    public Date getDataentrega() {
        return dataentrega;
    }

    public void setDataentrega(Date dataentrega) {
        this.dataentrega = dataentrega;
    }

    public double getDesconto() {
        return desconto;
    }

    public void setDesconto(double desconto) {
        this.desconto = desconto;
    }

    public Integer getIdpedidovenda() {
        return idpedidovenda;
    }

    public void setIdpedidovenda(Integer idpedidovenda) {
        this.idpedidovenda = idpedidovenda;
    }

    public List<ItensPedido> getItensPedido() {
        return itensPedido;
    }

    public void setItensPedido(List<ItensPedido> itensPedido) {
        this.itensPedido = itensPedido;
    }

    public String getObservacao() {
        return observacao;
    }

    public void setObservacao(String observacao) {
        this.observacao = observacao;
    }

    public Transportadora getTransportadora() {
        return transportadora;
    }

    public void setTransportadora(Transportadora transportadora) {
        this.transportadora = transportadora;
    }
@Entity
@Table(name="ItensPedido")
public class ItensPedido implements Serializable{
    
    @Id
    @GeneratedValue
    
    private Integer idItensPedido;
   
    
    @ManyToOne
    @JoinColumn(name="idpedidovenda")
    private PedidoVenda pedido;
    
    @ManyToOne(fetch= FetchType.EAGER)
    @JoinColumn(name="idproduto",insertable=true,updatable=true)
    @Cascade(org.hibernate.annotations.CascadeType.ALL)
    private Produto produto;
    
    @Column(nullable=false)
    private String descricao;
    
    @Column(nullable=false)
    private double quantidade;
    
    @Column(nullable=false)
    private double valorUnitario;
    
    @Column(nullable=false)
    private double desconto;
    
    @Column(nullable=false)
    private double valorTotal;

    public double getDesconto() {
        return desconto;
    }

    public void setDesconto(double desconto) {
        this.desconto = desconto;
    }

    public Integer getIdItensPedido() {
        return idItensPedido;
    }

    public void setIdItensPedido(Integer idItensPedido) {
        this.idItensPedido = idItensPedido;
    }

    public PedidoVenda getPedido() {
        return pedido;
    }

    public void setPedido(PedidoVenda pedido) {
        this.pedido = pedido;
    }

    public Produto getProduto() {
        return produto;
    }

    public void setProduto(Produto produto) {
        this.produto = produto;
    }

    public double getQuantidade() {
        return quantidade;
    }

    public void setQuantidade(double quantidade) {
        this.quantidade = quantidade;
    }

    public double getValorTotal() {
        return valorTotal;
    }

    public void setValorTotal(double valorTotal) {
        this.valorTotal = valorTotal;
    }

    public double getValorUnitario() {
        return valorUnitario;
    }

    public void setValorUnitario(double valorUnitario) {
        this.valorUnitario = valorUnitario;
    }

    public String getDescricao() {
        return descricao;
    }

    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }
Tenho também minha controller.
@ManagedBean(name="pedidoVendaController")
@ViewScoped
public class PedidoVendaController {
    
   
    public PedidoVenda pedido = new PedidoVenda();
    public Cliente cliente = new Cliente();
    private CartesianChartModel categoryModel = new CartesianChartModel();  
    public  List<ItensPedido> p = new ArrayList<ItensPedido>();
    
   
    private DataModel listaCliente;
    private List listaPedido;

    public CartesianChartModel getCategoryModel() {
        return categoryModel;
    }

    public void setCategoryModel(CartesianChartModel categoryModel) {
        this.categoryModel = categoryModel;
    }

    
    
    private void createCategoryModel() {  
       // categoryModel = new CartesianChartModel();  
   
        
        ChartSeries boys = new ChartSeries();  
        boys.setLabel("Boys");  
  
        boys.set(listaPedido.toString(), 120);  
        boys.set("2005", 100);  
        boys.set("2006", 44);  
        boys.set("2007", 150);  
        boys.set("2008", 25);  
  
        ChartSeries girls = new ChartSeries();  
        girls.setLabel("Girls");  
  
        girls.set("2004", 52);  
        girls.set("2005", 60);  
        girls.set("2006", 110);  
        girls.set("2007", 135);  
        girls.set("2008", 120);  
  
        categoryModel.addSeries(boys);  
        categoryModel.addSeries(girls);  
    }  
    
    public PedidoVendaController() {
        
        listaPedido();       
        ChartSeries boys = new ChartSeries();  
        boys.setLabel("Boys");  
        
        boys.set(listaPedido, 120);  
        boys.set("2005", 100);  
        boys.set("2006", 44);  
        boys.set("2007", 150);  
        boys.set("2008", 25);  
  
        ChartSeries girls = new ChartSeries();  
        girls.setLabel("Girls");  
  
        girls.set("2004", 52);  
        girls.set("2005", 60);  
        girls.set("2006", 110);  
        girls.set("2007", 135);  
        girls.set("2008", 120);  
  
        categoryModel.addSeries(boys);  
        categoryModel.addSeries(girls);
    }
    
    public void limpar()
    {
       p = null;
    }

    public List getListaPedido() {
        return listaPedido;
    }

    public void setListaPedido(List listaPedido) {
        this.listaPedido = listaPedido;
    }

    
  
    
    
    

  
    public Cliente getCliente() {
        return cliente;
    }

    public void setCliente(Cliente cliente) {
        this.cliente = cliente;
    }

    public DataModel getListaCliente() {
        return listaCliente;
    }

    public void setListaCliente(DataModel listaCliente) {
        this.listaCliente = listaCliente;
    }

    public PedidoVenda getPedido() {
        return pedido;
    }

    public void setPedido(PedidoVenda pedido) {
        this.pedido = pedido;
    }

    public List<ItensPedido> getP() {
        return p;
    }

    public void setP(List<ItensPedido> p) {
        this.p = p;
    }


  
    
    
    
    
    
    public DataModel listar() {
        List<Cliente> lista = new ClienteDAO().listar();
        listaCliente = new ListDataModel(lista);
        return listaCliente;
    }
    
  
    
    public void prepararAdicionarPedidoVenda()
    {
       PedidoVenda dao = new PedidoVenda();
       
       
    }
    
    
    public void adicionarPedidoVenda()
    {
     
     
              
       PedidoVendaDAO dao = new PedidoVendaDAO();
       pedido.setCliente(cliente);
       Date data = new Date(System.currentTimeMillis());
       pedido.setDatacadastro(data);
       cliente.setPedido(new HashSet<PedidoVenda>());
       
       for(ItensPedido end : p)
       {
         end.setPedido(pedido);
         pedido.setItensPedido(p);
       }
      
       
             dao.save(pedido);
             p.clear();
             p = null;
           
        
     }
    
           
    public void addItensPedido (List<ItensPedido> itensPedido)
    {
      
      p.addAll(itensPedido);
     
      
    }
    
    public void preparar()
    {
    
         p = new ArrayList<ItensPedido>();
      
    }
    
    public void remove()
    {
      p.remove(p);
    }
     
    
     public List<Object> listaPedido() {
        
        List<Object> lista = new PedidoVendaDAO().lista();
        listaPedido= lista;
       
        return lista;
        
    }
@ManagedBean(name="ItensPedidoController")
@SessionScoped
public class ItensController {
    
    public Produto produto = new Produto();
    public ItensPedido itensPedido = null;
    private DataModel listaProduto;
     public List<ItensPedido> itens = new ArrayList<ItensPedido>();
   

    public ItensPedido getItensPedido() {
        return itensPedido;
    }

    public void setItensPedido(ItensPedido itensPedido) {
        this.itensPedido = itensPedido;
    }

    public DataModel getListaProduto() {
        return listaProduto;
    }

    public void setListaProduto(DataModel listaProduto) {
        this.listaProduto = listaProduto;
    }

   

    public Produto getProduto() {
        return produto;
    }

    public void setProduto(Produto produto) {
        this.produto = produto;
    }
    
    
    
     public void prepararAdicionarItensPedidoVenda()
    {
       itensPedido = new ItensPedido();
       
    }
     
public List<ItensPedido> addItensPedido()
    {
       PedidoVendaController ped = new PedidoVendaController();
       itensPedido.setPedido(ped.pedido);
       itensPedido.setProduto(produto);
       produto.setItensPedido(new HashSet<ItensPedido>());
       itensPedido.setDescricao(produto.getDescricao());
       itensPedido.setValorUnitario(produto.getValorVenda());
       itensPedido.setValorTotal((itensPedido.getQuantidade() * itensPedido.getValorUnitario())-itensPedido.getDesconto());  
       itens.add(itensPedido);
       
       ped.addItensPedido(itens);
    
      
        
       return itens;
       
    }
    
   
   
     
         public DataModel listarProduto() {
        List<Produto> lista = new ProdutoDAO().listar();
        listaProduto = new ListDataModel(lista);
        return listaProduto;
       }
    
}

1 Resposta

Everton_Koga

Boa noite danilomalves

Poderia explicar melhor como funciona o sistema? você adiciona o produto em uma lista em tela separada depois em outra você pega esta lista e salva no banco??

Criado 10 de agosto de 2012
Ultima resposta 10 de ago. de 2012
Respostas 1
Participantes 2