예제 #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");
    }
  }
예제 #2
0
  public void carregarProdutos() {
    try {
      ProdutoDAO dao = new ProdutoDAO();
      listaProdutos = dao.listar();

    } catch (RuntimeException ex) {
      FacesUtil.adicionarMsgErro("Erro ao tentar listar os produto: " + ex.getMessage());
    }
  }
예제 #3
0
  public void calcularTroco() {
    Double valorRecebido = vendaCadastro.getValorRecebido().doubleValue();
    Double valorVenda = vendaCadastro.getValor_total_venda().doubleValue();
    Double valorRestante = valorVenda - valorRecebido;
    Double valorCorrigido = formatarDecimal(valorRestante);

    if (vendaCadastro.getValorRecebido().equals(vendaCadastro.getValor_total_venda())) {
      FacesUtil.adicionarMsgErro("Valor Recebido igual ao da Venda");

    } else if (valorRecebido < valorVenda) {
      FacesUtil.adicionarMsgErro("Ainda faltam R$ " + valorCorrigido);
      vendaCadastro.setValorTroco(new BigDecimal("0.00"));
    } else if (valorVenda == 0) {
      FacesUtil.adicionarMsgErro("Nenhum produto foi adcionado");
    } else {
      vendaCadastro.setValorTroco(
          vendaCadastro.getValor_total_venda().subtract(vendaCadastro.getValorRecebido()));
    }
  }
예제 #4
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());
      }
    }
  }
예제 #5
0
  public void carregarDadosVenda() {
    double valorTeste = vendaCadastro.getValor_total_venda().doubleValue();

    if (valorTeste == 0) {
      FacesUtil.adicionarMsgErro("Nenhum produto");
    } else {
      vendaCadastro.setHorario_venda(new Date());
      FuncionarioDAO dao = new FuncionarioDAO();
      Funcionario fun = dao.buscarPorCodigo(autenticacaoBean.getFuncionarioLogado().getId());

      vendaCadastro.setFuncionario(fun);
    }
  }
예제 #6
0
  public void buscar() {
    try {
      VendaDAO venda = new VendaDAO();
      listaVendasFiltradas = venda.buscar(filtro);

      // for(Venda vendas:listaVendasFiltradas){

      // System.out.println(vendas);
      // }

    } catch (RuntimeException ex) {
      FacesUtil.adicionarMsgErro("Erro ao tentar buscar vendas: " + ex.getMessage());
    }
  }