daniman

Lanchonete Java

Feb 4th, 2012
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 9.65 KB | None | 0 0
  1. private void jbEfetuarVendaActionPerformed(java.awt.event.ActionEvent evt) {                                              
  2.  
  3.  
  4.         int codigo, qtd, i = 0;
  5.  
  6.         //Inicializando a matriz que irá guardar o código e a quantidade
  7.         inicializar();
  8.  
  9.         //Obtendo o código e a quantidade do jtextfield e realizando tratamento de exceção
  10.         try {
  11.             codigo = Integer.parseInt(jtNome.getText());
  12.         } catch (Exception e) {
  13.             JOptionPane.showMessageDialog(null, "Digite apenas números", "Erro", JOptionPane.ERROR_MESSAGE);
  14.             jtNome.setText("");
  15.             return;
  16.         }
  17.  
  18.         try {
  19.             qtd = Integer.parseInt(jtQtd.getText());
  20.         } catch (Exception e) {
  21.             JOptionPane.showMessageDialog(null, "Digite apenas números", "Erro", JOptionPane.ERROR_MESSAGE);
  22.             jtQtd.setText("");
  23.             return;
  24.         }
  25.  
  26.         ////ESTABELECENDO UMA CONEXÃO COM O BANCO DE DADOS
  27.         try {
  28.             //Carregando o driver do mysql
  29.             Class.forName("com.mysql.jdbc.Driver");
  30.  
  31.  
  32.         } catch (ClassNotFoundException ex) {
  33.             Logger.getLogger(CaixaOperacao.class.getName()).log(Level.SEVERE, null, ex);
  34.         }
  35.  
  36.         Connection conn = null;
  37.         try {
  38.  
  39.             // Abrindo uma conexão com o banco de dados, passando uma String de conexão.
  40.             conn = DriverManager.getConnection("jdbc:mysql://localhost/lanchonete?user=root&password=manutencao");
  41.  
  42.  
  43.         } catch (SQLException ex) {
  44.             Logger.getLogger(CaixaOperacao.class.getName()).log(Level.SEVERE, null, ex);
  45.         }
  46.  
  47.         //String que armazena uma query do msql
  48.         String query = "select * from listaprodutos ";
  49.  
  50.         Statement st = null;
  51.         try {
  52.             st = conn.createStatement();
  53.  
  54.         } catch (SQLException ex) {
  55.             Logger.getLogger(CaixaOperacao.class.getName()).log(Level.SEVERE, null, ex);
  56.         }
  57.  
  58.  
  59.         ResultSet rs = null;
  60.         try {
  61.             rs = st.executeQuery(query);
  62.         } catch (SQLException ex) {
  63.             Logger.getLogger(CaixaOperacao.class.getName()).log(Level.SEVERE, null, ex);
  64.         }
  65.  
  66.  
  67.         try {
  68.             // Varre os registro do banco até o final
  69.             while (rs.next()) {
  70.  
  71.                 int code = rs.getInt("codigo");//Obtém código do produto
  72.  
  73.                 //verificando se o código existe
  74.                 //Caso exista então criamos uma lista de compras e exbimos a tabela
  75.                 if (code == codigo) {
  76.  
  77.                     String nome = rs.getString("nomeProduto");
  78.                     float preco = rs.getFloat("valor");
  79.                     int quantidade = rs.getInt("qtd");
  80.  
  81.                     JOptionPane.showConfirmDialog(null, "Deseja confirma venda", "Caixa", 0, JOptionPane.QUESTION_MESSAGE);
  82.  
  83.                     if (JOptionPane.YES_OPTION == 0) {  //Confirmar venda
  84.  
  85.                         if (quantidade == -1) { //Pratos
  86.                             Pratos prato = new Pratos(nome, preco, codigo);
  87.                             listaCompras.add(prato); //adiciona ao carrinhop
  88.                         } else {//Lacrados
  89.                             Lacrados lacrado = new Lacrados(nome, preco, code); //Sobrecarga
  90.                             listaCompras.add(lacrado); //Adiciona ao carrinho
  91.                         }
  92.  
  93.                         //Adicionando nova linha na lista
  94.                         modelo.addRow(new Object[]{new Integer(code), nome, new Float(preco), new Integer(qtd)});
  95.                         //jScrollPane2.setViewportView(tabela);
  96.  
  97.                         //Inserindo o código e a quantidade na matriz
  98.                         inserir(code, qtd);
  99.  
  100.                         //Após a confimação de venda limpamos os campos "nome" e "qtd" para permitir uma nova venda
  101.                         jtNome.setText("");
  102.                         jtQtd.setText("");
  103.  
  104.  
  105.                     } else {
  106.                         JOptionPane.showMessageDialog(null, "Operação cancelada", "Mensagem", JOptionPane.INFORMATION_MESSAGE);
  107.                     }
  108.  
  109.                     i++; //Código existe
  110.                 }
  111.             }
  112.  
  113.             //Mensagem será abaixo será exibida caso código digitado não exista no banco de dados
  114.             if (i == 0) {
  115.                 JOptionPane.showMessageDialog(null, "o código informado não possui cadastro ", "Caixa", JOptionPane.INFORMATION_MESSAGE);
  116.                 jtNome.setText("");
  117.                 jtQtd.setText("");
  118.             }
  119.  
  120.         } catch (SQLException ex) {
  121.             Logger.getLogger(exibirProdutos.class.getName()).log(Level.SEVERE, null, ex);
  122.         }
  123.  
  124.         //FECHANDO UMA CONEXÃO COM O BANCO DE DADOS                      
  125.  
  126.  
  127.     }                                              
  128.  
  129.     public static void inicializar() {
  130.  
  131.         int i, j;
  132.  
  133.         for (i = 0; i < CaixaOperacao.linhas; i++) {
  134.             for (j = 0; j < CaixaOperacao.colunas; j++) {
  135.                 matriz[i][j] = 0;
  136.             }
  137.             //System.out.println("");
  138.         }
  139.     }
  140.  
  141.     public static void inserir(int cod, int valor) {
  142.  
  143.         int i, j;
  144.  
  145.         for (i = 0; i < CaixaOperacao.linhas; i++) {
  146.             //Verifica se a linha possui valor igual a 0 (zero)
  147.  
  148.             if (matriz[i][0] == 0) { //esta vazia
  149.  
  150.                 matriz[i][0] = cod;
  151.                 matriz[i][1] = valor;
  152.                 break;
  153.             } else {
  154.  
  155.                 if (cod == matriz[i][0]) {
  156.                     matriz[i][1] += valor;
  157.                     break;      
  158.                 }
  159.  
  160.             }
  161.  
  162.         }
  163.  
  164.     }
  165.  
  166.     private void jbCancelarItemActionPerformed(java.awt.event.ActionEvent evt) {                                              
  167.  
  168.         int codigo, i, x, y , z = 0;
  169.         String cod;
  170.  
  171.  
  172.         cod = JOptionPane.showInputDialog(null, "Informe o código do produto", "Cancelar pedido", JOptionPane.INFORMATION_MESSAGE);
  173.  
  174.         //Convertendo de string para int
  175.         codigo = Integer.parseInt(cod);
  176.  
  177.         //Varrendo a lista em busca do código
  178.         for (i = 0; i < listaCompras.size(); i++) {
  179.  
  180.             if (listaCompras.get(i) instanceof Pratos) {
  181.                 //Usando cast
  182.                 Pratos prato = (Pratos) listaCompras.get(i);
  183.  
  184.                 if (prato.getCodPrato() == codigo) { //Produto encontrado                
  185.                     listaCompras.remove(listaCompras.get(i)); //Produto removido do carrinho                                      
  186.                     JOptionPane.showMessageDialog(null, "remoção concluída", "Remover pedido", JOptionPane.INFORMATION_MESSAGE);
  187.                     z++;
  188.                     reordenarCarrinhoCompras();
  189.  
  190.                 }
  191.  
  192.             } else if (listaCompras.get(i) instanceof Lacrados) {
  193.                 Lacrados lacrado = (Lacrados) listaCompras.get(i);
  194.  
  195.                 if (lacrado.getCodEmbalados() == codigo) { //Produto encontrado                
  196.                     listaCompras.remove(listaCompras.get(i)); //Produto removido do carrinho                                      
  197.                     JOptionPane.showMessageDialog(null, "remoção concluída", "Remover pedido", JOptionPane.INFORMATION_MESSAGE);
  198.                     z++;
  199.                     reordenarCarrinhoCompras();
  200.                 }
  201.             }
  202.         }
  203.        
  204.         if(z== 0){ //Produto não encontrado
  205.             JOptionPane.showMessageDialog(null, "Produto não encontrado", "Remover pedido", JOptionPane.INFORMATION_MESSAGE);
  206.        
  207.         }      
  208.        
  209.        
  210.     }        
  211.    
  212.     public void reordenarCarrinhoCompras() {
  213.  
  214.         int i, x, y;
  215.  
  216.         //Limpando a tabela . isso garante que só apareçam apenas os itens que não forem excluídos
  217.         modelo.setNumRows(0);
  218.  
  219.         //Inserindo na tabela de vendas os produtos que não foram deletados
  220.  
  221.         for (i = 0; i < listaCompras.size(); i++) {
  222.  
  223.             x = 0;
  224.             y = 0;
  225.             //Adicionando nova linha na lista
  226.             if (listaCompras.get(i) instanceof Pratos) {
  227.                 //o do=while serve para exibir na tela todos os produtos removidos com exceção do excluído do carrinho
  228.                 do {
  229.  
  230.                     Pratos prato = (Pratos) listaCompras.get(i);
  231.                     if (prato.getCodPrato() == matriz[x][0]) {
  232.                         modelo.addRow(new Object[]{new Integer(prato.getCodPrato()), prato.getNome(), new Float(prato.getPreco()), new Integer(matriz[i][1])});
  233.                         //jScrollPane2.setViewportView(tabela);s
  234.                         break;
  235.                     }
  236.                     x++;
  237.                 } while (x < 4); //Lista de compras do tipo produto não possui qtd de itens na sua classe                                
  238.  
  239.             }
  240.  
  241.             if (listaCompras.get(i) instanceof Lacrados) {
  242.  
  243.                 //o do=while serve para exibir na tela todos os produtos removidos com exceção do excluído do carrinho
  244.                 do {
  245.  
  246.                     Lacrados lacrado = (Lacrados) listaCompras.get(i);
  247.                     if (lacrado.getCodEmbalados() == matriz[x][0]) {
  248.                         modelo.addRow(new Object[]{new Integer(lacrado.getCodEmbalados()), lacrado.getNome(), new Float(lacrado.getPreco()), new Integer(matriz[i][1])});
  249.                         //jScrollPane2.setViewportView(tabela);
  250.                         break;
  251.                     }
  252.                     y++;
  253.                 } while (y < 4); //Lista de compras do tipo produto não possui qtd de itens na sua classe                                
  254.             }
  255.         }
  256.        
  257.        
  258.    
  259.     }
Advertisement
Add Comment
Please, Sign In to add comment