Microssistema de controle de compras

Publicado por Alex Inocencio Santos (última atualização em 22/04/2015)

[ Hits: 5.352 ]

Download XGH.zip




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.

  



Esconder código-fonte

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);

  }
}

Scripts recomendados

Bloco de Anotações

Editor de Textos Java

Manipulação de arquivos CSV

Ordenação crescente e decrescente

Ler arquivo e remover Strings duplicadas


  

Comentários
[1] Comentário enviado por souzarte em 01/05/2015 - 22:51h


Boa noite Alex Inocencio Santos , gostaria de testar o seu App, não sou programador, mas apenas um entusiasta no mundo Linux. Poderia me dizer como "rodar" este app. E a propósito, estou tentando executar justamente um App .jar, mas não sei como, será que você pode me ajudar? Segui estes passos, mas não adiantou (http://pt.wikihow.com/Instalar-o-Oracle-Java-JRE-no-Linux-Ubuntu).

Os App's são estes:

http://sourceforge.net/projects/jloja/

http://sourceforge.net/projects/lwinstok/?source=recommended

Sei que este não é o local mais adequado, porém percebi que vc programa em Java, então você é o "Cara" para sana a minha dúvida, se tiver tempo claro!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts