Esempio n. 1
0
  public void adicionar(Produto produto) {
    int posicaoEncontrada = -1;

    for (int pos = 0; pos < listaItensVenda.size() && posicaoEncontrada < 0; pos++) {
      Itens_Venda itemTemp = listaItensVenda.get(pos);

      if (itemTemp.getProduto().equals(produto)) {
        posicaoEncontrada = pos;
      }
    }

    int testeQuantidade = produto.getQuantidade();
    System.out.println("Quantidade ProdutoAAAAAAAAAAAAAAAA " + testeQuantidade);

    Itens_Venda item = new Itens_Venda();
    item.setProduto(produto);

    if (produto.getQuantidade() != 0) {

      if (posicaoEncontrada < 0) {

        item.setQuantidade(1);
        item.setValor_parcial_venda(produto.getPreco());
        listaItensVenda.add(item);

      } else {

        Itens_Venda itemTemp = listaItensVenda.get(posicaoEncontrada);

        item.setQuantidade(itemTemp.getQuantidade() + 1);

        if (item.getQuantidade() <= testeQuantidade) {

          // Novo BigDecicmal multiplico pelo preco do produto
          item.setValor_parcial_venda(
              produto.getPreco().multiply(new BigDecimal(item.getQuantidade())));
          listaItensVenda.set(posicaoEncontrada, item);

          System.out.println("IGUAL OS VALORES AAA");

          vendaCadastro.setValor_total_venda(
              vendaCadastro.getValor_total_venda().add(produto.getPreco()));
          vendaCadastro.setQuantidade(vendaCadastro.getQuantidade() + 1);

        } else {
          FacesUtil.adicionarMsgErro("Quantidade adicionada maior do que a do estoque");
        }
      }

      if (posicaoEncontrada < 0) {
        vendaCadastro.setValor_total_venda(
            vendaCadastro.getValor_total_venda().add(produto.getPreco()));
        vendaCadastro.setQuantidade(vendaCadastro.getQuantidade() + 1);
      }

    } else {
      FacesUtil.adicionarMsgErro("Produto zerado em estoque");
    }
  }
Esempio n. 2
0
  public void remover(Itens_Venda itemVenda) {
    // Marca a posicao q eu encontro, -1 é nenhuma
    int posicaoEncontrada = -1;

    // ListaItensVenda.size = Quebra a repeticao quando nao tem nada
    // posicaoEncontrada<0 = caso eu encontro eu quebro a repeticao
    for (int pos = 0; pos < listaItensVenda.size() && posicaoEncontrada < 0; pos++) {
      Itens_Venda itemTemp = listaItensVenda.get(pos);

      if (itemTemp.getProduto().equals(itemVenda.getProduto())) {
        posicaoEncontrada = pos;
      }
    }

    if (posicaoEncontrada > -1) {
      listaItensVenda.remove(posicaoEncontrada);
      vendaCadastro.setValor_total_venda(
          vendaCadastro.getValor_total_venda().subtract(itemVenda.getValor_parcial_venda()));
      vendaCadastro.setQuantidade(vendaCadastro.getQuantidade() - itemVenda.getQuantidade());
    }
  }
Esempio n. 3
0
  public void salvar() {

    Integer verificarZero = new Integer(vendaCadastro.getQuantidade());

    if (verificarZero == 0) {
      FacesUtil.adicionarMsgErro("Nenhum produto adicionado para venda");
    } else {

      try {
        VendaDAO vendaDao = new VendaDAO();
        Long idVenda = vendaDao.salvar(vendaCadastro);
        Venda vendaFK = vendaDao.buscarPorCodigo(idVenda);

        for (Itens_Venda item : listaItensVenda) {
          item.setVenda(vendaFK);
          Itens_VendaDAO itemDAO = new Itens_VendaDAO();
          itemDAO.salvar(item);

          Produto produto = item.getProduto();
          int quantidade = produto.getQuantidade() - item.getQuantidade();
          produto.setQuantidade(quantidade);

          ProdutoDAO produtoDAO = new ProdutoDAO();
          produtoDAO.editar(produto);
        }

        FacesUtil.adicionarMsgInfo("Venda Salva com sucesso");

        vendaCadastro = new Venda();
        vendaCadastro.setValor_total_venda(new BigDecimal(0));
        vendaCadastro.setQuantidade(0);
        listaItensVenda = new ArrayList<Itens_Venda>();
        vendaCadastro.setValorTroco(new BigDecimal("0.00"));

      } catch (RuntimeException ex) {
        FacesUtil.adicionarMsgErro("Erro ao tentar salvar a venda: " + ex.getMessage());
      }
    }
  }