Sistema para Controle de Pedidos de Fast Foods.
Curta ✔ Comente ✔ Compartilhe ✔ Inscreva-se ✔
Material de apoio/Certificado: http://aulaead.com/course/curso-de-java/
Aprenda Java e MySQL de forma prática e descontraída desenvolvendo um Sistema de Controle de Pedidos para Fest Foods " Lanchonetes, Pizzarias, Pastelarias e afins..."
Este Sistema fornece uma base sólida da linguagem de programação Java e do banco de dados MySQL.
Facebook: https://www.facebook.com/claytonklen
Google+: https://plus.google.com/+ClaytonKlen
Linkedin: https://www.linkedin.com/in/clayton-k...
Aluno do 6º Periodo do Curso de Analise e Desenvolvimento de Sistemas da Fatec " Arthur de Azevedo" - Mogi Mirim - São Paulo
Este Sistema de Controle de Pedidos de Fast Foods foi desenvolvido na Ide NetBeans:
Download NetBeans: https://netbeans.org/downloads/
Para o Desenvolvimento do Banco de Dados MySql utilizado o Workbench:
Download Workbench: https://dev.mysql.com/downloads/workbench/
O Sistema Gerenciador de Banco de Dados o XAMPP Control Panel:
Download XAMPP Control Panel: https://www.apachefriends.org/pt_br/download.html
A Ferramenta de Desenvolvimento de Relatórios foi utilizado o Jaspersoft Studio:
Download Jaspersoft Studio: https://community.jaspersoft.com/project/jaspersoft-studio
Aconselho que assistam as vídeo-aulas abaixo.
Segue o Link da vídeo aula 17 a 21 do Professor José de Assis, para maior entendimento sobre a IDE NetBeans, onde ele explica boas práticas, convenção de programação para criar a Classe Tela Clientes
Observação: A Tela Lanches segue a mesma regra da Tela Clientes.
Java-MySql Sistema OS Tela Clientes :
Aula 17: https://youtu.be/z_KK-amMTDo
Aula 18: https://youtu.be/aBIyK14CEys
Aula 19: https://youtu.be/9ZrJvH790Es
Aula 20: https://youtu.be/nCP1WNyfEZU
Aula 21: https://youtu.be/_KSivm3HPWc
ATENÇÃO !!! ANTES DE DAR INICIO NA IDE NETBEANS CRIAR O BANCO DE DADOS
8º Passo Tela Lanches na IDE NetBeans
Na IDE NetBeans Criar Classe TelaLanche :
package br.com.lanchonete.telas;
import java.sql.*;
import br.com.lanchonete.dal.ModuloConexao;
import javax.swing.JOptionPane;
// a linha abaixo importa recurso da biblioteca para busca por nome rs2xml.jar
import net.proteanit.sql.DbUtils;
/**
*
* @author 0o9iuygtfrdesaq
*/
public class TelaLanche extends javax.swing.JInternalFrame {
/*
usando variável de conexao DAL
*/
Connection conexao = null;
/*
Criando variáveis especiais para conexao com o banco de dados
Prepared Statement e ResultSet são framewoks do pacote java.sql
servem oara preparar e executar as indtruções SQL
*/
PreparedStatement pst = null;
ResultSet rs = null;
/**
* Creates new form TelaLanche
*/
public TelaLanche() {
initComponents();
// estabelecendo a conexao com banco de dados sempre neste ponto
conexao = ModuloConexao.conector();
}
// método para adicionar novo lanche
private void adicionar() {
String sql = "insert into tblanches (nomelanche, valorlanche, descricaolanche, tamanholanche, paolanche) values(?,?,?,?,?)";
try {
pst = conexao.prepareStatement(sql);
pst.setString(1, txtLancheNome.getText());
pst.setString(2, txtLancheValor.getText().replace(",", "."));
pst.setString(3, txtLancheDescricao.getText());
// Capturar o Texto do Combobox Tamanho "obs converter para String"
pst.setString(4, cboLancheTamanho.getSelectedItem().toString());
// Capturar o Texto do Combobox Tipo de Pão"obs converter para String
pst.setString(5, cboLanchePao.getSelectedItem().toString());
if (txtLancheNome.getText().isEmpty()) {
JOptionPane.showMessageDialog(null, "Preencha Todos os Campos Obrigatórios (*)");
} else {
// a linha abaixo atualiza a tabela de lanches com os dados do Formulário
// a estrutura abaixo é usada para confirmar a inserção de dados na tabela
int adicionado = pst.executeUpdate();
// a linha abaixo serve como entendimento da logica.
//System.out.println(adicionado);
if (adicionado > 0) {
JOptionPane.showMessageDialog(null, "Lanche Adicionado com Sucesso !!!");
// as linhas abaixo limpam os campos
txtLancheNome.setText(null);
txtLancheDescricao.setText(null);
txtLancheValor.setText(null);
}
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
// metodo para pesquisar lanche com filtro
private void pesquisar_lanche() {
String sql = " select idlanche as ID, nomelanche as Lanche, valorlanche as Valor, descricaolanche as Descricao, tamanholanche as Tamanho, paolanche as Tipo_Pao from tblanches where nomelanche like ?";
try {
pst = conexao.prepareStatement(sql);
//passando o conteúdo da caixa de pesquisa para o " ? "
//atenção ao " % " - continuação da String sql
pst.setString(1, txtLanchePesquisar.getText() + "%");
rs = pst.executeQuery();
//a linha abaixo usa a biblioteca rs2xml.jar para preencher a tabela
tblLanches.setModel(DbUtils.resultSetToTableModel(rs));
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
// metodo para setar os campos do formulário com os conteudos da tabela lanches
public void setar_campos() {
int setar = tblLanches.getSelectedRow();
txtLancheId.setText(tblLanches.getModel().getValueAt(setar, 0).toString());
txtLancheNome.setText(tblLanches.getModel().getValueAt(setar, 1).toString());
txtLancheValor.setText(tblLanches.getModel().getValueAt(setar, 2).toString().replace(",", "."));
txtLancheDescricao.setText(tblLanches.getModel().getValueAt(setar, 3).toString());
// alinha abaixo desabilata o botão adicionar, isso evita duplicar e cadastrar o mesmo lanche.
btnAdicionar.setEnabled(false);
}
// Criando o metodo para alterar dados da lanche
private void alterar() {
String sql = "update tblanches set nomelanche=?, valorlanche=?, descricaolanche=?, tamanholanche=?, paolanche=? where idlanche=?";
try {
pst = conexao.prepareStatement(sql);
pst.setString(1, txtLancheNome.getText());
pst.setString(2, txtLancheValor.getText().replace(",", "."));
pst.setString(3, txtLancheDescricao.getText());
// Capturar o Texto do Combobox Tamanho "obs converter para String"
pst.setString(4, cboLancheTamanho.getSelectedItem().toString());
// Capturar o Texto do Combobox Tipo de Pão"obs converter para String
pst.setString(5, cboLanchePao.getSelectedItem().toString());
// obs Idbebida será o item a ser capturado
pst.setString(6, txtLancheId.getText());
if (txtLancheNome.getText().isEmpty()) {
JOptionPane.showMessageDialog(null, "Preencha Todos os Campos Obrigatórios (*)");
} else {
// a linha abaixo atualiza a tabela de lanche com os dados do lanche
// a estrutura abaixo é usada para confirmar a alteração de dados na tabela lanche
int adicionado = pst.executeUpdate();
// a linha abaixo serve como entendimento da logica.
//System.out.println(adicionado);
if (adicionado > 0) {
JOptionPane.showMessageDialog(null, "Dados do Lanche Alterado com Sucesso !!!");
// as linhas abaixo limpam os campos
txtLancheNome.setText(null);
txtLancheDescricao.setText(null);
txtLancheValor.setText(null);
// Reabiltar o botão Cadastrar após a alteração do lanche realizada.
btnAdicionar.setEnabled(true);
}
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
// metodo responssável pela remoção do lanche
private void remover() {
//a estrutura abaixo confirma a remoção do lanche
int confirma = JOptionPane.showConfirmDialog(null, "Tem Certeza que Deseja Remover este Lanche ?", "Atenção!!!", JOptionPane.YES_NO_OPTION);
if (confirma == JOptionPane.YES_OPTION) {
String sql = "delete from tblanches where idlanche=?";
try {
pst = conexao.prepareStatement(sql);
pst.setString(1, txtLancheId.getText());
int apagado = pst.executeUpdate();
if (apagado > 0) {
JOptionPane.showMessageDialog(null, "Lanche Removida com Sucesso");
// as linhas abaixo limpam os campos
txtLancheId.setText(null);
txtLancheNome.setText(null);
txtLancheDescricao.setText(null);
txtLancheValor.setText(null);
// Reabiltar o botão Cadastrar após a alteração da bebida realizada.
btnAdicionar.setEnabled(true);
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
}
OBS: Linhas abaixo correspondem aos eventos :
private void btnRemoverActionPerformed(java.awt.event.ActionEvent evt) {
// chamando o metodo remover cliente
remover();
}
private void txtLanchePesquisarKeyReleased(java.awt.event.KeyEvent evt) {
// chamar metodo pesquisar clientes por numero do Telefone
pesquisar_lanche();
}
private void tblLanchesMouseClicked(java.awt.event.MouseEvent evt) {
// Chamando o metodo para setar campos
setar_campos();
}
private void btnAlterarActionPerformed(java.awt.event.ActionEvent evt) {
// chamando o método para alterar Cliente
alterar();
}
private void btnAdicionarActionPerformed(java.awt.event.ActionEvent evt) {
// método para adicionar clientes
adicionar();
}
Nenhum comentário:
Postar um comentário