From 8be73593afe57c4e07678b01fdefcddd3ef45b4c Mon Sep 17 00:00:00 2001 From: Marco Antonio Lira Barros Date: Wed, 7 May 2025 23:20:28 -0300 Subject: [PATCH 01/45] Feature: add docs; research and clients to Attorney --- avaliacoes/suits/src/main/java/Attorney.java | 87 +++++++++++++++---- avaliacoes/suits/src/main/java/TypeJob.java | 66 +++++++++++++- .../src/main/java/interfaces/I_Lawyer.java | 4 +- 3 files changed, 136 insertions(+), 21 deletions(-) diff --git a/avaliacoes/suits/src/main/java/Attorney.java b/avaliacoes/suits/src/main/java/Attorney.java index 089b6f6..7b3cc68 100644 --- a/avaliacoes/suits/src/main/java/Attorney.java +++ b/avaliacoes/suits/src/main/java/Attorney.java @@ -1,25 +1,78 @@ +import java.util.ArrayList; + import interfaces.I_Lawyer; public class Attorney extends TypeJob implements I_Lawyer { - @Override - public void representClients() { - System.out.println("represent x"); - } - - @Override - public void research() { - System.out.println("research x"); - } + private ArrayList docs = new ArrayList(); + private ArrayList clients = new ArrayList(); + private ArrayList researchs = new ArrayList(); - @Override - public void analysis(String doc) { - System.out.println("analysing " + doc); + public Attorney() { + super(); } + + public Attorney(String name, int salary, int experienceLevel, String description) { + super( + name, + "Lawyer", + description, + salary, + experienceLevel + ); + + + setName("Attorney"); + setType("Lawyer"); + } + + @Override + public void representClients(String client) { + clients.add(client); + System.out.println("represent client " + client); + } + + @Override + public void research(String research) { + researchs.add(research); + System.out.println("research " + research); + } + + @Override + public void analysis(String doc) { + docs.add(doc); + System.out.println("analysing " + doc); + } + + @Override + public void fileDocument(String type) { + System.out.println("file Document is" + type); + } - @Override - public void fileDocument(String type) { - System.out.println("file Document is" + type); - } + public ArrayList getDocs() { + return this.docs; + } -} + public void setDocs(ArrayList docs) { + this.docs = docs; + } + + public ArrayList getClients() { + return this.clients; + } + + public void setClients(ArrayList clients) { + this.clients = clients; + } + + public ArrayList getResearchs() { + return this.researchs; + } + + public void setResearchs(ArrayList researchs) { + this.researchs = researchs; + } + + + + } diff --git a/avaliacoes/suits/src/main/java/TypeJob.java b/avaliacoes/suits/src/main/java/TypeJob.java index 2ace701..e64faef 100644 --- a/avaliacoes/suits/src/main/java/TypeJob.java +++ b/avaliacoes/suits/src/main/java/TypeJob.java @@ -1,3 +1,65 @@ public abstract class TypeJob { - -} + + private String name; + private String type; + private String description; + private int salary; + private int experienceLevel; + + public TypeJob() { + this.name = "Unknown"; + this.type = "Unknown"; + this.description = "Unknown"; + this.salary = 0; + this.experienceLevel = 0; + } + + public TypeJob(String name, String type, String description, int salary, int experienceLevel) { + this.name = name; + this.type = type; + this.description = description; + this.salary = salary; + this.experienceLevel = experienceLevel; + } + + public String getName() { + return this.name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return this.type; + } + + public void setType(String type) { + this.type = type; + } + + public String getDescription() { + return this.description; + } + + public void setDescription(String description) { + this.description = description; + } + + public int getSalary() { + return this.salary; + } + + public void setSalary(int salary) { + this.salary = salary; + } + + public int getExperienceLevel() { + return this.experienceLevel; + } + + public void setExperienceLevel(int experienceLevel) { + this.experienceLevel = experienceLevel; + } + +} \ No newline at end of file diff --git a/avaliacoes/suits/src/main/java/interfaces/I_Lawyer.java b/avaliacoes/suits/src/main/java/interfaces/I_Lawyer.java index 8045ca6..c3e4747 100644 --- a/avaliacoes/suits/src/main/java/interfaces/I_Lawyer.java +++ b/avaliacoes/suits/src/main/java/interfaces/I_Lawyer.java @@ -2,8 +2,8 @@ public interface I_Lawyer { - void representClients(); - void research(); + void representClients(String client); + void research(String research); void analysis(String doc); void fileDocument(String type); From 695ed1adfd6db565ac437864cd89d80485eeb661 Mon Sep 17 00:00:00 2001 From: Marco Antonio Lira Barros Date: Wed, 7 May 2025 23:21:32 -0300 Subject: [PATCH 02/45] Test: add test of basic properties of an Attorney. --- .../suits/src/test/java/testAttorney.java | 77 +++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 avaliacoes/suits/src/test/java/testAttorney.java diff --git a/avaliacoes/suits/src/test/java/testAttorney.java b/avaliacoes/suits/src/test/java/testAttorney.java new file mode 100644 index 0000000..9bf8523 --- /dev/null +++ b/avaliacoes/suits/src/test/java/testAttorney.java @@ -0,0 +1,77 @@ +import static org.junit.Assert.assertEquals; +import org.junit.Test; + +public class testAttorney { + + @Test + public void testTwoAttorneys() { + + // Junior Attorney + + String mockedName = "Junior Attorney"; + int mockedSalary = 5000; + String mockedDescription = "Junior Attorney is an attorney with 1 year of experience."; + + Attorney attorney = new Attorney( + mockedName, + mockedSalary, + 1, + mockedDescription + ); + + // Senior Attorney + + mockedName = "Senior Attorney"; + mockedSalary = 15000; + mockedDescription = "Senior Attorney is an attorney with 7+ years of experience. Plus, they use to get a huge amount of money monthly."; + + Attorney attorney2 = new Attorney( + mockedName, + mockedSalary, + 1, + mockedDescription + ); + } + + @Test + public void testAttorneyMethods() { + + Attorney attorney = new Attorney( + "Pleno Attorney", + 5000, + 1, + "Pleno Attorney yeeeeey" + ); + + // Client: Pantoja + attorney.representClients("Pantoja"); + attorney.research("Case of Pantoja"); + attorney.analysis("Contract for Pantoja"); + attorney.fileDocument("Contract"); + + // Client: Vladimir + attorney.representClients("Vladimir"); + attorney.research("Case of Vladimir"); + attorney.analysis("Contract for Vladimir"); + attorney.fileDocument("Contract"); + + assertEquals("Name should be Pantoja", + "Pantoja", attorney.getClients().get(0)); + + assertEquals("Research should be Case of Pantoja", + "Case of Pantoja", attorney.getResearchs().get(0)); + + assertEquals("Clients size should be 2", + 2, attorney.getClients().size()); + + assertEquals("Research size should be 2", + 2, attorney.getResearchs().size() + ); + + assertEquals("Docs size should be 2", + 2, attorney.getDocs().size() + ); + + } + +} \ No newline at end of file From be43f8378b764d637a3b180d745096ddc0ca1cc4 Mon Sep 17 00:00:00 2001 From: Marco Antonio Lira Barros Date: Thu, 8 May 2025 22:20:51 -0300 Subject: [PATCH 03/45] Fix: remove default setName and setType in Attorney's constructor --- avaliacoes/suits/src/main/java/Attorney.java | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/avaliacoes/suits/src/main/java/Attorney.java b/avaliacoes/suits/src/main/java/Attorney.java index 7b3cc68..e593aff 100644 --- a/avaliacoes/suits/src/main/java/Attorney.java +++ b/avaliacoes/suits/src/main/java/Attorney.java @@ -19,12 +19,8 @@ public Attorney(String name, int salary, int experienceLevel, String description description, salary, experienceLevel - ); - - - setName("Attorney"); - setType("Lawyer"); - } + ); + } @Override public void representClients(String client) { From 2d05480a76c9dea4250e4ef09ca54c1a3946f318 Mon Sep 17 00:00:00 2001 From: Marco Antonio Lira Barros Date: Thu, 8 May 2025 22:21:48 -0300 Subject: [PATCH 04/45] Feature: add ArrayList (attorneys) and improve method info() - adding a comma in it. --- avaliacoes/suits/src/main/java/Law.java | 32 ++++++++++++++++++++----- 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/avaliacoes/suits/src/main/java/Law.java b/avaliacoes/suits/src/main/java/Law.java index 5312280..003b096 100644 --- a/avaliacoes/suits/src/main/java/Law.java +++ b/avaliacoes/suits/src/main/java/Law.java @@ -1,34 +1,54 @@ import java.time.LocalDate; +import java.util.ArrayList; public class Law extends Firm{ private String insuranceQuote; private String govApprovement; + private ArrayList attorneys = new ArrayList(); + + public Law(String name, LocalDate foundation, String insuranceQuote, String govApprovement) { super(name, foundation); this.insuranceQuote = insuranceQuote; this.govApprovement = govApprovement; } - + public String info() { - return "Law [name=" + getName() + ", foundation=" + getFoundation() + ", insuranceQuote=" + insuranceQuote + ", govApprovement=" + govApprovement + listEmployees() + "]"; + return "Law [name=" + getName() + ", foundation=" + getFoundation() + ", insuranceQuote=" + insuranceQuote + ", govApprovement=" + govApprovement + " " + listEmployees() + "]"; } - + public String getInsuranceQuote() { return insuranceQuote; } - + public void setInsuranceQuote(String insuranceQuote) { this.insuranceQuote = insuranceQuote; } - + public String getGovApprovement() { return govApprovement; } - + public void setGovApprovement(String govApprovement) { this.govApprovement = govApprovement; } + + public void addAttorney(Attorney attorney) { + this.attorneys.add(attorney); + } + + public void removeAttorney(Attorney attorney) { + this.attorneys.remove(attorney); + } + + public ArrayList getAttorneys() { + return this.attorneys; + } + + public void setAttorneys(ArrayList attorneys) { + this.attorneys = attorneys; + } } From dbee07b6e941bdbf73219435ff862b64f5cb213c Mon Sep 17 00:00:00 2001 From: Marco Antonio Lira Barros Date: Thu, 8 May 2025 22:22:17 -0300 Subject: [PATCH 05/45] Test: add unit test and integration test of classes (Attorney and Law) --- .../suits/src/test/java/testAttorney.java | 77 +++++++++++++++---- avaliacoes/suits/src/test/java/testLaw.java | 71 +++++++++++++++++ 2 files changed, 134 insertions(+), 14 deletions(-) create mode 100644 avaliacoes/suits/src/test/java/testLaw.java diff --git a/avaliacoes/suits/src/test/java/testAttorney.java b/avaliacoes/suits/src/test/java/testAttorney.java index 9bf8523..2c0e7e4 100644 --- a/avaliacoes/suits/src/test/java/testAttorney.java +++ b/avaliacoes/suits/src/test/java/testAttorney.java @@ -1,36 +1,85 @@ +import java.time.LocalDate; + import static org.junit.Assert.assertEquals; import org.junit.Test; public class testAttorney { @Test - public void testTwoAttorneys() { + public void integrationTestTwoAttorneys() { // Junior Attorney - String mockedName = "Junior Attorney"; - int mockedSalary = 5000; - String mockedDescription = "Junior Attorney is an attorney with 1 year of experience."; + String[] mockedNames = { + "Harvey Specter", + "Mike Ross" + }; + int[] mockedSalaries = { 5000, 15000 }; + String[] mockedDescriptions = { + "Junior Attorney is an attorney with 1 year of experience.", + "Senior Attorney is an attorney with 7+ years of experience." + }; Attorney attorney = new Attorney( - mockedName, - mockedSalary, + mockedNames[0], + mockedSalaries[0], 1, - mockedDescription + mockedDescriptions[0] ); // Senior Attorney - mockedName = "Senior Attorney"; - mockedSalary = 15000; - mockedDescription = "Senior Attorney is an attorney with 7+ years of experience. Plus, they use to get a huge amount of money monthly."; - Attorney attorney2 = new Attorney( - mockedName, - mockedSalary, + mockedNames[1], + mockedSalaries[1], 1, - mockedDescription + mockedDescriptions[1] + ); + + // Law Firm + + String mockedFirmName = "Law Firm"; + LocalDate mockedFoundation = LocalDate.of(2020, 1, 1); + String mockedInsuranceQuote = "Insurance Quote"; + String mockedGovApprovement = "Gov Approvement"; + + + Law law = new Law( + mockedFirmName, + mockedFoundation, + mockedInsuranceQuote, + mockedGovApprovement ); + + // Test Law Firm with two attorneys + // Add attorneys to law firm + law.addAttorney(attorney); + law.addAttorney(attorney2); + + assertEquals(mockedFirmName, law.getName()); + assertEquals(mockedFoundation, law.getFoundation()); + assertEquals(mockedInsuranceQuote, law.getInsuranceQuote()); + assertEquals(mockedGovApprovement, law.getGovApprovement()); + + assertEquals(2, law.getAttorneys().size()); + + assertEquals(mockedNames[0], law.getAttorneys().get(0).getName()); + assertEquals(mockedNames[1], law.getAttorneys().get(1).getName()); + + assertEquals(mockedSalaries[0], law.getAttorneys().get(0).getSalary()); + assertEquals(mockedSalaries[1], law.getAttorneys().get(1).getSalary()); + + assertEquals(mockedDescriptions[0], law.getAttorneys().get(0).getDescription()); + assertEquals(mockedDescriptions[1], law.getAttorneys().get(1).getDescription()); + + // Remove attorney + law.removeAttorney(attorney2); + assertEquals(1, law.getAttorneys().size()); + + assertEquals(mockedNames[0], law.getAttorneys().get(0).getName()); + assertEquals(mockedSalaries[0], law.getAttorneys().get(0).getSalary()); + assertEquals(mockedDescriptions[0], law.getAttorneys().get(0).getDescription()); + assertEquals(1, law.getAttorneys().get(0).getExperienceLevel()); } @Test diff --git a/avaliacoes/suits/src/test/java/testLaw.java b/avaliacoes/suits/src/test/java/testLaw.java new file mode 100644 index 0000000..a580061 --- /dev/null +++ b/avaliacoes/suits/src/test/java/testLaw.java @@ -0,0 +1,71 @@ +import java.time.LocalDate; +import java.util.ArrayList; + +import static org.junit.Assert.assertEquals; +import org.junit.Test; + +public class testLaw { + + @Test + public void testLawMethods() { + + String mockedName = "Law Firm"; + LocalDate mockedFoundation = LocalDate.of(2020, 1, 1); + String mockedInsuranceQuote = "Insurance Quote"; + String mockedGovApprovement = "Gov Approvement"; + + Law law = new Law( + mockedName, + mockedFoundation, + mockedInsuranceQuote, + mockedGovApprovement + ); + + // Test law getters and setters + assertEquals(mockedName, law.getName()); + assertEquals(mockedFoundation, law.getFoundation()); + assertEquals(mockedInsuranceQuote, law.getInsuranceQuote()); + assertEquals(mockedGovApprovement, law.getGovApprovement()); + + // Add employees + ArrayList employees = law.getEmployeers(); + + employees.add(new Person( + "Carlos", + "Pantoja", + "Male" + )); + + // Add employees + employees.add(new Person( + "Vladimir", + "Erthal", + "Male" + )); + + + // Test employees + assertEquals(law.getEmployeers().size(), 2); + assertEquals(law.getEmployeers().get(0).getName(), "Carlos"); + assertEquals(law.getEmployeers().get(0).getSurname(), "Pantoja"); + assertEquals(law.getEmployeers().get(0).getGender(), "Male"); + + assertEquals(law.getEmployeers().get(1).getName(), "Vladimir"); + assertEquals(law.getEmployeers().get(1).getSurname(), "Erthal"); + assertEquals(law.getEmployeers().get(1).getGender(), "Male"); + + // Test info method + String expectedInfo = String.format( + "Law [name=%s, foundation=%s, insuranceQuote=%s, govApprovement=%s Empregados: %s,%s,.]", + mockedName, + mockedFoundation, + mockedInsuranceQuote, + mockedGovApprovement, + law.getEmployeers().get(0).getName(), + law.getEmployeers().get(1).getName() + ); + + assertEquals(expectedInfo, law.info()); + } + +} From e67bad1b5755e0d7dee125f01726aca9cb279fea Mon Sep 17 00:00:00 2001 From: Marco Antonio Lira Barros Date: Sun, 8 Jun 2025 07:04:14 -0300 Subject: [PATCH 06/45] add prova restaurante --- avaliacoes/restaurante/pom.xml | 67 +++++++++++++ .../restaurante/src/main/java/Cartao.java | 8 ++ .../restaurante/src/main/java/Cliente.java | 38 +++++++ .../restaurante/src/main/java/Endereco.java | 61 ++++++++++++ .../restaurante/src/main/java/Especie.java | 9 ++ .../src/main/java/Funcionario.java | 27 +++++ .../src/main/java/INFCGenerator.java | 11 +++ .../restaurante/src/main/java/Item.java | 40 ++++++++ .../restaurante/src/main/java/Menu.java | 68 +++++++++++++ .../restaurante/src/main/java/Mesa.java | 32 ++++++ .../restaurante/src/main/java/MyApp.java | 30 ++++++ .../restaurante/src/main/java/NotaFiscal.java | 70 +++++++++++++ .../restaurante/src/main/java/Pagamento.java | 7 ++ .../restaurante/src/main/java/Pedido.java | 86 ++++++++++++++++ .../restaurante/src/main/java/Pessoa.java | 25 +++++ avaliacoes/restaurante/src/main/java/Pix.java | 10 ++ .../restaurante/src/main/java/Produto.java | 45 +++++++++ .../src/main/java/Restaurante.java | 99 +++++++++++++++++++ .../src/main/java/TipoPagamento.java | 5 + 19 files changed, 738 insertions(+) create mode 100644 avaliacoes/restaurante/pom.xml create mode 100644 avaliacoes/restaurante/src/main/java/Cartao.java create mode 100644 avaliacoes/restaurante/src/main/java/Cliente.java create mode 100644 avaliacoes/restaurante/src/main/java/Endereco.java create mode 100644 avaliacoes/restaurante/src/main/java/Especie.java create mode 100644 avaliacoes/restaurante/src/main/java/Funcionario.java create mode 100644 avaliacoes/restaurante/src/main/java/INFCGenerator.java create mode 100644 avaliacoes/restaurante/src/main/java/Item.java create mode 100644 avaliacoes/restaurante/src/main/java/Menu.java create mode 100644 avaliacoes/restaurante/src/main/java/Mesa.java create mode 100644 avaliacoes/restaurante/src/main/java/MyApp.java create mode 100644 avaliacoes/restaurante/src/main/java/NotaFiscal.java create mode 100644 avaliacoes/restaurante/src/main/java/Pagamento.java create mode 100644 avaliacoes/restaurante/src/main/java/Pedido.java create mode 100644 avaliacoes/restaurante/src/main/java/Pessoa.java create mode 100644 avaliacoes/restaurante/src/main/java/Pix.java create mode 100644 avaliacoes/restaurante/src/main/java/Produto.java create mode 100644 avaliacoes/restaurante/src/main/java/Restaurante.java create mode 100644 avaliacoes/restaurante/src/main/java/TipoPagamento.java diff --git a/avaliacoes/restaurante/pom.xml b/avaliacoes/restaurante/pom.xml new file mode 100644 index 0000000..cd037e3 --- /dev/null +++ b/avaliacoes/restaurante/pom.xml @@ -0,0 +1,67 @@ + + + + 4.0.0 + + chon.group.exam + restaurante + 1 + war + + restaurante + + http://www.example.com + + + UTF-8 + 1.8 + 1.8 + + + + + junit + junit + 4.11 + test + + + + + restaurante + + + + maven-clean-plugin + 3.1.0 + + + + maven-resources-plugin + 3.0.2 + + + maven-compiler-plugin + 3.8.0 + + + maven-surefire-plugin + 2.22.1 + + + maven-war-plugin + 3.2.2 + + + maven-install-plugin + 2.5.2 + + + maven-deploy-plugin + 2.8.2 + + + + + \ No newline at end of file diff --git a/avaliacoes/restaurante/src/main/java/Cartao.java b/avaliacoes/restaurante/src/main/java/Cartao.java new file mode 100644 index 0000000..e97c877 --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/Cartao.java @@ -0,0 +1,8 @@ +public class Cartao extends Pagamento { + + @Override + public void pagar() { + // TODO Auto-generated method stub + super.pagar(); + } +} diff --git a/avaliacoes/restaurante/src/main/java/Cliente.java b/avaliacoes/restaurante/src/main/java/Cliente.java new file mode 100644 index 0000000..c7cf564 --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/Cliente.java @@ -0,0 +1,38 @@ +public class Cliente extends Pessoa { + + private int numFid; + private Mesa mesa; + private Pedido pedido; + + + public Cliente (String nome, String cpf, Mesa mesa){ + super(nome,cpf); + setNumFid(numFid); + setMesa(mesa); + + } + + public Pedido getPedido() { + return this.pedido; + } + + public void setPedido(Pedido pedido) { + this.pedido = pedido; + } + public int getNumFid() { + return numFid; + } + + public void setNumFid(int numFid) { + this.numFid = numFid; + } + + public Mesa getMesa() { + return this.mesa; + } + + public void setMesa(Mesa mesa) { + this.mesa = mesa; + } + +} diff --git a/avaliacoes/restaurante/src/main/java/Endereco.java b/avaliacoes/restaurante/src/main/java/Endereco.java new file mode 100644 index 0000000..cb843ab --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/Endereco.java @@ -0,0 +1,61 @@ +public class Endereco { + + private String rua; + private String cep; + private String bairro; + private String cidade; + private int num; + + public Endereco(String rua, String cep, String bairro, String cidade, int num) { + setRua(rua); + setCep(cep); + setCidade(cidade); + setBairro(bairro); + setNum(num); + } + + public String getRua() { + return this.rua; + } + + public void setRua(String rua) { + this.rua = rua; + } + + public String getCep() { + return this.cep; + } + + public void setCep(String cep) { + this.cep = cep; + } + + public String getBairro() { + return this.bairro; + } + + public void setBairro(String bairro) { + this.bairro = bairro; + } + + public String getCidade() { + return this.cidade; + } + + public void setCidade(String cidade) { + this.cidade = cidade; + } + + public int getNum() { + return this.num; + } + + public void setNum(int num) { + this.num = num; + } + + @Override + public String toString() { + return rua + ", nº " + num + " - " + bairro + ", " + cidade + " - CEP: " + cep; + } +} diff --git a/avaliacoes/restaurante/src/main/java/Especie.java b/avaliacoes/restaurante/src/main/java/Especie.java new file mode 100644 index 0000000..ebb8ad0 --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/Especie.java @@ -0,0 +1,9 @@ +public class Especie extends Pagamento{ + + + @Override + public void pagar() { + // TODO Auto-generated method stub + super.pagar(); + } +} diff --git a/avaliacoes/restaurante/src/main/java/Funcionario.java b/avaliacoes/restaurante/src/main/java/Funcionario.java new file mode 100644 index 0000000..05d4797 --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/Funcionario.java @@ -0,0 +1,27 @@ +public class Funcionario extends Pessoa { + + private String cargo; + private String ctps; + + public Funcionario(String nome, String cpf){ + super(nome,cpf); + this.cargo = cargo; + this.ctps = ctps; + + } + public String getCargo() { + return cargo; + } + public void setCargo(String cargo) { + this.cargo = cargo; + } + public String getCtps() { + return ctps; + } + public void setCtps(String ctps) { + this.ctps = ctps; + } + + + +} diff --git a/avaliacoes/restaurante/src/main/java/INFCGenerator.java b/avaliacoes/restaurante/src/main/java/INFCGenerator.java new file mode 100644 index 0000000..e4c17ff --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/INFCGenerator.java @@ -0,0 +1,11 @@ +import java.util.List; +import java.util.UUID; + +public interface INFCGenerator { + + public void setId(UUID id); + public void setEmitente(String cnpj); + public void setTotal(float total); + public void addProd(List produtos); + +} diff --git a/avaliacoes/restaurante/src/main/java/Item.java b/avaliacoes/restaurante/src/main/java/Item.java new file mode 100644 index 0000000..f726ce8 --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/Item.java @@ -0,0 +1,40 @@ +public class Item { + + private Produto produto; + private int quantidade; + private float valVenda; + + public Item(Produto produto, int quantidade, float val) { + setProduto(produto); + setQuantidade(quantidade); + setValVenda(val); + } + + public Produto getProduto() { + return this.produto; + } + + public void setProduto(Produto produto) { + this.produto = produto; + } + + public int getQuantidade() { + return this.quantidade; + } + + public void setQuantidade(int quantidade) { + this.quantidade = quantidade; + } + + public float getValVenda() { + return this.valVenda; + } + + public void setValVenda(float valVenda) { + this.valVenda = valVenda; + } + + public float getTotal() { + return this.valVenda * this.quantidade; + } +} diff --git a/avaliacoes/restaurante/src/main/java/Menu.java b/avaliacoes/restaurante/src/main/java/Menu.java new file mode 100644 index 0000000..4789c6e --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/Menu.java @@ -0,0 +1,68 @@ +import java.util.List; + +public class Menu { + + private List produtos; + private String nome; + private String cnpj; + private Endereco endereco; + private String nomeFantasia; + + public Menu(List produtos, String nome, String fantasia, String cnpj, Endereco endereco) { + setProdutos(produtos); + setCnpj(cnpj); + setNome(nome); + setNomeFantasia(fantasia); + setEndereco(endereco); + } + + public String getNomeFantasia() { + return this.nomeFantasia; + } + + public void setNomeFantasia(String nomeFantasia) { + this.nomeFantasia = nomeFantasia; + } + + public List getProdutos() { + return this.produtos; + } + + public void setProdutos(List produtos) { + this.produtos = produtos; + } + + public String getNome() { + return this.nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public String getCnpj() { + return this.cnpj; + } + + public void setCnpj(String cnpj) { + this.cnpj = cnpj; + } + + public Endereco getEndereco() { + return this.endereco; + } + + public void setEndereco(Endereco endereco) { + this.endereco = endereco; + } + + + public void exibirMenu() { + System.out.println("======= MENU DE " + nomeFantasia + " ======="); + for (Produto produto : produtos) { + System.out.println(produto.getNome() + " - R$" + String.format("%.2f", produto.getValProduto()) + + " (com IVA: R$" + String.format("%.2f", produto.getPrecoComIva()) + ")"); + } + System.out.println("====================================="); + } +} diff --git a/avaliacoes/restaurante/src/main/java/Mesa.java b/avaliacoes/restaurante/src/main/java/Mesa.java new file mode 100644 index 0000000..891a69e --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/Mesa.java @@ -0,0 +1,32 @@ +public class Mesa { + + private String num; + private String local; + + public Mesa(String num, String local) { + this.num = num; + this.local = local; + } + + public String getNum() { + return num; + } + + public void setNum(String num) { + this.num = num; + } + + public String getLocal() { + return local; + } + + public void setLocal(String local) { + this.local = local; + } + + // ✅ Exibição amigável + @Override + public String toString() { + return "Mesa " + num + " - Local: " + local; + } +} diff --git a/avaliacoes/restaurante/src/main/java/MyApp.java b/avaliacoes/restaurante/src/main/java/MyApp.java new file mode 100644 index 0000000..590cc47 --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/MyApp.java @@ -0,0 +1,30 @@ +import java.util.ArrayList; +import java.util.List; + +public class MyApp { + public static void main(String[] args) { + + ArrayList produtos = new ArrayList<>(); + Produto produto = new Produto("detergente", 14.0f, 0.23f); + produtos.add(produto); + + + Mesa mesa = new Mesa("1", "Salão"); + Cliente cliente = new Cliente("MARCAO", "88656181756", mesa); + Funcionario funcionario = new Funcionario("moises", "00055566677"); + Endereco endereco = new Endereco("Estrada do portella", "10507020", "tijuca", "SC", 2); + Restaurante restaurante = new Restaurante("TEMPERO DE MAE", "237123309", endereco, "tdm"); + Menu menu = new Menu(produtos, restaurante.getNome(), restaurante.getNomeFantasia(), restaurante.getCnpj(), restaurante.getEndereco()); + + Pedido pedido = new Pedido(); + Item item = new Item(produto, 1, produto.getValProduto()); + pedido.addItem(item); + pedido.setTipoPagamento(TipoPagamento.CARTAO); + + pedido.pagar(); + + System.out.println("Cliente: " + cliente.getNome()); + System.out.println("CPF: " + cliente.getCpf()); + System.out.println(mesa); + } +} diff --git a/avaliacoes/restaurante/src/main/java/NotaFiscal.java b/avaliacoes/restaurante/src/main/java/NotaFiscal.java new file mode 100644 index 0000000..ee9eac4 --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/NotaFiscal.java @@ -0,0 +1,70 @@ +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + +public class NotaFiscal implements INFCGenerator { + + private UUID id; + private String cnpjEmitente; + private List produtos; + private float total; + + public NotaFiscal() { + this.produtos = new ArrayList<>(); + } + + @Override + public void setId(UUID id) { + this.id = id; + } + + public UUID getId() { + return id; + } + + public String getCnpjEmitente() { + return cnpjEmitente; + } + + public List getProdutos() { + return produtos; + } + + public float getTotal() { + return total; + } + + @Override + public void setEmitente(String cnpj) { + this.cnpjEmitente = cnpj; + } + + @Override + public void addProd(List produtos) { + this.produtos.addAll(produtos); + } + + @Override + public void setTotal(float total) { + this.total = total; + } + + +public void gerar() { + System.out.println("\n=========== NOTA FISCAL ==========="); + System.out.println("ID: " + id); + System.out.println("Emitente (CNPJ): " + cnpjEmitente); + System.out.println("Produtos:"); + + for (Produto p : produtos) { + System.out.println("- " + p.getNome() + " - R$" + String.format("%.2f", p.getValProduto()) + + " (com IVA: R$" + String.format("%.2f", p.getPrecoComIva()) + ")"); + } + + System.out.println("-----------------------------------"); + System.out.printf("Total com IVA (23%%): R$%.2f\n", total); + System.out.println("===================================\n"); +} + + +} diff --git a/avaliacoes/restaurante/src/main/java/Pagamento.java b/avaliacoes/restaurante/src/main/java/Pagamento.java new file mode 100644 index 0000000..6343ef6 --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/Pagamento.java @@ -0,0 +1,7 @@ +public abstract class Pagamento { + + public void pagar(){ + + } + +} diff --git a/avaliacoes/restaurante/src/main/java/Pedido.java b/avaliacoes/restaurante/src/main/java/Pedido.java new file mode 100644 index 0000000..86eedf9 --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/Pedido.java @@ -0,0 +1,86 @@ +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + +public class Pedido{ + private float numPedido; + private float valorTotal; + private List itens; + private NotaFiscal notaFiscal; + private TipoPagamento tipoPagamento; + + public Pedido(){ + this.numPedido = numPedido; + this.valorTotal = valorTotal; + this.itens = new ArrayList<>(); + } + + public TipoPagamento getTipoPagamento() { + return this.tipoPagamento; + } + + public void setTipoPagamento(TipoPagamento tipoPagamento) { + this.tipoPagamento = tipoPagamento; + } + + public List getItens() { + return this.itens; + } + + public void setItens(List itens) { + this.itens = itens; + } + + public void addItem(Item item){ + this.itens.add(item); + } + public NotaFiscal getNotaFiscal() { + return this.notaFiscal; + } + + public void setNotaFiscal(NotaFiscal notaFiscal) { + this.notaFiscal = notaFiscal; + } + public float getNumPedido() { + return numPedido; + } + public void setNumPedido(float numPedido) { + this.numPedido = numPedido; + } + public float getValorTotal() { + return valorTotal; + } + public void setValorTotal(float valorTotal) { + this.valorTotal = valorTotal; + } + + public void pagar() { + + if (tipoPagamento == TipoPagamento.PIX) { + new Pix().pagar(); + } else if (tipoPagamento == TipoPagamento.CARTAO) { + new Cartao().pagar(); + } else if (tipoPagamento == TipoPagamento.ESPECIE) { + new Especie().pagar(); + } + NotaFiscal nota = new NotaFiscal(); + nota.setId(UUID.randomUUID()); + nota.setEmitente("237123309"); + + List produtos = new ArrayList<>(); + float total = 0; + for (Item item : itens) { + produtos.add(item.getProduto()); + total += item.getTotal(); + } + + nota.addProd(produtos); + float totalComIva = total * 1.23f; + nota.setTotal(totalComIva); + this.valorTotal = totalComIva; + + setNotaFiscal(nota); + nota.gerar(); + + } +} diff --git a/avaliacoes/restaurante/src/main/java/Pessoa.java b/avaliacoes/restaurante/src/main/java/Pessoa.java new file mode 100644 index 0000000..a50e80e --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/Pessoa.java @@ -0,0 +1,25 @@ +public class Pessoa { + private String nome; + private String cpf; + + public Pessoa(String nome, String cpf) { + this.nome = nome; + this.cpf = cpf; + } + public String getNome() { + return nome; + } + public void setNome(String nome) { + this.nome = nome; + } + public String getCpf() { + return cpf; + } + public void setCpf(String cpf) { + this.cpf = cpf; + } + + public String toString(){ + return "Nome: " + nome + "cpf: " + cpf; + } +} diff --git a/avaliacoes/restaurante/src/main/java/Pix.java b/avaliacoes/restaurante/src/main/java/Pix.java new file mode 100644 index 0000000..bd8b5ca --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/Pix.java @@ -0,0 +1,10 @@ +public class Pix extends Pagamento { + + + @Override + public void pagar() { + // TODO Auto-generated method stub + super.pagar(); + } + +} diff --git a/avaliacoes/restaurante/src/main/java/Produto.java b/avaliacoes/restaurante/src/main/java/Produto.java new file mode 100644 index 0000000..f86022e --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/Produto.java @@ -0,0 +1,45 @@ +public class Produto { + + private String nome; + private float valProduto; + private float iva; + + public Produto(String nome, float val, float iva) { + setNome(nome); + setValProduto(val); + setIva(iva); + } + + public String getNome() { + return this.nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public float getValProduto() { + return this.valProduto; + } + + public void setValProduto(float valProduto) { + this.valProduto = valProduto; + } + + public float getIva() { + return this.iva; + } + + public void setIva(float iva) { + this.iva = iva; + } + + public float getPrecoComIva() { + return valProduto * (1 + iva); + } + + @Override + public String toString() { + return nome + " - R$" + String.format("%.2f", valProduto); + } +} diff --git a/avaliacoes/restaurante/src/main/java/Restaurante.java b/avaliacoes/restaurante/src/main/java/Restaurante.java new file mode 100644 index 0000000..8216928 --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/Restaurante.java @@ -0,0 +1,99 @@ +import java.util.List; + +public class Restaurante { + private List produtos; + private String nome; + private String cnpj; + private Endereco endereco; + private String nomeFantasia; + + + private List clientes; + private List funcionarios; + private List mesas; + + public Restaurante( + String nome, + String cnpj, + Endereco endereco, + String nomeFantasia + ){ + setNome(nome); + setNomeFantasia(nomeFantasia); + setCnpj(cnpj); + setEndereco(endereco); + } + + public List getProdutos() { + return this.produtos; + } + + public void setProdutos(List produtos) { + this.produtos = produtos; + } + + public Endereco getEndereco() { + return this.endereco; + } + + public void setEndereco(Endereco endereco) { + this.endereco = endereco; + } + + public String getNomeFantasia() { + return this.nomeFantasia; + } + + public void setNomeFantasia(String nomeFantasia) { + this.nomeFantasia = nomeFantasia; + } + public List getClientes() { + return this.clientes; + } + + public void setClientes(List clientes) { + this.clientes = clientes; + } + + public List getFuncionarios() { + return this.funcionarios; + } + + public void setFuncionarios(List funcionarios) { + this.funcionarios = funcionarios; + } + + public List getMesas() { + return this.mesas; + } + + public void setMesas(List mesas) { + this.mesas = mesas; + } + + public void addCliente(Cliente cliente){ + this.clientes.add(cliente); + } + + public void addFuncionario(Funcionario funcionario){ + this.funcionarios.add(funcionario); + } + + public void addMesa(Mesa mesa){ + this.mesas.add(mesa); + } + public String getNome() { + return nome; + } + public void setNome(String nome) { + this.nome = nome; + } + public String getCnpj() { + return cnpj; + } + public void setCnpj(String cnpj) { + this.cnpj = cnpj; + } + + +} diff --git a/avaliacoes/restaurante/src/main/java/TipoPagamento.java b/avaliacoes/restaurante/src/main/java/TipoPagamento.java new file mode 100644 index 0000000..cf57e80 --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/TipoPagamento.java @@ -0,0 +1,5 @@ +public enum TipoPagamento { + PIX, + CARTAO, + ESPECIE +} From 9ce564954f91d6aa6df49ebadf81e88f518cccad Mon Sep 17 00:00:00 2001 From: Marco Antonio Lira Barros Date: Tue, 17 Jun 2025 00:43:41 -0300 Subject: [PATCH 07/45] remove: classes --- .../restaurante/src/main/java/Cartao.java | 8 -- .../restaurante/src/main/java/Cliente.java | 38 -------- .../restaurante/src/main/java/Endereco.java | 61 ------------- .../restaurante/src/main/java/Especie.java | 9 -- .../src/main/java/Funcionario.java | 27 ------ .../src/main/java/INFCGenerator.java | 11 --- .../restaurante/src/main/java/Item.java | 40 --------- .../restaurante/src/main/java/Mesa.java | 32 ------- .../restaurante/src/main/java/Pagamento.java | 7 -- .../restaurante/src/main/java/Pedido.java | 86 ------------------- .../restaurante/src/main/java/Pessoa.java | 25 ------ avaliacoes/restaurante/src/main/java/Pix.java | 10 --- .../restaurante/src/main/java/Produto.java | 45 ---------- 13 files changed, 399 deletions(-) delete mode 100644 avaliacoes/restaurante/src/main/java/Cartao.java delete mode 100644 avaliacoes/restaurante/src/main/java/Cliente.java delete mode 100644 avaliacoes/restaurante/src/main/java/Endereco.java delete mode 100644 avaliacoes/restaurante/src/main/java/Especie.java delete mode 100644 avaliacoes/restaurante/src/main/java/Funcionario.java delete mode 100644 avaliacoes/restaurante/src/main/java/INFCGenerator.java delete mode 100644 avaliacoes/restaurante/src/main/java/Item.java delete mode 100644 avaliacoes/restaurante/src/main/java/Mesa.java delete mode 100644 avaliacoes/restaurante/src/main/java/Pagamento.java delete mode 100644 avaliacoes/restaurante/src/main/java/Pedido.java delete mode 100644 avaliacoes/restaurante/src/main/java/Pessoa.java delete mode 100644 avaliacoes/restaurante/src/main/java/Pix.java delete mode 100644 avaliacoes/restaurante/src/main/java/Produto.java diff --git a/avaliacoes/restaurante/src/main/java/Cartao.java b/avaliacoes/restaurante/src/main/java/Cartao.java deleted file mode 100644 index e97c877..0000000 --- a/avaliacoes/restaurante/src/main/java/Cartao.java +++ /dev/null @@ -1,8 +0,0 @@ -public class Cartao extends Pagamento { - - @Override - public void pagar() { - // TODO Auto-generated method stub - super.pagar(); - } -} diff --git a/avaliacoes/restaurante/src/main/java/Cliente.java b/avaliacoes/restaurante/src/main/java/Cliente.java deleted file mode 100644 index c7cf564..0000000 --- a/avaliacoes/restaurante/src/main/java/Cliente.java +++ /dev/null @@ -1,38 +0,0 @@ -public class Cliente extends Pessoa { - - private int numFid; - private Mesa mesa; - private Pedido pedido; - - - public Cliente (String nome, String cpf, Mesa mesa){ - super(nome,cpf); - setNumFid(numFid); - setMesa(mesa); - - } - - public Pedido getPedido() { - return this.pedido; - } - - public void setPedido(Pedido pedido) { - this.pedido = pedido; - } - public int getNumFid() { - return numFid; - } - - public void setNumFid(int numFid) { - this.numFid = numFid; - } - - public Mesa getMesa() { - return this.mesa; - } - - public void setMesa(Mesa mesa) { - this.mesa = mesa; - } - -} diff --git a/avaliacoes/restaurante/src/main/java/Endereco.java b/avaliacoes/restaurante/src/main/java/Endereco.java deleted file mode 100644 index cb843ab..0000000 --- a/avaliacoes/restaurante/src/main/java/Endereco.java +++ /dev/null @@ -1,61 +0,0 @@ -public class Endereco { - - private String rua; - private String cep; - private String bairro; - private String cidade; - private int num; - - public Endereco(String rua, String cep, String bairro, String cidade, int num) { - setRua(rua); - setCep(cep); - setCidade(cidade); - setBairro(bairro); - setNum(num); - } - - public String getRua() { - return this.rua; - } - - public void setRua(String rua) { - this.rua = rua; - } - - public String getCep() { - return this.cep; - } - - public void setCep(String cep) { - this.cep = cep; - } - - public String getBairro() { - return this.bairro; - } - - public void setBairro(String bairro) { - this.bairro = bairro; - } - - public String getCidade() { - return this.cidade; - } - - public void setCidade(String cidade) { - this.cidade = cidade; - } - - public int getNum() { - return this.num; - } - - public void setNum(int num) { - this.num = num; - } - - @Override - public String toString() { - return rua + ", nº " + num + " - " + bairro + ", " + cidade + " - CEP: " + cep; - } -} diff --git a/avaliacoes/restaurante/src/main/java/Especie.java b/avaliacoes/restaurante/src/main/java/Especie.java deleted file mode 100644 index ebb8ad0..0000000 --- a/avaliacoes/restaurante/src/main/java/Especie.java +++ /dev/null @@ -1,9 +0,0 @@ -public class Especie extends Pagamento{ - - - @Override - public void pagar() { - // TODO Auto-generated method stub - super.pagar(); - } -} diff --git a/avaliacoes/restaurante/src/main/java/Funcionario.java b/avaliacoes/restaurante/src/main/java/Funcionario.java deleted file mode 100644 index 05d4797..0000000 --- a/avaliacoes/restaurante/src/main/java/Funcionario.java +++ /dev/null @@ -1,27 +0,0 @@ -public class Funcionario extends Pessoa { - - private String cargo; - private String ctps; - - public Funcionario(String nome, String cpf){ - super(nome,cpf); - this.cargo = cargo; - this.ctps = ctps; - - } - public String getCargo() { - return cargo; - } - public void setCargo(String cargo) { - this.cargo = cargo; - } - public String getCtps() { - return ctps; - } - public void setCtps(String ctps) { - this.ctps = ctps; - } - - - -} diff --git a/avaliacoes/restaurante/src/main/java/INFCGenerator.java b/avaliacoes/restaurante/src/main/java/INFCGenerator.java deleted file mode 100644 index e4c17ff..0000000 --- a/avaliacoes/restaurante/src/main/java/INFCGenerator.java +++ /dev/null @@ -1,11 +0,0 @@ -import java.util.List; -import java.util.UUID; - -public interface INFCGenerator { - - public void setId(UUID id); - public void setEmitente(String cnpj); - public void setTotal(float total); - public void addProd(List produtos); - -} diff --git a/avaliacoes/restaurante/src/main/java/Item.java b/avaliacoes/restaurante/src/main/java/Item.java deleted file mode 100644 index f726ce8..0000000 --- a/avaliacoes/restaurante/src/main/java/Item.java +++ /dev/null @@ -1,40 +0,0 @@ -public class Item { - - private Produto produto; - private int quantidade; - private float valVenda; - - public Item(Produto produto, int quantidade, float val) { - setProduto(produto); - setQuantidade(quantidade); - setValVenda(val); - } - - public Produto getProduto() { - return this.produto; - } - - public void setProduto(Produto produto) { - this.produto = produto; - } - - public int getQuantidade() { - return this.quantidade; - } - - public void setQuantidade(int quantidade) { - this.quantidade = quantidade; - } - - public float getValVenda() { - return this.valVenda; - } - - public void setValVenda(float valVenda) { - this.valVenda = valVenda; - } - - public float getTotal() { - return this.valVenda * this.quantidade; - } -} diff --git a/avaliacoes/restaurante/src/main/java/Mesa.java b/avaliacoes/restaurante/src/main/java/Mesa.java deleted file mode 100644 index 891a69e..0000000 --- a/avaliacoes/restaurante/src/main/java/Mesa.java +++ /dev/null @@ -1,32 +0,0 @@ -public class Mesa { - - private String num; - private String local; - - public Mesa(String num, String local) { - this.num = num; - this.local = local; - } - - public String getNum() { - return num; - } - - public void setNum(String num) { - this.num = num; - } - - public String getLocal() { - return local; - } - - public void setLocal(String local) { - this.local = local; - } - - // ✅ Exibição amigável - @Override - public String toString() { - return "Mesa " + num + " - Local: " + local; - } -} diff --git a/avaliacoes/restaurante/src/main/java/Pagamento.java b/avaliacoes/restaurante/src/main/java/Pagamento.java deleted file mode 100644 index 6343ef6..0000000 --- a/avaliacoes/restaurante/src/main/java/Pagamento.java +++ /dev/null @@ -1,7 +0,0 @@ -public abstract class Pagamento { - - public void pagar(){ - - } - -} diff --git a/avaliacoes/restaurante/src/main/java/Pedido.java b/avaliacoes/restaurante/src/main/java/Pedido.java deleted file mode 100644 index 86eedf9..0000000 --- a/avaliacoes/restaurante/src/main/java/Pedido.java +++ /dev/null @@ -1,86 +0,0 @@ -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; - -public class Pedido{ - private float numPedido; - private float valorTotal; - private List itens; - private NotaFiscal notaFiscal; - private TipoPagamento tipoPagamento; - - public Pedido(){ - this.numPedido = numPedido; - this.valorTotal = valorTotal; - this.itens = new ArrayList<>(); - } - - public TipoPagamento getTipoPagamento() { - return this.tipoPagamento; - } - - public void setTipoPagamento(TipoPagamento tipoPagamento) { - this.tipoPagamento = tipoPagamento; - } - - public List getItens() { - return this.itens; - } - - public void setItens(List itens) { - this.itens = itens; - } - - public void addItem(Item item){ - this.itens.add(item); - } - public NotaFiscal getNotaFiscal() { - return this.notaFiscal; - } - - public void setNotaFiscal(NotaFiscal notaFiscal) { - this.notaFiscal = notaFiscal; - } - public float getNumPedido() { - return numPedido; - } - public void setNumPedido(float numPedido) { - this.numPedido = numPedido; - } - public float getValorTotal() { - return valorTotal; - } - public void setValorTotal(float valorTotal) { - this.valorTotal = valorTotal; - } - - public void pagar() { - - if (tipoPagamento == TipoPagamento.PIX) { - new Pix().pagar(); - } else if (tipoPagamento == TipoPagamento.CARTAO) { - new Cartao().pagar(); - } else if (tipoPagamento == TipoPagamento.ESPECIE) { - new Especie().pagar(); - } - NotaFiscal nota = new NotaFiscal(); - nota.setId(UUID.randomUUID()); - nota.setEmitente("237123309"); - - List produtos = new ArrayList<>(); - float total = 0; - for (Item item : itens) { - produtos.add(item.getProduto()); - total += item.getTotal(); - } - - nota.addProd(produtos); - float totalComIva = total * 1.23f; - nota.setTotal(totalComIva); - this.valorTotal = totalComIva; - - setNotaFiscal(nota); - nota.gerar(); - - } -} diff --git a/avaliacoes/restaurante/src/main/java/Pessoa.java b/avaliacoes/restaurante/src/main/java/Pessoa.java deleted file mode 100644 index a50e80e..0000000 --- a/avaliacoes/restaurante/src/main/java/Pessoa.java +++ /dev/null @@ -1,25 +0,0 @@ -public class Pessoa { - private String nome; - private String cpf; - - public Pessoa(String nome, String cpf) { - this.nome = nome; - this.cpf = cpf; - } - public String getNome() { - return nome; - } - public void setNome(String nome) { - this.nome = nome; - } - public String getCpf() { - return cpf; - } - public void setCpf(String cpf) { - this.cpf = cpf; - } - - public String toString(){ - return "Nome: " + nome + "cpf: " + cpf; - } -} diff --git a/avaliacoes/restaurante/src/main/java/Pix.java b/avaliacoes/restaurante/src/main/java/Pix.java deleted file mode 100644 index bd8b5ca..0000000 --- a/avaliacoes/restaurante/src/main/java/Pix.java +++ /dev/null @@ -1,10 +0,0 @@ -public class Pix extends Pagamento { - - - @Override - public void pagar() { - // TODO Auto-generated method stub - super.pagar(); - } - -} diff --git a/avaliacoes/restaurante/src/main/java/Produto.java b/avaliacoes/restaurante/src/main/java/Produto.java deleted file mode 100644 index f86022e..0000000 --- a/avaliacoes/restaurante/src/main/java/Produto.java +++ /dev/null @@ -1,45 +0,0 @@ -public class Produto { - - private String nome; - private float valProduto; - private float iva; - - public Produto(String nome, float val, float iva) { - setNome(nome); - setValProduto(val); - setIva(iva); - } - - public String getNome() { - return this.nome; - } - - public void setNome(String nome) { - this.nome = nome; - } - - public float getValProduto() { - return this.valProduto; - } - - public void setValProduto(float valProduto) { - this.valProduto = valProduto; - } - - public float getIva() { - return this.iva; - } - - public void setIva(float iva) { - this.iva = iva; - } - - public float getPrecoComIva() { - return valProduto * (1 + iva); - } - - @Override - public String toString() { - return nome + " - R$" + String.format("%.2f", valProduto); - } -} From 72826729fa35e586b8bdb375d683c5470e55e4d8 Mon Sep 17 00:00:00 2001 From: Romario Euzebio Date: Tue, 17 Jun 2025 00:55:26 -0300 Subject: [PATCH 08/45] criei a classe pessoa --- .../restaurante/src/main/java/Cartao.java | 8 ++++++ .../restaurante/src/main/java/Pessoa.java | 25 +++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 avaliacoes/restaurante/src/main/java/Cartao.java create mode 100644 avaliacoes/restaurante/src/main/java/Pessoa.java diff --git a/avaliacoes/restaurante/src/main/java/Cartao.java b/avaliacoes/restaurante/src/main/java/Cartao.java new file mode 100644 index 0000000..e97c877 --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/Cartao.java @@ -0,0 +1,8 @@ +public class Cartao extends Pagamento { + + @Override + public void pagar() { + // TODO Auto-generated method stub + super.pagar(); + } +} diff --git a/avaliacoes/restaurante/src/main/java/Pessoa.java b/avaliacoes/restaurante/src/main/java/Pessoa.java new file mode 100644 index 0000000..a50e80e --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/Pessoa.java @@ -0,0 +1,25 @@ +public class Pessoa { + private String nome; + private String cpf; + + public Pessoa(String nome, String cpf) { + this.nome = nome; + this.cpf = cpf; + } + public String getNome() { + return nome; + } + public void setNome(String nome) { + this.nome = nome; + } + public String getCpf() { + return cpf; + } + public void setCpf(String cpf) { + this.cpf = cpf; + } + + public String toString(){ + return "Nome: " + nome + "cpf: " + cpf; + } +} From d60c8e8dceda902c3efcc90b6d6d58a00a194494 Mon Sep 17 00:00:00 2001 From: kdunog Date: Tue, 17 Jun 2025 00:56:34 -0300 Subject: [PATCH 09/45] Create Endereco.java MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit add class endereço --- .../restaurante/src/main/java/Endereco.java | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 avaliacoes/restaurante/src/main/java/Endereco.java diff --git a/avaliacoes/restaurante/src/main/java/Endereco.java b/avaliacoes/restaurante/src/main/java/Endereco.java new file mode 100644 index 0000000..cb843ab --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/Endereco.java @@ -0,0 +1,61 @@ +public class Endereco { + + private String rua; + private String cep; + private String bairro; + private String cidade; + private int num; + + public Endereco(String rua, String cep, String bairro, String cidade, int num) { + setRua(rua); + setCep(cep); + setCidade(cidade); + setBairro(bairro); + setNum(num); + } + + public String getRua() { + return this.rua; + } + + public void setRua(String rua) { + this.rua = rua; + } + + public String getCep() { + return this.cep; + } + + public void setCep(String cep) { + this.cep = cep; + } + + public String getBairro() { + return this.bairro; + } + + public void setBairro(String bairro) { + this.bairro = bairro; + } + + public String getCidade() { + return this.cidade; + } + + public void setCidade(String cidade) { + this.cidade = cidade; + } + + public int getNum() { + return this.num; + } + + public void setNum(int num) { + this.num = num; + } + + @Override + public String toString() { + return rua + ", nº " + num + " - " + bairro + ", " + cidade + " - CEP: " + cep; + } +} From d4e7c85675c2079d8fc0eaf1b4bc38864c37e336 Mon Sep 17 00:00:00 2001 From: Rebecca Veltri Date: Tue, 17 Jun 2025 00:58:19 -0300 Subject: [PATCH 10/45] add cliente --- .../restaurante/src/main/java/Cliente.java | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 avaliacoes/restaurante/src/main/java/Cliente.java diff --git a/avaliacoes/restaurante/src/main/java/Cliente.java b/avaliacoes/restaurante/src/main/java/Cliente.java new file mode 100644 index 0000000..ed6f3fa --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/Cliente.java @@ -0,0 +1,38 @@ +public class Cliente extends Pessoa { + + private int numFid; + private Mesa mesa; + private Pedido pedido; + + + public Cliente (String nome, String cpf, Mesa mesa){ + super(nome,cpf); + setNumFid(numFid); + setMesa(mesa); + + } + + public Pedido getPedido() { + return this.pedido; + } + + public void setPedido(Pedido pedido) { + this.pedido = pedido; + } + public int getNumFid() { + return numFid; + } + + public void setNumFid(int numFid) { + this.numFid = numFid; + } + + public Mesa getMesa() { + return this.mesa; + } + + public void setMesa(Mesa mesa) { + this.mesa = mesa; + } + +} \ No newline at end of file From 373586b2e89c43f8c04a31ec7d2fdb2d8141477e Mon Sep 17 00:00:00 2001 From: Rebecca Veltri Date: Tue, 17 Jun 2025 00:58:31 -0300 Subject: [PATCH 11/45] add funcionario --- .../src/main/java/Funcionario.java | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 avaliacoes/restaurante/src/main/java/Funcionario.java diff --git a/avaliacoes/restaurante/src/main/java/Funcionario.java b/avaliacoes/restaurante/src/main/java/Funcionario.java new file mode 100644 index 0000000..42e4b8c --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/Funcionario.java @@ -0,0 +1,27 @@ +public class Funcionario extends Pessoa { + + private String cargo; + private String ctps; + + public Funcionario(String nome, String cpf){ + super(nome,cpf); + this.cargo = cargo; + this.ctps = ctps; + + } + public String getCargo() { + return cargo; + } + public void setCargo(String cargo) { + this.cargo = cargo; + } + public String getCtps() { + return ctps; + } + public void setCtps(String ctps) { + this.ctps = ctps; + } + + + +} \ No newline at end of file From 4b755cf5abf974ea150f891aa789e5db4ecd75af Mon Sep 17 00:00:00 2001 From: kdunog Date: Tue, 17 Jun 2025 01:01:55 -0300 Subject: [PATCH 12/45] add class pedido --- .../restaurante/src/main/java/Pedido.java | 88 +++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 avaliacoes/restaurante/src/main/java/Pedido.java diff --git a/avaliacoes/restaurante/src/main/java/Pedido.java b/avaliacoes/restaurante/src/main/java/Pedido.java new file mode 100644 index 0000000..ef5b75f --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/Pedido.java @@ -0,0 +1,88 @@ +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + +public class Pedido{ + private int numPedido; + private float valorTotal; + private List itens; + private NotaFiscal notaFiscal; + private TipoPagamento tipoPagamento; + + public Pedido(int numPedido, float valorTotal, TipoPagamento tipo){ + setNumPedido(numPedido); + setValorTotal(valorTotal); + setTipoPagamento(tipo); + this.itens = new ArrayList(); + } + + public TipoPagamento getTipoPagamento() { + return this.tipoPagamento; + } + + public void setTipoPagamento(TipoPagamento tipoPagamento) { + this.tipoPagamento = tipoPagamento; + } + + public List getItens() { + return this.itens; + } + + public void setItens(List itens) { + this.itens = itens; + } + + public void addItem(Item item){ + this.itens.add(item); + } + public NotaFiscal getNotaFiscal() { + return this.notaFiscal; + } + + public void setNotaFiscal(NotaFiscal notaFiscal) { + this.notaFiscal = notaFiscal; + } + public int getNumPedido() { + return numPedido; + } + public void setNumPedido(int numPedido) { + this.numPedido = numPedido; + } + public float getValorTotal() { + return valorTotal; + } + public void setValorTotal(float valorTotal) { + this.valorTotal = valorTotal; + } + + public void pagar() { + + if (tipoPagamento == TipoPagamento.PIX) { + new Pix().pagar(); + } else if (tipoPagamento == TipoPagamento.CARTAO) { + new Cartao().pagar(); + } else if (tipoPagamento == TipoPagamento.ESPECIE) { + new Especie().pagar(); + } + NotaFiscal nota = new NotaFiscal(); + nota.setId(UUID.randomUUID()); + nota.setEmitente("237123309"); + + ArrayList produtos = new ArrayList(); + float total = 0; + float iva = 0; + + for (Item item : getItens()) { + produtos.add(item.getProduto()); + iva = item.getProduto().getIva(); + total += item.getTotal() * (1 + iva); + } + + nota.setTotal(total); + nota.addProd(produtos); + setValorTotal(total); + + setNotaFiscal(nota); + nota.gerar(); + } +} From cff65587fcdadf5b1b489fa37347a19c2785d344 Mon Sep 17 00:00:00 2001 From: Romario Euzebio Date: Tue, 17 Jun 2025 01:07:29 -0300 Subject: [PATCH 13/45] add classe pix e produto --- avaliacoes/restaurante/src/main/java/Pix.java | 10 +++++ .../restaurante/src/main/java/Produto.java | 45 +++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 avaliacoes/restaurante/src/main/java/Pix.java create mode 100644 avaliacoes/restaurante/src/main/java/Produto.java diff --git a/avaliacoes/restaurante/src/main/java/Pix.java b/avaliacoes/restaurante/src/main/java/Pix.java new file mode 100644 index 0000000..534bd68 --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/Pix.java @@ -0,0 +1,10 @@ +public class Pix extends Pagamento { + + + @Override + public void pagar() { + // TODO Auto-generated method stub + super.pagar(); + } + +} \ No newline at end of file diff --git a/avaliacoes/restaurante/src/main/java/Produto.java b/avaliacoes/restaurante/src/main/java/Produto.java new file mode 100644 index 0000000..f86022e --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/Produto.java @@ -0,0 +1,45 @@ +public class Produto { + + private String nome; + private float valProduto; + private float iva; + + public Produto(String nome, float val, float iva) { + setNome(nome); + setValProduto(val); + setIva(iva); + } + + public String getNome() { + return this.nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public float getValProduto() { + return this.valProduto; + } + + public void setValProduto(float valProduto) { + this.valProduto = valProduto; + } + + public float getIva() { + return this.iva; + } + + public void setIva(float iva) { + this.iva = iva; + } + + public float getPrecoComIva() { + return valProduto * (1 + iva); + } + + @Override + public String toString() { + return nome + " - R$" + String.format("%.2f", valProduto); + } +} From 605fda9336d60f53e4fc18a01365cc27b586a776 Mon Sep 17 00:00:00 2001 From: kdunog Date: Tue, 17 Jun 2025 01:07:35 -0300 Subject: [PATCH 14/45] add class Especie --- avaliacoes/restaurante/src/main/java/Especie.java | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 avaliacoes/restaurante/src/main/java/Especie.java diff --git a/avaliacoes/restaurante/src/main/java/Especie.java b/avaliacoes/restaurante/src/main/java/Especie.java new file mode 100644 index 0000000..32000b1 --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/Especie.java @@ -0,0 +1,8 @@ +public class Especie extends Pagamento{ + + @Override + public void pagar() { + // TODO Auto-generated method stub + super.pagar(); + } +} From 92740df60df42def6f5a78abef49a63b1bf87a95 Mon Sep 17 00:00:00 2001 From: kdunog Date: Tue, 17 Jun 2025 01:10:21 -0300 Subject: [PATCH 15/45] add interface INFCGenerator --- .../restaurante/src/main/java/INFCGenerator.java | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 avaliacoes/restaurante/src/main/java/INFCGenerator.java diff --git a/avaliacoes/restaurante/src/main/java/INFCGenerator.java b/avaliacoes/restaurante/src/main/java/INFCGenerator.java new file mode 100644 index 0000000..f43b3fa --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/INFCGenerator.java @@ -0,0 +1,11 @@ +import java.util.ArrayList; +import java.util.UUID; + +public interface INFCGenerator { + + public void setId(UUID id); + public void setEmitente(String cnpj); + public void setTotal(float total); + public void addProd(ArrayList produtos); + +} From 15c9ed47cdde3c290dbcbdc50c12df7dabb8ec53 Mon Sep 17 00:00:00 2001 From: Rebecca Veltri Date: Tue, 17 Jun 2025 01:11:03 -0300 Subject: [PATCH 16/45] add item --- .../restaurante/src/main/java/Item.java | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 avaliacoes/restaurante/src/main/java/Item.java diff --git a/avaliacoes/restaurante/src/main/java/Item.java b/avaliacoes/restaurante/src/main/java/Item.java new file mode 100644 index 0000000..29c0494 --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/Item.java @@ -0,0 +1,40 @@ +public class Item { + + private Produto produto; + private int quantidade; + private float valVenda; + + public Item(Produto produto, int quantidade, float val) { + setProduto(produto); + setQuantidade(quantidade); + setValVenda(val); + } + + public Produto getProduto() { + return this.produto; + } + + public void setProduto(Produto produto) { + this.produto = produto; + } + + public int getQuantidade() { + return this.quantidade; + } + + public void setQuantidade(int quantidade) { + this.quantidade = quantidade; + } + + public float getValVenda() { + return this.valVenda; + } + + public void setValVenda(float valVenda) { + this.valVenda = valVenda; + } + + public float getTotal() { + return this.valVenda * this.quantidade; + } +} \ No newline at end of file From 550bd192c5f18d61e4484944707e88c15d89e73a Mon Sep 17 00:00:00 2001 From: Rebecca Veltri Date: Tue, 17 Jun 2025 01:11:14 -0300 Subject: [PATCH 17/45] add pagamento --- avaliacoes/restaurante/src/main/java/Pagamento.java | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 avaliacoes/restaurante/src/main/java/Pagamento.java diff --git a/avaliacoes/restaurante/src/main/java/Pagamento.java b/avaliacoes/restaurante/src/main/java/Pagamento.java new file mode 100644 index 0000000..6343ef6 --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/Pagamento.java @@ -0,0 +1,7 @@ +public abstract class Pagamento { + + public void pagar(){ + + } + +} From 4898edf5ee8d08c583d8fd1937626de8f53e0ef4 Mon Sep 17 00:00:00 2001 From: kdunog Date: Tue, 17 Jun 2025 01:11:27 -0300 Subject: [PATCH 18/45] add class Mesa --- .../restaurante/src/main/java/Mesa.java | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 avaliacoes/restaurante/src/main/java/Mesa.java diff --git a/avaliacoes/restaurante/src/main/java/Mesa.java b/avaliacoes/restaurante/src/main/java/Mesa.java new file mode 100644 index 0000000..891a69e --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/Mesa.java @@ -0,0 +1,32 @@ +public class Mesa { + + private String num; + private String local; + + public Mesa(String num, String local) { + this.num = num; + this.local = local; + } + + public String getNum() { + return num; + } + + public void setNum(String num) { + this.num = num; + } + + public String getLocal() { + return local; + } + + public void setLocal(String local) { + this.local = local; + } + + // ✅ Exibição amigável + @Override + public String toString() { + return "Mesa " + num + " - Local: " + local; + } +} From cfeacd93327a083342fe8c6185c1595658f1d309 Mon Sep 17 00:00:00 2001 From: Marco Antonio Lira Barros Date: Tue, 17 Jun 2025 01:25:23 -0300 Subject: [PATCH 19/45] fix: myapp --- .../restaurante/src/main/java/MyApp.java | 39 ++++++++++++------- 1 file changed, 26 insertions(+), 13 deletions(-) diff --git a/avaliacoes/restaurante/src/main/java/MyApp.java b/avaliacoes/restaurante/src/main/java/MyApp.java index 590cc47..a5d9d35 100644 --- a/avaliacoes/restaurante/src/main/java/MyApp.java +++ b/avaliacoes/restaurante/src/main/java/MyApp.java @@ -1,30 +1,43 @@ import java.util.ArrayList; -import java.util.List; public class MyApp { public static void main(String[] args) { + // Produtos ArrayList produtos = new ArrayList<>(); - Produto produto = new Produto("detergente", 14.0f, 0.23f); - produtos.add(produto); - + produtos.add(new Produto("coca-cola 600ml", 14.0f, 0.23f)); + produtos.add(new Produto("bacalhau", 200.5f, 0.23f)); + produtos.add(new Produto("carne seca", 140.0f, 0.23f)); + // Clientes e Pessoas Mesa mesa = new Mesa("1", "Salão"); Cliente cliente = new Cliente("MARCAO", "88656181756", mesa); Funcionario funcionario = new Funcionario("moises", "00055566677"); - Endereco endereco = new Endereco("Estrada do portella", "10507020", "tijuca", "SC", 2); + + // Restaurante + Endereco endereco = new Endereco("Estrada do portela", "10507020", "tijuca", "SC", 2); Restaurante restaurante = new Restaurante("TEMPERO DE MAE", "237123309", endereco, "tdm"); Menu menu = new Menu(produtos, restaurante.getNome(), restaurante.getNomeFantasia(), restaurante.getCnpj(), restaurante.getEndereco()); - - Pedido pedido = new Pedido(); - Item item = new Item(produto, 1, produto.getValProduto()); - pedido.addItem(item); - pedido.setTipoPagamento(TipoPagamento.CARTAO); - - pedido.pagar(); + menu.exibirMenu(); System.out.println("Cliente: " + cliente.getNome()); System.out.println("CPF: " + cliente.getCpf()); - System.out.println(mesa); + System.out.println("Mesa: " + mesa.getNum() + "-> " + mesa.getLocal()); + + // Pedidos + TipoPagamento tipoPagamento = TipoPagamento.PIX; + ArrayList itens = new ArrayList(); + float valorTotal = 0; + + for(Produto produto : produtos){ + Item item = new Item(produto, 1, produto.getValProduto()); + itens.add(item); + valorTotal += item.getTotal(); + } + + Pedido pedido = new Pedido(1, valorTotal, tipoPagamento); + pedido.setItens(itens); + pedido.pagar(); + } } From 7f77966ceb7c802253281fc579751a461f1bbf19 Mon Sep 17 00:00:00 2001 From: kdunog Date: Tue, 17 Jun 2025 01:31:00 -0300 Subject: [PATCH 20/45] add nota fiscal --- avaliacoes/restaurante/src/main/java/NotaFiscal.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/avaliacoes/restaurante/src/main/java/NotaFiscal.java b/avaliacoes/restaurante/src/main/java/NotaFiscal.java index ee9eac4..1387753 100644 --- a/avaliacoes/restaurante/src/main/java/NotaFiscal.java +++ b/avaliacoes/restaurante/src/main/java/NotaFiscal.java @@ -40,7 +40,7 @@ public void setEmitente(String cnpj) { } @Override - public void addProd(List produtos) { + public void addProd(ArrayList produtos) { this.produtos.addAll(produtos); } @@ -66,5 +66,7 @@ public void gerar() { System.out.println("===================================\n"); } + + } From e22cbece0c6aae692dcfbf386b1764f42d707773 Mon Sep 17 00:00:00 2001 From: Marco Antonio Lira Barros Date: Mon, 23 Jun 2025 23:15:24 -0300 Subject: [PATCH 21/45] feat: add README; add folders --- avaliacoes/restaurante/src/main/java/DAO/.gitkeep | 0 avaliacoes/restaurante/src/main/java/README.md | 8 ++++++++ avaliacoes/restaurante/src/main/java/controllers/.gitkeep | 0 avaliacoes/restaurante/src/main/java/models/.gitkeep | 0 avaliacoes/restaurante/src/main/java/views/.gitkeep | 0 5 files changed, 8 insertions(+) create mode 100644 avaliacoes/restaurante/src/main/java/DAO/.gitkeep create mode 100644 avaliacoes/restaurante/src/main/java/README.md create mode 100644 avaliacoes/restaurante/src/main/java/controllers/.gitkeep create mode 100644 avaliacoes/restaurante/src/main/java/models/.gitkeep create mode 100644 avaliacoes/restaurante/src/main/java/views/.gitkeep diff --git a/avaliacoes/restaurante/src/main/java/DAO/.gitkeep b/avaliacoes/restaurante/src/main/java/DAO/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/avaliacoes/restaurante/src/main/java/README.md b/avaliacoes/restaurante/src/main/java/README.md new file mode 100644 index 0000000..a881cf4 --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/README.md @@ -0,0 +1,8 @@ +# Sistema de Gerenciamento de Restaurante + +Este projeto é um sistema de gerenciamento de restaurante, em MVC, feito em Java. + +## Alunos + +* Marco Antonio (Cliente e Pedido) +* Romário Euzebio (Mesa e Produto) \ No newline at end of file diff --git a/avaliacoes/restaurante/src/main/java/controllers/.gitkeep b/avaliacoes/restaurante/src/main/java/controllers/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/avaliacoes/restaurante/src/main/java/models/.gitkeep b/avaliacoes/restaurante/src/main/java/models/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/avaliacoes/restaurante/src/main/java/views/.gitkeep b/avaliacoes/restaurante/src/main/java/views/.gitkeep new file mode 100644 index 0000000..e69de29 From 5bc5c95491c82bfa999d8f8d85b772c30ff4b329 Mon Sep 17 00:00:00 2001 From: Marco Antonio Lira Barros Date: Mon, 23 Jun 2025 23:20:10 -0300 Subject: [PATCH 22/45] feat: add db --- avaliacoes/restaurante/src/main/java/db/cliente.txt | 0 avaliacoes/restaurante/src/main/java/db/mesa.txt | 0 avaliacoes/restaurante/src/main/java/db/pedido.txt | 0 avaliacoes/restaurante/src/main/java/db/produto.txt | 0 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 avaliacoes/restaurante/src/main/java/db/cliente.txt create mode 100644 avaliacoes/restaurante/src/main/java/db/mesa.txt create mode 100644 avaliacoes/restaurante/src/main/java/db/pedido.txt create mode 100644 avaliacoes/restaurante/src/main/java/db/produto.txt diff --git a/avaliacoes/restaurante/src/main/java/db/cliente.txt b/avaliacoes/restaurante/src/main/java/db/cliente.txt new file mode 100644 index 0000000..e69de29 diff --git a/avaliacoes/restaurante/src/main/java/db/mesa.txt b/avaliacoes/restaurante/src/main/java/db/mesa.txt new file mode 100644 index 0000000..e69de29 diff --git a/avaliacoes/restaurante/src/main/java/db/pedido.txt b/avaliacoes/restaurante/src/main/java/db/pedido.txt new file mode 100644 index 0000000..e69de29 diff --git a/avaliacoes/restaurante/src/main/java/db/produto.txt b/avaliacoes/restaurante/src/main/java/db/produto.txt new file mode 100644 index 0000000..e69de29 From b0733fecae2560076fa57a952b0060e8c040cf7e Mon Sep 17 00:00:00 2001 From: Marco Antonio Lira Barros Date: Tue, 24 Jun 2025 00:32:02 -0300 Subject: [PATCH 23/45] feat: add funcionario e item; remove: produto e cliente. --- .../restaurante/src/main/java/db/{cliente.txt => funcionario.txt} | 0 avaliacoes/restaurante/src/main/java/db/{pedido.txt => item.txt} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename avaliacoes/restaurante/src/main/java/db/{cliente.txt => funcionario.txt} (100%) rename avaliacoes/restaurante/src/main/java/db/{pedido.txt => item.txt} (100%) diff --git a/avaliacoes/restaurante/src/main/java/db/cliente.txt b/avaliacoes/restaurante/src/main/java/db/funcionario.txt similarity index 100% rename from avaliacoes/restaurante/src/main/java/db/cliente.txt rename to avaliacoes/restaurante/src/main/java/db/funcionario.txt diff --git a/avaliacoes/restaurante/src/main/java/db/pedido.txt b/avaliacoes/restaurante/src/main/java/db/item.txt similarity index 100% rename from avaliacoes/restaurante/src/main/java/db/pedido.txt rename to avaliacoes/restaurante/src/main/java/db/item.txt From 7489750fa1e3cf3dfbc2b42aa6674ed3c4466c9c Mon Sep 17 00:00:00 2001 From: Marco Antonio Lira Barros Date: Tue, 24 Jun 2025 00:32:32 -0300 Subject: [PATCH 24/45] feat: Funcionario, Item, Pessoa e Produto --- .../src/main/java/DAO/FuncionarioDAO.java | 5 + .../src/main/java/DAO/ItemDAO.java | 96 +++++++++++++++++++ .../controllers/FuncionarioController.java | 5 + .../main/java/controllers/ItemController.java | 55 +++++++++++ .../src/main/java/models/Funcionario.java | 29 ++++++ .../src/main/java/models/Item.java | 69 +++++++++++++ .../src/main/java/models/Pessoa.java | 27 ++++++ .../src/main/java/models/Produto.java | 47 +++++++++ .../src/main/java/views/ClienteScan.java | 5 + .../src/main/java/views/ItemScan.java | 47 +++++++++ 10 files changed, 385 insertions(+) create mode 100644 avaliacoes/restaurante/src/main/java/DAO/FuncionarioDAO.java create mode 100644 avaliacoes/restaurante/src/main/java/DAO/ItemDAO.java create mode 100644 avaliacoes/restaurante/src/main/java/controllers/FuncionarioController.java create mode 100644 avaliacoes/restaurante/src/main/java/controllers/ItemController.java create mode 100644 avaliacoes/restaurante/src/main/java/models/Funcionario.java create mode 100644 avaliacoes/restaurante/src/main/java/models/Item.java create mode 100644 avaliacoes/restaurante/src/main/java/models/Pessoa.java create mode 100644 avaliacoes/restaurante/src/main/java/models/Produto.java create mode 100644 avaliacoes/restaurante/src/main/java/views/ClienteScan.java create mode 100644 avaliacoes/restaurante/src/main/java/views/ItemScan.java diff --git a/avaliacoes/restaurante/src/main/java/DAO/FuncionarioDAO.java b/avaliacoes/restaurante/src/main/java/DAO/FuncionarioDAO.java new file mode 100644 index 0000000..16d5142 --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/DAO/FuncionarioDAO.java @@ -0,0 +1,5 @@ +package DAO; + +public class FuncionarioDAO { + +} diff --git a/avaliacoes/restaurante/src/main/java/DAO/ItemDAO.java b/avaliacoes/restaurante/src/main/java/DAO/ItemDAO.java new file mode 100644 index 0000000..cc41889 --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/DAO/ItemDAO.java @@ -0,0 +1,96 @@ +package DAO; + +import java.io.File; +import java.io.FileWriter; +import java.util.ArrayList; +import java.util.Scanner; + +import models.Item; + + +public class ItemDAO { + + + public String path = "../db/item.db"; + public ArrayList items = new ArrayList(); + public int num = 1; + + public void create(Item item){ + + + try{ + + FileWriter db = new FileWriter(path); + + for(Item itemX : items){ + + db.write("Pedido #" + num + ":\n"); + db.write("Produto: " + itemX.getProduto().getNome() + "\n"); + db.write("Quantidade: " + itemX.getQuantidade() + "\n"); + db.write("Valor: R$" + itemX.getValVenda() + "\n"); + db.write("Total: R$" + itemX.getTotal() + "\n"); + db.write("\n"); + } + + db.close(); + num++; + + }catch(Exception e){ + + System.err.println(e.getMessage()); + } + } + + public void read(){ + + + try { + File source = new File(path); + + Scanner reader = new Scanner(source); + + while(reader.hasNextLine()){ + + String data = reader.nextLine(); + System.out.println(data); + } + + } catch (Exception e){ + System.err.println(e.getMessage()); + } + + } + + public void delete(int id){ + + try { + File source = new File(path); + + Scanner reader = new Scanner(source); + + while(reader.hasNextLine()){ + + String line = reader.nextLine(); + + if(line.contains("#")){ + + String idNum = line.split("#")[1]; + + if(idNum.contains(String.valueOf(id))){ + items.remove(id); + }else{ + + System.out.println("Item não encontrado!"); + } + + } + + } + + } catch (Exception e){ + System.err.println(e.getMessage()); + } + } + + +} diff --git a/avaliacoes/restaurante/src/main/java/controllers/FuncionarioController.java b/avaliacoes/restaurante/src/main/java/controllers/FuncionarioController.java new file mode 100644 index 0000000..9c58a8c --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/controllers/FuncionarioController.java @@ -0,0 +1,5 @@ +package controllers; + +public class FuncionarioController { + +} diff --git a/avaliacoes/restaurante/src/main/java/controllers/ItemController.java b/avaliacoes/restaurante/src/main/java/controllers/ItemController.java new file mode 100644 index 0000000..f5d60d5 --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/controllers/ItemController.java @@ -0,0 +1,55 @@ +package controllers; + +import java.util.Scanner; + +import DAO.ItemDAO; +import models.Item; + +public class ItemController { + + public static void main(String args[]) { + + Scanner scan = new Scanner(System.in); + ItemDAO itemDAO = new ItemDAO(); + + System.out.println("Escolha a opção: "); + System.out.println("1: Criar"); + System.out.println("2: Ler"); + System.out.println("3: Deletar "); + + int opcao = Integer.parseInt(scan.nextLine()); + + switch(opcao){ + + case 1: + + System.out.print("Quantidade: "); + int quantidade = scan.nextInt(); + + System.out.print("Valor: "); + float valor = scan.nextFloat(); + + + Item item = new Item(null, quantidade, valor, itemDAO); + + item.create(); + + break; + + case 2: + + itemDAO.read(); + break; + + case 3: + + System.out.print("ID: "); + int id = scan.nextInt(); + + itemDAO.delete(id); + break; + } + + scan.close(); + } +} \ No newline at end of file diff --git a/avaliacoes/restaurante/src/main/java/models/Funcionario.java b/avaliacoes/restaurante/src/main/java/models/Funcionario.java new file mode 100644 index 0000000..a38a8fa --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/models/Funcionario.java @@ -0,0 +1,29 @@ +package models; + +public class Funcionario extends Pessoa { + + private String cargo; + private String ctps; + + public Funcionario(String nome, String cpf){ + super(nome,cpf); + this.cargo = cargo; + this.ctps = ctps; + + } + public String getCargo() { + return cargo; + } + public void setCargo(String cargo) { + this.cargo = cargo; + } + public String getCtps() { + return ctps; + } + public void setCtps(String ctps) { + this.ctps = ctps; + } + + + +} \ No newline at end of file diff --git a/avaliacoes/restaurante/src/main/java/models/Item.java b/avaliacoes/restaurante/src/main/java/models/Item.java new file mode 100644 index 0000000..2ee0efb --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/models/Item.java @@ -0,0 +1,69 @@ +package models; + +import DAO.ItemDAO; + +public class Item { + + private Produto produto; + private int quantidade; + private float valVenda; + private ItemDAO itemDAO; + + + + public Item(Produto produto, int quantidade, float val, ItemDAO itemDAO) { + setProduto(produto); + setQuantidade(quantidade); + setValVenda(val); + setItemDAO(itemDAO); + } + + public void create(){ + getItemDAO().create(this); + } + + public void read(){ + getItemDAO().read(); + } + + public void delete(int id){ + getItemDAO().delete(id); + } + + + public ItemDAO getItemDAO() { + return this.itemDAO; + } + + public void setItemDAO(ItemDAO itemDAO) { + this.itemDAO = itemDAO; + } + + public Produto getProduto() { + return this.produto; + } + + public void setProduto(Produto produto) { + this.produto = produto; + } + + public int getQuantidade() { + return this.quantidade; + } + + public void setQuantidade(int quantidade) { + this.quantidade = quantidade; + } + + public float getValVenda() { + return this.valVenda; + } + + public void setValVenda(float valVenda) { + this.valVenda = valVenda; + } + + public float getTotal() { + return this.valVenda * this.quantidade; + } +} \ No newline at end of file diff --git a/avaliacoes/restaurante/src/main/java/models/Pessoa.java b/avaliacoes/restaurante/src/main/java/models/Pessoa.java new file mode 100644 index 0000000..1cf9aed --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/models/Pessoa.java @@ -0,0 +1,27 @@ +package models; + +public class Pessoa { + private String nome; + private String cpf; + + public Pessoa(String nome, String cpf) { + this.nome = nome; + this.cpf = cpf; + } + public String getNome() { + return nome; + } + public void setNome(String nome) { + this.nome = nome; + } + public String getCpf() { + return cpf; + } + public void setCpf(String cpf) { + this.cpf = cpf; + } + + public String toString(){ + return "Nome: " + nome + "cpf: " + cpf; + } +} diff --git a/avaliacoes/restaurante/src/main/java/models/Produto.java b/avaliacoes/restaurante/src/main/java/models/Produto.java new file mode 100644 index 0000000..42a57f6 --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/models/Produto.java @@ -0,0 +1,47 @@ +package models; + +public class Produto { + + private String nome; + private float valProduto; + private float iva; + + public Produto(String nome, float val, float iva) { + setNome(nome); + setValProduto(val); + setIva(iva); + } + + public String getNome() { + return this.nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public float getValProduto() { + return this.valProduto; + } + + public void setValProduto(float valProduto) { + this.valProduto = valProduto; + } + + public float getIva() { + return this.iva; + } + + public void setIva(float iva) { + this.iva = iva; + } + + public float getPrecoComIva() { + return valProduto * (1 + iva); + } + + @Override + public String toString() { + return nome + " - R$" + String.format("%.2f", valProduto); + } +} \ No newline at end of file diff --git a/avaliacoes/restaurante/src/main/java/views/ClienteScan.java b/avaliacoes/restaurante/src/main/java/views/ClienteScan.java new file mode 100644 index 0000000..c15eaf4 --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/views/ClienteScan.java @@ -0,0 +1,5 @@ +package views; + +public class ClienteScan { + +} diff --git a/avaliacoes/restaurante/src/main/java/views/ItemScan.java b/avaliacoes/restaurante/src/main/java/views/ItemScan.java new file mode 100644 index 0000000..5d2c78a --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/views/ItemScan.java @@ -0,0 +1,47 @@ +package views; + +import java.util.Scanner; + +import DAO.ItemDAO; +import models.Item; +import models.Produto; + +public class ItemScan { + + private Produto produto; + + public Produto getProduto() { + return this.produto; + } + + public void setProduto(Produto produto) { + this.produto = produto; + } + + + public ItemScan( + Produto produto + ){ + setProduto(produto); + + } + + public Item read(){ + + Scanner scan = new Scanner(System.in); + ItemDAO itemDAO = new ItemDAO(); + + System.out.print("Quantidade: "); + int quantidade = scan.nextInt(); + + System.out.print("Valor: "); + float valor = scan.nextFloat(); + + + Item item = new Item(getProduto(), quantidade, valor, itemDAO); + + return item; + } + + +} From 3117aeb7bbd36c7ae65f417d7381d3f96c935078 Mon Sep 17 00:00:00 2001 From: Romario Euzebio Date: Tue, 24 Jun 2025 00:38:33 -0300 Subject: [PATCH 25/45] commitando --- .../src/main/java/DAO/MesaDao.java | 42 +++++++++++++++++ .../src/main/java/DAO/ProdutoDao.java | 5 ++ .../main/java/controllers/MesaController.java | 5 ++ .../java/controllers/ProdutoController.java | 5 ++ .../src/main/java/models/Mesa.java | 34 ++++++++++++++ .../src/main/java/models/Produto.java | 47 +++++++++++++++++++ .../src/main/java/views/MesaScan.java | 21 +++++++++ .../src/main/java/views/ProdutoScan.java | 5 ++ 8 files changed, 164 insertions(+) create mode 100644 avaliacoes/restaurante/src/main/java/DAO/MesaDao.java create mode 100644 avaliacoes/restaurante/src/main/java/DAO/ProdutoDao.java create mode 100644 avaliacoes/restaurante/src/main/java/controllers/MesaController.java create mode 100644 avaliacoes/restaurante/src/main/java/controllers/ProdutoController.java create mode 100644 avaliacoes/restaurante/src/main/java/models/Mesa.java create mode 100644 avaliacoes/restaurante/src/main/java/models/Produto.java create mode 100644 avaliacoes/restaurante/src/main/java/views/MesaScan.java create mode 100644 avaliacoes/restaurante/src/main/java/views/ProdutoScan.java diff --git a/avaliacoes/restaurante/src/main/java/DAO/MesaDao.java b/avaliacoes/restaurante/src/main/java/DAO/MesaDao.java new file mode 100644 index 0000000..4f5109f --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/DAO/MesaDao.java @@ -0,0 +1,42 @@ +package DAO; + +import java.io.File; +import java.io.FileWriter; +import java.util.Scanner; + +public class MesaDao { + + + + + public String path = "../db/mesa.db"; + + public void create(Mesa mesa){ + + try{ + FileWriter db = new FileWriter(path); + + Scanner reader = new Scanner(source) + + }catch(Exception e){ + + + + + } + + + } + + public void read(){ + + File source = new File(path); + + } + + + public void delete(void int){ + + File source = new File(path); + } +} diff --git a/avaliacoes/restaurante/src/main/java/DAO/ProdutoDao.java b/avaliacoes/restaurante/src/main/java/DAO/ProdutoDao.java new file mode 100644 index 0000000..e6b88f9 --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/DAO/ProdutoDao.java @@ -0,0 +1,5 @@ +package DAO; + +public class ProdutoDao { + +} diff --git a/avaliacoes/restaurante/src/main/java/controllers/MesaController.java b/avaliacoes/restaurante/src/main/java/controllers/MesaController.java new file mode 100644 index 0000000..f878b27 --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/controllers/MesaController.java @@ -0,0 +1,5 @@ +package controllers; + +public class MesaController { + +} diff --git a/avaliacoes/restaurante/src/main/java/controllers/ProdutoController.java b/avaliacoes/restaurante/src/main/java/controllers/ProdutoController.java new file mode 100644 index 0000000..4e0e996 --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/controllers/ProdutoController.java @@ -0,0 +1,5 @@ +package controllers; + +public class ProdutoController { + +} diff --git a/avaliacoes/restaurante/src/main/java/models/Mesa.java b/avaliacoes/restaurante/src/main/java/models/Mesa.java new file mode 100644 index 0000000..f6642da --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/models/Mesa.java @@ -0,0 +1,34 @@ +package models; + +public class Mesa { + + private String num; + private String local; + + public Mesa(String num, String local) { + this.num = num; + this.local = local; + } + + public String getNum() { + return num; + } + + public void setNum(String num) { + this.num = num; + } + + public String getLocal() { + return local; + } + + public void setLocal(String local) { + this.local = local; + } + + // ✅ Exibição amigável + @Override + public String toString() { + return "Mesa " + num + " - Local: " + local; + } +} \ No newline at end of file diff --git a/avaliacoes/restaurante/src/main/java/models/Produto.java b/avaliacoes/restaurante/src/main/java/models/Produto.java new file mode 100644 index 0000000..42a57f6 --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/models/Produto.java @@ -0,0 +1,47 @@ +package models; + +public class Produto { + + private String nome; + private float valProduto; + private float iva; + + public Produto(String nome, float val, float iva) { + setNome(nome); + setValProduto(val); + setIva(iva); + } + + public String getNome() { + return this.nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public float getValProduto() { + return this.valProduto; + } + + public void setValProduto(float valProduto) { + this.valProduto = valProduto; + } + + public float getIva() { + return this.iva; + } + + public void setIva(float iva) { + this.iva = iva; + } + + public float getPrecoComIva() { + return valProduto * (1 + iva); + } + + @Override + public String toString() { + return nome + " - R$" + String.format("%.2f", valProduto); + } +} \ No newline at end of file diff --git a/avaliacoes/restaurante/src/main/java/views/MesaScan.java b/avaliacoes/restaurante/src/main/java/views/MesaScan.java new file mode 100644 index 0000000..0263f51 --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/views/MesaScan.java @@ -0,0 +1,21 @@ +package views; + +import java.util.Scanner; +import models.Mesa; + +public class MesaScan { + + + public void read(){ + + Scanner scan = new Scanner(System.in); + MesaDao mesaDao = new MesaDao(); + + Mesa mesa = new Mesa(Num,Local); + + return mesa; + + } + + +} diff --git a/avaliacoes/restaurante/src/main/java/views/ProdutoScan.java b/avaliacoes/restaurante/src/main/java/views/ProdutoScan.java new file mode 100644 index 0000000..ee680cb --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/views/ProdutoScan.java @@ -0,0 +1,5 @@ +package views; + +public class ProdutoScan { + +} From ff25f32761ef84095615ab3cd67dd6c5c470c1ce Mon Sep 17 00:00:00 2001 From: Marco Antonio Lira Barros Date: Wed, 25 Jun 2025 00:04:55 -0300 Subject: [PATCH 26/45] update: db --- avaliacoes/restaurante/src/main/java/db/item.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/avaliacoes/restaurante/src/main/java/db/item.txt b/avaliacoes/restaurante/src/main/java/db/item.txt index e69de29..e0f5aad 100644 --- a/avaliacoes/restaurante/src/main/java/db/item.txt +++ b/avaliacoes/restaurante/src/main/java/db/item.txt @@ -0,0 +1 @@ +1,banana,2,3.0,2.0,12.0 From 0ea73c2c6cb3c8b2ae12a5f303b8439a638593b7 Mon Sep 17 00:00:00 2001 From: Marco Antonio Lira Barros Date: Wed, 25 Jun 2025 00:05:24 -0300 Subject: [PATCH 27/45] feat: add Item controller, DAO and Scan --- .../src/main/java/DAO/ItemDAO.java | 131 +++++++++++------- .../main/java/controllers/ItemController.java | 102 +++++++++----- .../src/main/java/models/Item.java | 69 ++++----- .../src/main/java/models/Produto.java | 13 +- .../src/main/java/views/ItemScan.java | 79 +++++++---- 5 files changed, 242 insertions(+), 152 deletions(-) diff --git a/avaliacoes/restaurante/src/main/java/DAO/ItemDAO.java b/avaliacoes/restaurante/src/main/java/DAO/ItemDAO.java index cc41889..375ea65 100644 --- a/avaliacoes/restaurante/src/main/java/DAO/ItemDAO.java +++ b/avaliacoes/restaurante/src/main/java/DAO/ItemDAO.java @@ -1,95 +1,128 @@ package DAO; -import java.io.File; +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.FileNotFoundException; +import java.io.FileReader; import java.io.FileWriter; import java.util.ArrayList; -import java.util.Scanner; import models.Item; +import models.Produto; public class ItemDAO { - public String path = "../db/item.db"; - public ArrayList items = new ArrayList(); - public int num = 1; + public String path = "c:\\Users\\Marco\\Documents\\programming\\java\\cefet\\java-exercicios\\avaliacoes\\restaurante\\src\\main\\java\\db\\item.txt"; - public void create(Item item){ + public void add(Item item){ - - try{ - - FileWriter db = new FileWriter(path); + int id = this.getNextId(); - for(Item itemX : items){ + try{ + ArrayList items = getAll(); - db.write("Pedido #" + num + ":\n"); - db.write("Produto: " + itemX.getProduto().getNome() + "\n"); - db.write("Quantidade: " + itemX.getQuantidade() + "\n"); - db.write("Valor: R$" + itemX.getValVenda() + "\n"); - db.write("Total: R$" + itemX.getTotal() + "\n"); - db.write("\n"); + try (BufferedWriter db = new BufferedWriter(new FileWriter(path, false))) { + item.setId(id); + items.add(item); + + for(Item itemX : items){ + + db.write(itemX.getId() + "," + itemX.getProduto().getNome() + "," + itemX.getQuantidade() + "," + itemX.getValVenda() + "," + itemX.getProduto().getIva() + ","+ itemX.getTotal()); + db.newLine(); + } } - db.close(); - num++; - }catch(Exception e){ System.err.println(e.getMessage()); } } - public void read(){ - + private int getNextId() { + + int maxId = 0; + ArrayList items = getAll(); + + for (Item i : items ) { + if (i.getId() > maxId) { + maxId = i.getId(); + } + } + + return maxId + 1; + } + + public ArrayList getAll(){ + ArrayList items = new ArrayList(); + try { - File source = new File(path); - Scanner reader = new Scanner(source); + try (BufferedReader reader = new BufferedReader(new FileReader(path))) { + String line; + + while((line = reader.readLine()) != null){ + + String[] parts = line.split(","); + + int id = Integer.parseInt(parts[0]); + String name = parts[1]; + int quantity = Integer.parseInt(parts[2]); + double price = Double.parseDouble(parts[3]); + float iva = Float.parseFloat(parts[4]); + double total = Double.parseDouble(parts[5]); + + Produto product = new Produto(name, price, iva); + + Item item = new Item(product, quantity, price, total); + + item.setId(id); + + items.add(item); + } + } - while(reader.hasNextLine()){ + }catch(FileNotFoundException e){ - String data = reader.nextLine(); - System.out.println(data); - } + // File does not exist (it's okay) } catch (Exception e){ System.err.println(e.getMessage()); } - + + return items; } public void delete(int id){ - try { - File source = new File(path); + + ArrayList items = getAll(); + + boolean removed = items.removeIf(i -> i.getId() == id); + + if(removed){ - Scanner reader = new Scanner(source); - - while(reader.hasNextLine()){ - - String line = reader.nextLine(); - - if(line.contains("#")){ - - String idNum = line.split("#")[1]; - - if(idNum.contains(String.valueOf(id))){ - items.remove(id); - }else{ + try { - System.out.println("Item não encontrado!"); + try (BufferedWriter db = new BufferedWriter(new FileWriter(path, false))) { + for(Item itemX : items){ + + db.write(itemX.getId() + "," + itemX.getProduto().getNome() + "," + itemX.getQuantidade() + "," + itemX.getValVenda() + "," + itemX.getProduto().getIva() + ","+ itemX.getTotal()); + db.newLine(); } - } + }catch (Exception e){ + System.err.println(e.getMessage()); } - } catch (Exception e){ - System.err.println(e.getMessage()); - } + } + } + + public String getPath() { + return path; } diff --git a/avaliacoes/restaurante/src/main/java/controllers/ItemController.java b/avaliacoes/restaurante/src/main/java/controllers/ItemController.java index f5d60d5..f1aa9b9 100644 --- a/avaliacoes/restaurante/src/main/java/controllers/ItemController.java +++ b/avaliacoes/restaurante/src/main/java/controllers/ItemController.java @@ -1,55 +1,81 @@ package controllers; -import java.util.Scanner; +import java.util.ArrayList; import DAO.ItemDAO; import models.Item; +import views.ItemScan; public class ItemController { - public static void main(String args[]) { - - Scanner scan = new Scanner(System.in); - ItemDAO itemDAO = new ItemDAO(); - - System.out.println("Escolha a opção: "); - System.out.println("1: Criar"); - System.out.println("2: Ler"); - System.out.println("3: Deletar "); - - int opcao = Integer.parseInt(scan.nextLine()); - - switch(opcao){ - - case 1: + private ItemScan view; + private ItemDAO itemDAO; + + public ItemController( + ItemScan view, + ItemDAO itemDAO + ){ + setView(view); + setItemDAO(itemDAO); + } + + public void start() { + + ItemScan view = getView(); + ItemDAO itemDAO = getItemDAO(); + + int opcao = 1; + + while(opcao != 0){ + + opcao = view.showMenu(); - System.out.print("Quantidade: "); - int quantidade = scan.nextInt(); - - System.out.print("Valor: "); - float valor = scan.nextFloat(); - + switch(opcao){ - Item item = new Item(null, quantidade, valor, itemDAO); + case 1: - item.create(); - - break; - - case 2: - - itemDAO.read(); - break; + Item item = view.getItemDetails(); + + itemDAO.add(item); - case 3: + break; - System.out.print("ID: "); - int id = scan.nextInt(); + case 2: - itemDAO.delete(id); - break; + ArrayList items = itemDAO.getAll(); + view.showItems(items); + + break; + + case 3: + + int id = view.getId(); + + itemDAO.delete(id); + break; + } } + } + + public static void main(String[] args) { + + ItemController itemController = new ItemController(new ItemScan(), new ItemDAO()); + itemController.start(); + } + + public ItemScan getView() { + return this.view; + } + + public void setView(ItemScan view) { + this.view = view; + } + + public ItemDAO getItemDAO() { + return this.itemDAO; + } - scan.close(); - } + public void setItemDAO(ItemDAO itemDAO) { + this.itemDAO = itemDAO; + } } \ No newline at end of file diff --git a/avaliacoes/restaurante/src/main/java/models/Item.java b/avaliacoes/restaurante/src/main/java/models/Item.java index 2ee0efb..cb79cd3 100644 --- a/avaliacoes/restaurante/src/main/java/models/Item.java +++ b/avaliacoes/restaurante/src/main/java/models/Item.java @@ -1,44 +1,35 @@ package models; -import DAO.ItemDAO; - public class Item { + private int id; + + public int getId() { + return this.id; + } + + public void setId(int id) { + this.id = id; + } + private Produto produto; private int quantidade; - private float valVenda; - private ItemDAO itemDAO; - + private double valVenda; + private double total; - - public Item(Produto produto, int quantidade, float val, ItemDAO itemDAO) { + public Item( + Produto produto, + int quantidade, + double val, + double total + ) { + setId(id); setProduto(produto); setQuantidade(quantidade); setValVenda(val); - setItemDAO(itemDAO); - } - - public void create(){ - getItemDAO().create(this); + setTotal(total); } - - public void read(){ - getItemDAO().read(); - } - - public void delete(int id){ - getItemDAO().delete(id); - } - - - public ItemDAO getItemDAO() { - return this.itemDAO; - } - - public void setItemDAO(ItemDAO itemDAO) { - this.itemDAO = itemDAO; - } - + public Produto getProduto() { return this.produto; } @@ -55,15 +46,25 @@ public void setQuantidade(int quantidade) { this.quantidade = quantidade; } - public float getValVenda() { + public double getValVenda() { return this.valVenda; } - public void setValVenda(float valVenda) { + public void setValVenda(double valVenda) { this.valVenda = valVenda; } - public float getTotal() { - return this.valVenda * this.quantidade; + public double getTotal() { + return this.total; + } + + public void setTotal(double total){ + this.total = total; } + + @Override + public String toString() { + return "Item [id=" + id + ", produto=" + produto + ", quantidade=" + quantidade + ", valVenda=" + valVenda + ", total=" + total + "]"; + } + } \ No newline at end of file diff --git a/avaliacoes/restaurante/src/main/java/models/Produto.java b/avaliacoes/restaurante/src/main/java/models/Produto.java index 42a57f6..617e8fe 100644 --- a/avaliacoes/restaurante/src/main/java/models/Produto.java +++ b/avaliacoes/restaurante/src/main/java/models/Produto.java @@ -3,10 +3,11 @@ public class Produto { private String nome; - private float valProduto; + private double valProduto; private float iva; - public Produto(String nome, float val, float iva) { + public Produto(String nome, double val, float iva) { + setNome(nome); setValProduto(val); setIva(iva); @@ -20,11 +21,11 @@ public void setNome(String nome) { this.nome = nome; } - public float getValProduto() { + public double getValProduto() { return this.valProduto; } - public void setValProduto(float valProduto) { + public void setValProduto(double valProduto) { this.valProduto = valProduto; } @@ -36,12 +37,12 @@ public void setIva(float iva) { this.iva = iva; } - public float getPrecoComIva() { + public double getPrecoComIva() { return valProduto * (1 + iva); } @Override public String toString() { - return nome + " - R$" + String.format("%.2f", valProduto); + return "Produto nome=" + nome + ", valProduto=" + valProduto + ", iva=" + iva + "]"; } } \ No newline at end of file diff --git a/avaliacoes/restaurante/src/main/java/views/ItemScan.java b/avaliacoes/restaurante/src/main/java/views/ItemScan.java index 5d2c78a..8ade04c 100644 --- a/avaliacoes/restaurante/src/main/java/views/ItemScan.java +++ b/avaliacoes/restaurante/src/main/java/views/ItemScan.java @@ -1,47 +1,76 @@ package views; +import java.util.ArrayList; import java.util.Scanner; -import DAO.ItemDAO; import models.Item; import models.Produto; public class ItemScan { - private Produto produto; + public Scanner scan = new Scanner(System.in); + + public int showMenu(){ - public Produto getProduto() { - return this.produto; - } - public void setProduto(Produto produto) { - this.produto = produto; + System.out.println("Escolha a opção: "); + System.out.println("0: Sair "); + System.out.println("1: Criar"); + System.out.println("2: Ler"); + System.out.println("3: Deletar "); + + int opcao = Integer.parseInt(scan.nextLine()); + + return opcao; } + public Item getItemDetails(){ - public ItemScan( - Produto produto - ){ - setProduto(produto); - - } + System.out.println("Nome: "); + String nome = scan.nextLine(); - public Item read(){ - - Scanner scan = new Scanner(System.in); - ItemDAO itemDAO = new ItemDAO(); + System.out.println("Quantidade: "); + int quantidade = Integer.parseInt(scan.nextLine()); - System.out.print("Quantidade: "); - int quantidade = scan.nextInt(); - - System.out.print("Valor: "); - float valor = scan.nextFloat(); + System.out.println("Valor: "); + double valor = Double.parseDouble(scan.nextLine()); + System.out.println("IVA: "); + float iva = Float.parseFloat(scan.nextLine()); - Item item = new Item(getProduto(), quantidade, valor, itemDAO); - - return item; + Produto produto = new Produto( + nome, + valor, + iva + ); + + double valorComIva = valor * iva; + return new Item(produto, quantidade, valor, valorComIva * quantidade); } + public void showItems(ArrayList items){ + + if (items.isEmpty()) { + System.out.println("Nenhum item encontrado."); + return; + } + + for (Item item : items) { + System.out.println("ID: " + item.getId()); + System.out.println("Nome: " + item.getProduto().getNome()); + System.out.println("Quantidade: " + item.getQuantidade()); + System.out.println("Valor: " + item.getValVenda()); + System.out.println("IVA: " + item.getProduto().getIva()); + System.out.println("Total: " + item.getTotal()); + System.out.println(); + } + } + + public int getId(){ + System.out.println("ID: "); + int id = Integer.parseInt(scan.nextLine()); + + return id; + } } From 1f5e7c5a73d84275e92f62597645bd2783b5b53f Mon Sep 17 00:00:00 2001 From: Marco Antonio Lira Barros Date: Sat, 28 Jun 2025 16:21:14 -0300 Subject: [PATCH 28/45] refactor: aline methods from Item --- .../src/main/java/models/Funcionario.java | 2 - .../src/main/java/models/Item.java | 46 +++++++++---------- 2 files changed, 23 insertions(+), 25 deletions(-) diff --git a/avaliacoes/restaurante/src/main/java/models/Funcionario.java b/avaliacoes/restaurante/src/main/java/models/Funcionario.java index a38a8fa..ceaeaa1 100644 --- a/avaliacoes/restaurante/src/main/java/models/Funcionario.java +++ b/avaliacoes/restaurante/src/main/java/models/Funcionario.java @@ -24,6 +24,4 @@ public void setCtps(String ctps) { this.ctps = ctps; } - - } \ No newline at end of file diff --git a/avaliacoes/restaurante/src/main/java/models/Item.java b/avaliacoes/restaurante/src/main/java/models/Item.java index cb79cd3..dba3c34 100644 --- a/avaliacoes/restaurante/src/main/java/models/Item.java +++ b/avaliacoes/restaurante/src/main/java/models/Item.java @@ -4,14 +4,7 @@ public class Item { private int id; - public int getId() { - return this.id; - } - - public void setId(int id) { - this.id = id; - } - + private Produto produto; private int quantidade; private double valVenda; @@ -22,21 +15,28 @@ public Item( int quantidade, double val, double total - ) { - setId(id); - setProduto(produto); - setQuantidade(quantidade); - setValVenda(val); - setTotal(total); - } - - public Produto getProduto() { - return this.produto; - } - - public void setProduto(Produto produto) { - this.produto = produto; - } + ) { + setId(id); + setProduto(produto); + setQuantidade(quantidade); + setValVenda(val); + setTotal(total); + } + + public int getId() { + return this.id; + } + + public void setId(int id) { + this.id = id; + } + public Produto getProduto() { + return this.produto; + } + + public void setProduto(Produto produto) { + this.produto = produto; + } public int getQuantidade() { return this.quantidade; From bc897acb4f6c6fbe0c9b35db2bb7424f85c61ec4 Mon Sep 17 00:00:00 2001 From: Marco Antonio Lira Barros Date: Sat, 28 Jun 2025 16:22:08 -0300 Subject: [PATCH 29/45] feat: add toString in Funcionario --- avaliacoes/restaurante/src/main/java/models/Funcionario.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/avaliacoes/restaurante/src/main/java/models/Funcionario.java b/avaliacoes/restaurante/src/main/java/models/Funcionario.java index ceaeaa1..8ff2580 100644 --- a/avaliacoes/restaurante/src/main/java/models/Funcionario.java +++ b/avaliacoes/restaurante/src/main/java/models/Funcionario.java @@ -24,4 +24,9 @@ public void setCtps(String ctps) { this.ctps = ctps; } + @Override + public String toString() { + return "Funcionario [cargo=" + cargo + ", ctps=" + ctps + "]"; + } + } \ No newline at end of file From c3f4957922fa28e7567659532309be2bb83a0f1c Mon Sep 17 00:00:00 2001 From: Marco Antonio Lira Barros Date: Sat, 28 Jun 2025 16:23:52 -0300 Subject: [PATCH 30/45] feat: add getNexId() - Funcionario --- .../src/main/java/DAO/FuncionarioDAO.java | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/avaliacoes/restaurante/src/main/java/DAO/FuncionarioDAO.java b/avaliacoes/restaurante/src/main/java/DAO/FuncionarioDAO.java index 16d5142..a5309f4 100644 --- a/avaliacoes/restaurante/src/main/java/DAO/FuncionarioDAO.java +++ b/avaliacoes/restaurante/src/main/java/DAO/FuncionarioDAO.java @@ -1,5 +1,31 @@ package DAO; +import java.util.ArrayList; + +import models.Funcionario; +import models.Item; + public class FuncionarioDAO { + + public String path = "c:\\Users\\Marco\\Documents\\programming\\java\\cefet\\java-exercicios\\avaliacoes\\restaurante\\src\\main\\java\\db\\item.txt"; -} + public void add (Funcionario funcionario){ + + int id = this.getNextId(); + } + + private int getNextId() { + + int maxId = 0; + ArrayList items = getAll(); + + for (Item i : items ) { + if (i.getId() > maxId) { + maxId = i.getId(); + } + } + + return maxId + 1; + } + +} \ No newline at end of file From 2599464619cedaed911c23b2aabe2f5732d13831 Mon Sep 17 00:00:00 2001 From: Marco Antonio Lira Barros Date: Sat, 28 Jun 2025 16:27:25 -0300 Subject: [PATCH 31/45] feat: add property id + getters and setters (Funcionario) --- .../restaurante/src/main/java/models/Funcionario.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/avaliacoes/restaurante/src/main/java/models/Funcionario.java b/avaliacoes/restaurante/src/main/java/models/Funcionario.java index 8ff2580..0a28f24 100644 --- a/avaliacoes/restaurante/src/main/java/models/Funcionario.java +++ b/avaliacoes/restaurante/src/main/java/models/Funcionario.java @@ -4,12 +4,22 @@ public class Funcionario extends Pessoa { private String cargo; private String ctps; + private int id; + + public Funcionario(String nome, String cpf){ super(nome,cpf); this.cargo = cargo; this.ctps = ctps; + + } + public int getId() { + return this.id; + } + public void setId(int id) { + this.id = id; } public String getCargo() { return cargo; From 8b524d08b9ef2c29c00cfeea933ed38ffb5a6f62 Mon Sep 17 00:00:00 2001 From: Marco Antonio Lira Barros Date: Sat, 28 Jun 2025 16:28:39 -0300 Subject: [PATCH 32/45] feat: add method add() (Funcionario) --- .../src/main/java/DAO/FuncionarioDAO.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/avaliacoes/restaurante/src/main/java/DAO/FuncionarioDAO.java b/avaliacoes/restaurante/src/main/java/DAO/FuncionarioDAO.java index a5309f4..df938ce 100644 --- a/avaliacoes/restaurante/src/main/java/DAO/FuncionarioDAO.java +++ b/avaliacoes/restaurante/src/main/java/DAO/FuncionarioDAO.java @@ -1,5 +1,7 @@ package DAO; +import java.io.BufferedWriter; +import java.io.FileWriter; import java.util.ArrayList; import models.Funcionario; @@ -12,6 +14,24 @@ public class FuncionarioDAO { public void add (Funcionario funcionario){ int id = this.getNextId(); + + ArrayList funcionarios = getAll(); + + + try (BufferedWriter db = new BufferedWriter(new FileWriter(path, false))) { + + funcionario.setId(getNextId()); + funcionarios.add(funcionario); + + for(Funcionario func : funcionarios){ + db.write(func.getId() + "," + func.getNome() + "," + func.getCpf() + "," + func.getCargo() + "," + func.getCtps()); + db.newLine(); + } + + } catch (Exception e) { + System.err.println(e.getMessage()); + } + } private int getNextId() { From 611b255f8c85b76ffbe3b71f18e1e6f4e7a4930e Mon Sep 17 00:00:00 2001 From: Marco Antonio Lira Barros Date: Sat, 28 Jun 2025 16:31:46 -0300 Subject: [PATCH 33/45] feat: add constructor with nome, cpf, cargo and ctps (Funcionario) --- .../src/main/java/models/Funcionario.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/avaliacoes/restaurante/src/main/java/models/Funcionario.java b/avaliacoes/restaurante/src/main/java/models/Funcionario.java index 0a28f24..2eb5e19 100644 --- a/avaliacoes/restaurante/src/main/java/models/Funcionario.java +++ b/avaliacoes/restaurante/src/main/java/models/Funcionario.java @@ -5,15 +5,17 @@ public class Funcionario extends Pessoa { private String cargo; private String ctps; private int id; - - public Funcionario(String nome, String cpf){ + super(nome,cpf); + } + + public Funcionario(String nome, String cpf, String cargo, String ctps){ super(nome,cpf); - this.cargo = cargo; - this.ctps = ctps; - + setCargo(cargo); + setCtps(ctps); } + public int getId() { return this.id; } From 05165b9769bc885ed905e3214cbb4e4c2e3fbe78 Mon Sep 17 00:00:00 2001 From: Marco Antonio Lira Barros Date: Sat, 28 Jun 2025 16:35:49 -0300 Subject: [PATCH 34/45] feat: add getAll; fix: add() and getNextId() --- .../src/main/java/DAO/FuncionarioDAO.java | 46 +++++++++++++++++-- 1 file changed, 41 insertions(+), 5 deletions(-) diff --git a/avaliacoes/restaurante/src/main/java/DAO/FuncionarioDAO.java b/avaliacoes/restaurante/src/main/java/DAO/FuncionarioDAO.java index df938ce..f1bc83d 100644 --- a/avaliacoes/restaurante/src/main/java/DAO/FuncionarioDAO.java +++ b/avaliacoes/restaurante/src/main/java/DAO/FuncionarioDAO.java @@ -1,11 +1,14 @@ package DAO; +import java.io.BufferedReader; import java.io.BufferedWriter; +import java.io.FileNotFoundException; +import java.io.FileReader; import java.io.FileWriter; import java.util.ArrayList; +import java.util.List; import models.Funcionario; -import models.Item; public class FuncionarioDAO { @@ -15,12 +18,12 @@ public void add (Funcionario funcionario){ int id = this.getNextId(); - ArrayList funcionarios = getAll(); + ArrayList funcionarios = (ArrayList) getAll(); try (BufferedWriter db = new BufferedWriter(new FileWriter(path, false))) { - funcionario.setId(getNextId()); + funcionario.setId(id); funcionarios.add(funcionario); for(Funcionario func : funcionarios){ @@ -34,12 +37,45 @@ public void add (Funcionario funcionario){ } + public List getAll(){ + + ArrayList funcionarios = new ArrayList<>(); + + try (BufferedReader reader = new BufferedReader(new FileReader(path))) { + + String line; + + while((line = reader.readLine()) != null){ + + String[] parts = line.split(","); + + int id = Integer.parseInt(parts[0]); + String nome = parts[1]; + String cpf = parts[2]; + String cargo = parts[3]; + String ctps = parts[4]; + + Funcionario funcionario = new Funcionario(nome, cpf, cargo, ctps); + + funcionario.setId(id); + funcionarios.add(funcionario); + + } + } catch(FileNotFoundException e){ + // File does not exist (it's okay) + } catch (Exception e) { + System.err.println(e.getMessage()); + } + + return funcionarios; + } + private int getNextId() { int maxId = 0; - ArrayList items = getAll(); + ArrayList funcionarios = (ArrayList) getAll(); - for (Item i : items ) { + for (Funcionario i : funcionarios ) { if (i.getId() > maxId) { maxId = i.getId(); } From 6af843d32dc01ef530afae4ce28473af27614067 Mon Sep 17 00:00:00 2001 From: Marco Antonio Lira Barros Date: Sat, 28 Jun 2025 16:36:24 -0300 Subject: [PATCH 35/45] fix: file path = funcionario.txt --- avaliacoes/restaurante/src/main/java/DAO/FuncionarioDAO.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/avaliacoes/restaurante/src/main/java/DAO/FuncionarioDAO.java b/avaliacoes/restaurante/src/main/java/DAO/FuncionarioDAO.java index f1bc83d..c06a1fa 100644 --- a/avaliacoes/restaurante/src/main/java/DAO/FuncionarioDAO.java +++ b/avaliacoes/restaurante/src/main/java/DAO/FuncionarioDAO.java @@ -12,7 +12,7 @@ public class FuncionarioDAO { - public String path = "c:\\Users\\Marco\\Documents\\programming\\java\\cefet\\java-exercicios\\avaliacoes\\restaurante\\src\\main\\java\\db\\item.txt"; + public String path = "c:\\Users\\Marco\\Documents\\programming\\java\\cefet\\java-exercicios\\avaliacoes\\restaurante\\src\\main\\java\\db\\funcionario.txt"; public void add (Funcionario funcionario){ From 2b866c0ee3f8da117baed0991c028c5e9b3cd578 Mon Sep 17 00:00:00 2001 From: Marco Antonio Lira Barros Date: Sat, 28 Jun 2025 17:02:15 -0300 Subject: [PATCH 36/45] feat: add showMenu(), getFuncionarioDetails(), showFuncionarios(), getId(), start(), main() - FuncionarioScan --- .../src/main/java/views/FuncionarioScan.java | 108 ++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 avaliacoes/restaurante/src/main/java/views/FuncionarioScan.java diff --git a/avaliacoes/restaurante/src/main/java/views/FuncionarioScan.java b/avaliacoes/restaurante/src/main/java/views/FuncionarioScan.java new file mode 100644 index 0000000..c124233 --- /dev/null +++ b/avaliacoes/restaurante/src/main/java/views/FuncionarioScan.java @@ -0,0 +1,108 @@ +package views; + +import java.util.ArrayList; +import java.util.Scanner; + +import controllers.FuncionarioController; +import models.Funcionario; + +public class FuncionarioScan { + + public Scanner scan = new Scanner(System.in); + private FuncionarioController controller = new FuncionarioController(); + + public void start(){ + + int opcao = showMenu(); + + while(opcao != 0){ + + switch(opcao){ + + case 1: + + getFuncionarioDetails(); + System.out.println("Funcionário criado com sucesso"); + break; + + case 2: + ArrayList funcionarios = (ArrayList) controller.readFuncionarios(); + showFuncionarios(funcionarios); + break; + + case 3: + + int id = getId(); + controller.deleteFuncionario(id); + break; + + default: + System.out.println("Opção inválida"); + } + } + + System.out.println("Saindo do fluxo de funcionários..."); + } + + public static void main(String[] args) { + + FuncionarioScan view = new FuncionarioScan(); + view.start(); + } + + + public int showMenu(){ + System.out.println("Escolha a opção: "); + System.out.println("0: Sair "); + System.out.println("1: Criar"); + System.out.println("2: Ler"); + System.out.println("3: Deletar "); + + int opcao = Integer.parseInt(scan.nextLine()); + + return opcao; + } + + public void getFuncionarioDetails(){ + + System.out.println("Nome: "); + String nome = scan.nextLine(); + + System.out.println("CPF: "); + String cpf = scan.nextLine(); + + System.out.println("Cargo: "); + String cargo = scan.nextLine(); + + System.out.println("CTPS: "); + String ctps = scan.nextLine(); + + + controller.creatFuncionario(nome, cpf, cargo, ctps); + } + + public void showFuncionarios(ArrayList funcionarios){ + + if (funcionarios.isEmpty()) { + System.out.println("Nenhum item encontrado."); + return; + } + + for (Funcionario funcionario : funcionarios) { + System.out.println("ID: " + funcionario.getId()); + System.out.println("Nome: " + funcionario.getNome()); + System.out.println("CPF: " + funcionario.getCpf()); + System.out.println("Cargo: " + funcionario.getCargo()); + System.out.println("CTPS: " + funcionario.getCtps()); + System.out.println(); + } + } + + public int getId(){ + System.out.println("ID: "); + int id = Integer.parseInt(scan.nextLine()); + + return id; + } + +} From 88864ade10317aef96613e68cce2a173119d00f7 Mon Sep 17 00:00:00 2001 From: Marco Antonio Lira Barros Date: Sat, 28 Jun 2025 17:02:47 -0300 Subject: [PATCH 37/45] feat: add CreateFuncionario(), readFuncionarios(), deleteFuncionario() - FuncionarioController --- .../controllers/FuncionarioController.java | 31 ++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/avaliacoes/restaurante/src/main/java/controllers/FuncionarioController.java b/avaliacoes/restaurante/src/main/java/controllers/FuncionarioController.java index 9c58a8c..36be20a 100644 --- a/avaliacoes/restaurante/src/main/java/controllers/FuncionarioController.java +++ b/avaliacoes/restaurante/src/main/java/controllers/FuncionarioController.java @@ -1,5 +1,34 @@ package controllers; +import java.util.List; + +import DAO.FuncionarioDAO; +import models.Funcionario; + public class FuncionarioController { + -} + private Funcionario funcionario; + private FuncionarioDAO funcionarioDAO = new FuncionarioDAO(); + + public void creatFuncionario(String nome, String cpf, String cargo, String ctps){ + + Funcionario funcionario = new Funcionario(nome, cpf, cargo, ctps); + + funcionarioDAO.add(funcionario); + } + + public List readFuncionarios(){ + return funcionarioDAO.getAll(); + } + + public void deleteFuncionario(int id){ + + if(id < 0){ + throw new IllegalArgumentException("ID não pode ser negativo"); + } + + funcionarioDAO.delete(id); + } + +} \ No newline at end of file From e85575bb0a13cca53c1e20c428bc9743f4776403 Mon Sep 17 00:00:00 2001 From: Marco Antonio Lira Barros Date: Sat, 28 Jun 2025 17:03:03 -0300 Subject: [PATCH 38/45] feat: add delete(int id) - FuncionarioDAO --- .../src/main/java/DAO/FuncionarioDAO.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/avaliacoes/restaurante/src/main/java/DAO/FuncionarioDAO.java b/avaliacoes/restaurante/src/main/java/DAO/FuncionarioDAO.java index c06a1fa..7ee3a50 100644 --- a/avaliacoes/restaurante/src/main/java/DAO/FuncionarioDAO.java +++ b/avaliacoes/restaurante/src/main/java/DAO/FuncionarioDAO.java @@ -70,6 +70,26 @@ public List getAll(){ return funcionarios; } + public void delete(int id){ + + ArrayList funcionarios = (ArrayList) getAll(); + + boolean removed = funcionarios.removeIf(funcionario -> funcionario.getId() == id); + + if(removed){ + + try(BufferedWriter db = new BufferedWriter(new FileWriter(path, false))){ + + for(Funcionario funcionario : funcionarios){ + db.write(funcionario.getId() + "," + funcionario.getNome() + "," + funcionario.getCpf() + "," + funcionario.getCargo() + "," + funcionario.getCtps()); + db.newLine(); + } + }catch(Exception e){ + System.err.println(e.getMessage()); + } + } + } + private int getNextId() { int maxId = 0; From 5affcb6375b839ec42e261dcf8e56f979fae3ce6 Mon Sep 17 00:00:00 2001 From: Marco Antonio Lira Barros Date: Sat, 28 Jun 2025 17:06:04 -0300 Subject: [PATCH 39/45] refactor: add opcao antes do loop --- .../restaurante/src/main/java/views/FuncionarioScan.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/avaliacoes/restaurante/src/main/java/views/FuncionarioScan.java b/avaliacoes/restaurante/src/main/java/views/FuncionarioScan.java index c124233..29b6e43 100644 --- a/avaliacoes/restaurante/src/main/java/views/FuncionarioScan.java +++ b/avaliacoes/restaurante/src/main/java/views/FuncionarioScan.java @@ -13,9 +13,11 @@ public class FuncionarioScan { public void start(){ - int opcao = showMenu(); + int opcao; + + do{ - while(opcao != 0){ + opcao = showMenu(); switch(opcao){ @@ -39,7 +41,7 @@ public void start(){ default: System.out.println("Opção inválida"); } - } + }while(opcao != 0); System.out.println("Saindo do fluxo de funcionários..."); } From 2341dd10ec95e81f16abb57eaaad1dc78c0ed4c2 Mon Sep 17 00:00:00 2001 From: Marco Antonio Lira Barros Date: Sat, 28 Jun 2025 17:08:52 -0300 Subject: [PATCH 40/45] add: file --- avaliacoes/restaurante/src/main/java/db/funcionario.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/avaliacoes/restaurante/src/main/java/db/funcionario.txt b/avaliacoes/restaurante/src/main/java/db/funcionario.txt index e69de29..20ff628 100644 --- a/avaliacoes/restaurante/src/main/java/db/funcionario.txt +++ b/avaliacoes/restaurante/src/main/java/db/funcionario.txt @@ -0,0 +1 @@ +1,marco,123,empresario,123 From a56af6b3ae1184f2527ce89672436587df305f48 Mon Sep 17 00:00:00 2001 From: Marco Antonio Lira Barros Date: Sat, 28 Jun 2025 17:09:31 -0300 Subject: [PATCH 41/45] refactor: delete...() returns boolean --- .../restaurante/src/main/java/DAO/FuncionarioDAO.java | 7 ++++++- .../src/main/java/controllers/FuncionarioController.java | 4 ++-- .../restaurante/src/main/java/views/FuncionarioScan.java | 8 ++++++-- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/avaliacoes/restaurante/src/main/java/DAO/FuncionarioDAO.java b/avaliacoes/restaurante/src/main/java/DAO/FuncionarioDAO.java index 7ee3a50..ba7b14d 100644 --- a/avaliacoes/restaurante/src/main/java/DAO/FuncionarioDAO.java +++ b/avaliacoes/restaurante/src/main/java/DAO/FuncionarioDAO.java @@ -70,7 +70,7 @@ public List getAll(){ return funcionarios; } - public void delete(int id){ + public boolean delete(int id){ ArrayList funcionarios = (ArrayList) getAll(); @@ -86,7 +86,12 @@ public void delete(int id){ } }catch(Exception e){ System.err.println(e.getMessage()); + + }finally{ + return true; } + }else{ + return false; } } diff --git a/avaliacoes/restaurante/src/main/java/controllers/FuncionarioController.java b/avaliacoes/restaurante/src/main/java/controllers/FuncionarioController.java index 36be20a..2971390 100644 --- a/avaliacoes/restaurante/src/main/java/controllers/FuncionarioController.java +++ b/avaliacoes/restaurante/src/main/java/controllers/FuncionarioController.java @@ -22,13 +22,13 @@ public List readFuncionarios(){ return funcionarioDAO.getAll(); } - public void deleteFuncionario(int id){ + public boolean deleteFuncionario(int id){ if(id < 0){ throw new IllegalArgumentException("ID não pode ser negativo"); } - funcionarioDAO.delete(id); + return funcionarioDAO.delete(id); } } \ No newline at end of file diff --git a/avaliacoes/restaurante/src/main/java/views/FuncionarioScan.java b/avaliacoes/restaurante/src/main/java/views/FuncionarioScan.java index 29b6e43..2e1d345 100644 --- a/avaliacoes/restaurante/src/main/java/views/FuncionarioScan.java +++ b/avaliacoes/restaurante/src/main/java/views/FuncionarioScan.java @@ -14,7 +14,7 @@ public class FuncionarioScan { public void start(){ int opcao; - + do{ opcao = showMenu(); @@ -35,7 +35,11 @@ public void start(){ case 3: int id = getId(); - controller.deleteFuncionario(id); + boolean removed = controller.deleteFuncionario(id); + + if(removed){ + System.out.println("Funcionário removido com sucesso"); + } break; default: From a12d1485ac5f353f48209aa7c5c35ec19a056782 Mon Sep 17 00:00:00 2001 From: Marco Antonio Lira Barros Date: Tue, 1 Jul 2025 00:08:54 -0300 Subject: [PATCH 42/45] feat: add relative path - Funcionario and Item --- avaliacoes/restaurante/src/main/java/DAO/FuncionarioDAO.java | 3 ++- avaliacoes/restaurante/src/main/java/DAO/ItemDAO.java | 3 +-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/avaliacoes/restaurante/src/main/java/DAO/FuncionarioDAO.java b/avaliacoes/restaurante/src/main/java/DAO/FuncionarioDAO.java index ba7b14d..d6cff3b 100644 --- a/avaliacoes/restaurante/src/main/java/DAO/FuncionarioDAO.java +++ b/avaliacoes/restaurante/src/main/java/DAO/FuncionarioDAO.java @@ -12,8 +12,9 @@ public class FuncionarioDAO { - public String path = "c:\\Users\\Marco\\Documents\\programming\\java\\cefet\\java-exercicios\\avaliacoes\\restaurante\\src\\main\\java\\db\\funcionario.txt"; + public String path = System.getProperty("user.dir") + "\\avaliacoes\\restaurante\\src\\main\\java\\db\\funcionario.txt"; + public void add (Funcionario funcionario){ int id = this.getNextId(); diff --git a/avaliacoes/restaurante/src/main/java/DAO/ItemDAO.java b/avaliacoes/restaurante/src/main/java/DAO/ItemDAO.java index 375ea65..361695a 100644 --- a/avaliacoes/restaurante/src/main/java/DAO/ItemDAO.java +++ b/avaliacoes/restaurante/src/main/java/DAO/ItemDAO.java @@ -13,8 +13,7 @@ public class ItemDAO { - - public String path = "c:\\Users\\Marco\\Documents\\programming\\java\\cefet\\java-exercicios\\avaliacoes\\restaurante\\src\\main\\java\\db\\item.txt"; + public String path = System.getProperty("user.dir") + "\\avaliacoes\\restaurante\\src\\main\\java\\db\\item.txt"; public void add(Item item){ From f6b29e7a2d4437ebe6bdc4f0c3347c40a9b848e1 Mon Sep 17 00:00:00 2001 From: Marco Antonio Lira Barros Date: Tue, 1 Jul 2025 00:08:57 -0300 Subject: [PATCH 43/45] add file --- avaliacoes/restaurante/src/main/java/db/funcionario.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/avaliacoes/restaurante/src/main/java/db/funcionario.txt b/avaliacoes/restaurante/src/main/java/db/funcionario.txt index 20ff628..cee60de 100644 --- a/avaliacoes/restaurante/src/main/java/db/funcionario.txt +++ b/avaliacoes/restaurante/src/main/java/db/funcionario.txt @@ -1 +1,2 @@ 1,marco,123,empresario,123 +2,1,1,1,1 From 8d8f8dfab7d65913d29b0baa00dca926f5ceec62 Mon Sep 17 00:00:00 2001 From: Romario Euzebio Date: Tue, 1 Jul 2025 00:49:57 -0300 Subject: [PATCH 44/45] =?UTF-8?q?implementa=C3=A7=C3=A3o=20dos=20arquivos?= =?UTF-8?q?=20e=20funcionalidades=20da=20mesa?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/DAO/MesaDao.java | 106 +++++++++++++++--- .../src/main/java/DAO/ProdutoDao.java | 2 +- .../main/java/controllers/MesaController.java | 32 +++++- .../restaurante/src/main/java/db/mesa.txt | 1 + .../src/main/java/models/Mesa.java | 10 ++ .../src/main/java/views/MesaScan.java | 94 +++++++++++++++- 6 files changed, 220 insertions(+), 25 deletions(-) diff --git a/avaliacoes/restaurante/src/main/java/DAO/MesaDao.java b/avaliacoes/restaurante/src/main/java/DAO/MesaDao.java index 4f5109f..f66df1d 100644 --- a/avaliacoes/restaurante/src/main/java/DAO/MesaDao.java +++ b/avaliacoes/restaurante/src/main/java/DAO/MesaDao.java @@ -1,42 +1,116 @@ package DAO; +import java.io.BufferedReader; +import java.io.BufferedWriter; import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileReader; import java.io.FileWriter; +import java.util.ArrayList; +import java.util.List; import java.util.Scanner; +import models.Mesa; +import models.Funcionario; +import models.Item; + + public class MesaDao { + public String path = System.getProperty("user.dir") + "\\java-exercicios\\avaliacoes\\restaurante\\src\\main\\java\\db\\mesa.txt"; + public ArrayList mesas = new ArrayList(); + + public void add (Mesa mesa){ + + int id = this.getNextId(); + + ArrayList mesas = (ArrayList) getAll(); + + try (BufferedWriter db = new BufferedWriter(new FileWriter(path, false))) { + + mesa.setId(id); + mesas.add(mesa); + + for(Mesa iMesa : mesas){ + db.write(iMesa.getId() + "," + iMesa.getNum() + "," + iMesa.getLocal()); + db.newLine(); + } + + } catch (Exception e) { + System.err.println(e.getMessage()); + } - public String path = "../db/mesa.db"; - - public void create(Mesa mesa){ + } - try{ - FileWriter db = new FileWriter(path); + public List getAll(){ + + ArrayList mesas = new ArrayList<>(); + + try (BufferedReader reader = new BufferedReader(new FileReader(path))) { + + String line; + + while((line = reader.readLine()) != null){ + + String[] parts = line.split(","); + + int id = Integer.parseInt(parts[0]); + String num = parts[1]; + String local = parts[2]; + + Mesa mesa = new Mesa(num, local); + + mesa.setId(id); + mesas.add(mesa); + + } + } catch(FileNotFoundException e){ + // File does not exist (it's okay) + } catch (Exception e) { + System.err.println(e.getMessage()); + } - Scanner reader = new Scanner(source) + return mesas; + } - }catch(Exception e){ + public boolean delete(int id){ + ArrayList mesas = (ArrayList) getAll(); + boolean removed = mesas.removeIf(mesa -> mesa.getId() == id); + if(removed){ - } + try(BufferedWriter db = new BufferedWriter(new FileWriter(path, false))){ + for(Mesa mesa : mesas){ + db.write(mesa.getId() + "," + mesa.getNum() + "," + mesa.getLocal()); + db.newLine(); + } + }catch(Exception e){ + System.err.println(e.getMessage()); + }finally{ + return true; + } + }else{ + return false; + } } - public void read(){ - - File source = new File(path); - - } + private int getNextId() { + int maxId = 0; + ArrayList mesas = (ArrayList) getAll(); - public void delete(void int){ + for (Mesa i : mesas ) { + if (i.getId() > maxId) { + maxId = i.getId(); + } + } - File source = new File(path); + return maxId + 1; } -} +} \ No newline at end of file diff --git a/avaliacoes/restaurante/src/main/java/DAO/ProdutoDao.java b/avaliacoes/restaurante/src/main/java/DAO/ProdutoDao.java index e6b88f9..a43b35b 100644 --- a/avaliacoes/restaurante/src/main/java/DAO/ProdutoDao.java +++ b/avaliacoes/restaurante/src/main/java/DAO/ProdutoDao.java @@ -2,4 +2,4 @@ public class ProdutoDao { -} +} \ No newline at end of file diff --git a/avaliacoes/restaurante/src/main/java/controllers/MesaController.java b/avaliacoes/restaurante/src/main/java/controllers/MesaController.java index f878b27..d5cc0b3 100644 --- a/avaliacoes/restaurante/src/main/java/controllers/MesaController.java +++ b/avaliacoes/restaurante/src/main/java/controllers/MesaController.java @@ -1,5 +1,33 @@ package controllers; +import java.util.List; + +import DAO.MesaDao; +import models.Mesa; + public class MesaController { - -} + + private Mesa mesa; + private MesaDao mesaDAO = new MesaDao(); + + public void createMesa(String num, String local){ + + Mesa mesa = new Mesa(num, local); + + mesaDAO.add(mesa); + } + + public List readMesas(){ + return mesaDAO.getAll(); + } + + public boolean deleteMesa(int id){ + + if(id < 0){ + throw new IllegalArgumentException("ID não pode ser negativo"); + } + + return mesaDAO.delete(id); + } + +} \ No newline at end of file diff --git a/avaliacoes/restaurante/src/main/java/db/mesa.txt b/avaliacoes/restaurante/src/main/java/db/mesa.txt index e69de29..64844d9 100644 --- a/avaliacoes/restaurante/src/main/java/db/mesa.txt +++ b/avaliacoes/restaurante/src/main/java/db/mesa.txt @@ -0,0 +1 @@ +2,25,janela diff --git a/avaliacoes/restaurante/src/main/java/models/Mesa.java b/avaliacoes/restaurante/src/main/java/models/Mesa.java index f6642da..744938a 100644 --- a/avaliacoes/restaurante/src/main/java/models/Mesa.java +++ b/avaliacoes/restaurante/src/main/java/models/Mesa.java @@ -2,6 +2,9 @@ public class Mesa { + private int id; + + private String num; private String local; @@ -25,6 +28,13 @@ public String getLocal() { public void setLocal(String local) { this.local = local; } + public int getId() { + return this.id; + } + + public void setId(int id) { + this.id = id; + } // ✅ Exibição amigável @Override diff --git a/avaliacoes/restaurante/src/main/java/views/MesaScan.java b/avaliacoes/restaurante/src/main/java/views/MesaScan.java index 0263f51..24efa59 100644 --- a/avaliacoes/restaurante/src/main/java/views/MesaScan.java +++ b/avaliacoes/restaurante/src/main/java/views/MesaScan.java @@ -1,21 +1,103 @@ package views; +import java.util.ArrayList; import java.util.Scanner; + +import controllers.MesaController; import models.Mesa; public class MesaScan { - public void read(){ + public Scanner scan = new Scanner(System.in); + private MesaController controller = new MesaController(); + + public void start(){ + + int opcao; + + do{ + + opcao = showMenu(); + + switch(opcao){ + + case 1: + + getMesaDetails(); + System.out.println("Mesa criada com sucesso"); + break; + + case 2: + ArrayList mesas = (ArrayList) controller.readMesas(); + showMesas(mesas); + break; + + case 3: + + int id = getId(); + boolean removed = controller.deleteMesa(id); + + if(removed){ + System.out.println("Mesa removida com sucesso"); + } + break; + + default: + System.out.println("Opção inválida"); + } + }while(opcao != 0); - Scanner scan = new Scanner(System.in); - MesaDao mesaDao = new MesaDao(); + System.out.println("Saindo do fluxo de mesas..."); + } + + public static void main(String[] args) { + MesaScan view = new MesaScan(); + view.start(); + } + + + public int showMenu(){ + System.out.println("Escolha a opção: "); + System.out.println("0: Sair "); + System.out.println("1: Criar"); + System.out.println("2: Ler"); + System.out.println("3: Deletar "); + + int opcao = Integer.parseInt(scan.nextLine()); + + return opcao; + } + + public void getMesaDetails(){ - Mesa mesa = new Mesa(Num,Local); + System.out.println("Número: "); + String num = scan.nextLine(); - return mesa; + System.out.println("Local: "); + String local = scan.nextLine(); + controller.createMesa(num, local); } + public void showMesas(ArrayList mesas){ + + if (mesas.isEmpty()) { + System.out.println("Nenhum item encontrado."); + return; + } -} + for (Mesa mesa : mesas) { + System.out.println("ID: " + mesa.getId()); + System.out.println("Números: " + mesa.getNum()); + System.out.println("Local: " + mesa.getLocal()); + System.out.println(); + } + } + + public int getId(){ + System.out.println("ID: "); + int id = Integer.parseInt(scan.nextLine()); + return id; + } +} \ No newline at end of file From 2ec35d5f18dca97cdca673199dba332883cacf1c Mon Sep 17 00:00:00 2001 From: Romario Euzebio Date: Fri, 4 Jul 2025 23:33:26 -0300 Subject: [PATCH 45/45] produtoDao ajustado com sucesso --- .../src/main/java/DAO/ProdutoDao.java | 108 ++++++++++++++++ .../java/controllers/ProdutoController.java | 29 ++++- .../restaurante/src/main/java/db/produto.txt | 6 + .../src/main/java/models/Produto.java | 8 ++ .../src/main/java/views/ProdutoScan.java | 115 +++++++++++++++++- 5 files changed, 263 insertions(+), 3 deletions(-) diff --git a/avaliacoes/restaurante/src/main/java/DAO/ProdutoDao.java b/avaliacoes/restaurante/src/main/java/DAO/ProdutoDao.java index a43b35b..c7c11e7 100644 --- a/avaliacoes/restaurante/src/main/java/DAO/ProdutoDao.java +++ b/avaliacoes/restaurante/src/main/java/DAO/ProdutoDao.java @@ -1,5 +1,113 @@ package DAO; +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.FileWriter; +import java.util.ArrayList; +import java.util.List; + +import models.Mesa; +import models.Produto; + public class ProdutoDao { + public String path = System.getProperty("user.dir") + "\\java-exercicios\\avaliacoes\\restaurante\\src\\main\\java\\db\\produto.txt"; + public ArrayList produtos = new ArrayList(); + + + public void add (Produto produto){ + + int id = this.getNextId(); + + ArrayList produtos = (ArrayList) getAll(); + + + try (BufferedWriter db = new BufferedWriter(new FileWriter(path, false))) { + + produto.setId(id); + produtos.add(produto); + + for(Produto iProduto : produtos){ + db.write(iProduto.getId() + "," + iProduto.getNome() + "," + iProduto.getValProduto() + "," + iProduto.getIva() + "," + iProduto.getPrecoComIva()); + db.newLine(); + } + + } catch (Exception e) { + System.err.println(e.getMessage()); + } + + } + + public List getAll(){ + + ArrayList produtos = new ArrayList(); + + try (BufferedReader reader = new BufferedReader(new FileReader(path))) { + + String line; + + while((line = reader.readLine()) != null){ + + String[] parts = line.split(","); + + int id = Integer.parseInt(parts[0]); + String nome = parts[1]; + double val = Double.parseDouble(parts[2]); + float iva = Float.parseFloat(parts[3]); + + Produto produto = new Produto(nome, val, iva); + + produto.setId(id); + produtos.add(produto); + + } + } catch(FileNotFoundException e){ + // File does not exist (it's okay) + } catch (Exception e) { + System.err.println(e.getMessage()); + } + + return produtos; + } + + public boolean delete(int id){ + + ArrayList produtos = (ArrayList) getAll(); + + boolean removed = produtos.removeIf(produto -> produto.getId() == id); + + if(removed){ + + try(BufferedWriter db = new BufferedWriter(new FileWriter(path, false))){ + + for(Produto produto : produtos){ + db.write(produto.getId() + "," + produto.getNome() + "," + produto.getValProduto() + "," + produto.getIva() + "," + produto.getPrecoComIva()); + db.newLine(); + } + }catch(Exception e){ + System.err.println(e.getMessage()); + + }finally{ + return true; + } + }else{ + return false; + } + } + + private int getNextId() { + + int maxId = 0; + ArrayList produtos = (ArrayList) getAll(); + + for (Produto produto : produtos ) { + if (produto.getId() > maxId) { + maxId = produto.getId(); + } + } + + return maxId + 1; + } } \ No newline at end of file diff --git a/avaliacoes/restaurante/src/main/java/controllers/ProdutoController.java b/avaliacoes/restaurante/src/main/java/controllers/ProdutoController.java index 4e0e996..b7670b2 100644 --- a/avaliacoes/restaurante/src/main/java/controllers/ProdutoController.java +++ b/avaliacoes/restaurante/src/main/java/controllers/ProdutoController.java @@ -1,5 +1,32 @@ package controllers; +import java.util.List; + +import DAO.ProdutoDao; +import models.Produto; + public class ProdutoController { + + private Produto produto; + private ProdutoDao produtoDAO = new ProdutoDao(); + + public void createProduto(String nome, double val, float iva){ + + Produto produto = new Produto(nome, val, iva); + + produtoDAO.add(produto); + } -} + public List readProdutos(){ + return produtoDAO.getAll(); + } + + public boolean deleteProduto(int id){ + if(id < 0){ + throw new IllegalArgumentException("ID não pode ser negativo"); + } + + return produtoDAO.delete(id); + } + +} \ No newline at end of file diff --git a/avaliacoes/restaurante/src/main/java/db/produto.txt b/avaliacoes/restaurante/src/main/java/db/produto.txt index e69de29..5502eca 100644 --- a/avaliacoes/restaurante/src/main/java/db/produto.txt +++ b/avaliacoes/restaurante/src/main/java/db/produto.txt @@ -0,0 +1,6 @@ +1,baguette,99.0,9.0,990.0 +2,baguette,99.0,8.0,891.0 +3,bau,2.0,2.0,6.0 +4,baguette,99.0,2.0,297.0 +5,baguette,99.0,2.0,297.0 +6,baguette,99.0,2.0,297.0 diff --git a/avaliacoes/restaurante/src/main/java/models/Produto.java b/avaliacoes/restaurante/src/main/java/models/Produto.java index 617e8fe..008a336 100644 --- a/avaliacoes/restaurante/src/main/java/models/Produto.java +++ b/avaliacoes/restaurante/src/main/java/models/Produto.java @@ -2,6 +2,7 @@ public class Produto { + private int id; private String nome; private double valProduto; private float iva; @@ -13,6 +14,13 @@ public Produto(String nome, double val, float iva) { setIva(iva); } + public int getId() { + return this.id; + } + + public void setId(int id) { + this.id = id; + } public String getNome() { return this.nome; } diff --git a/avaliacoes/restaurante/src/main/java/views/ProdutoScan.java b/avaliacoes/restaurante/src/main/java/views/ProdutoScan.java index ee680cb..684b0f2 100644 --- a/avaliacoes/restaurante/src/main/java/views/ProdutoScan.java +++ b/avaliacoes/restaurante/src/main/java/views/ProdutoScan.java @@ -1,5 +1,116 @@ package views; +import java.util.ArrayList; +import java.util.Scanner; + +import controllers.ProdutoController; +import models.Produto; + public class ProdutoScan { - -} + + public Scanner scan = new Scanner(System.in); + private ProdutoController controller = new ProdutoController(); + + public void start(){ + + int opcao; + + do{ + + opcao = showMenu(); + + switch(opcao){ + + case 1: + + getProdutoDetails(); + System.out.println("Produto criado com sucesso"); + break; + + case 2: + ArrayList produtos = (ArrayList) controller.readProdutos(); + showProdutos(produtos); + break; + + case 3: + + int id = getId(); + boolean removed = controller.deleteProduto(id); + + if(removed){ + System.out.println("Produto removido com sucesso"); + } + break; + + default: + System.out.println("Opção inválida"); + } + }while(opcao != 0); + + System.out.println("Saindo do fluxo de produtos..."); + } + + public static void main(String[] args) { + ProdutoScan view = new ProdutoScan(); + view.start(); + } + + + public int showMenu(){ + System.out.println("Escolha a opção: "); + System.out.println("0: Sair "); + System.out.println("1: Criar"); + System.out.println("2: Ler"); + System.out.println("3: Deletar "); + + int opcao = 10; + + try{ + opcao = Integer.parseInt(scan.nextLine()); + + }catch(NumberFormatException e){ + System.out.println(e.getMessage()); + } + + return opcao; + } + + public void getProdutoDetails(){ + + System.out.println("Nome: "); + String nome = scan.nextLine(); + + System.out.println("Valor do produto: "); + double val = Double.parseDouble(scan.nextLine()); + + System.out.println("IVA: "); + float iva = Float.parseFloat(scan.nextLine()); + + + controller.createProduto(nome, val, iva); + } + + public void showProdutos(ArrayList produtos){ + + if (produtos.isEmpty()) { + System.out.println("Nenhum item encontrado."); + return; + } + + for (Produto produto : produtos) { + System.out.println("ID: " + produto.getId()); + System.out.println("Nome: " + produto.getNome()); + System.out.println("Valor: " + produto.getValProduto()); + System.out.println("IVA: " + produto.getIva()); + System.out.println("Valor com IVA: " + produto.getPrecoComIva()); + System.out.println(); + } + } + + public int getId(){ + System.out.println("ID: "); + int id = Integer.parseInt(scan.nextLine()); + return id; + } + +} \ No newline at end of file