Skip to content

Commit

Permalink
BUG Filial corrigido, add diagrama uml e pacotes
Browse files Browse the repository at this point in the history
  • Loading branch information
paulomh committed Jul 1, 2023
1 parent c2b5e8a commit cf7d0b7
Show file tree
Hide file tree
Showing 28 changed files with 184 additions and 95 deletions.
Binary file added Diagrama UML.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Diagrama de Pacotes.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified bin/controle/ControleDados.class
Binary file not shown.
Binary file modified bin/modelo/EquipamentoConstrucao.class
Binary file not shown.
Binary file modified bin/modelo/EquipamentoEletronico.class
Binary file not shown.
Binary file modified bin/modelo/Escritorio.class
Binary file not shown.
Binary file modified bin/modelo/Filial.class
Binary file not shown.
Binary file modified bin/modelo/ItemPatrimonio.class
Binary file not shown.
Binary file modified bin/modelo/Veiculo.class
Binary file not shown.
Binary file modified bin/testes/Teste.class
Binary file not shown.
Binary file added bin/view/TelaBuscaPatrimonio.class
Binary file not shown.
Binary file modified bin/view/TelaCadastroFilial.class
Binary file not shown.
Binary file modified bin/view/TelaCadastroPatrimonio.class
Binary file not shown.
Binary file modified bin/view/TelaGerenciamentoEletronico.class
Binary file not shown.
Binary file modified bin/view/TelaGerenciamentoEquipamento.class
Binary file not shown.
Binary file modified bin/view/TelaGerenciamentoFilial.class
Binary file not shown.
Binary file modified bin/view/TelaGerenciamentoPatrimonio.class
Binary file not shown.
Binary file modified bin/view/TelaGerenciamentoVeiculo.class
Binary file not shown.
Binary file modified bin/view/TelaMenu.class
Binary file not shown.
178 changes: 91 additions & 87 deletions src/controle/ControleDados.java
Original file line number Diff line number Diff line change
Expand Up @@ -35,46 +35,55 @@ public void setEscritorio(Escritorio escritorio) {
}

public boolean editarCadastrarFilial(String nome, String cnpj, String endereco, int index) {
if (!cnpj.matches("[0-9]+")) {
return false;
} else {
Filial filialTemporaria = new Filial(nome, cnpj, endereco);
if (!cnpj.matches("[0-9]+")) {
return false;
} else {
Filial filialTemporaria = new Filial(nome, cnpj, endereco);

if (index == escritorio.getFiliais().size()) {
escritorio.getFiliais().add(filialTemporaria);
} else {
escritorio.editarCadastrarFilial(index, filialTemporaria);
}
return true;
}
if (index == escritorio.getFiliais().size()) {
// Adiciona a nova filial ao escritório
escritorio.getFiliais().add(filialTemporaria);
} else {
// Copia os patrimônios da filial existente para a nova filial
Filial filialExistente = escritorio.getFiliais().get(index);
filialTemporaria.setPatrimonio(filialExistente.getPatrimonio());

// Substitui a filial existente pela nova filial
escritorio.getFiliais().set(index, filialTemporaria);
}
return true;
}
}

public boolean cadastrarEditarPatrimonioVeiculo(String nome, String quantidade, String valor, String marca,

public boolean editarCadastrarPatrimonioVeiculo(String nome, String quantidade, String valor, String marca,
String tipoVeiculo, String cor, String qtdPortas, int indexFilial, int index) {
if (!quantidade.matches("[0-9]+") || !valor.matches("[-+]?[0-9]*\\.?[0-9]*") || !qtdPortas.matches("[0-9]+")) {
return false;
} else {
Veiculo veiculoTemporario = new Veiculo(nome, Integer.parseInt(quantidade), Double.parseDouble(valor),
marca, tipoVeiculo, cor, Integer.parseInt(qtdPortas));
if (index == escritorio.getFiliais().get(indexFilial).getPatrimonio().size()) {
escritorio.getFiliais().get(indexFilial).cadastrarEditarPatrimonio(veiculoTemporario);
escritorio.getFiliais().get(indexFilial).editarCadastrarPatrimonio(veiculoTemporario);

} else {
escritorio.getFiliais().get(indexFilial).getPatrimonio().get(index).setNomeItem(nome);
escritorio.getFiliais().get(indexFilial).getPatrimonio().get(index).setQuantidade(Integer.parseInt(quantidade));
escritorio.getFiliais().get(indexFilial).getPatrimonio().get(index)
.setQuantidade(Integer.parseInt(quantidade));
escritorio.getFiliais().get(indexFilial).getPatrimonio().get(index).setValor(Double.parseDouble(valor));
escritorio.getFiliais().get(indexFilial).getPatrimonio().get(index).setMarca(marca);
((Veiculo) escritorio.getFiliais().get(indexFilial).getPatrimonio().get(index)).setCor(cor);
((Veiculo) escritorio.getFiliais().get(indexFilial).getPatrimonio().get(index)).setTipoVeiculo(tipoVeiculo);
((Veiculo) escritorio.getFiliais().get(indexFilial).getPatrimonio().get(index)).setQtdPortas(Integer.parseInt(qtdPortas));

((Veiculo) escritorio.getFiliais().get(indexFilial).getPatrimonio().get(index))
.setTipoVeiculo(tipoVeiculo);
((Veiculo) escritorio.getFiliais().get(indexFilial).getPatrimonio().get(index))
.setQtdPortas(Integer.parseInt(qtdPortas));

}
return true;
}
}


public boolean cadastrarEditarPatrimonioEletronico(String nome, String quantidade, String valor, String marca,
public boolean editarCadastrarPatrimonioEletronico(String nome, String quantidade, String valor, String marca,
String peso, String voltagem, String sistema, String modelo, int indexFilial, int index) {
if (!quantidade.matches("[0-9]+") || !valor.matches("[-+]?[0-9]*\\.?[0-9]*")
|| !peso.matches("[-+]?[0-9]*\\.?[0-9]*") || !voltagem.matches("[0-9]+")) {
Expand All @@ -84,22 +93,26 @@ public boolean cadastrarEditarPatrimonioEletronico(String nome, String quantidad
Integer.parseInt(quantidade), Double.parseDouble(valor), marca, Double.parseDouble(peso),
Integer.parseInt(voltagem), sistema, modelo);
if (index == escritorio.getFiliais().get(indexFilial).getPatrimonio().size()) {
escritorio.getFiliais().get(indexFilial).cadastrarEditarPatrimonio(eqpeletronicoTemporario);
escritorio.getFiliais().get(indexFilial).editarCadastrarPatrimonio(eqpeletronicoTemporario);

} else {
escritorio.getFiliais().get(indexFilial).getPatrimonio().get(index).setNomeItem(nome);
escritorio.getFiliais().get(indexFilial).getPatrimonio().get(index).setQuantidade(Integer.parseInt(quantidade));
escritorio.getFiliais().get(indexFilial).getPatrimonio().get(index)
.setQuantidade(Integer.parseInt(quantidade));
escritorio.getFiliais().get(indexFilial).getPatrimonio().get(index).setValor(Double.parseDouble(valor));
escritorio.getFiliais().get(indexFilial).getPatrimonio().get(index).setMarca(marca);
((EquipamentoEletronico) escritorio.getFiliais().get(indexFilial).getPatrimonio().get(index)).setPesoEquipamento(Double.parseDouble(peso));
((EquipamentoEletronico) escritorio.getFiliais().get(indexFilial).getPatrimonio().get(index)).setVoltagem(Integer.parseInt(voltagem));
((EquipamentoEletronico) escritorio.getFiliais().get(indexFilial).getPatrimonio().get(index)).setSistema(sistema);
((EquipamentoEletronico) escritorio.getFiliais().get(indexFilial).getPatrimonio().get(index))
.setPesoEquipamento(Double.parseDouble(peso));
((EquipamentoEletronico) escritorio.getFiliais().get(indexFilial).getPatrimonio().get(index))
.setVoltagem(Integer.parseInt(voltagem));
((EquipamentoEletronico) escritorio.getFiliais().get(indexFilial).getPatrimonio().get(index))
.setSistema(sistema);
}
return true;
}
}

public boolean cadastrarEditarPatrimonioConstucao(String nome, String quantidade, String valor, String marca,
public boolean editarCadastrarPatrimonioConstrucao(String nome, String quantidade, String valor, String marca,
String pesoEquipamento, String anoFabricacao, String material, int indexFilial, int index) {
if (!quantidade.matches("[0-9]+") || !valor.matches("[-+]?[0-9]*\\.?[0-9]*")
|| !pesoEquipamento.matches("[-+]?[0-9]*\\.?[0-9]*") || !anoFabricacao.matches("[0-9]+")) {
Expand All @@ -109,21 +122,25 @@ public boolean cadastrarEditarPatrimonioConstucao(String nome, String quantidade
Integer.parseInt(quantidade), Double.parseDouble(valor), marca, Double.parseDouble(pesoEquipamento),
Integer.parseInt(anoFabricacao), material);
if (index == escritorio.getFiliais().get(indexFilial).getPatrimonio().size()) {
escritorio.getFiliais().get(indexFilial).cadastrarEditarPatrimonio(eqpconstrucaoTemporario);
escritorio.getFiliais().get(indexFilial).editarCadastrarPatrimonio(eqpconstrucaoTemporario);

} else {
escritorio.getFiliais().get(indexFilial).getPatrimonio().get(index).setNomeItem(nome);
escritorio.getFiliais().get(indexFilial).getPatrimonio().get(index).setQuantidade(Integer.parseInt(quantidade));
escritorio.getFiliais().get(indexFilial).getPatrimonio().get(index)
.setQuantidade(Integer.parseInt(quantidade));
escritorio.getFiliais().get(indexFilial).getPatrimonio().get(index).setValor(Double.parseDouble(valor));
escritorio.getFiliais().get(indexFilial).getPatrimonio().get(index).setMarca(marca);
((EquipamentoConstrucao) escritorio.getFiliais().get(indexFilial).getPatrimonio().get(index)).setPesoEquipamento(Double.parseDouble(pesoEquipamento));
((EquipamentoConstrucao) escritorio.getFiliais().get(indexFilial).getPatrimonio().get(index)).setAnoFabricacao(Integer.parseInt(anoFabricacao));
((EquipamentoConstrucao) escritorio.getFiliais().get(indexFilial).getPatrimonio().get(index)).setMaterial(material);
((EquipamentoConstrucao) escritorio.getFiliais().get(indexFilial).getPatrimonio().get(index))
.setPesoEquipamento(Double.parseDouble(pesoEquipamento));
((EquipamentoConstrucao) escritorio.getFiliais().get(indexFilial).getPatrimonio().get(index))
.setAnoFabricacao(Integer.parseInt(anoFabricacao));
((EquipamentoConstrucao) escritorio.getFiliais().get(indexFilial).getPatrimonio().get(index))
.setMaterial(material);
}
return true;
}
}

public int verificaPatrimonio(int index, int indexFilial) {
int eletronico = 1;
int equipamento = 2;
Expand Down Expand Up @@ -168,64 +185,51 @@ public void excluirPatrimonio(int indexFilial, int index) {
escritorio.getFiliais().get(indexFilial).getPatrimonio().remove(index);
}
}

public void fillPatrimoniosWithSomeData() {
int i = 0;
int i = 0; // Número da filial

for (Filial filial : escritorio.getFiliais()) {
for(int j = 0; j < 9; j++) {
ItemPatrimonio patrimonios = null;
String nomes;
int quantidade;
double valor;
String marca;


if (j < 3) {
patrimonios = new Veiculo();
nomes = "Veiculo" + j;
quantidade = 1;
valor = 2500 + j;
marca = "Marca" + j;
patrimonios.setNomeItem(nomes);
patrimonios.setQuantidade(quantidade);
patrimonios.setValor(valor);
patrimonios.setMarca(marca);
((Veiculo) patrimonios).setTipoVeiculo("Tipo" + j);
((Veiculo) patrimonios).setCor("Cor" + j);
((Veiculo) patrimonios).setQtdPortas(2);
filial.cadastrarEditarPatrimonio(patrimonios);
} else if(j > 3 && j <= 6) {
patrimonios = new EquipamentoEletronico();
nomes = "Eletronico" + j;
quantidade = 1;
valor = 2500 + j;
marca = "Marca" + j;
patrimonios.setNomeItem(nomes);
patrimonios.setQuantidade(quantidade);
patrimonios.setValor(valor);
patrimonios.setMarca(marca);
((EquipamentoEletronico) patrimonios).setPesoEquipamento(j);
((EquipamentoEletronico) patrimonios).setVoltagem(220);
((EquipamentoEletronico) patrimonios).setSistema("Sistema" + j);
((EquipamentoEletronico) patrimonios).setModelo("Modelo" + j);
filial.cadastrarEditarPatrimonio(patrimonios);
} else if(j > 6){
patrimonios = new EquipamentoConstrucao();
nomes = "Equipamento" + j;
quantidade = 1;
valor = 2500 + j;
marca = "Marca" + j;
patrimonios.setNomeItem(nomes);
patrimonios.setQuantidade(quantidade);
patrimonios.setValor(valor);
patrimonios.setMarca(marca);
((EquipamentoConstrucao) patrimonios).setPesoEquipamento(j);
((EquipamentoConstrucao) patrimonios).setAnoFabricacao(2010 + j);
((EquipamentoConstrucao) patrimonios).setMaterial("Material" + j);
filial.cadastrarEditarPatrimonio(patrimonios);
for (int j = 0; j < 3; j++) { // Ajuste para percorrer apenas 3 vezes (para cada tipo de patrimônio)
ItemPatrimonio patrimonio;
String tipo;
String nome;
int quantidade = 1;
double valor = 2500 + j;
String marca = "Marca" + j;

if (j == 0) {
patrimonio = new Veiculo();
tipo = "Veiculo";
((Veiculo) patrimonio).setTipoVeiculo("Tipo" + i);
((Veiculo) patrimonio).setCor("Cor" + i);
((Veiculo) patrimonio).setQtdPortas(2);
} else if (j == 1) {
patrimonio = new EquipamentoEletronico();
tipo = "Eletronico";
((EquipamentoEletronico) patrimonio).setPesoEquipamento(i);
((EquipamentoEletronico) patrimonio).setVoltagem(220);
((EquipamentoEletronico) patrimonio).setSistema("Sistema" + i);
((EquipamentoEletronico) patrimonio).setModelo("Modelo" + i);
} else {
patrimonio = new EquipamentoConstrucao();
tipo = "Equipamento";
((EquipamentoConstrucao) patrimonio).setPesoEquipamento(i);
((EquipamentoConstrucao) patrimonio).setAnoFabricacao(2010 + i);
((EquipamentoConstrucao) patrimonio).setMaterial("Material" + i);
}
i += 9;

nome = tipo + i; // Concatena o tipo e o número da filial

patrimonio.setNomeItem(nome);
patrimonio.setQuantidade(quantidade);
patrimonio.setValor(valor);
patrimonio.setMarca(marca);

filial.editarCadastrarPatrimonio(patrimonio);
}

i++; // Incrementa o número da filial para a próxima iteração
}
}

Expand Down
12 changes: 11 additions & 1 deletion src/modelo/Filial.java
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ public String toString() {
return "\nNOME FILIAL: " + nome + "\nCNPJ: " + cnpj + "\nENDERECO: " + endereco + "\n";
}

public void cadastrarEditarPatrimonio(ItemPatrimonio item) {
public void editarCadastrarPatrimonio(ItemPatrimonio item) {
patrimonio.add(item);
}

Expand All @@ -71,4 +71,14 @@ public String[] listarPatrimonio() {
return patrimonioListados;

}

public ItemPatrimonio buscarPatrimonio(String nome) {
for (ItemPatrimonio item : patrimonio) {
if (item.getNomeItem().equals(nome)) {
return item;
}
}
return null; // Retorna null caso o patrimônio não seja encontrado
}

}
10 changes: 10 additions & 0 deletions src/modelo/ItemPatrimonio.java
Original file line number Diff line number Diff line change
Expand Up @@ -41,5 +41,15 @@ public void setMarca(String marca) {
public String toString() {
return "NOME PATRIMONIO: " + nomeItem + "\nQUANTIDADE: " + quantidade + "\nVALOR: " + valor +"\nMARCA: "+ marca +"\n";
}

// Sobrescreve a função equals para que ele busque o patrimônio com base no nome e não com base no seu endereço de memória
@Override
public boolean equals(Object item) {
if (item instanceof ItemPatrimonio) {
String nomeItem = ((ItemPatrimonio) item).getNomeItem();
return this.nomeItem.equals(nomeItem);
}
return false;
}

}
65 changes: 65 additions & 0 deletions src/view/TelaBuscaPatrimonio.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
package view;

import java.awt.event.*;
import controle.*;

import javax.swing.*;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import java.awt.*;

public class TelaBuscaPatrimonio implements ActionListener, ListSelectionListener {
private JFrame janela;
private JLabel buscaPatrimonio;
private JTextField buscaPatrimonioJTF;
private JButton botaoBuscar;
private JList<String> listaPatrimoniosVinculados;
private JScrollPane scrollPane;
private String[] listaNomesPatrimonios;
private ControleDados controleDados;
private int indiceFilialSelecionada;

public TelaBuscaPatrimonio(ControleDados controleDados) {
this.controleDados = controleDados;

janela = new JFrame("Busca Patrimonio");
buscaPatrimonio = new JLabel("Buscar Patrimonio: ");
buscaPatrimonioJTF = new JTextField();
botaoBuscar = new JButton("Buscar");

buscaPatrimonio.setFont(new Font("Arial", Font.BOLD, 15));
buscaPatrimonio.setBounds(10, 10, 180, 50);
buscaPatrimonioJTF.setBounds(160, 20, 250, 30);
botaoBuscar.setBounds(415, 20, 100, 30);

listaNomesPatrimonios = new ControlePatrimonio(controleDados).getNomesPatrimonios();
listaPatrimoniosVinculados = new JList<>(listaNomesPatrimonios);
scrollPane = new JScrollPane(listaPatrimoniosVinculados);
scrollPane.setBounds(18, 75, 490, 250);
listaPatrimoniosVinculados.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
listaPatrimoniosVinculados.setVisibleRowCount(10);

janela.setLayout(null);

janela.add(buscaPatrimonio);
janela.add(buscaPatrimonioJTF);
janela.add(botaoBuscar);
janela.add(scrollPane);

janela.setBounds(1000, 140, 540, 385);
janela.setVisible(true);

botaoBuscar.addActionListener(this);
}

@Override
public void actionPerformed(ActionEvent e) {

}

@Override
public void valueChanged(ListSelectionEvent e) {

}

}
6 changes: 3 additions & 3 deletions src/view/TelaCadastroPatrimonio.java
Original file line number Diff line number Diff line change
Expand Up @@ -284,7 +284,7 @@ private void cadastrarPatrimonio(String nome, String quantidade, String valor, S
JOptionPane.showMessageDialog(cadastrar,
"Preencha os campos de quantidade, valor e quantidade de portas corretamente!");
} else {
controleDados.cadastrarEditarPatrimonioVeiculo(nome, quantidade, valor, marca, tipo, cor,
controleDados.editarCadastrarPatrimonioVeiculo(nome, quantidade, valor, marca, tipo, cor,
quantidadePortas, indexFilial, index);
JOptionPane.showMessageDialog(cadastrar, "Veiculo cadastrado com sucesso!");
janela.dispose();
Expand All @@ -302,7 +302,7 @@ private void cadastrarPatrimonio(String nome, String quantidade, String valor, S
|| !pesoEletronico.matches("[-+]?[0-9]*\\.?[0-9]*") || !voltagem.matches("[-+]?[0-9]*\\.?[0-9]*")) {
JOptionPane.showMessageDialog(cadastrar, "Preencha os campos de quantidade, valor, peso e voltagem corretamente!");
} else {
controleDados.cadastrarEditarPatrimonioEletronico(nome, quantidade, valor, marca, pesoEletronico,
controleDados.editarCadastrarPatrimonioEletronico(nome, quantidade, valor, marca, pesoEletronico,
voltagem, sistema, modelo, indexFilial, index);
JOptionPane.showMessageDialog(cadastrar, "Eletronico cadastrado com sucesso!");
janela.dispose();
Expand All @@ -319,7 +319,7 @@ private void cadastrarPatrimonio(String nome, String quantidade, String valor, S
|| !pesoEquipamento.matches("[-+]?[0-9]*\\.?[0-9]*") || !anoFabricacao.matches("[0-9]+")) {
JOptionPane.showMessageDialog(cadastrar, "Preencha os campos de quantidade, valor, peso e ano de fabricacao corretamente!");
} else {
controleDados.cadastrarEditarPatrimonioConstucao(nome, quantidade, valor, marca, pesoEquipamento,
controleDados.editarCadastrarPatrimonioConstrucao(nome, quantidade, valor, marca, pesoEquipamento,
anoFabricacao, material, indexFilial, index);
JOptionPane.showMessageDialog(cadastrar, "Equipamento cadastrado com sucesso!");
janela.dispose();
Expand Down
2 changes: 1 addition & 1 deletion src/view/TelaGerenciamentoEletronico.java
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ public void actionPerformed(ActionEvent e) {
String novoSistema = sistemaJTF.getText();
String modelo = modeloJTF.getText();

controleDados.cadastrarEditarPatrimonioEletronico(novoNome, novaQuantidade, novoValor, novaMarca,
controleDados.editarCadastrarPatrimonioEletronico(novoNome, novaQuantidade, novoValor, novaMarca,
novoPeso, novaVoltagem, novoSistema, modelo, indiceFilialSelecionada,
indicePatrimonioSelecionado);
JOptionPane.showMessageDialog(salvar, "Patrimonio atualizado com sucesso!");
Expand Down
2 changes: 1 addition & 1 deletion src/view/TelaGerenciamentoEquipamento.java
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ public void actionPerformed(ActionEvent e) {
String novoPeso = pesoJTF.getText();
String novoAnoFabricacao = anoFabricacaoJTF.getText();
String novoMaterial = materialJTF.getText();
controleDados.cadastrarEditarPatrimonioConstucao(novoNome, novaQuantidade, novoValor, novaMarca,
controleDados.editarCadastrarPatrimonioConstrucao(novoNome, novaQuantidade, novoValor, novaMarca,
novoPeso, novoAnoFabricacao, novoMaterial, indiceFilialSelecionada, indicePatrimonioSelecionado);
JOptionPane.showMessageDialog(salvar, "Patrimonio atualizado com sucesso!");
janela.dispose();
Expand Down
Loading

0 comments on commit cf7d0b7

Please sign in to comment.