Microssistema de controle de compras
Publicado por Alex Inocencio Santos (última atualização em 22/04/2015)
[ Hits: 5.579 ]
Este script é um pequeno sistema para gerência de compras, foi feito como trabalho final da disciplina de Java Orientado ao Objeto, apresenta ArrayList, encapsulamento, herança e muitos outros métodos da orientação ao objeto.
Abaixo segue o código fonte da classe principal.
package trabalho2; import javax.swing.*; import java.awt.Container; import java.util.ArrayList; public class Principal { public static void main(String[] args) { Produto produto = new Produto(); Fornecedor fornecedor = new Fornecedor(); Orcamento orcamento = new Orcamento(); Controle controle = new Controle(); ArrayList<Orcamento>orcamentos=new ArrayList<>(); int op=0; int op2=0; int op3=0; int op4=0; do{ try{ op = Integer.parseInt(JOptionPane.showInputDialog(null,"\n 1-Produto\n\n2-Fornecedor\n\n3-Orcamento\n\n0-Sair","\t\tXGH",JOptionPane.PLAIN_MESSAGE)); switch (op){ case 1:{ /*Gereciamento de produtos:Cadastro, Altereção e exclusão;*/ do{ try{ op2 = Integer.parseInt(JOptionPane.showInputDialog(null,"\n\n 1-Cadastro\n\n2-Impressão\n\n3-Aletar dados\n\n4-Remover Produtos\n\n0-Voltar","\t\t XGH",JOptionPane.PLAIN_MESSAGE)); switch(op2){ case 1:{ boolean x = true; produto = new Produto(); produto.setNome(JOptionPane.showInputDialog(null,"Nome", "Produto", JOptionPane.PLAIN_MESSAGE) ); produto.setDescricao(JOptionPane.showInputDialog(null,"Descrição", "Produto", JOptionPane.PLAIN_MESSAGE)); while(x){ try{ produto.setValor(Double.parseDouble((JOptionPane.showInputDialog(null,"Valor", "Produto", JOptionPane.PLAIN_MESSAGE)))); x=false; }catch(NumberFormatException e){ JOptionPane.showMessageDialog(null, "Erro!!! Valor e um Campo numerico","\t\t\tXGH",JOptionPane.ERROR_MESSAGE); } } controle.insere(produto); break; } case 2:{ if(produto.produtos.size()<=0){ JOptionPane.showMessageDialog(null,"Nenhum Produto Cadastrado!!","\t\tXGH",JOptionPane.ERROR_MESSAGE); }else produto.mostrarArray(produto); break; } case 3:{ do{ if (produto.produtos.size()<=0){ JOptionPane.showMessageDialog(null, "Não Ha nenhum registro de Produtos\nCadastre pelo menos um produto","\t\tXGH",JOptionPane.INFORMATION_MESSAGE); }else{ int index=0; op3 = Integer.parseInt(JOptionPane.showInputDialog(null," \n1-Nome\n\n\t2-Descrição\n\n\t0-Voltar","Alteração de dados",JOptionPane.PLAIN_MESSAGE)); if(op3 == 1){ index = Integer.parseInt(JOptionPane.showInputDialog(null,"posiçao desejada","Alteração de dados",JOptionPane.PLAIN_MESSAGE)); Produto.produtos.get(index).setNome(JOptionPane.showInputDialog(null,"Nome","\t\tXGH",JOptionPane.PLAIN_MESSAGE)); }else if (op3==2){ index = Integer.parseInt(JOptionPane.showInputDialog(null,"posiçao desejada","Alteração de dados",JOptionPane.PLAIN_MESSAGE)); Produto.produtos.get(index).setDescricao(JOptionPane.showInputDialog(null,"Descricao","\t\tXGH",JOptionPane.PLAIN_MESSAGE)); } } }while(op3!=0); break; } case 4 :{ try{ int continuar; int index = Integer.parseInt(JOptionPane.showInputDialog(null,"posiçao desejada","Exclusão de produtos",JOptionPane.PLAIN_MESSAGE)); continuar = JOptionPane.showConfirmDialog(null, "Voce deseja excluir esse Produto?"); if (continuar==0){ controle.remove(produto, index); } }catch(IndexOutOfBoundsException e){ JOptionPane.showMessageDialog(null,"Posição invalida ", "\t\tXGH",JOptionPane.ERROR_MESSAGE); } break; } } }catch(NumberFormatException e){}; }while(op2!=0); break; } case 2:{ /*Gerenciamento de Fornecedores:Cadastro Alteração e exclusao*/ boolean x =true; do{ try{ op4=Integer.parseInt(JOptionPane.showInputDialog(null,"\n\n 1-Cadastro\n\n2-Impressão\n\n3-alteração\n\n4-Remoção\n\n0-voltar","\t\tXGH",JOptionPane.PLAIN_MESSAGE)); switch(op4){ case 1:{ Endereco endAux= new Endereco(); fornecedor =new Fornecedor(); fornecedor.setNome(JOptionPane.showInputDialog(null,"Nome","Fornecedor",JOptionPane.PLAIN_MESSAGE)); fornecedor.setCnpj(JOptionPane.showInputDialog(null,"Cnpj","Fornecedor",JOptionPane.PLAIN_MESSAGE)); endAux.cidade=JOptionPane.showInputDialog(null,"cidade","Fornecedor",JOptionPane.PLAIN_MESSAGE); endAux.bairro=JOptionPane.showInputDialog(null,"bairro","Fornecedor",JOptionPane.PLAIN_MESSAGE); endAux.rua=JOptionPane.showInputDialog(null,"rua","Fornecedor",JOptionPane.PLAIN_MESSAGE); while(x){ try{ endAux.numero=Integer.parseInt(JOptionPane.showInputDialog(null,"numero","Fornecedor",JOptionPane.PLAIN_MESSAGE)); x=false; }catch(NumberFormatException e){JOptionPane.showMessageDialog(null, "Erro!!! Numero e um Campo numerico","\t\t\tXGH",JOptionPane.ERROR_MESSAGE);}; } fornecedor.setEndereco(endAux); controle.insere(fornecedor); break; } case 2:{ if(fornecedor.fornecedores.size()<=0){ JOptionPane.showMessageDialog(null, "Nenhum Fornecedor Cadastrado!!","\t\t\tXGH",JOptionPane.ERROR_MESSAGE); }else fornecedor.mostrarArray(fornecedor); break; } case 3:{ int op5 =0; do{ op5 =Integer.parseInt(JOptionPane.showInputDialog(null,"\n\n 1-Nome\n\n2-Cnpj\n\n3-Endereco\n\n0-voltar","\t\tXGH",JOptionPane.PLAIN_MESSAGE)); switch(op5){ case 1:{ try{ int index=0; index = Integer.parseInt(JOptionPane.showInputDialog(null,"posiçao desejada","Alteração de dados",JOptionPane.PLAIN_MESSAGE)); Fornecedor.fornecedores.get(index).setNome(JOptionPane.showInputDialog(null,"Nome","\t\tXGH",JOptionPane.PLAIN_MESSAGE)); }catch(IndexOutOfBoundsException e){JOptionPane.showMessageDialog(null,"Posição invalida ", "\t\tXGH",JOptionPane.ERROR_MESSAGE);} break; } case 2:{ try{ int index=0; index = Integer.parseInt(JOptionPane.showInputDialog(null,"posiçao desejada","Alteração de dados",JOptionPane.PLAIN_MESSAGE)); Fornecedor.fornecedores.get(index).setCnpj(JOptionPane.showInputDialog(null,"Cnpj","\t\tXGH",JOptionPane.PLAIN_MESSAGE)); }catch(IndexOutOfBoundsException e){JOptionPane.showMessageDialog(null,"Posição invalida ", "\t\tXGH",JOptionPane.ERROR_MESSAGE);} break; } case 3:{ int index = 0; Endereco endTmp = new Endereco(); int op6=0; index = Integer.parseInt(JOptionPane.showInputDialog(null,"posiçao desejada","Alteração de dados",JOptionPane.PLAIN_MESSAGE)); do{ try{ op6=Integer.parseInt(JOptionPane.showInputDialog(null,"\n\n 1-Cidade\n\n2-Bairro\n\n4-Rua\n\n-5Numero\n\n0-voltar","\t\tXGH",JOptionPane.PLAIN_MESSAGE)); switch(op6){ case 1 : endTmp.cidade=JOptionPane.showInputDialog(null,"cidade","Fornecedor",JOptionPane.PLAIN_MESSAGE); case 2 : endTmp.bairro=JOptionPane.showInputDialog(null,"bairro","Fornecedor",JOptionPane.PLAIN_MESSAGE); case 3 : endTmp.rua=JOptionPane.showInputDialog(null,"rua","Fornecedor",JOptionPane.PLAIN_MESSAGE); case 4 : endTmp.numero=Integer.parseInt(JOptionPane.showInputDialog(null,"numero","Fornecedor",JOptionPane.PLAIN_MESSAGE)); fornecedor.setEndereco(endTmp); controle.atualiza(fornecedor, index); break; } }catch(NumberFormatException e){}; }while(op6!=0); } } }while(op5!=0); break; } case 4:{ int continuar; int index = Integer.parseInt(JOptionPane.showInputDialog(null,"posiçao desejada","Exclusão de Fortnecedores",JOptionPane.PLAIN_MESSAGE)); continuar = JOptionPane.showConfirmDialog(null, "Voce deseja excluir esse Fornecedor?"); if (continuar==0){ controle.remove(fornecedor, index); break; } } } }catch(NumberFormatException e){}; }while(op4!=0); break; } case 3:{ int op7=0; int index=0; boolean x=true; if((produto.produtos.size()<=0)||(fornecedor.fornecedores.size()<=0)){ JOptionPane.showMessageDialog(null,"Não há produtos ou Fornecedores cadastrados","\t\tXGH",JOptionPane.WARNING_MESSAGE); }else{ do{ op7=Integer.parseInt(JOptionPane.showInputDialog(null,"\n1-Abir orcamneto\n\n2-imprimir orçamentos\n\n0-Voltar","\t\tXGH",JOptionPane.PLAIN_MESSAGE)); switch(op7){ case 1:{ String pro=" "; String forn=" "; for(int i =0; i< Produto.produtos.size();i++){ pro += i+"-"+Produto.produtos.get(i).getNome()+"\n------------------------\n"; } while(x){ try{ index=Integer.parseInt(JOptionPane.showInputDialog(null,"Informe um produto para Fazer o orçamento\n"+pro,"\t\t XGH ",JOptionPane.PLAIN_MESSAGE)); orcamento.adicionarProduto(produto.produtos.get(index)); }catch(IndexOutOfBoundsException e){JOptionPane.showMessageDialog(null,"Posição invalida ", "\t\tXGH",JOptionPane.ERROR_MESSAGE);} x=false; } orcamento.setQtdTotal(Integer.parseInt(JOptionPane.showInputDialog(null,"Quantas unidades deste produto vc deseja comprar?","\t\tXGH",JOptionPane.PLAIN_MESSAGE))); for(int i =0; i< Fornecedor.fornecedores.size();i++){ forn += i+"-"+Fornecedor.fornecedores.get(i).getNome()+"\n------------------------\n"; } index=Integer.parseInt(JOptionPane.showInputDialog(null,"Informe um Forecedor para Fazer o orçamento\n"+forn,"\t\t XGH ",JOptionPane.PLAIN_MESSAGE)); orcamento.adicionarFornecedor(fornecedor.fornecedores.get(index)); double valor = produto.produtos.get(index).getPreco(); int qtd = orcamento.getQtdTotal(); double result = valor*qtd; orcamento.setValorFinal(result); orcamentos.add(orcamento); break; } case 2:{ String pro =" "; String forn=""; String vtotal=""; String qtotal=""; for(int i=0;i<produto.produtos.size();i++){ pro+=Produto.produtos.get(i).getNome()+"\n"; } for(int i=0;i<fornecedor.fornecedores.size();i++){ forn+=Fornecedor.fornecedores.get(i).getNome()+"\n"; } for(int i=0;i<orcamentos.size();i++){ vtotal=String.valueOf(orcamento.getValorFinal())+"\n"; qtotal=String.valueOf(orcamento.getQtdTotal()+"\n"); } JOptionPane.showMessageDialog(null,"Produto:"+pro+"\nFornecedor:"+forn+"\nQuantidade Total:"+qtotal+"\nValor Total: "+vtotal+"\n----------------","\t\tXHG",JOptionPane.PLAIN_MESSAGE); } } }while (op7!=0); } break; } } }catch(NumberFormatException e){}; }while (op !=0); } }
Copia de um arquivo para outro
Ler arquivo e remover Strings duplicadas
Escrevendo num arquivo em java
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Instalando Brave Browser no Linux Mint 22
vídeo pra quem quer saber como funciona Proteção de Memória:
Encontre seus arquivos facilmente com o Drill
Mouse Logitech MX Ergo Advanced Wireless Trackball no Linux
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
O que esta havendo com o mercado de ti? (9)
Não consigo cadastrar nenhuma conta online (5)
Hotspot Mikrotik nao carrega pagina de login. (0)