From 1a0d34489c38f1fb83ba750d540ec83ebb104bdd Mon Sep 17 00:00:00 2001 From: vinnydsstos Date: Mon, 27 Jan 2025 14:41:33 -0300 Subject: [PATCH 01/56] Cria html --- Ex01-git+POO/index.html | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 Ex01-git+POO/index.html diff --git a/Ex01-git+POO/index.html b/Ex01-git+POO/index.html new file mode 100644 index 0000000..d01f779 --- /dev/null +++ b/Ex01-git+POO/index.html @@ -0,0 +1,11 @@ + + + + + + Document + + + + + \ No newline at end of file From b0caa58a188869d9033d85114aab5e262f6d3874 Mon Sep 17 00:00:00 2001 From: JulianaNishimura Date: Mon, 27 Jan 2025 14:41:38 -0300 Subject: [PATCH 02/56] cria html --- Ex01-git+POO/index.html | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 Ex01-git+POO/index.html diff --git a/Ex01-git+POO/index.html b/Ex01-git+POO/index.html new file mode 100644 index 0000000..24ad574 --- /dev/null +++ b/Ex01-git+POO/index.html @@ -0,0 +1,9 @@ + + + + + + Document + + + From f65988af91fdda1a785892753328d71e12afa168 Mon Sep 17 00:00:00 2001 From: YuriSantxz07 Date: Mon, 27 Jan 2025 14:41:42 -0300 Subject: [PATCH 03/56] Cria HMTL --- Ex01-git+POO/index.html | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 Ex01-git+POO/index.html diff --git a/Ex01-git+POO/index.html b/Ex01-git+POO/index.html new file mode 100644 index 0000000..24ad574 --- /dev/null +++ b/Ex01-git+POO/index.html @@ -0,0 +1,9 @@ + + + + + + Document + + + From 524dc681194e172ceeb80e2f3d103021fa7f706c Mon Sep 17 00:00:00 2001 From: RafaelAlves98 Date: Mon, 27 Jan 2025 14:41:49 -0300 Subject: [PATCH 04/56] Cria html --- Ex01-git+POO/index.html | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 Ex01-git+POO/index.html diff --git a/Ex01-git+POO/index.html b/Ex01-git+POO/index.html new file mode 100644 index 0000000..78c221f --- /dev/null +++ b/Ex01-git+POO/index.html @@ -0,0 +1,9 @@ + + + + + + Document + + + From 535d5bf63d5a2a9ebb03370ed566d7cff30487c4 Mon Sep 17 00:00:00 2001 From: SaCasseta Date: Mon, 27 Jan 2025 14:41:52 -0300 Subject: [PATCH 05/56] Cria html --- Ex01-git+POO/index.html | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 Ex01-git+POO/index.html diff --git a/Ex01-git+POO/index.html b/Ex01-git+POO/index.html new file mode 100644 index 0000000..24ad574 --- /dev/null +++ b/Ex01-git+POO/index.html @@ -0,0 +1,9 @@ + + + + + + Document + + + From 8f34820049b00288c5f9cc0b98d06fc5ebcf088f Mon Sep 17 00:00:00 2001 From: MykyBalb Date: Mon, 27 Jan 2025 14:41:57 -0300 Subject: [PATCH 06/56] Cria HTML --- Ex01-git+POO/index.html | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 Ex01-git+POO/index.html diff --git a/Ex01-git+POO/index.html b/Ex01-git+POO/index.html new file mode 100644 index 0000000..24ad574 --- /dev/null +++ b/Ex01-git+POO/index.html @@ -0,0 +1,9 @@ + + + + + + Document + + + From 33fc74f6060f2dd82261238f7413e2cdee91af6c Mon Sep 17 00:00:00 2001 From: KauaFrenedozo10 Date: Mon, 27 Jan 2025 14:41:59 -0300 Subject: [PATCH 07/56] cria html --- Ex01-git+POO/index.html | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 Ex01-git+POO/index.html diff --git a/Ex01-git+POO/index.html b/Ex01-git+POO/index.html new file mode 100644 index 0000000..a4eead6 --- /dev/null +++ b/Ex01-git+POO/index.html @@ -0,0 +1,9 @@ + + + + + + TREINOOOOO + + + From 41452dfb376da86a8dfe2accd86c38705da3fde4 Mon Sep 17 00:00:00 2001 From: VinciusDev00 Date: Mon, 27 Jan 2025 14:42:04 -0300 Subject: [PATCH 08/56] cria html --- Ex01-git+POO/index.html | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 Ex01-git+POO/index.html diff --git a/Ex01-git+POO/index.html b/Ex01-git+POO/index.html new file mode 100644 index 0000000..24ad574 --- /dev/null +++ b/Ex01-git+POO/index.html @@ -0,0 +1,9 @@ + + + + + + Document + + + From b6e234423e4e0dd38fe6a01063fd30e54c552f41 Mon Sep 17 00:00:00 2001 From: annok0 Date: Mon, 27 Jan 2025 14:44:50 -0300 Subject: [PATCH 09/56] Cria html --- Ex01-git+POO/index.html | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 Ex01-git+POO/index.html diff --git a/Ex01-git+POO/index.html b/Ex01-git+POO/index.html new file mode 100644 index 0000000..24ad574 --- /dev/null +++ b/Ex01-git+POO/index.html @@ -0,0 +1,9 @@ + + + + + + Document + + + From d83f3a869a0b89fceb4bec46d1493b70f9741a52 Mon Sep 17 00:00:00 2001 From: annok0 Date: Mon, 27 Jan 2025 15:37:52 -0300 Subject: [PATCH 10/56] p --- Ex01-git+POO/Papelaria/Cliente.java | 32 +++++++++++++++++++ Ex01-git+POO/Papelaria/Pedido.java | 6 ++++ Ex01-git+POO/Papelaria/Produtos.java | 46 ++++++++++++++++++++++++++++ 3 files changed, 84 insertions(+) create mode 100644 Ex01-git+POO/Papelaria/Cliente.java create mode 100644 Ex01-git+POO/Papelaria/Pedido.java create mode 100644 Ex01-git+POO/Papelaria/Produtos.java diff --git a/Ex01-git+POO/Papelaria/Cliente.java b/Ex01-git+POO/Papelaria/Cliente.java new file mode 100644 index 0000000..ca226b5 --- /dev/null +++ b/Ex01-git+POO/Papelaria/Cliente.java @@ -0,0 +1,32 @@ +public class Cliente { + + //atributos + public int id; + public String Nome; + public String Email; + + //métodos + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getNome() { + return Nome; + } + + public void setNome(String nome) { + Nome = nome; + } + + public String getEmail() { + return Email; + } + + public void setEmail(String email) { + Email = email; + } +} diff --git a/Ex01-git+POO/Papelaria/Pedido.java b/Ex01-git+POO/Papelaria/Pedido.java new file mode 100644 index 0000000..cf713aa --- /dev/null +++ b/Ex01-git+POO/Papelaria/Pedido.java @@ -0,0 +1,6 @@ +public class Pedido { + + //atributos + public int Id; + public Cliente cliente; + ArrayList produtos = new ArrayList(); diff --git a/Ex01-git+POO/Papelaria/Produtos.java b/Ex01-git+POO/Papelaria/Produtos.java new file mode 100644 index 0000000..89c973d --- /dev/null +++ b/Ex01-git+POO/Papelaria/Produtos.java @@ -0,0 +1,46 @@ +public class Produtos { + + //atributos + public int ID; + public String nome; + public double Preco; + public int Quantidade; + + //métodos + + public int getID() { + return ID; + } + + public void setID(int ID) { + this.ID = ID; + } + + public String getNome() { + return nome; + } + + public void setNome(String nome) { + Nome = nome; + } + + public double getPreco() { + return Preco; + } + + public void setPreco(double preco) { + Preco = preco; + } + + public int getQuantidade() { + return Quantidade; + } + + public void setQuantidade(int quantidade) { + Quantidade = quantidade; + } + + public void reduzir_estoque(int quantidade) { + Quantidade = quantidade - ; + } +} \ No newline at end of file From f4410b2999600b5cf28cca2031421b7fbd8f4da5 Mon Sep 17 00:00:00 2001 From: VinciusDev00 Date: Mon, 27 Jan 2025 15:38:10 -0300 Subject: [PATCH 11/56] classe produto --- Ex01-git+POO/Papelaria/Cliente.java | 2 ++ Ex01-git+POO/Papelaria/Pedido.java | 2 ++ Ex01-git+POO/Papelaria/Produto.java | 2 ++ 3 files changed, 6 insertions(+) create mode 100644 Ex01-git+POO/Papelaria/Cliente.java create mode 100644 Ex01-git+POO/Papelaria/Pedido.java create mode 100644 Ex01-git+POO/Papelaria/Produto.java diff --git a/Ex01-git+POO/Papelaria/Cliente.java b/Ex01-git+POO/Papelaria/Cliente.java new file mode 100644 index 0000000..55f0626 --- /dev/null +++ b/Ex01-git+POO/Papelaria/Cliente.java @@ -0,0 +1,2 @@ +package Papelaria;public class Cliente { +} diff --git a/Ex01-git+POO/Papelaria/Pedido.java b/Ex01-git+POO/Papelaria/Pedido.java new file mode 100644 index 0000000..7a845fb --- /dev/null +++ b/Ex01-git+POO/Papelaria/Pedido.java @@ -0,0 +1,2 @@ +package Papelaria;public class Pedido { +} diff --git a/Ex01-git+POO/Papelaria/Produto.java b/Ex01-git+POO/Papelaria/Produto.java new file mode 100644 index 0000000..5fe2e49 --- /dev/null +++ b/Ex01-git+POO/Papelaria/Produto.java @@ -0,0 +1,2 @@ +package Papelaria;public class Produto { +} From d6cdf2032d78a6cec00a1e1fd200e67e78a1dc1c Mon Sep 17 00:00:00 2001 From: RafaelAlves98 Date: Mon, 27 Jan 2025 15:39:17 -0300 Subject: [PATCH 12/56] p --- .idea/.gitignore | 3 + .idea/PBE-2TDS-Modulo01.iml | 11 ++++ .idea/misc.xml | 6 ++ .idea/modules.xml | 8 +++ .idea/vcs.xml | 6 ++ Ex01-git+POO/Papelaria/Cliente.java | 41 ++++++++++++ Ex01-git+POO/Papelaria/Produto.java | 53 +++++++++++++++ out/production/PBE-2TDS-Modulo01/Briefing.md | 64 +++++++++++++++++++ out/production/PBE-2TDS-Modulo01/Main.class | Bin 0 -> 516 bytes out/production/PBE-2TDS-Modulo01/index.html | 9 +++ 10 files changed, 201 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/PBE-2TDS-Modulo01.iml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 Ex01-git+POO/Papelaria/Cliente.java create mode 100644 Ex01-git+POO/Papelaria/Produto.java create mode 100644 out/production/PBE-2TDS-Modulo01/Briefing.md create mode 100644 out/production/PBE-2TDS-Modulo01/Main.class create mode 100644 out/production/PBE-2TDS-Modulo01/index.html diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/PBE-2TDS-Modulo01.iml b/.idea/PBE-2TDS-Modulo01.iml new file mode 100644 index 0000000..e8ed6bb --- /dev/null +++ b/.idea/PBE-2TDS-Modulo01.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..6f29fee --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..34e1ca1 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Ex01-git+POO/Papelaria/Cliente.java b/Ex01-git+POO/Papelaria/Cliente.java new file mode 100644 index 0000000..5c02bf9 --- /dev/null +++ b/Ex01-git+POO/Papelaria/Cliente.java @@ -0,0 +1,41 @@ +package Papelaria; + +public class Cliente { + + // Método Construtor + public Cliente(int id, String nome, String email) { + this.id = id; + this.nome = nome; + this.email = email; + } + + // Atributos + int id; + String nome; + String email; + + // Métodos + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getNome() { + return nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } +} diff --git a/Ex01-git+POO/Papelaria/Produto.java b/Ex01-git+POO/Papelaria/Produto.java new file mode 100644 index 0000000..848cc10 --- /dev/null +++ b/Ex01-git+POO/Papelaria/Produto.java @@ -0,0 +1,53 @@ +package Papelaria; + +public class Produto { + + // Método Construtor + public Produto(int id, String nome, double preco, int quantidade_estoque) { + this.id = id; + this.nome = nome; + this.preco = preco; + this.quantidade_estoque = quantidade_estoque; + } + + // Atributos + int id; // Números Inteiros + String nome; // Texto + double preco; // Números reais (decimais extensos) + int quantidade_estoque; + + // Métodos + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getNome() { + return nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public double getPreco() { + return preco; + } + + public void setPreco(double preco) { + this.preco = preco; + } + + public int getQuantidade_estoque() { + return quantidade_estoque; + } + + public void setQuantidade_estoque(int quantidade_estoque) { + this.quantidade_estoque = quantidade_estoque; + } + +} diff --git a/out/production/PBE-2TDS-Modulo01/Briefing.md b/out/production/PBE-2TDS-Modulo01/Briefing.md new file mode 100644 index 0000000..45b1fa8 --- /dev/null +++ b/out/production/PBE-2TDS-Modulo01/Briefing.md @@ -0,0 +1,64 @@ +# Situação-Problema: Sistema de Gestão de Estoque para uma Papelaria + +## Contexto +Uma papelaria chamada **Papel & Cia** deseja informatizar o gerenciamento de seus produtos e clientes. Atualmente, o controle de itens como cadernos, canetas e lápis é feito manualmente, o que tem causado erros no estoque e atrasos nas vendas. Para resolver esses problemas, o proprietário quer implementar um sistema simples com base em três classes principais que representem os produtos, os clientes e os pedidos realizados. + +## Objetivo +Criar um sistema de gerenciamento básico composto por três classes principais: + +1. **Produto**: Representa os itens vendidos pela papelaria. +2. **Cliente**: Armazena os dados dos clientes que compram na loja. +3. **Pedido**: Representa os pedidos feitos pelos clientes, relacionando produtos e quantidades. + +A interação entre essas classes deve permitir a simulação de um pedido feito por um cliente e a atualização do estoque de produtos. + +--- + +## Dados fornecidos para construção das classes + +### Classe Produto +- **Atributos**: + - `id` (identificador do produto) + - `nome` (nome do produto) + - `preco` (preço unitário) + - `quantidade_estoque` (quantidade disponível no estoque) +- **Métodos**: + - `reduzir_estoque(quantidade)`: Reduz a quantidade do estoque ao realizar uma venda. + - `exibir_detalhes()`: Mostra as informações do produto. + +### Classe Cliente +- **Atributos**: + - `id` (identificador do cliente) + - `nome` (nome do cliente) + - `email` (e-mail para contato) +- **Métodos**: + - `exibir_cliente()`: Mostra os dados do cliente. + +### Classe Pedido +- **Atributos**: + - `id` (identificador do pedido) + - `cliente` (objeto da classe Cliente) + - `produtos` (lista de tuplas com produto e quantidade) +- **Métodos**: + - `adicionar_produto(produto, quantidade)`: Adiciona um produto ao pedido. + - `calcular_total()`: Retorna o valor total do pedido. + - `finalizar_pedido()`: Atualiza os estoques dos produtos no pedido e retorna um resumo. + +--- + +## Resultados Esperados +1. **Criar as classes com base no modelo acima.** +2. **Simular a criação de 3 produtos, 2 clientes e 1 pedido.** + - **Exemplo de produtos**: + - Produto 1: Caderno, preço R$ 20, estoque 50 unidades. + - Produto 2: Caneta Azul, preço R$ 3, estoque 100 unidades. + - Produto 3: Lápis, preço R$ 1.50, estoque 200 unidades. + - **Exemplo de clientes**: + - Cliente 1: João Silva, email `joao@email.com`. + - Cliente 2: Maria Santos, email `maria@email.com`. +3. **Simular o pedido**: + - Cliente João Silva compra: + - 2 cadernos. + - 5 canetas azuis. + - O sistema deve calcular o total do pedido, exibir um resumo para o cliente e atualizar o estoque dos produtos. + diff --git a/out/production/PBE-2TDS-Modulo01/Main.class b/out/production/PBE-2TDS-Modulo01/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..ecda307b7a54d235527ef8f863e4d7f66920bc93 GIT binary patch literal 516 zcmZvZ%TB^T6o&tSLTRmnAb3}B1upE;1;)gf7#H=DU~u7TfJq%PZOu?jd@NmP;=%{; zp^RsWiJCCUoXPpm`MR&MgyU5 z_&||T4U!>OeXga+e?%+2mlL{TV9Z@|M;WBizMHoX)wvF-zc#1L;P#TK9*Q$*wsQ>e zz+49{)ajAU$bp$>rnpL(Pb;Ifu>S`3oR!xonlfmvQ}kvH*uW-b4z{pOiZLH%Fw$ON dR~KJV{sovX1@iP$)*pz29qf|M(4?3{>l + + + + + Document + + + From e7118ec565d15e7f3cd8c11f2dbad0be71d61184 Mon Sep 17 00:00:00 2001 From: MykyBalb Date: Mon, 27 Jan 2025 15:39:24 -0300 Subject: [PATCH 13/56] classesJava --- .../out/production/Ex01-git+POO/Cliente.class | Bin 0 -> 246 bytes .../out/production/Ex01-git+POO/Pedido.class | Bin 0 -> 243 bytes .../out/production/Ex01-git+POO/Produto.class | Bin 0 -> 348 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 Ex01-git+POO/out/production/Ex01-git+POO/Cliente.class create mode 100644 Ex01-git+POO/out/production/Ex01-git+POO/Pedido.class create mode 100644 Ex01-git+POO/out/production/Ex01-git+POO/Produto.class diff --git a/Ex01-git+POO/out/production/Ex01-git+POO/Cliente.class b/Ex01-git+POO/out/production/Ex01-git+POO/Cliente.class new file mode 100644 index 0000000000000000000000000000000000000000..963e0769580ff7e1a8cb354287da30585975baa9 GIT binary patch literal 246 zcmXYrJqp4=5QX35*TiVV8`!CZIe;Qaz$$2=*l*&ZD=~o>y_c0>;Q>69I2$qpZ}xq& z1MmBLe*mm7@L|AoVFj?^5C#|V5K%6QQ?yMlGOG#BLKUiB63p@B;G#ot<6Oz2mINy< zk37Oe6>@XGrn1_LG-onQ%1q=3Q7P?PXw_$RBX~)BKPULR@?K?ft@KgQ@|g~S5nRru li?}%*tH&;CJYY{>peF+ZKC52quU*!ldD}dD4ePTS2>)DOE+7B^ literal 0 HcmV?d00001 diff --git a/Ex01-git+POO/out/production/Ex01-git+POO/Pedido.class b/Ex01-git+POO/out/production/Ex01-git+POO/Pedido.class new file mode 100644 index 0000000000000000000000000000000000000000..2d0f3db944d2486298ef7e9b74c9163bd96cc5ed GIT binary patch literal 243 zcmXYrO$x#=6olv1)@rRkcmsFp!X7{oL~vD9P~4|&&`52dw%*H?;KBoVDDkD5z$Ej% zH!$zd^95jmo(Bsx7q$-vbwckfZX!rUb__PrS;hsSK2w=0=7idCba2sNvXzNSG{Ii# zL=w88%H+DdL^9utC}q+Qbu7|@$d&PbXcs4SB{afcd`j?ky3Av_QYO>-;fZO00bDL- m4)Nt`tW9=70Noi_@L0{*thQMF>hJK|u2_fFLiYxgxahmVVwWxXU;0UxF$qzR+en0DI3;aXs0Ss$rrhCX6-o@PE5r# z%$1f8epN{OEQ-24&Xl5_3#*!SCx-4-Z3u(Bn}TmhX2#o6PE`|1JN>E|1!su)g+RzP zK*9*@B5ipO`z;S!od<0GfN{iX#!Sr7 Date: Mon, 27 Jan 2025 16:01:59 -0300 Subject: [PATCH 14/56] p --- Ex01-git+POO/Papelaria/Pedido.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/Ex01-git+POO/Papelaria/Pedido.java b/Ex01-git+POO/Papelaria/Pedido.java index cf713aa..0144021 100644 --- a/Ex01-git+POO/Papelaria/Pedido.java +++ b/Ex01-git+POO/Papelaria/Pedido.java @@ -4,3 +4,21 @@ public class Pedido { public int Id; public Cliente cliente; ArrayList produtos = new ArrayList(); + + //métodos + public int getId() { + return Id; + } + + public void setId(int id) { + Id = id; + } + + public Cliente getCliente() { + return cliente; + } + + public void setCliente(Cliente cliente) { + this.cliente = cliente; + } +} From b53bccc414e65e69bd5f247290dcbda1cd38cd88 Mon Sep 17 00:00:00 2001 From: RafaelAlves98 Date: Mon, 27 Jan 2025 16:02:44 -0300 Subject: [PATCH 15/56] =?UTF-8?q?Papelaria=20atualiza=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Ex01-git+POO/Papelaria/Pedido.java | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 Ex01-git+POO/Papelaria/Pedido.java diff --git a/Ex01-git+POO/Papelaria/Pedido.java b/Ex01-git+POO/Papelaria/Pedido.java new file mode 100644 index 0000000..2341875 --- /dev/null +++ b/Ex01-git+POO/Papelaria/Pedido.java @@ -0,0 +1,7 @@ +package Papelaria; + +public class Pedido { + public static void main(String[] args) { + + } +} From d2dbcc105405260c501ab03d95de844e11e5376b Mon Sep 17 00:00:00 2001 From: MykyBalb Date: Mon, 27 Jan 2025 16:03:29 -0300 Subject: [PATCH 16/56] entregaExercicio --- Ex01-git+POO/Ex01/Cliente.java | 31 +++++++++++++++++++++ Ex01-git+POO/Ex01/Main.java | 11 ++++++++ Ex01-git+POO/Ex01/Pedido.java | 40 +++++++++++++++++++++++++++ Ex01-git+POO/Ex01/Produto.java | 50 ++++++++++++++++++++++++++++++++++ 4 files changed, 132 insertions(+) create mode 100644 Ex01-git+POO/Ex01/Cliente.java create mode 100644 Ex01-git+POO/Ex01/Main.java create mode 100644 Ex01-git+POO/Ex01/Pedido.java create mode 100644 Ex01-git+POO/Ex01/Produto.java diff --git a/Ex01-git+POO/Ex01/Cliente.java b/Ex01-git+POO/Ex01/Cliente.java new file mode 100644 index 0000000..c470ae2 --- /dev/null +++ b/Ex01-git+POO/Ex01/Cliente.java @@ -0,0 +1,31 @@ +package Ex01; + +public class Cliente { + int id; + String nome; + String email; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getNome() { + return nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } +} diff --git a/Ex01-git+POO/Ex01/Main.java b/Ex01-git+POO/Ex01/Main.java new file mode 100644 index 0000000..1cdc4e9 --- /dev/null +++ b/Ex01-git+POO/Ex01/Main.java @@ -0,0 +1,11 @@ +package Ex01; + +public class Main { + public static void main(String[] args) { + Produto produto1 = new Produto(); + produto1.id = 001; + produto1.nome = "Caderno"; + produto1.preco = 1,50; + produto1.quantidade_estoque = 200; + } +} diff --git a/Ex01-git+POO/Ex01/Pedido.java b/Ex01-git+POO/Ex01/Pedido.java new file mode 100644 index 0000000..3929ffc --- /dev/null +++ b/Ex01-git+POO/Ex01/Pedido.java @@ -0,0 +1,40 @@ +package Ex01; + +public class Pedido { + int id; + String cliente; + String[] produto; + String[] quantidade; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getCliente() { + return cliente; + } + + public void setCliente(String cliente) { + this.cliente = cliente; + } + + public String[] getProduto() { + return produto; + } + + public void setProduto(String[] produto) { + this.produto = produto; + } + + public String[] getQuantidade() { + return quantidade; + } + + public void setQuantidade(String[] quantidade) { + this.quantidade = quantidade; + } +} diff --git a/Ex01-git+POO/Ex01/Produto.java b/Ex01-git+POO/Ex01/Produto.java new file mode 100644 index 0000000..c97093a --- /dev/null +++ b/Ex01-git+POO/Ex01/Produto.java @@ -0,0 +1,50 @@ +package Ex01; + +public class Produto { + int id; + String nome; + float preco; + int quantidade_estoque; + + public Produto() { + } + + public Produto(int id, String nome, float preco, int quantidade_estoque) { + this.id = id; + this.nome = nome; + this.preco = preco; + this.quantidade_estoque = quantidade_estoque; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getNome() { + return nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public float getPreco() { + return preco; + } + + public void setPreco(float preco) { + this.preco = preco; + } + + public int getQuantidade_estoque() { + return quantidade_estoque; + } + + public void setQuantidade_estoque(int quantidade_estoque) { + this.quantidade_estoque = quantidade_estoque; + } +} From 5ad1f0869ae14bdeba09b7bf176367f226ff360a Mon Sep 17 00:00:00 2001 From: YuriSantxz07 Date: Mon, 27 Jan 2025 16:03:41 -0300 Subject: [PATCH 17/56] Papelaria --- .idea/.gitignore | 3 +++ .idea/PBE-2TDS-Modulo01.iml | 11 +++++++++++ .idea/misc.xml | 6 ++++++ .idea/modules.xml | 8 ++++++++ .idea/vcs.xml | 6 ++++++ Ex01-git+POO/Cliente.java | 19 +++++++++++++++++++ Ex01-git+POO/Main.java | 5 +++++ Ex01-git+POO/Pedido.java | 6 ++++++ Ex01-git+POO/Produto.java | 24 ++++++++++++++++++++++++ 9 files changed, 88 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/PBE-2TDS-Modulo01.iml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 Ex01-git+POO/Cliente.java create mode 100644 Ex01-git+POO/Main.java create mode 100644 Ex01-git+POO/Pedido.java create mode 100644 Ex01-git+POO/Produto.java diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/PBE-2TDS-Modulo01.iml b/.idea/PBE-2TDS-Modulo01.iml new file mode 100644 index 0000000..e8ed6bb --- /dev/null +++ b/.idea/PBE-2TDS-Modulo01.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..6f29fee --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..34e1ca1 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Ex01-git+POO/Cliente.java b/Ex01-git+POO/Cliente.java new file mode 100644 index 0000000..010d065 --- /dev/null +++ b/Ex01-git+POO/Cliente.java @@ -0,0 +1,19 @@ +public class Cliente{ + int id; + String nome; + String email; + + Cliente(){ + + Cliente(int id, String nome, String email){ + this.id = id; + this.nome = nome; + this.email = email; + } + + public void exibir_cliente(){ + System.out.println("ID: " + id + "\n"+"Nome: " + nome + "\n"+"Email: " + email); + } + + +} diff --git a/Ex01-git+POO/Main.java b/Ex01-git+POO/Main.java new file mode 100644 index 0000000..2d15bb7 --- /dev/null +++ b/Ex01-git+POO/Main.java @@ -0,0 +1,5 @@ +public class Main { + public static void main(String[] args) { + System.out.println("Hello World!"); + } +} diff --git a/Ex01-git+POO/Pedido.java b/Ex01-git+POO/Pedido.java new file mode 100644 index 0000000..c17f3a6 --- /dev/null +++ b/Ex01-git+POO/Pedido.java @@ -0,0 +1,6 @@ +public class Pedido { + public static void main(String[] args) { + int id; + + } +} diff --git a/Ex01-git+POO/Produto.java b/Ex01-git+POO/Produto.java new file mode 100644 index 0000000..c3f9937 --- /dev/null +++ b/Ex01-git+POO/Produto.java @@ -0,0 +1,24 @@ +public class Produto { + public int id; + String nome; + float preco; + int quantidade_estoque; + + Public Produto(){ + + } + Public Produto(int id, String nome, float preco, int quantidade_estoque){ + this.id = id; + this.nome = nome; + this.preco = preco; + this.quantidade_estoque = quantidade_estoque; + } + + public void reduzir_estoque(int reduz){ + + } + + pubic void exibir_informacoes(){ + System.out.println("ID: " + "\n"+"Nome: " + nome + "\n" + "Preço: " + preco + "\n" "Quantidade em estoque: " + quantidade_estoque); + } +} From d6955f25355eaa662d17319539a9f212da5fa2fa Mon Sep 17 00:00:00 2001 From: VinciusDev00 Date: Mon, 27 Jan 2025 16:04:51 -0300 Subject: [PATCH 18/56] ultimo commit --- .idea/.gitignore | 3 + .idea/PBE-2TDS-Modulo01.iml | 11 +++ .idea/misc.xml | 6 ++ .idea/modules.xml | 8 +++ .idea/vcs.xml | 6 ++ Ex01-git+POO/Papelaria/Cliente.java | 5 +- Ex01-git+POO/Papelaria/Pedido.java | 41 ++++++++++- Ex01-git+POO/Papelaria/Produto.java | 64 +++++++++++++++++- out/production/PBE-2TDS-Modulo01/Briefing.md | 64 ++++++++++++++++++ .../PBE-2TDS-Modulo01/Papelaria/Cliente.class | Bin 0 -> 384 bytes .../PBE-2TDS-Modulo01/Papelaria/Pedido.class | Bin 0 -> 381 bytes .../PBE-2TDS-Modulo01/Papelaria/Produto.class | Bin 0 -> 2413 bytes out/production/PBE-2TDS-Modulo01/index.html | 9 +++ 13 files changed, 214 insertions(+), 3 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/PBE-2TDS-Modulo01.iml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 out/production/PBE-2TDS-Modulo01/Briefing.md create mode 100644 out/production/PBE-2TDS-Modulo01/Papelaria/Cliente.class create mode 100644 out/production/PBE-2TDS-Modulo01/Papelaria/Pedido.class create mode 100644 out/production/PBE-2TDS-Modulo01/Papelaria/Produto.class create mode 100644 out/production/PBE-2TDS-Modulo01/index.html diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/PBE-2TDS-Modulo01.iml b/.idea/PBE-2TDS-Modulo01.iml new file mode 100644 index 0000000..e8ed6bb --- /dev/null +++ b/.idea/PBE-2TDS-Modulo01.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..6f29fee --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..34e1ca1 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Ex01-git+POO/Papelaria/Cliente.java b/Ex01-git+POO/Papelaria/Cliente.java index 55f0626..93333d8 100644 --- a/Ex01-git+POO/Papelaria/Cliente.java +++ b/Ex01-git+POO/Papelaria/Cliente.java @@ -1,2 +1,5 @@ -package Papelaria;public class Cliente { +package Papelaria; + +public class Cliente { + } diff --git a/Ex01-git+POO/Papelaria/Pedido.java b/Ex01-git+POO/Papelaria/Pedido.java index 7a845fb..50b4124 100644 --- a/Ex01-git+POO/Papelaria/Pedido.java +++ b/Ex01-git+POO/Papelaria/Pedido.java @@ -1,2 +1,41 @@ -package Papelaria;public class Pedido { +package Papelaria; + +public class Pedido { + + int id; + String cliente; + String produtos; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getCliente() { + return cliente; + } + + public void setCliente(String cliente) { + this.cliente = cliente; + } + + public String getProdutos() { + return produtos; + } + + public void setProdutos(String produtos) { + this.produtos = produtos; + } + + //adicionar_produto(produto, quantidade): Adiciona um produto ao pedido. + //calcular_total(): Retorna o valor total do pedido. + //finalizar_pedido(): Atualiza os estoques dos produtos no pedido e retorna um resumo. + + public void adicionar_produto(String produtos, int quantidade){ + + } + } diff --git a/Ex01-git+POO/Papelaria/Produto.java b/Ex01-git+POO/Papelaria/Produto.java index 5fe2e49..8c32e0d 100644 --- a/Ex01-git+POO/Papelaria/Produto.java +++ b/Ex01-git+POO/Papelaria/Produto.java @@ -1,2 +1,64 @@ -package Papelaria;public class Produto { +package Papelaria; + +public class Produto { + + + int id; + String nome; + float preco; + int quantidade_estoque; + + public Produto(int id, String nome, float preco, int quantidade_estoque) { + this.id = id; + this.nome = nome; + this.preco = preco; + this.quantidade_estoque = quantidade_estoque; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getNome() { + return nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public float getPreco() { + return preco; + } + + public void setPreco(float preco) { + this.preco = preco; + } + + public int getQuantidade_estoque() { + return quantidade_estoque; + } + + public void setQuantidade_estoque(int quantidade_estoque) { + this.quantidade_estoque = quantidade_estoque; + } + + public void reduzir_estoque(int quantidade){ + + + + } + public void exibir_detalhes(){ + System.out.println("O ID do produto é: " + getId()); + System.out.println("O nome do produto é: " + getNome()); + System.out.println("O preço do produto é: " + getPreco()); + System.out.println("A quantidade de produtos são: " + getQuantidade_estoque()); + } + } + + diff --git a/out/production/PBE-2TDS-Modulo01/Briefing.md b/out/production/PBE-2TDS-Modulo01/Briefing.md new file mode 100644 index 0000000..45b1fa8 --- /dev/null +++ b/out/production/PBE-2TDS-Modulo01/Briefing.md @@ -0,0 +1,64 @@ +# Situação-Problema: Sistema de Gestão de Estoque para uma Papelaria + +## Contexto +Uma papelaria chamada **Papel & Cia** deseja informatizar o gerenciamento de seus produtos e clientes. Atualmente, o controle de itens como cadernos, canetas e lápis é feito manualmente, o que tem causado erros no estoque e atrasos nas vendas. Para resolver esses problemas, o proprietário quer implementar um sistema simples com base em três classes principais que representem os produtos, os clientes e os pedidos realizados. + +## Objetivo +Criar um sistema de gerenciamento básico composto por três classes principais: + +1. **Produto**: Representa os itens vendidos pela papelaria. +2. **Cliente**: Armazena os dados dos clientes que compram na loja. +3. **Pedido**: Representa os pedidos feitos pelos clientes, relacionando produtos e quantidades. + +A interação entre essas classes deve permitir a simulação de um pedido feito por um cliente e a atualização do estoque de produtos. + +--- + +## Dados fornecidos para construção das classes + +### Classe Produto +- **Atributos**: + - `id` (identificador do produto) + - `nome` (nome do produto) + - `preco` (preço unitário) + - `quantidade_estoque` (quantidade disponível no estoque) +- **Métodos**: + - `reduzir_estoque(quantidade)`: Reduz a quantidade do estoque ao realizar uma venda. + - `exibir_detalhes()`: Mostra as informações do produto. + +### Classe Cliente +- **Atributos**: + - `id` (identificador do cliente) + - `nome` (nome do cliente) + - `email` (e-mail para contato) +- **Métodos**: + - `exibir_cliente()`: Mostra os dados do cliente. + +### Classe Pedido +- **Atributos**: + - `id` (identificador do pedido) + - `cliente` (objeto da classe Cliente) + - `produtos` (lista de tuplas com produto e quantidade) +- **Métodos**: + - `adicionar_produto(produto, quantidade)`: Adiciona um produto ao pedido. + - `calcular_total()`: Retorna o valor total do pedido. + - `finalizar_pedido()`: Atualiza os estoques dos produtos no pedido e retorna um resumo. + +--- + +## Resultados Esperados +1. **Criar as classes com base no modelo acima.** +2. **Simular a criação de 3 produtos, 2 clientes e 1 pedido.** + - **Exemplo de produtos**: + - Produto 1: Caderno, preço R$ 20, estoque 50 unidades. + - Produto 2: Caneta Azul, preço R$ 3, estoque 100 unidades. + - Produto 3: Lápis, preço R$ 1.50, estoque 200 unidades. + - **Exemplo de clientes**: + - Cliente 1: João Silva, email `joao@email.com`. + - Cliente 2: Maria Santos, email `maria@email.com`. +3. **Simular o pedido**: + - Cliente João Silva compra: + - 2 cadernos. + - 5 canetas azuis. + - O sistema deve calcular o total do pedido, exibir um resumo para o cliente e atualizar o estoque dos produtos. + diff --git a/out/production/PBE-2TDS-Modulo01/Papelaria/Cliente.class b/out/production/PBE-2TDS-Modulo01/Papelaria/Cliente.class new file mode 100644 index 0000000000000000000000000000000000000000..00e4b4310d635905a94a072af2b63286dad3f156 GIT binary patch literal 384 zcmZut!AiqG5Pg%RiH*_PR=j&_70d@z1Sxn5DpYduw24dHvfaqK^}jq7Joo{AlsMZK z6zamxW9Gd#JF{QkAD;lOahxJRm>|l~K}=r9l`t%JI!(CM zLMTHx89f%i)6ASzrkRXO=7nv%`5&5)&f2A|<&E-hXWQ{Ed>@=5;br{^Kz?10UCwew xV(gr)K<{fh<>+Z3#6HJtBVat>tcyeRxZ=&{e7$bR82>TyzoNeu4mbuF{s1mTNkjku literal 0 HcmV?d00001 diff --git a/out/production/PBE-2TDS-Modulo01/Papelaria/Pedido.class b/out/production/PBE-2TDS-Modulo01/Papelaria/Pedido.class new file mode 100644 index 0000000000000000000000000000000000000000..283ab4748a1127f358bbeda35176a3bafe40883a GIT binary patch literal 381 zcmZut!AiqG5Pg%RiA}53R=j&_70d@z3L*_`@jwg@cW7DClAI355$s^Z)<= literal 0 HcmV?d00001 diff --git a/out/production/PBE-2TDS-Modulo01/Papelaria/Produto.class b/out/production/PBE-2TDS-Modulo01/Papelaria/Produto.class new file mode 100644 index 0000000000000000000000000000000000000000..1b6987e6ede66cd34bc05cebf317085de9676f9e GIT binary patch literal 2413 zcmaKtT~ixX7{~ty@&a)w5E@!ii$S0!p)|I(wIzTQYHXAO6{Kp_x@3>ACD~1PH&wjy zV|ed{(;3InPN_3oc*C6^%JF}8QxeGHMb68f=RD8vc{xx1`S;*&0C%vHKo`2>h-io+ zCNS_sf2J3zy0u+c-FhM`o_rcH<490Y8)7dBfvbx3n!u$nWu5w!_UjsM z;HE$iwXX%irst(3Yv7jBc3Yv9LhPx_MGdnmW+`5N(2A667{{ zzGNG$g#KmIk}HkcmUK4st*T!ec15pls#4;<`7xq9+l={8h%$lm*>b0iQrWlS?U?G` zaz}XAWsTfkdlHc`Sc0w|Htu zPp|Gsk|fschEtIxQ@N@&pUM?gB`n`X+xA?~(d+l6w__V_4?d&m)lB(r#;`N>;9X@7 zpU-4O4<52OS2OB8g&ck%FtW-U^6*zXS^=`&J{Kck){usVa;2S)S z<6Bh{1e|ESTGM)F@5(~(c!T#*(kq_r>Y48;5oF)VVe z1&3I|T_wam{UOH%u79F*lyf@&7exNTKH~Yy`{>J0?qe{YitHoR(wL@BppS58XuO}} z0K4uWJ89Clay`(55j}H6gVsSX#OSQzj4v- zN~+D3Xw!(mJ(Qc5=P9jB#C$he*y`^IgpAVUB3HwK)DdQ^i78au3<2r;;{?dXP>_$A zgdnCZkST`pB*+*+-aZ9HrCLRR9X14H@b?oSlc6A=V7UWioasCXk|Rj|6cCjp1;TC} z0+KqJn(0uG`{Ai+tEeC~R|#_M6cAM-3S{L-*9|`iA*Ft^O@%nhuE1(j#hU*l7I^)8 zR)8wAxfeK}e}&NlCIqi=DcD{4S(G9$It!oOKkBx!Lte^wlVS_2!YVK literal 0 HcmV?d00001 diff --git a/out/production/PBE-2TDS-Modulo01/index.html b/out/production/PBE-2TDS-Modulo01/index.html new file mode 100644 index 0000000..24ad574 --- /dev/null +++ b/out/production/PBE-2TDS-Modulo01/index.html @@ -0,0 +1,9 @@ + + + + + + Document + + + From 91ba16c47726ca6f9452686c9eff4f6ca5bac37b Mon Sep 17 00:00:00 2001 From: JulianaNishimura Date: Mon, 27 Jan 2025 16:04:58 -0300 Subject: [PATCH 19/56] Commitando... --- .idea/.gitignore | 3 + .idea/PBE-2TDS-Modulo01.iml | 11 +++ .idea/misc.xml | 6 ++ .idea/modules.xml | 8 +++ .idea/vcs.xml | 6 ++ Ex01-git+POO/exercicio1/Cliente.java | 36 ++++++++++ Ex01-git+POO/exercicio1/Main.java | 7 ++ Ex01-git+POO/exercicio1/Pedido.java | 39 +++++++++++ Ex01-git+POO/exercicio1/Produto.java | 52 ++++++++++++++ out/production/PBE-2TDS-Modulo01/Briefing.md | 64 ++++++++++++++++++ .../exercicio1/Cliente.class | Bin 0 -> 268 bytes .../PBE-2TDS-Modulo01/exercicio1/Main.class | Bin 0 -> 259 bytes .../PBE-2TDS-Modulo01/exercicio1/Pedido.class | Bin 0 -> 318 bytes .../exercicio1/Produto.class | Bin 0 -> 268 bytes out/production/PBE-2TDS-Modulo01/index.html | 9 +++ 15 files changed, 241 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/PBE-2TDS-Modulo01.iml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 Ex01-git+POO/exercicio1/Cliente.java create mode 100644 Ex01-git+POO/exercicio1/Main.java create mode 100644 Ex01-git+POO/exercicio1/Pedido.java create mode 100644 Ex01-git+POO/exercicio1/Produto.java create mode 100644 out/production/PBE-2TDS-Modulo01/Briefing.md create mode 100644 out/production/PBE-2TDS-Modulo01/exercicio1/Cliente.class create mode 100644 out/production/PBE-2TDS-Modulo01/exercicio1/Main.class create mode 100644 out/production/PBE-2TDS-Modulo01/exercicio1/Pedido.class create mode 100644 out/production/PBE-2TDS-Modulo01/exercicio1/Produto.class create mode 100644 out/production/PBE-2TDS-Modulo01/index.html diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/PBE-2TDS-Modulo01.iml b/.idea/PBE-2TDS-Modulo01.iml new file mode 100644 index 0000000..e8ed6bb --- /dev/null +++ b/.idea/PBE-2TDS-Modulo01.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..d4658b0 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..34e1ca1 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Ex01-git+POO/exercicio1/Cliente.java b/Ex01-git+POO/exercicio1/Cliente.java new file mode 100644 index 0000000..3cb77b6 --- /dev/null +++ b/Ex01-git+POO/exercicio1/Cliente.java @@ -0,0 +1,36 @@ +package exercicio1; + +public class Cliente { + private int id; + private String nome; + private String email; + + public int getId(){ + return id; + } + + public void setId(int id){ + this.id = id; + } + + public String getNome(){ + return nome; + } + + public void setNome(String nome){ + this.nome = nome; + } + + public String getEmail(){ + return email; + } + + public void setEmail(String email){ + this.email = email; + } + + //outro metodo + public void exibir_cliente(){ + System.out.println("O id do cliente é:\n" + this.id + "\nO nome do cliente é:\n" + this.nome + "\nO email do cliente é:\n" + this.email); + } +} diff --git a/Ex01-git+POO/exercicio1/Main.java b/Ex01-git+POO/exercicio1/Main.java new file mode 100644 index 0000000..78574a9 --- /dev/null +++ b/Ex01-git+POO/exercicio1/Main.java @@ -0,0 +1,7 @@ +package exercicio1; + +public class Main { + public static void main(String[] args) { + + } +} diff --git a/Ex01-git+POO/exercicio1/Pedido.java b/Ex01-git+POO/exercicio1/Pedido.java new file mode 100644 index 0000000..cdabc98 --- /dev/null +++ b/Ex01-git+POO/exercicio1/Pedido.java @@ -0,0 +1,39 @@ +package exercicio1; + +import java.util.ArrayList; + +public class Pedido { + private int id; + + private int quantidade; + private Cliente cliente; + private ArrayList produtos; + + public int getId(){ + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int getQuantidade() { + return quantidade; + } + + public void setQuantidade(int quantidade){ + this.quantidade = quantidade; + } + + //adicionar produto + public void adicionar_produto(Produto produto, int quantidade){ + produto.reduzir_estoque(quantidade); + produtos.add(produto); + } + + public void calcular_total(){ + float total; + total = quantidade + System.out.println("O total do pedido foi: " + total); + } +} diff --git a/Ex01-git+POO/exercicio1/Produto.java b/Ex01-git+POO/exercicio1/Produto.java new file mode 100644 index 0000000..9a94c2c --- /dev/null +++ b/Ex01-git+POO/exercicio1/Produto.java @@ -0,0 +1,52 @@ +package exercicio1; + +public class Produto { + private int id; + private String nome; + private float preco; + private int quantidade_estoque; + + //get e set + + + public int getId() { + return id; + } + + public void setId(int id){ + this.id = id; + } + + public String getNome(){ + return nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public float getPreco(){ + return preco; + } + + public void setPreco(float preco){ + this.preco = preco; + } + + public int getQuantidade_estoque(){ + return quantidade_estoque; + } + + public void setQuantidade_estoque(int qe){ + this.quantidade_estoque = qe; + } + + //outros metodos + public void reduzir_estoque(int quantidade){ + this.quantidade_estoque = quantidade_estoque - quantidade; + } + + public void exibir_detalhes(){ + System.out.println("O id do produto é:\n" + this.id + "\nO nome do produto é:\n" + this.nome + "\nO preço unitário do produto é:\n" + this.preco + "\nA quantidade disponível do produto é:\n" + this.quantidade_estoque); + } +} diff --git a/out/production/PBE-2TDS-Modulo01/Briefing.md b/out/production/PBE-2TDS-Modulo01/Briefing.md new file mode 100644 index 0000000..45b1fa8 --- /dev/null +++ b/out/production/PBE-2TDS-Modulo01/Briefing.md @@ -0,0 +1,64 @@ +# Situação-Problema: Sistema de Gestão de Estoque para uma Papelaria + +## Contexto +Uma papelaria chamada **Papel & Cia** deseja informatizar o gerenciamento de seus produtos e clientes. Atualmente, o controle de itens como cadernos, canetas e lápis é feito manualmente, o que tem causado erros no estoque e atrasos nas vendas. Para resolver esses problemas, o proprietário quer implementar um sistema simples com base em três classes principais que representem os produtos, os clientes e os pedidos realizados. + +## Objetivo +Criar um sistema de gerenciamento básico composto por três classes principais: + +1. **Produto**: Representa os itens vendidos pela papelaria. +2. **Cliente**: Armazena os dados dos clientes que compram na loja. +3. **Pedido**: Representa os pedidos feitos pelos clientes, relacionando produtos e quantidades. + +A interação entre essas classes deve permitir a simulação de um pedido feito por um cliente e a atualização do estoque de produtos. + +--- + +## Dados fornecidos para construção das classes + +### Classe Produto +- **Atributos**: + - `id` (identificador do produto) + - `nome` (nome do produto) + - `preco` (preço unitário) + - `quantidade_estoque` (quantidade disponível no estoque) +- **Métodos**: + - `reduzir_estoque(quantidade)`: Reduz a quantidade do estoque ao realizar uma venda. + - `exibir_detalhes()`: Mostra as informações do produto. + +### Classe Cliente +- **Atributos**: + - `id` (identificador do cliente) + - `nome` (nome do cliente) + - `email` (e-mail para contato) +- **Métodos**: + - `exibir_cliente()`: Mostra os dados do cliente. + +### Classe Pedido +- **Atributos**: + - `id` (identificador do pedido) + - `cliente` (objeto da classe Cliente) + - `produtos` (lista de tuplas com produto e quantidade) +- **Métodos**: + - `adicionar_produto(produto, quantidade)`: Adiciona um produto ao pedido. + - `calcular_total()`: Retorna o valor total do pedido. + - `finalizar_pedido()`: Atualiza os estoques dos produtos no pedido e retorna um resumo. + +--- + +## Resultados Esperados +1. **Criar as classes com base no modelo acima.** +2. **Simular a criação de 3 produtos, 2 clientes e 1 pedido.** + - **Exemplo de produtos**: + - Produto 1: Caderno, preço R$ 20, estoque 50 unidades. + - Produto 2: Caneta Azul, preço R$ 3, estoque 100 unidades. + - Produto 3: Lápis, preço R$ 1.50, estoque 200 unidades. + - **Exemplo de clientes**: + - Cliente 1: João Silva, email `joao@email.com`. + - Cliente 2: Maria Santos, email `maria@email.com`. +3. **Simular o pedido**: + - Cliente João Silva compra: + - 2 cadernos. + - 5 canetas azuis. + - O sistema deve calcular o total do pedido, exibir um resumo para o cliente e atualizar o estoque dos produtos. + diff --git a/out/production/PBE-2TDS-Modulo01/exercicio1/Cliente.class b/out/production/PBE-2TDS-Modulo01/exercicio1/Cliente.class new file mode 100644 index 0000000000000000000000000000000000000000..8b45696b078c1bf81bc65c3a42190e234ef18b91 GIT binary patch literal 268 zcmZWjyN<#@3>@b{Amjicet-_HAfi5w28k+y0z|)AR$!D%q!3R078TMJ_W^tq!i(sz zrLku$+jG1B{R8+$CxinxfEU3>jnFx$UlnI6-^I)HV01;OO*rRjN^l3mO@KO~YtE+B zthpG+vy4q%8G<(}wo=*&=Vo#GNlm#{X(mcHDYVKqs$|PwqF3$tNa!W+r@jc`syLO} z%-QZouNNb04SfXS*ak_8XTgTB_{jnP^9s6%;2;#VW57jIFnadB)DK~VmY{?71CJ6m AY5)KL literal 0 HcmV?d00001 diff --git a/out/production/PBE-2TDS-Modulo01/exercicio1/Main.class b/out/production/PBE-2TDS-Modulo01/exercicio1/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..b92ae7b1fa2117dfe9c0894d6c3196babe6e7c2e GIT binary patch literal 259 zcmZ8byKcfj5S;Y`2V=m=AJ8QfSkyooBq|dMBKPOxlq@o~WNgH5QAJ9T56DL$_E4(q zO0zpN+SUACzkdKM5QlK!2Jj;I=n&$)I;o^k&J4`NSr|2!RB(MbZ*guq!ONbHE>efi5CA2nDSTxabK+_uZG-7e*KeIvCynWGgbH literal 0 HcmV?d00001 diff --git a/out/production/PBE-2TDS-Modulo01/exercicio1/Pedido.class b/out/production/PBE-2TDS-Modulo01/exercicio1/Pedido.class new file mode 100644 index 0000000000000000000000000000000000000000..cbedaaf73dfb5ef2764e06bf8c4fff0e4ae71448 GIT binary patch literal 318 zcmZWk%Sr=55Uk!uRyV6jj6dK_J-B!_dJzO+Q6ZB1?CcObY-V8Gh`*JS;K2{@qr{$7 z@Zh0~uC9L7=hyoOfJ+?ah!AH;3Zxhi#w+!r%2wHBd0(%L?g)b!Tkft1@$tzb!wz9$ zUX9nR*`1dUrs2jBB5nwDOGvC+8^S^Lw`tyaw#y6Au3aPAsA6mGHtX8>M^(3dx6`U! zD9?fa7L)FYp9$0I-#J;8&)vprbHibL`18eCIEf=<;t751B9{ypq7ak^gG<3ZVP(&O e^z;q1l|qDl!5{-MMuJ73rx;@*OiT$zn0^C;tUl-f literal 0 HcmV?d00001 diff --git a/out/production/PBE-2TDS-Modulo01/exercicio1/Produto.class b/out/production/PBE-2TDS-Modulo01/exercicio1/Produto.class new file mode 100644 index 0000000000000000000000000000000000000000..b4cd2d16fec5d7844e5030dcfa9eb9b4395c42d2 GIT binary patch literal 268 zcmZWjO>4qH5Pg#mV`Hi!{R7@=4-KBRUWA@PEwtpm*(`P?&BB_9f2*g02Y-M+N}LsM z&cK^_ZFsgBQrvu(Zk>Z D&owsX literal 0 HcmV?d00001 diff --git a/out/production/PBE-2TDS-Modulo01/index.html b/out/production/PBE-2TDS-Modulo01/index.html new file mode 100644 index 0000000..24ad574 --- /dev/null +++ b/out/production/PBE-2TDS-Modulo01/index.html @@ -0,0 +1,9 @@ + + + + + + Document + + + From 4490e88b6dd3270fba9b5dd7d3d04ddfb43a88ee Mon Sep 17 00:00:00 2001 From: JulianaNishimura Date: Mon, 27 Jan 2025 16:06:10 -0300 Subject: [PATCH 20/56] Commitando... --- Ex01-git+POO/exercicio1/Pedido.java | 1 - 1 file changed, 1 deletion(-) diff --git a/Ex01-git+POO/exercicio1/Pedido.java b/Ex01-git+POO/exercicio1/Pedido.java index cdabc98..6a0b1b2 100644 --- a/Ex01-git+POO/exercicio1/Pedido.java +++ b/Ex01-git+POO/exercicio1/Pedido.java @@ -33,7 +33,6 @@ public void adicionar_produto(Produto produto, int quantidade){ public void calcular_total(){ float total; - total = quantidade System.out.println("O total do pedido foi: " + total); } } From 94b7f19b91e838a3996f60a1c3c69a2f6d733e6e Mon Sep 17 00:00:00 2001 From: SaCasseta Date: Mon, 27 Jan 2025 16:12:30 -0300 Subject: [PATCH 21/56] fazendo --- Ex01-git+POO/Java/Cliente.java | 2 ++ Ex01-git+POO/Java/Pedido.java | 2 ++ Ex01-git+POO/Java/Produto.java | 2 ++ Ex01-git+POO/Java/TestePapelaria.java | 2 ++ Ex01-git+POO/{ => branch and html}/Briefing.md | 0 Ex01-git+POO/{ => branch and html}/index.html | 0 Ex02-git+POO/Java/Hospede.java | 2 ++ Ex02-git+POO/Java/Quarto.java | 2 ++ Ex02-git+POO/Java/Reserva.java | 2 ++ Ex02-git+POO/Java/TesteHotel.java | 2 ++ Ex02-git+POO/{ => brach e html}/Briefing.md | 0 11 files changed, 16 insertions(+) create mode 100644 Ex01-git+POO/Java/Cliente.java create mode 100644 Ex01-git+POO/Java/Pedido.java create mode 100644 Ex01-git+POO/Java/Produto.java create mode 100644 Ex01-git+POO/Java/TestePapelaria.java rename Ex01-git+POO/{ => branch and html}/Briefing.md (100%) rename Ex01-git+POO/{ => branch and html}/index.html (100%) create mode 100644 Ex02-git+POO/Java/Hospede.java create mode 100644 Ex02-git+POO/Java/Quarto.java create mode 100644 Ex02-git+POO/Java/Reserva.java create mode 100644 Ex02-git+POO/Java/TesteHotel.java rename Ex02-git+POO/{ => brach e html}/Briefing.md (100%) diff --git a/Ex01-git+POO/Java/Cliente.java b/Ex01-git+POO/Java/Cliente.java new file mode 100644 index 0000000..87a145b --- /dev/null +++ b/Ex01-git+POO/Java/Cliente.java @@ -0,0 +1,2 @@ +package Java;public class Cliente { +} diff --git a/Ex01-git+POO/Java/Pedido.java b/Ex01-git+POO/Java/Pedido.java new file mode 100644 index 0000000..dbfc583 --- /dev/null +++ b/Ex01-git+POO/Java/Pedido.java @@ -0,0 +1,2 @@ +package Java;public class Pedido { +} diff --git a/Ex01-git+POO/Java/Produto.java b/Ex01-git+POO/Java/Produto.java new file mode 100644 index 0000000..4262efc --- /dev/null +++ b/Ex01-git+POO/Java/Produto.java @@ -0,0 +1,2 @@ +package Java;public class Produto { +} diff --git a/Ex01-git+POO/Java/TestePapelaria.java b/Ex01-git+POO/Java/TestePapelaria.java new file mode 100644 index 0000000..2efaa78 --- /dev/null +++ b/Ex01-git+POO/Java/TestePapelaria.java @@ -0,0 +1,2 @@ +package Java;public class TestePapelaria { +} diff --git a/Ex01-git+POO/Briefing.md b/Ex01-git+POO/branch and html/Briefing.md similarity index 100% rename from Ex01-git+POO/Briefing.md rename to Ex01-git+POO/branch and html/Briefing.md diff --git a/Ex01-git+POO/index.html b/Ex01-git+POO/branch and html/index.html similarity index 100% rename from Ex01-git+POO/index.html rename to Ex01-git+POO/branch and html/index.html diff --git a/Ex02-git+POO/Java/Hospede.java b/Ex02-git+POO/Java/Hospede.java new file mode 100644 index 0000000..20b895c --- /dev/null +++ b/Ex02-git+POO/Java/Hospede.java @@ -0,0 +1,2 @@ +package Java;public class Hospede { +} diff --git a/Ex02-git+POO/Java/Quarto.java b/Ex02-git+POO/Java/Quarto.java new file mode 100644 index 0000000..1270013 --- /dev/null +++ b/Ex02-git+POO/Java/Quarto.java @@ -0,0 +1,2 @@ +package Java;public class Quarto { +} diff --git a/Ex02-git+POO/Java/Reserva.java b/Ex02-git+POO/Java/Reserva.java new file mode 100644 index 0000000..3a40948 --- /dev/null +++ b/Ex02-git+POO/Java/Reserva.java @@ -0,0 +1,2 @@ +package Java;public class Reserva { +} diff --git a/Ex02-git+POO/Java/TesteHotel.java b/Ex02-git+POO/Java/TesteHotel.java new file mode 100644 index 0000000..14b228c --- /dev/null +++ b/Ex02-git+POO/Java/TesteHotel.java @@ -0,0 +1,2 @@ +package Java;public class TesteHotel { +} diff --git a/Ex02-git+POO/Briefing.md b/Ex02-git+POO/brach e html/Briefing.md similarity index 100% rename from Ex02-git+POO/Briefing.md rename to Ex02-git+POO/brach e html/Briefing.md From b107fd036c0a92f7e734b16c5390984e700e6826 Mon Sep 17 00:00:00 2001 From: Vinicius dos Santos Date: Mon, 27 Jan 2025 16:12:30 -0300 Subject: [PATCH 22/56] Exercicio_1_Professor_Vinicius --- Ex01-git+POO/Ex01/Cliente.java | 4 +++ Ex01-git+POO/Ex01/Main.java | 13 +++++++++ Ex01-git+POO/Ex01/produto.java | 49 ++++++++++++++++++++++++++++++++++ 3 files changed, 66 insertions(+) create mode 100644 Ex01-git+POO/Ex01/Cliente.java create mode 100644 Ex01-git+POO/Ex01/Main.java create mode 100644 Ex01-git+POO/Ex01/produto.java diff --git a/Ex01-git+POO/Ex01/Cliente.java b/Ex01-git+POO/Ex01/Cliente.java new file mode 100644 index 0000000..e803521 --- /dev/null +++ b/Ex01-git+POO/Ex01/Cliente.java @@ -0,0 +1,4 @@ +package Ex01; + +public class Cliente { +} diff --git a/Ex01-git+POO/Ex01/Main.java b/Ex01-git+POO/Ex01/Main.java new file mode 100644 index 0000000..f2c507f --- /dev/null +++ b/Ex01-git+POO/Ex01/Main.java @@ -0,0 +1,13 @@ +package Ex01; + +public class Main { + + public static void main(String[] args) { + System.out.println("Hello Word"); + + + + } + + +} diff --git a/Ex01-git+POO/Ex01/produto.java b/Ex01-git+POO/Ex01/produto.java new file mode 100644 index 0000000..bc4782f --- /dev/null +++ b/Ex01-git+POO/Ex01/produto.java @@ -0,0 +1,49 @@ +package Ex01; + +public class produto { + + private int id; + + private String nome; + + private int preco; + + private int quantidade_estoque; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getNome() { + return nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public int getPreco() { + return preco; + } + + public void setPreco(int preco) { + this.preco = preco; + } + + public int getQuantidade_estoque() { + return quantidade_estoque; + } + + public void setQuantidade_estoque(int quantidade_estoque) { + this.quantidade_estoque = quantidade_estoque; + } + + public int reduzir_estoque(int quantidade) { + + } + + } From 5e0a8ca7ba4718182702a99f99786e66223f2adb Mon Sep 17 00:00:00 2001 From: vinnydsstos Date: Mon, 27 Jan 2025 16:13:55 -0300 Subject: [PATCH 23/56] deleta arquivos nada a ver --- Ex01-git+POO/index.html | 11 ----------- 1 file changed, 11 deletions(-) delete mode 100644 Ex01-git+POO/index.html diff --git a/Ex01-git+POO/index.html b/Ex01-git+POO/index.html deleted file mode 100644 index d01f779..0000000 --- a/Ex01-git+POO/index.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - Document - - - - - \ No newline at end of file From d3ac2db5306c18964855d24aaa89b7d8602f5766 Mon Sep 17 00:00:00 2001 From: annok0 Date: Mon, 27 Jan 2025 16:02:03 -0300 Subject: [PATCH 24/56] p --- .idea/.gitignore | 3 +++ .idea/PBE-2TDS-Modulo01.iml | 9 +++++++++ .idea/misc.xml | 6 ++++++ .idea/modules.xml | 8 ++++++++ .idea/vcs.xml | 6 ++++++ 5 files changed, 32 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/PBE-2TDS-Modulo01.iml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/PBE-2TDS-Modulo01.iml b/.idea/PBE-2TDS-Modulo01.iml new file mode 100644 index 0000000..d6ebd48 --- /dev/null +++ b/.idea/PBE-2TDS-Modulo01.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..6f29fee --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..34e1ca1 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file From d6f4720a3915eff197e77a9e699d7bde558c0db3 Mon Sep 17 00:00:00 2001 From: annok0 Date: Mon, 27 Jan 2025 16:42:07 -0300 Subject: [PATCH 25/56] Revert "Pablo tdsb" --- .idea/.gitignore | 3 -- .idea/PBE-2TDS-Modulo01.iml | 9 ------ .idea/misc.xml | 6 ---- .idea/modules.xml | 8 ----- .idea/vcs.xml | 6 ---- Ex01-git+POO/Papelaria/Cliente.java | 32 ------------------- Ex01-git+POO/Papelaria/Pedido.java | 24 --------------- Ex01-git+POO/Papelaria/Produtos.java | 46 ---------------------------- 8 files changed, 134 deletions(-) delete mode 100644 .idea/.gitignore delete mode 100644 .idea/PBE-2TDS-Modulo01.iml delete mode 100644 .idea/misc.xml delete mode 100644 .idea/modules.xml delete mode 100644 .idea/vcs.xml delete mode 100644 Ex01-git+POO/Papelaria/Cliente.java delete mode 100644 Ex01-git+POO/Papelaria/Pedido.java delete mode 100644 Ex01-git+POO/Papelaria/Produtos.java diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100644 index 26d3352..0000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml diff --git a/.idea/PBE-2TDS-Modulo01.iml b/.idea/PBE-2TDS-Modulo01.iml deleted file mode 100644 index d6ebd48..0000000 --- a/.idea/PBE-2TDS-Modulo01.iml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index 6f29fee..0000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index 34e1ca1..0000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 35eb1dd..0000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/Ex01-git+POO/Papelaria/Cliente.java b/Ex01-git+POO/Papelaria/Cliente.java deleted file mode 100644 index ca226b5..0000000 --- a/Ex01-git+POO/Papelaria/Cliente.java +++ /dev/null @@ -1,32 +0,0 @@ -public class Cliente { - - //atributos - public int id; - public String Nome; - public String Email; - - //métodos - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getNome() { - return Nome; - } - - public void setNome(String nome) { - Nome = nome; - } - - public String getEmail() { - return Email; - } - - public void setEmail(String email) { - Email = email; - } -} diff --git a/Ex01-git+POO/Papelaria/Pedido.java b/Ex01-git+POO/Papelaria/Pedido.java deleted file mode 100644 index 0144021..0000000 --- a/Ex01-git+POO/Papelaria/Pedido.java +++ /dev/null @@ -1,24 +0,0 @@ -public class Pedido { - - //atributos - public int Id; - public Cliente cliente; - ArrayList produtos = new ArrayList(); - - //métodos - public int getId() { - return Id; - } - - public void setId(int id) { - Id = id; - } - - public Cliente getCliente() { - return cliente; - } - - public void setCliente(Cliente cliente) { - this.cliente = cliente; - } -} diff --git a/Ex01-git+POO/Papelaria/Produtos.java b/Ex01-git+POO/Papelaria/Produtos.java deleted file mode 100644 index 89c973d..0000000 --- a/Ex01-git+POO/Papelaria/Produtos.java +++ /dev/null @@ -1,46 +0,0 @@ -public class Produtos { - - //atributos - public int ID; - public String nome; - public double Preco; - public int Quantidade; - - //métodos - - public int getID() { - return ID; - } - - public void setID(int ID) { - this.ID = ID; - } - - public String getNome() { - return nome; - } - - public void setNome(String nome) { - Nome = nome; - } - - public double getPreco() { - return Preco; - } - - public void setPreco(double preco) { - Preco = preco; - } - - public int getQuantidade() { - return Quantidade; - } - - public void setQuantidade(int quantidade) { - Quantidade = quantidade; - } - - public void reduzir_estoque(int quantidade) { - Quantidade = quantidade - ; - } -} \ No newline at end of file From be6c1c32e87c21834f8a007c04e8b4b31f724ce9 Mon Sep 17 00:00:00 2001 From: SaCasseta Date: Mon, 27 Jan 2025 16:53:44 -0300 Subject: [PATCH 26/56] 22 --- Ex02-git+POO/{brach e html => branch e html}/Briefing.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Ex02-git+POO/{brach e html => branch e html}/Briefing.md (100%) diff --git a/Ex02-git+POO/brach e html/Briefing.md b/Ex02-git+POO/branch e html/Briefing.md similarity index 100% rename from Ex02-git+POO/brach e html/Briefing.md rename to Ex02-git+POO/branch e html/Briefing.md From 9393371a7255e98c5ce678d3a943f482c3129f30 Mon Sep 17 00:00:00 2001 From: JulianaNishimura Date: Mon, 27 Jan 2025 16:58:44 -0300 Subject: [PATCH 27/56] Commitando... --- Ex01-git+POO/index.html | 9 --- out/production/PBE-2TDS-Modulo01/Briefing.md | 64 ------------------ .../exercicio1/Cliente.class | Bin 268 -> 0 bytes .../PBE-2TDS-Modulo01/exercicio1/Main.class | Bin 259 -> 0 bytes .../PBE-2TDS-Modulo01/exercicio1/Pedido.class | Bin 318 -> 0 bytes .../exercicio1/Produto.class | Bin 268 -> 0 bytes out/production/PBE-2TDS-Modulo01/index.html | 9 --- 7 files changed, 82 deletions(-) delete mode 100644 Ex01-git+POO/index.html delete mode 100644 out/production/PBE-2TDS-Modulo01/Briefing.md delete mode 100644 out/production/PBE-2TDS-Modulo01/exercicio1/Cliente.class delete mode 100644 out/production/PBE-2TDS-Modulo01/exercicio1/Main.class delete mode 100644 out/production/PBE-2TDS-Modulo01/exercicio1/Pedido.class delete mode 100644 out/production/PBE-2TDS-Modulo01/exercicio1/Produto.class delete mode 100644 out/production/PBE-2TDS-Modulo01/index.html diff --git a/Ex01-git+POO/index.html b/Ex01-git+POO/index.html deleted file mode 100644 index 24ad574..0000000 --- a/Ex01-git+POO/index.html +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - Document - - - diff --git a/out/production/PBE-2TDS-Modulo01/Briefing.md b/out/production/PBE-2TDS-Modulo01/Briefing.md deleted file mode 100644 index 45b1fa8..0000000 --- a/out/production/PBE-2TDS-Modulo01/Briefing.md +++ /dev/null @@ -1,64 +0,0 @@ -# Situação-Problema: Sistema de Gestão de Estoque para uma Papelaria - -## Contexto -Uma papelaria chamada **Papel & Cia** deseja informatizar o gerenciamento de seus produtos e clientes. Atualmente, o controle de itens como cadernos, canetas e lápis é feito manualmente, o que tem causado erros no estoque e atrasos nas vendas. Para resolver esses problemas, o proprietário quer implementar um sistema simples com base em três classes principais que representem os produtos, os clientes e os pedidos realizados. - -## Objetivo -Criar um sistema de gerenciamento básico composto por três classes principais: - -1. **Produto**: Representa os itens vendidos pela papelaria. -2. **Cliente**: Armazena os dados dos clientes que compram na loja. -3. **Pedido**: Representa os pedidos feitos pelos clientes, relacionando produtos e quantidades. - -A interação entre essas classes deve permitir a simulação de um pedido feito por um cliente e a atualização do estoque de produtos. - ---- - -## Dados fornecidos para construção das classes - -### Classe Produto -- **Atributos**: - - `id` (identificador do produto) - - `nome` (nome do produto) - - `preco` (preço unitário) - - `quantidade_estoque` (quantidade disponível no estoque) -- **Métodos**: - - `reduzir_estoque(quantidade)`: Reduz a quantidade do estoque ao realizar uma venda. - - `exibir_detalhes()`: Mostra as informações do produto. - -### Classe Cliente -- **Atributos**: - - `id` (identificador do cliente) - - `nome` (nome do cliente) - - `email` (e-mail para contato) -- **Métodos**: - - `exibir_cliente()`: Mostra os dados do cliente. - -### Classe Pedido -- **Atributos**: - - `id` (identificador do pedido) - - `cliente` (objeto da classe Cliente) - - `produtos` (lista de tuplas com produto e quantidade) -- **Métodos**: - - `adicionar_produto(produto, quantidade)`: Adiciona um produto ao pedido. - - `calcular_total()`: Retorna o valor total do pedido. - - `finalizar_pedido()`: Atualiza os estoques dos produtos no pedido e retorna um resumo. - ---- - -## Resultados Esperados -1. **Criar as classes com base no modelo acima.** -2. **Simular a criação de 3 produtos, 2 clientes e 1 pedido.** - - **Exemplo de produtos**: - - Produto 1: Caderno, preço R$ 20, estoque 50 unidades. - - Produto 2: Caneta Azul, preço R$ 3, estoque 100 unidades. - - Produto 3: Lápis, preço R$ 1.50, estoque 200 unidades. - - **Exemplo de clientes**: - - Cliente 1: João Silva, email `joao@email.com`. - - Cliente 2: Maria Santos, email `maria@email.com`. -3. **Simular o pedido**: - - Cliente João Silva compra: - - 2 cadernos. - - 5 canetas azuis. - - O sistema deve calcular o total do pedido, exibir um resumo para o cliente e atualizar o estoque dos produtos. - diff --git a/out/production/PBE-2TDS-Modulo01/exercicio1/Cliente.class b/out/production/PBE-2TDS-Modulo01/exercicio1/Cliente.class deleted file mode 100644 index 8b45696b078c1bf81bc65c3a42190e234ef18b91..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 268 zcmZWjyN<#@3>@b{Amjicet-_HAfi5w28k+y0z|)AR$!D%q!3R078TMJ_W^tq!i(sz zrLku$+jG1B{R8+$CxinxfEU3>jnFx$UlnI6-^I)HV01;OO*rRjN^l3mO@KO~YtE+B zthpG+vy4q%8G<(}wo=*&=Vo#GNlm#{X(mcHDYVKqs$|PwqF3$tNa!W+r@jc`syLO} z%-QZouNNb04SfXS*ak_8XTgTB_{jnP^9s6%;2;#VW57jIFnadB)DK~VmY{?71CJ6m AY5)KL diff --git a/out/production/PBE-2TDS-Modulo01/exercicio1/Main.class b/out/production/PBE-2TDS-Modulo01/exercicio1/Main.class deleted file mode 100644 index b92ae7b1fa2117dfe9c0894d6c3196babe6e7c2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 259 zcmZ8byKcfj5S;Y`2V=m=AJ8QfSkyooBq|dMBKPOxlq@o~WNgH5QAJ9T56DL$_E4(q zO0zpN+SUACzkdKM5QlK!2Jj;I=n&$)I;o^k&J4`NSr|2!RB(MbZ*guq!ONbHE>efi5CA2nDSTxabK+_uZG-7e*KeIvCynWGgbH diff --git a/out/production/PBE-2TDS-Modulo01/exercicio1/Pedido.class b/out/production/PBE-2TDS-Modulo01/exercicio1/Pedido.class deleted file mode 100644 index cbedaaf73dfb5ef2764e06bf8c4fff0e4ae71448..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 318 zcmZWk%Sr=55Uk!uRyV6jj6dK_J-B!_dJzO+Q6ZB1?CcObY-V8Gh`*JS;K2{@qr{$7 z@Zh0~uC9L7=hyoOfJ+?ah!AH;3Zxhi#w+!r%2wHBd0(%L?g)b!Tkft1@$tzb!wz9$ zUX9nR*`1dUrs2jBB5nwDOGvC+8^S^Lw`tyaw#y6Au3aPAsA6mGHtX8>M^(3dx6`U! zD9?fa7L)FYp9$0I-#J;8&)vprbHibL`18eCIEf=<;t751B9{ypq7ak^gG<3ZVP(&O e^z;q1l|qDl!5{-MMuJ73rx;@*OiT$zn0^C;tUl-f diff --git a/out/production/PBE-2TDS-Modulo01/exercicio1/Produto.class b/out/production/PBE-2TDS-Modulo01/exercicio1/Produto.class deleted file mode 100644 index b4cd2d16fec5d7844e5030dcfa9eb9b4395c42d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 268 zcmZWjO>4qH5Pg#mV`Hi!{R7@=4-KBRUWA@PEwtpm*(`P?&BB_9f2*g02Y-M+N}LsM z&cK^_ZFsgBQrvu(Zk>Z D&owsX diff --git a/out/production/PBE-2TDS-Modulo01/index.html b/out/production/PBE-2TDS-Modulo01/index.html deleted file mode 100644 index 24ad574..0000000 --- a/out/production/PBE-2TDS-Modulo01/index.html +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - Document - - - From 27b945b21a3a6bb8f21f4bd87e8abe159c8676d6 Mon Sep 17 00:00:00 2001 From: SaCasseta Date: Mon, 27 Jan 2025 17:27:23 -0300 Subject: [PATCH 28/56] feito --- .idea/.gitignore | 3 ++ .idea/PBE-2TDS-Modulo01.iml | 12 +++++ .idea/misc.xml | 6 +++ .idea/modules.xml | 8 +++ .idea/vcs.xml | 6 +++ Ex01-git+POO/Java/Cliente.java | 2 - Ex01-git+POO/Java/Pedido.java | 2 - Ex01-git+POO/Java/Produto.java | 2 - Ex01-git+POO/Java/TestePapelaria.java | 2 - Ex02-git+POO/Hotel/Hospede.java | 30 +++++++++++ Ex02-git+POO/Hotel/Quarto.java | 39 ++++++++++++++ Ex02-git+POO/Hotel/Reserva.java | 31 ++++++++++++ Ex02-git+POO/Hotel/TesteHotel.java | 28 +++++++++++ Ex02-git+POO/Java/Hospede.java | 2 - Ex02-git+POO/Java/Quarto.java | 2 - Ex02-git+POO/Java/Reserva.java | 2 - Ex02-git+POO/Java/TesteHotel.java | 2 - Ex02-git+POO/branch e html/Briefing.md | 70 -------------------------- 18 files changed, 163 insertions(+), 86 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/PBE-2TDS-Modulo01.iml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml delete mode 100644 Ex01-git+POO/Java/Cliente.java delete mode 100644 Ex01-git+POO/Java/Pedido.java delete mode 100644 Ex01-git+POO/Java/Produto.java delete mode 100644 Ex01-git+POO/Java/TestePapelaria.java create mode 100644 Ex02-git+POO/Hotel/Hospede.java create mode 100644 Ex02-git+POO/Hotel/Quarto.java create mode 100644 Ex02-git+POO/Hotel/Reserva.java create mode 100644 Ex02-git+POO/Hotel/TesteHotel.java delete mode 100644 Ex02-git+POO/Java/Hospede.java delete mode 100644 Ex02-git+POO/Java/Quarto.java delete mode 100644 Ex02-git+POO/Java/Reserva.java delete mode 100644 Ex02-git+POO/Java/TesteHotel.java delete mode 100644 Ex02-git+POO/branch e html/Briefing.md diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/.idea/PBE-2TDS-Modulo01.iml b/.idea/PBE-2TDS-Modulo01.iml new file mode 100644 index 0000000..84de03e --- /dev/null +++ b/.idea/PBE-2TDS-Modulo01.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..6f29fee --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..34e1ca1 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Ex01-git+POO/Java/Cliente.java b/Ex01-git+POO/Java/Cliente.java deleted file mode 100644 index 87a145b..0000000 --- a/Ex01-git+POO/Java/Cliente.java +++ /dev/null @@ -1,2 +0,0 @@ -package Java;public class Cliente { -} diff --git a/Ex01-git+POO/Java/Pedido.java b/Ex01-git+POO/Java/Pedido.java deleted file mode 100644 index dbfc583..0000000 --- a/Ex01-git+POO/Java/Pedido.java +++ /dev/null @@ -1,2 +0,0 @@ -package Java;public class Pedido { -} diff --git a/Ex01-git+POO/Java/Produto.java b/Ex01-git+POO/Java/Produto.java deleted file mode 100644 index 4262efc..0000000 --- a/Ex01-git+POO/Java/Produto.java +++ /dev/null @@ -1,2 +0,0 @@ -package Java;public class Produto { -} diff --git a/Ex01-git+POO/Java/TestePapelaria.java b/Ex01-git+POO/Java/TestePapelaria.java deleted file mode 100644 index 2efaa78..0000000 --- a/Ex01-git+POO/Java/TestePapelaria.java +++ /dev/null @@ -1,2 +0,0 @@ -package Java;public class TestePapelaria { -} diff --git a/Ex02-git+POO/Hotel/Hospede.java b/Ex02-git+POO/Hotel/Hospede.java new file mode 100644 index 0000000..8e389a4 --- /dev/null +++ b/Ex02-git+POO/Hotel/Hospede.java @@ -0,0 +1,30 @@ +package Java; + +public class Hospede { + private int id; + private String nome; + private String telefone; + + public Hospede(int id, String nome, String telefone) { + this.id = id; + this.nome = nome; + this.telefone = telefone; + } + + public String exibirHospede() { + return "Hóspede ID: " + id + ", Nome: " + nome + ", Telefone: " + telefone; + } + + public int getId() { + return id; + } + + public String getNome() { + return nome; + } + + public String getTelefone() { + return telefone; + } +} + diff --git a/Ex02-git+POO/Hotel/Quarto.java b/Ex02-git+POO/Hotel/Quarto.java new file mode 100644 index 0000000..8592aaa --- /dev/null +++ b/Ex02-git+POO/Hotel/Quarto.java @@ -0,0 +1,39 @@ +package Java; +public class Quarto { + private int id; + private String tipo; + private double precoDiaria; + private boolean disponivel; + + public Quarto(int id, String tipo, double precoDiaria) { + this.id = id; + this.tipo = tipo; + this.precoDiaria = precoDiaria; + this.disponivel = true; // Por padrão, o quarto está disponível + } + + public void marcarIndisponivel() { + this.disponivel = false; + } + + public void marcarDisponivel() { + this.disponivel = true; + } + + public String exibirDetalhes() { + String status = disponivel ? "Disponível" : "Indisponível"; + return "Quarto " + id + ": " + tipo + ", R$ " + precoDiaria + "/diária, " + status; + } + + public boolean isDisponivel() { + return disponivel; + } + + public double getPrecoDiaria() { + return precoDiaria; + } + + public int getId() { + return id; + } +} diff --git a/Ex02-git+POO/Hotel/Reserva.java b/Ex02-git+POO/Hotel/Reserva.java new file mode 100644 index 0000000..2eccba9 --- /dev/null +++ b/Ex02-git+POO/Hotel/Reserva.java @@ -0,0 +1,31 @@ +package Java; + +public class Reserva { + private int id; + private Hospede hospede; + private Quarto quarto; + private int diarias; + + public Reserva(int id, Hospede hospede, Quarto quarto, int diarias) { + this.id = id; + this.hospede = hospede; + this.quarto = quarto; + this.diarias = diarias; + } + + public double calcularTotal() { + return diarias * quarto.getPrecoDiaria(); + } + + public void finalizarReserva() { + quarto.marcarIndisponivel(); + } + + public String exibirResumo() { + return "Reserva ID: " + id + + "\nHóspede: " + hospede.getNome() + + "\nQuarto: " + quarto.exibirDetalhes() + + "\nDiárias: " + diarias + + "\nTotal: R$ " + calcularTotal(); + } +} diff --git a/Ex02-git+POO/Hotel/TesteHotel.java b/Ex02-git+POO/Hotel/TesteHotel.java new file mode 100644 index 0000000..1f213ee --- /dev/null +++ b/Ex02-git+POO/Hotel/TesteHotel.java @@ -0,0 +1,28 @@ +package Java; + +public class TesteHotel { + public static void main(String[] args) { + // Criando um quarto + Quarto quarto1 = new Quarto(1, "Solteiro", 100.0); + + // Criando um hóspede + Hospede hospede1 = new Hospede(1, "Maria Oliveira", "11 99999-1234"); + + // Criando uma reserva + Reserva reserva1 = new Reserva(1, hospede1, quarto1, 3); + + // Exibindo detalhes do quarto e do hóspede + System.out.println(quarto1.exibirDetalhes()); + System.out.println(hospede1.exibirHospede()); + + // Exibindo o resumo da reserva + System.out.println("\n--- Resumo da Reserva ---"); + System.out.println(reserva1.exibirResumo()); + + // Finalizando a reserva e atualizando a disponibilidade do quarto + reserva1.finalizarReserva(); + System.out.println("\n--- Após Finalizar Reserva ---"); + System.out.println(quarto1.exibirDetalhes()); + } +} + diff --git a/Ex02-git+POO/Java/Hospede.java b/Ex02-git+POO/Java/Hospede.java deleted file mode 100644 index 20b895c..0000000 --- a/Ex02-git+POO/Java/Hospede.java +++ /dev/null @@ -1,2 +0,0 @@ -package Java;public class Hospede { -} diff --git a/Ex02-git+POO/Java/Quarto.java b/Ex02-git+POO/Java/Quarto.java deleted file mode 100644 index 1270013..0000000 --- a/Ex02-git+POO/Java/Quarto.java +++ /dev/null @@ -1,2 +0,0 @@ -package Java;public class Quarto { -} diff --git a/Ex02-git+POO/Java/Reserva.java b/Ex02-git+POO/Java/Reserva.java deleted file mode 100644 index 3a40948..0000000 --- a/Ex02-git+POO/Java/Reserva.java +++ /dev/null @@ -1,2 +0,0 @@ -package Java;public class Reserva { -} diff --git a/Ex02-git+POO/Java/TesteHotel.java b/Ex02-git+POO/Java/TesteHotel.java deleted file mode 100644 index 14b228c..0000000 --- a/Ex02-git+POO/Java/TesteHotel.java +++ /dev/null @@ -1,2 +0,0 @@ -package Java;public class TesteHotel { -} diff --git a/Ex02-git+POO/branch e html/Briefing.md b/Ex02-git+POO/branch e html/Briefing.md deleted file mode 100644 index 044c127..0000000 --- a/Ex02-git+POO/branch e html/Briefing.md +++ /dev/null @@ -1,70 +0,0 @@ -# Situação-Problema: Sistema de Reservas para um Hotel - -## Contexto -Um hotel chamado **Hotel Estrela do Mar** deseja informatizar o sistema de reservas para melhorar a gestão de quartos, hóspedes e reservas. Cada aluno será responsável por criar uma classe que representa um elemento do sistema. As classes devem ser interdependentes, ou seja, uma classe depende dos dados fornecidos pelas outras para funcionar corretamente. - -## Objetivo -Desenvolver três classes interdependentes, sendo: - -1. **Quarto**: Representa os quartos disponíveis no hotel. -2. **Hospede**: Armazena as informações dos hóspedes que fazem reservas. -3. **Reserva**: Controla o processo de reserva, relacionando hóspedes e quartos. - -A interação entre essas classes permitirá que os alunos simulem um processo completo de reserva, onde um hóspede escolhe um quarto, e o sistema registra a reserva e atualiza o status de disponibilidade do quarto. - ---- - -## Distribuição das Classes (Cada aluno cria uma classe) - -### Classe Quarto -- **Responsável:** Aluno 1 -- **Atributos**: - - `id` (identificador do quarto) - - `tipo` (tipo do quarto, ex.: solteiro, casal, família) - - `preco_diaria` (preço da diária) - - `disponivel` (indica se o quarto está disponível: `True` ou `False`) -- **Métodos**: - - `marcar_indisponivel()`: Altera o status de disponibilidade para `False`. - - `marcar_disponivel()`: Altera o status de disponibilidade para `True`. - - `exibir_detalhes()`: Mostra os dados do quarto. - -### Classe Hospede -- **Responsável:** Aluno 2 -- **Atributos**: - - `id` (identificador do hóspede) - - `nome` (nome completo do hóspede) - - `telefone` (contato do hóspede) -- **Métodos**: - - `exibir_hospede()`: Mostra os dados do hóspede. - -### Classe Reserva -- **Responsável:** Aluno 3 -- **Atributos**: - - `id` (identificador da reserva) - - `hospede` (objeto da classe Hospede) - - `quarto` (objeto da classe Quarto) - - `diarias` (quantidade de diárias reservadas) -- **Métodos**: - - `calcular_total()`: Retorna o valor total da reserva (diárias × preço da diária do quarto). - - `finalizar_reserva()`: Atualiza o status do quarto para indisponível. - - `exibir_resumo()`: Mostra os detalhes da reserva (hóspede, quarto e valor total). - ---- - -## Resultados Esperados -1. **Criação das classes pelos alunos**: - - Cada aluno será responsável por criar e implementar sua classe com base no modelo fornecido. -2. **Simulação de uma reserva completa**: - - **Exemplo de quarto**: - - Quarto 1: Solteiro, R$ 100 por diária, disponível. - - **Exemplo de hóspede**: - - Hóspede: Maria Oliveira, telefone `11 99999-1234`. - - **Exemplo de reserva**: - - Maria Oliveira reserva o quarto 1 por 3 diárias. -3. **Interação entre as classes**: - - O sistema calcula o valor total da reserva (R$ 300) e atualiza o status do quarto para indisponível. - - Exibe o resumo da reserva: - - Hóspede: Maria Oliveira - - Quarto: Solteiro - - Valor total: R$ 300 - From 98522c48d24ca661088239b68dbed3ba1f2dd7b4 Mon Sep 17 00:00:00 2001 From: JulianaNishimura Date: Mon, 27 Jan 2025 21:59:34 -0300 Subject: [PATCH 29/56] Finalizado --- Ex01-git+POO/Cliente.java | 19 ---- Ex01-git+POO/Ex01/Cliente.java | 33 ------- Ex01-git+POO/Ex01/Main.java | 22 ----- Ex01-git+POO/Ex01/Pedido.java | 40 -------- Ex01-git+POO/Ex01/Produto.java | 50 ---------- Ex01-git+POO/Ex01/produto.java | 49 ---------- Ex01-git+POO/Main.java | 5 - Ex01-git+POO/Papelaria/Cliente.java | 41 -------- Ex01-git+POO/Papelaria/Pedido.java | 45 --------- Ex01-git+POO/Papelaria/Produto.java | 89 ------------------ Ex01-git+POO/Pedido.java | 6 -- Ex01-git+POO/Produto.java | 24 ----- Ex01-git+POO/branch and html/index.html | 9 -- .../Briefing.md | 0 Ex01-git+POO/exercicio1/Main.java | 50 ++++++++++ Ex01-git+POO/exercicio1/Pedido.java | 44 ++++++++- Ex01-git+POO/exercicio1/Produto.java | 3 +- Ex01-git+POO/index.html | 0 .../out/production/Ex01-git+POO/Cliente.class | Bin 246 -> 0 bytes .../out/production/Ex01-git+POO/Pedido.class | Bin 243 -> 0 bytes .../out/production/Ex01-git+POO/Produto.class | Bin 348 -> 0 bytes out/production/PBE-2TDS-Modulo01/Briefing.md | 64 ------------- out/production/PBE-2TDS-Modulo01/Main.class | Bin 516 -> 0 bytes .../PBE-2TDS-Modulo01/Papelaria/Cliente.class | Bin 384 -> 0 bytes .../PBE-2TDS-Modulo01/Papelaria/Pedido.class | Bin 381 -> 0 bytes .../PBE-2TDS-Modulo01/Papelaria/Produto.class | Bin 2413 -> 0 bytes out/production/PBE-2TDS-Modulo01/index.html | 0 27 files changed, 94 insertions(+), 499 deletions(-) delete mode 100644 Ex01-git+POO/Cliente.java delete mode 100644 Ex01-git+POO/Ex01/Cliente.java delete mode 100644 Ex01-git+POO/Ex01/Main.java delete mode 100644 Ex01-git+POO/Ex01/Pedido.java delete mode 100644 Ex01-git+POO/Ex01/Produto.java delete mode 100644 Ex01-git+POO/Ex01/produto.java delete mode 100644 Ex01-git+POO/Main.java delete mode 100644 Ex01-git+POO/Papelaria/Cliente.java delete mode 100644 Ex01-git+POO/Papelaria/Pedido.java delete mode 100644 Ex01-git+POO/Papelaria/Produto.java delete mode 100644 Ex01-git+POO/Pedido.java delete mode 100644 Ex01-git+POO/Produto.java delete mode 100644 Ex01-git+POO/branch and html/index.html rename Ex01-git+POO/{branch and html => exercicio1}/Briefing.md (100%) delete mode 100644 Ex01-git+POO/index.html delete mode 100644 Ex01-git+POO/out/production/Ex01-git+POO/Cliente.class delete mode 100644 Ex01-git+POO/out/production/Ex01-git+POO/Pedido.class delete mode 100644 Ex01-git+POO/out/production/Ex01-git+POO/Produto.class delete mode 100644 out/production/PBE-2TDS-Modulo01/Briefing.md delete mode 100644 out/production/PBE-2TDS-Modulo01/Main.class delete mode 100644 out/production/PBE-2TDS-Modulo01/Papelaria/Cliente.class delete mode 100644 out/production/PBE-2TDS-Modulo01/Papelaria/Pedido.class delete mode 100644 out/production/PBE-2TDS-Modulo01/Papelaria/Produto.class delete mode 100644 out/production/PBE-2TDS-Modulo01/index.html diff --git a/Ex01-git+POO/Cliente.java b/Ex01-git+POO/Cliente.java deleted file mode 100644 index 010d065..0000000 --- a/Ex01-git+POO/Cliente.java +++ /dev/null @@ -1,19 +0,0 @@ -public class Cliente{ - int id; - String nome; - String email; - - Cliente(){ - - Cliente(int id, String nome, String email){ - this.id = id; - this.nome = nome; - this.email = email; - } - - public void exibir_cliente(){ - System.out.println("ID: " + id + "\n"+"Nome: " + nome + "\n"+"Email: " + email); - } - - -} diff --git a/Ex01-git+POO/Ex01/Cliente.java b/Ex01-git+POO/Ex01/Cliente.java deleted file mode 100644 index 6fab70e..0000000 --- a/Ex01-git+POO/Ex01/Cliente.java +++ /dev/null @@ -1,33 +0,0 @@ -package Ex01; - -public class Cliente { - - int id; - String nome; - String email; - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getNome() { - return nome; - } - - public void setNome(String nome) { - this.nome = nome; - } - - public String getEmail() { - return email; - } - - public void setEmail(String email) { - this.email = email; - } - -} diff --git a/Ex01-git+POO/Ex01/Main.java b/Ex01-git+POO/Ex01/Main.java deleted file mode 100644 index c143767..0000000 --- a/Ex01-git+POO/Ex01/Main.java +++ /dev/null @@ -1,22 +0,0 @@ -package Ex01; - -public class Main { - - public static void main(String[] args) { - Produto produto1 = new Produto(); - produto1.id = 001; - produto1.nome = "Caderno"; - produto1.preco = 1,50; - produto1.quantidade_estoque = 200; - } - - public static void main(String[] args) { - System.out.println("Hello Word"); - - - - } - - - -} diff --git a/Ex01-git+POO/Ex01/Pedido.java b/Ex01-git+POO/Ex01/Pedido.java deleted file mode 100644 index 3929ffc..0000000 --- a/Ex01-git+POO/Ex01/Pedido.java +++ /dev/null @@ -1,40 +0,0 @@ -package Ex01; - -public class Pedido { - int id; - String cliente; - String[] produto; - String[] quantidade; - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getCliente() { - return cliente; - } - - public void setCliente(String cliente) { - this.cliente = cliente; - } - - public String[] getProduto() { - return produto; - } - - public void setProduto(String[] produto) { - this.produto = produto; - } - - public String[] getQuantidade() { - return quantidade; - } - - public void setQuantidade(String[] quantidade) { - this.quantidade = quantidade; - } -} diff --git a/Ex01-git+POO/Ex01/Produto.java b/Ex01-git+POO/Ex01/Produto.java deleted file mode 100644 index c97093a..0000000 --- a/Ex01-git+POO/Ex01/Produto.java +++ /dev/null @@ -1,50 +0,0 @@ -package Ex01; - -public class Produto { - int id; - String nome; - float preco; - int quantidade_estoque; - - public Produto() { - } - - public Produto(int id, String nome, float preco, int quantidade_estoque) { - this.id = id; - this.nome = nome; - this.preco = preco; - this.quantidade_estoque = quantidade_estoque; - } - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getNome() { - return nome; - } - - public void setNome(String nome) { - this.nome = nome; - } - - public float getPreco() { - return preco; - } - - public void setPreco(float preco) { - this.preco = preco; - } - - public int getQuantidade_estoque() { - return quantidade_estoque; - } - - public void setQuantidade_estoque(int quantidade_estoque) { - this.quantidade_estoque = quantidade_estoque; - } -} diff --git a/Ex01-git+POO/Ex01/produto.java b/Ex01-git+POO/Ex01/produto.java deleted file mode 100644 index bc4782f..0000000 --- a/Ex01-git+POO/Ex01/produto.java +++ /dev/null @@ -1,49 +0,0 @@ -package Ex01; - -public class produto { - - private int id; - - private String nome; - - private int preco; - - private int quantidade_estoque; - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getNome() { - return nome; - } - - public void setNome(String nome) { - this.nome = nome; - } - - public int getPreco() { - return preco; - } - - public void setPreco(int preco) { - this.preco = preco; - } - - public int getQuantidade_estoque() { - return quantidade_estoque; - } - - public void setQuantidade_estoque(int quantidade_estoque) { - this.quantidade_estoque = quantidade_estoque; - } - - public int reduzir_estoque(int quantidade) { - - } - - } diff --git a/Ex01-git+POO/Main.java b/Ex01-git+POO/Main.java deleted file mode 100644 index 2d15bb7..0000000 --- a/Ex01-git+POO/Main.java +++ /dev/null @@ -1,5 +0,0 @@ -public class Main { - public static void main(String[] args) { - System.out.println("Hello World!"); - } -} diff --git a/Ex01-git+POO/Papelaria/Cliente.java b/Ex01-git+POO/Papelaria/Cliente.java deleted file mode 100644 index 5c02bf9..0000000 --- a/Ex01-git+POO/Papelaria/Cliente.java +++ /dev/null @@ -1,41 +0,0 @@ -package Papelaria; - -public class Cliente { - - // Método Construtor - public Cliente(int id, String nome, String email) { - this.id = id; - this.nome = nome; - this.email = email; - } - - // Atributos - int id; - String nome; - String email; - - // Métodos - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getNome() { - return nome; - } - - public void setNome(String nome) { - this.nome = nome; - } - - public String getEmail() { - return email; - } - - public void setEmail(String email) { - this.email = email; - } -} diff --git a/Ex01-git+POO/Papelaria/Pedido.java b/Ex01-git+POO/Papelaria/Pedido.java deleted file mode 100644 index cd193b2..0000000 --- a/Ex01-git+POO/Papelaria/Pedido.java +++ /dev/null @@ -1,45 +0,0 @@ -package Papelaria; - -public class Pedido { - - int id; - String cliente; - String produtos; - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getCliente() { - return cliente; - } - - public void setCliente(String cliente) { - this.cliente = cliente; - } - - public String getProdutos() { - return produtos; - } - - public void setProdutos(String produtos) { - this.produtos = produtos; - } - - //adicionar_produto(produto, quantidade): Adiciona um produto ao pedido. - //calcular_total(): Retorna o valor total do pedido. - //finalizar_pedido(): Atualiza os estoques dos produtos no pedido e retorna um resumo. - - public void adicionar_produto(String produtos, int quantidade){ - - } - - public static void main(String[] args) { - - } - -} diff --git a/Ex01-git+POO/Papelaria/Produto.java b/Ex01-git+POO/Papelaria/Produto.java deleted file mode 100644 index 3a6edc0..0000000 --- a/Ex01-git+POO/Papelaria/Produto.java +++ /dev/null @@ -1,89 +0,0 @@ -package Papelaria; - -public class Produto { - - - - int id; - String nome; - float preco; - int quantidade_estoque; - - public Produto(int id, String nome, float preco, int quantidade_estoque) { - - // Método Construtor - public Produto(int id, String nome, double preco, int quantidade_estoque) { - - this.id = id; - this.nome = nome; - this.preco = preco; - this.quantidade_estoque = quantidade_estoque; - } - - - // Atributos - int id; // Números Inteiros - String nome; // Texto - double preco; // Números reais (decimais extensos) - int quantidade_estoque; - - // Métodos - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getNome() { - return nome; - } - - public void setNome(String nome) { - this.nome = nome; - } - - - public float getPreco() { - return preco; - } - - public void setPreco(float preco) { - - public double getPreco() { - return preco; - } - - public void setPreco(double preco) { - - this.preco = preco; - } - - public int getQuantidade_estoque() { - return quantidade_estoque; - } - - public void setQuantidade_estoque(int quantidade_estoque) { - this.quantidade_estoque = quantidade_estoque; - } - - - public void reduzir_estoque(int quantidade){ - - - - } - public void exibir_detalhes(){ - System.out.println("O ID do produto é: " + getId()); - System.out.println("O nome do produto é: " + getNome()); - System.out.println("O preço do produto é: " + getPreco()); - System.out.println("A quantidade de produtos são: " + getQuantidade_estoque()); - } - -} - - -======= -} diff --git a/Ex01-git+POO/Pedido.java b/Ex01-git+POO/Pedido.java deleted file mode 100644 index c17f3a6..0000000 --- a/Ex01-git+POO/Pedido.java +++ /dev/null @@ -1,6 +0,0 @@ -public class Pedido { - public static void main(String[] args) { - int id; - - } -} diff --git a/Ex01-git+POO/Produto.java b/Ex01-git+POO/Produto.java deleted file mode 100644 index c3f9937..0000000 --- a/Ex01-git+POO/Produto.java +++ /dev/null @@ -1,24 +0,0 @@ -public class Produto { - public int id; - String nome; - float preco; - int quantidade_estoque; - - Public Produto(){ - - } - Public Produto(int id, String nome, float preco, int quantidade_estoque){ - this.id = id; - this.nome = nome; - this.preco = preco; - this.quantidade_estoque = quantidade_estoque; - } - - public void reduzir_estoque(int reduz){ - - } - - pubic void exibir_informacoes(){ - System.out.println("ID: " + "\n"+"Nome: " + nome + "\n" + "Preço: " + preco + "\n" "Quantidade em estoque: " + quantidade_estoque); - } -} diff --git a/Ex01-git+POO/branch and html/index.html b/Ex01-git+POO/branch and html/index.html deleted file mode 100644 index 24ad574..0000000 --- a/Ex01-git+POO/branch and html/index.html +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - Document - - - diff --git a/Ex01-git+POO/branch and html/Briefing.md b/Ex01-git+POO/exercicio1/Briefing.md similarity index 100% rename from Ex01-git+POO/branch and html/Briefing.md rename to Ex01-git+POO/exercicio1/Briefing.md diff --git a/Ex01-git+POO/exercicio1/Main.java b/Ex01-git+POO/exercicio1/Main.java index 78574a9..be25eb2 100644 --- a/Ex01-git+POO/exercicio1/Main.java +++ b/Ex01-git+POO/exercicio1/Main.java @@ -2,6 +2,56 @@ public class Main { public static void main(String[] args) { +// Criar as classes com base no modelo acima. +// Simular a criação de 3 produtos, 2 clientes e 1 pedido. +// Exemplo de produtos: +// Produto 1: Caderno, preço R$ 20, estoque 50 unidades. +// Produto 2: Caneta Azul, preço R$ 3, estoque 100 unidades. +// Produto 3: Lápis, preço R$ 1.50, estoque 200 unidades. +// Exemplo de clientes: +// Cliente 1: João Silva, email joao@email.com. +// Cliente 2: Maria Santos, email maria@email.com. +// Simular o pedido: +// Cliente João Silva compra: +// 2 cadernos. +// 5 canetas azuis. +// O sistema deve calcular o total do pedido, exibir um resumo para o cliente e atualizar o estoque dos produtos. + Produto p1 = new Produto(); + p1.setId(1); + p1.setNome("Caderno"); + p1.setPreco(20); + p1.setQuantidade_estoque(50); + + Produto p2 = new Produto(); + p2.setId(2); + p2.setNome("Caneta Azul"); + p2.setPreco(3); + p2.setQuantidade_estoque(100); + + Produto p3 = new Produto(); + p3.setId(3); + p3.setNome("Lápis"); + p3.setPreco(1.50f); + p3.setQuantidade_estoque(200); + + Cliente c1 = new Cliente(); + c1.setId(1); + c1.setNome("João Silva"); + c1.setEmail("joao@email.com"); + + Cliente c2 = new Cliente(); + c2.setId(2); + c2.setNome("Maria Santos"); + c2.setEmail("maria@email.com"); + + Pedido pedido1 = new Pedido(); + pedido1.adicionar_produto(p1,2); + pedido1.adicionar_produto(p2, 5); + pedido1.calcular_total(); + pedido1.finalizar_pedido(); + + p1.exibir_detalhes(); + p2.exibir_detalhes(); } } diff --git a/Ex01-git+POO/exercicio1/Pedido.java b/Ex01-git+POO/exercicio1/Pedido.java index 6a0b1b2..677bc8f 100644 --- a/Ex01-git+POO/exercicio1/Pedido.java +++ b/Ex01-git+POO/exercicio1/Pedido.java @@ -7,7 +7,8 @@ public class Pedido { private int quantidade; private Cliente cliente; - private ArrayList produtos; + private ArrayList produtos = new ArrayList(); + private ArrayList quantidades = new ArrayList(); public int getId(){ return id; @@ -25,14 +26,53 @@ public void setQuantidade(int quantidade){ this.quantidade = quantidade; } + public Cliente getCliente() { + return cliente; + } + + public void setCliente(Cliente cliente) { + this.cliente = cliente; + } + + public ArrayList getProdutos() { + return produtos; + } + + public void setProdutos(ArrayList produtos) { + this.produtos = produtos; + } + + public ArrayList getQuantidades() { + return quantidades; + } + + public void setQuantidades(ArrayList quantidades) { + this.quantidades = quantidades; + } + //adicionar produto public void adicionar_produto(Produto produto, int quantidade){ produto.reduzir_estoque(quantidade); produtos.add(produto); + quantidades.add(quantidade); } public void calcular_total(){ - float total; + float total=0; + int cont = 0; + for(Produto prod : produtos){ + total = total + (prod.getPreco()*quantidades.get(cont)); + cont++; + } System.out.println("O total do pedido foi: " + total); } + + public void finalizar_pedido(){ + System.out.println("Os itens do seu carrinho são: "); + int contar = 0; + for(Produto prod : produtos){ + System.out.println("Nome do produto: " + prod.getNome() + "\nQuantidade: " + quantidades.get(contar) + "\nPreço unitário: " + prod.getPreco() + "\n"); + contar++; + } + } } diff --git a/Ex01-git+POO/exercicio1/Produto.java b/Ex01-git+POO/exercicio1/Produto.java index 9a94c2c..6ad8b16 100644 --- a/Ex01-git+POO/exercicio1/Produto.java +++ b/Ex01-git+POO/exercicio1/Produto.java @@ -47,6 +47,7 @@ public void reduzir_estoque(int quantidade){ } public void exibir_detalhes(){ - System.out.println("O id do produto é:\n" + this.id + "\nO nome do produto é:\n" + this.nome + "\nO preço unitário do produto é:\n" + this.preco + "\nA quantidade disponível do produto é:\n" + this.quantidade_estoque); + System.out.println("Exibindo detalhes do produto..."); + System.out.println("O id do produto é: " + this.id + "\nO nome do produto é: " + this.nome + "\nO preço unitário do produto é: " + this.preco + "\nA quantidade disponível do produto é: " + this.quantidade_estoque + "\n"); } } diff --git a/Ex01-git+POO/index.html b/Ex01-git+POO/index.html deleted file mode 100644 index e69de29..0000000 diff --git a/Ex01-git+POO/out/production/Ex01-git+POO/Cliente.class b/Ex01-git+POO/out/production/Ex01-git+POO/Cliente.class deleted file mode 100644 index 963e0769580ff7e1a8cb354287da30585975baa9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 246 zcmXYrJqp4=5QX35*TiVV8`!CZIe;Qaz$$2=*l*&ZD=~o>y_c0>;Q>69I2$qpZ}xq& z1MmBLe*mm7@L|AoVFj?^5C#|V5K%6QQ?yMlGOG#BLKUiB63p@B;G#ot<6Oz2mINy< zk37Oe6>@XGrn1_LG-onQ%1q=3Q7P?PXw_$RBX~)BKPULR@?K?ft@KgQ@|g~S5nRru li?}%*tH&;CJYY{>peF+ZKC52quU*!ldD}dD4ePTS2>)DOE+7B^ diff --git a/Ex01-git+POO/out/production/Ex01-git+POO/Pedido.class b/Ex01-git+POO/out/production/Ex01-git+POO/Pedido.class deleted file mode 100644 index 2d0f3db944d2486298ef7e9b74c9163bd96cc5ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 243 zcmXYrO$x#=6olv1)@rRkcmsFp!X7{oL~vD9P~4|&&`52dw%*H?;KBoVDDkD5z$Ej% zH!$zd^95jmo(Bsx7q$-vbwckfZX!rUb__PrS;hsSK2w=0=7idCba2sNvXzNSG{Ii# zL=w88%H+DdL^9utC}q+Qbu7|@$d&PbXcs4SB{afcd`j?ky3Av_QYO>-;fZO00bDL- m4)Nt`tW9=70Noi_@L0{*thQMF>hJK|u2_fFLiYxgxahmVVwWxXU;0UxF$qzR+en0DI3;aXs0Ss$rrhCX6-o@PE5r# z%$1f8epN{OEQ-24&Xl5_3#*!SCx-4-Z3u(Bn}TmhX2#o6PE`|1JN>E|1!su)g+RzP zK*9*@B5ipO`z;S!od<0GfN{iX#!Sr7R&MgyU5 z_&||T4U!>OeXga+e?%+2mlL{TV9Z@|M;WBizMHoX)wvF-zc#1L;P#TK9*Q$*wsQ>e zz+49{)ajAU$bp$>rnpL(Pb;Ifu>S`3oR!xonlfmvQ}kvH*uW-b4z{pOiZLH%Fw$ON dR~KJV{sovX1@iP$)*pz29qf|M(4?3{>l|l~K}=r9l`t%JI!(CM zLMTHx89f%i)6ASzrkRXO=7nv%`5&5)&f2A|<&E-hXWQ{Ed>@=5;br{^Kz?10UCwew xV(gr)K<{fh<>+Z3#6HJtBVat>tcyeRxZ=&{e7$bR82>TyzoNeu4mbuF{s1mTNkjku diff --git a/out/production/PBE-2TDS-Modulo01/Papelaria/Pedido.class b/out/production/PBE-2TDS-Modulo01/Papelaria/Pedido.class deleted file mode 100644 index 283ab4748a1127f358bbeda35176a3bafe40883a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 381 zcmZut!AiqG5Pg%RiA}53R=j&_70d@z3L*_`@jwg@cW7DClAI355$s^Z)<= diff --git a/out/production/PBE-2TDS-Modulo01/Papelaria/Produto.class b/out/production/PBE-2TDS-Modulo01/Papelaria/Produto.class deleted file mode 100644 index 1b6987e6ede66cd34bc05cebf317085de9676f9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2413 zcmaKtT~ixX7{~ty@&a)w5E@!ii$S0!p)|I(wIzTQYHXAO6{Kp_x@3>ACD~1PH&wjy zV|ed{(;3InPN_3oc*C6^%JF}8QxeGHMb68f=RD8vc{xx1`S;*&0C%vHKo`2>h-io+ zCNS_sf2J3zy0u+c-FhM`o_rcH<490Y8)7dBfvbx3n!u$nWu5w!_UjsM z;HE$iwXX%irst(3Yv7jBc3Yv9LhPx_MGdnmW+`5N(2A667{{ zzGNG$g#KmIk}HkcmUK4st*T!ec15pls#4;<`7xq9+l={8h%$lm*>b0iQrWlS?U?G` zaz}XAWsTfkdlHc`Sc0w|Htu zPp|Gsk|fschEtIxQ@N@&pUM?gB`n`X+xA?~(d+l6w__V_4?d&m)lB(r#;`N>;9X@7 zpU-4O4<52OS2OB8g&ck%FtW-U^6*zXS^=`&J{Kck){usVa;2S)S z<6Bh{1e|ESTGM)F@5(~(c!T#*(kq_r>Y48;5oF)VVe z1&3I|T_wam{UOH%u79F*lyf@&7exNTKH~Yy`{>J0?qe{YitHoR(wL@BppS58XuO}} z0K4uWJ89Clay`(55j}H6gVsSX#OSQzj4v- zN~+D3Xw!(mJ(Qc5=P9jB#C$he*y`^IgpAVUB3HwK)DdQ^i78au3<2r;;{?dXP>_$A zgdnCZkST`pB*+*+-aZ9HrCLRR9X14H@b?oSlc6A=V7UWioasCXk|Rj|6cCjp1;TC} z0+KqJn(0uG`{Ai+tEeC~R|#_M6cAM-3S{L-*9|`iA*Ft^O@%nhuE1(j#hU*l7I^)8 zR)8wAxfeK}e}&NlCIqi=DcD{4S(G9$It!oOKkBx!Lte^wlVS_2!YVK diff --git a/out/production/PBE-2TDS-Modulo01/index.html b/out/production/PBE-2TDS-Modulo01/index.html deleted file mode 100644 index e69de29..0000000 From 3578941772c40cd98ca9a616297d3141b17c1e76 Mon Sep 17 00:00:00 2001 From: vinnydsstos Date: Wed, 29 Jan 2025 13:34:59 -0300 Subject: [PATCH 30/56] =?UTF-8?q?remove=20resolu=C3=A7=C3=B5es?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Ex02-git+POO/Briefing.md | 70 ++++++++++++++++++++++++++++++ Ex02-git+POO/Hotel/Hospede.java | 30 ------------- Ex02-git+POO/Hotel/Quarto.java | 39 ----------------- Ex02-git+POO/Hotel/Reserva.java | 31 ------------- Ex02-git+POO/Hotel/TesteHotel.java | 28 ------------ 5 files changed, 70 insertions(+), 128 deletions(-) create mode 100644 Ex02-git+POO/Briefing.md delete mode 100644 Ex02-git+POO/Hotel/Hospede.java delete mode 100644 Ex02-git+POO/Hotel/Quarto.java delete mode 100644 Ex02-git+POO/Hotel/Reserva.java delete mode 100644 Ex02-git+POO/Hotel/TesteHotel.java diff --git a/Ex02-git+POO/Briefing.md b/Ex02-git+POO/Briefing.md new file mode 100644 index 0000000..044c127 --- /dev/null +++ b/Ex02-git+POO/Briefing.md @@ -0,0 +1,70 @@ +# Situação-Problema: Sistema de Reservas para um Hotel + +## Contexto +Um hotel chamado **Hotel Estrela do Mar** deseja informatizar o sistema de reservas para melhorar a gestão de quartos, hóspedes e reservas. Cada aluno será responsável por criar uma classe que representa um elemento do sistema. As classes devem ser interdependentes, ou seja, uma classe depende dos dados fornecidos pelas outras para funcionar corretamente. + +## Objetivo +Desenvolver três classes interdependentes, sendo: + +1. **Quarto**: Representa os quartos disponíveis no hotel. +2. **Hospede**: Armazena as informações dos hóspedes que fazem reservas. +3. **Reserva**: Controla o processo de reserva, relacionando hóspedes e quartos. + +A interação entre essas classes permitirá que os alunos simulem um processo completo de reserva, onde um hóspede escolhe um quarto, e o sistema registra a reserva e atualiza o status de disponibilidade do quarto. + +--- + +## Distribuição das Classes (Cada aluno cria uma classe) + +### Classe Quarto +- **Responsável:** Aluno 1 +- **Atributos**: + - `id` (identificador do quarto) + - `tipo` (tipo do quarto, ex.: solteiro, casal, família) + - `preco_diaria` (preço da diária) + - `disponivel` (indica se o quarto está disponível: `True` ou `False`) +- **Métodos**: + - `marcar_indisponivel()`: Altera o status de disponibilidade para `False`. + - `marcar_disponivel()`: Altera o status de disponibilidade para `True`. + - `exibir_detalhes()`: Mostra os dados do quarto. + +### Classe Hospede +- **Responsável:** Aluno 2 +- **Atributos**: + - `id` (identificador do hóspede) + - `nome` (nome completo do hóspede) + - `telefone` (contato do hóspede) +- **Métodos**: + - `exibir_hospede()`: Mostra os dados do hóspede. + +### Classe Reserva +- **Responsável:** Aluno 3 +- **Atributos**: + - `id` (identificador da reserva) + - `hospede` (objeto da classe Hospede) + - `quarto` (objeto da classe Quarto) + - `diarias` (quantidade de diárias reservadas) +- **Métodos**: + - `calcular_total()`: Retorna o valor total da reserva (diárias × preço da diária do quarto). + - `finalizar_reserva()`: Atualiza o status do quarto para indisponível. + - `exibir_resumo()`: Mostra os detalhes da reserva (hóspede, quarto e valor total). + +--- + +## Resultados Esperados +1. **Criação das classes pelos alunos**: + - Cada aluno será responsável por criar e implementar sua classe com base no modelo fornecido. +2. **Simulação de uma reserva completa**: + - **Exemplo de quarto**: + - Quarto 1: Solteiro, R$ 100 por diária, disponível. + - **Exemplo de hóspede**: + - Hóspede: Maria Oliveira, telefone `11 99999-1234`. + - **Exemplo de reserva**: + - Maria Oliveira reserva o quarto 1 por 3 diárias. +3. **Interação entre as classes**: + - O sistema calcula o valor total da reserva (R$ 300) e atualiza o status do quarto para indisponível. + - Exibe o resumo da reserva: + - Hóspede: Maria Oliveira + - Quarto: Solteiro + - Valor total: R$ 300 + diff --git a/Ex02-git+POO/Hotel/Hospede.java b/Ex02-git+POO/Hotel/Hospede.java deleted file mode 100644 index 8e389a4..0000000 --- a/Ex02-git+POO/Hotel/Hospede.java +++ /dev/null @@ -1,30 +0,0 @@ -package Java; - -public class Hospede { - private int id; - private String nome; - private String telefone; - - public Hospede(int id, String nome, String telefone) { - this.id = id; - this.nome = nome; - this.telefone = telefone; - } - - public String exibirHospede() { - return "Hóspede ID: " + id + ", Nome: " + nome + ", Telefone: " + telefone; - } - - public int getId() { - return id; - } - - public String getNome() { - return nome; - } - - public String getTelefone() { - return telefone; - } -} - diff --git a/Ex02-git+POO/Hotel/Quarto.java b/Ex02-git+POO/Hotel/Quarto.java deleted file mode 100644 index 8592aaa..0000000 --- a/Ex02-git+POO/Hotel/Quarto.java +++ /dev/null @@ -1,39 +0,0 @@ -package Java; -public class Quarto { - private int id; - private String tipo; - private double precoDiaria; - private boolean disponivel; - - public Quarto(int id, String tipo, double precoDiaria) { - this.id = id; - this.tipo = tipo; - this.precoDiaria = precoDiaria; - this.disponivel = true; // Por padrão, o quarto está disponível - } - - public void marcarIndisponivel() { - this.disponivel = false; - } - - public void marcarDisponivel() { - this.disponivel = true; - } - - public String exibirDetalhes() { - String status = disponivel ? "Disponível" : "Indisponível"; - return "Quarto " + id + ": " + tipo + ", R$ " + precoDiaria + "/diária, " + status; - } - - public boolean isDisponivel() { - return disponivel; - } - - public double getPrecoDiaria() { - return precoDiaria; - } - - public int getId() { - return id; - } -} diff --git a/Ex02-git+POO/Hotel/Reserva.java b/Ex02-git+POO/Hotel/Reserva.java deleted file mode 100644 index 2eccba9..0000000 --- a/Ex02-git+POO/Hotel/Reserva.java +++ /dev/null @@ -1,31 +0,0 @@ -package Java; - -public class Reserva { - private int id; - private Hospede hospede; - private Quarto quarto; - private int diarias; - - public Reserva(int id, Hospede hospede, Quarto quarto, int diarias) { - this.id = id; - this.hospede = hospede; - this.quarto = quarto; - this.diarias = diarias; - } - - public double calcularTotal() { - return diarias * quarto.getPrecoDiaria(); - } - - public void finalizarReserva() { - quarto.marcarIndisponivel(); - } - - public String exibirResumo() { - return "Reserva ID: " + id + - "\nHóspede: " + hospede.getNome() + - "\nQuarto: " + quarto.exibirDetalhes() + - "\nDiárias: " + diarias + - "\nTotal: R$ " + calcularTotal(); - } -} diff --git a/Ex02-git+POO/Hotel/TesteHotel.java b/Ex02-git+POO/Hotel/TesteHotel.java deleted file mode 100644 index 1f213ee..0000000 --- a/Ex02-git+POO/Hotel/TesteHotel.java +++ /dev/null @@ -1,28 +0,0 @@ -package Java; - -public class TesteHotel { - public static void main(String[] args) { - // Criando um quarto - Quarto quarto1 = new Quarto(1, "Solteiro", 100.0); - - // Criando um hóspede - Hospede hospede1 = new Hospede(1, "Maria Oliveira", "11 99999-1234"); - - // Criando uma reserva - Reserva reserva1 = new Reserva(1, hospede1, quarto1, 3); - - // Exibindo detalhes do quarto e do hóspede - System.out.println(quarto1.exibirDetalhes()); - System.out.println(hospede1.exibirHospede()); - - // Exibindo o resumo da reserva - System.out.println("\n--- Resumo da Reserva ---"); - System.out.println(reserva1.exibirResumo()); - - // Finalizando a reserva e atualizando a disponibilidade do quarto - reserva1.finalizarReserva(); - System.out.println("\n--- Após Finalizar Reserva ---"); - System.out.println(quarto1.exibirDetalhes()); - } -} - From 69e7913b906396fce967ac9286439c8dbc4c4d0e Mon Sep 17 00:00:00 2001 From: WesleyC115 Date: Wed, 29 Jan 2025 14:39:45 -0300 Subject: [PATCH 31/56] commit hospede --- .idea/PBE-2TDS-Modulo01.iml | 1 + Ex02-git+POO/wesley/Hospede.java | 47 ++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 Ex02-git+POO/wesley/Hospede.java diff --git a/.idea/PBE-2TDS-Modulo01.iml b/.idea/PBE-2TDS-Modulo01.iml index e8ed6bb..84de03e 100644 --- a/.idea/PBE-2TDS-Modulo01.iml +++ b/.idea/PBE-2TDS-Modulo01.iml @@ -4,6 +4,7 @@ + diff --git a/Ex02-git+POO/wesley/Hospede.java b/Ex02-git+POO/wesley/Hospede.java new file mode 100644 index 0000000..6ef364f --- /dev/null +++ b/Ex02-git+POO/wesley/Hospede.java @@ -0,0 +1,47 @@ +package wesley; + +public class Hospede { + + private int id; + private String nome; + private int telefone; + + public Hospede() { + + } + + public Hospede(int id, String nome, int telefone) { + this.id = id; + this.nome = nome; + this.telefone = telefone; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getNome() { + return nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public int getTelefone() { + return telefone; + } + + public void setTelefone(int telefone) { + this.telefone = telefone; + } + + public void exibirHospede() { + System.out.println("O id do hospede é: " + this.id + "\nO nome do hospede é: " + this.nome + "\nO telefone do hospede é: " + this.telefone ); + + } +} From 4991bbeb0db5af5200e35ad850a721873cbf4ce3 Mon Sep 17 00:00:00 2001 From: RaissaBernardo Date: Wed, 29 Jan 2025 14:42:15 -0300 Subject: [PATCH 32/56] classe quarto --- Ex02-git+POO/Quarto.java | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Ex02-git+POO/Quarto.java diff --git a/Ex02-git+POO/Quarto.java b/Ex02-git+POO/Quarto.java new file mode 100644 index 0000000..e69de29 From b59ead9329906c3c62643c34936008a989f3cecc Mon Sep 17 00:00:00 2001 From: RaissaBernardo Date: Wed, 29 Jan 2025 14:44:47 -0300 Subject: [PATCH 33/56] classe Quarto --- Ex02-git+POO/Briefing.md | 8 +++---- Ex02-git+POO/Quarto.java | 47 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+), 4 deletions(-) diff --git a/Ex02-git+POO/Briefing.md b/Ex02-git+POO/Briefing.md index 044c127..29f2227 100644 --- a/Ex02-git+POO/Briefing.md +++ b/Ex02-git+POO/Briefing.md @@ -17,8 +17,8 @@ A interação entre essas classes permitirá que os alunos simulem um processo c ## Distribuição das Classes (Cada aluno cria uma classe) ### Classe Quarto -- **Responsável:** Aluno 1 -- **Atributos**: +- **Responsável:** +- **Atributos**: Raíssa - `id` (identificador do quarto) - `tipo` (tipo do quarto, ex.: solteiro, casal, família) - `preco_diaria` (preço da diária) @@ -29,7 +29,7 @@ A interação entre essas classes permitirá que os alunos simulem um processo c - `exibir_detalhes()`: Mostra os dados do quarto. ### Classe Hospede -- **Responsável:** Aluno 2 +- **Responsável:** Wesley - **Atributos**: - `id` (identificador do hóspede) - `nome` (nome completo do hóspede) @@ -38,7 +38,7 @@ A interação entre essas classes permitirá que os alunos simulem um processo c - `exibir_hospede()`: Mostra os dados do hóspede. ### Classe Reserva -- **Responsável:** Aluno 3 +- **Responsável:** Karen - **Atributos**: - `id` (identificador da reserva) - `hospede` (objeto da classe Hospede) diff --git a/Ex02-git+POO/Quarto.java b/Ex02-git+POO/Quarto.java index e69de29..0faf1d8 100644 --- a/Ex02-git+POO/Quarto.java +++ b/Ex02-git+POO/Quarto.java @@ -0,0 +1,47 @@ +/* **Atributos**: Raíssa + - `id` (identificador do quarto) + - `tipo` (tipo do quarto, ex.: solteiro, casal, família) + - `preco_diaria` (preço da diária) + - `disponivel` (indica se o quarto está disponível: `True` ou `False`) +- **Métodos**: + - `marcar_indisponivel()`: Altera o status de disponibilidade para `False`. + - `marcar_disponivel()`: Altera o status de disponibilidade para `True`. + - `exibir_detalhes()`: Mostra os dados do quarto. + */ + +public class Quarto { + private int id; + private String tipo; + private double precoDiaria; + private boolean disponivel; + + //padrão + public Quarto(){ + + } + + //com parametros + public Quarto(int id, String tipo, double precoDiaria, boolean disponivel) { + this.id = id; + this.tipo = tipo; + this.precoDiaria = precoDiaria; + this.disponivel = disponivel; + } + + //metpodos que façam os quartps estarem ou não disponíveis + public void marcarDisponivel() { + this.disponivel = true; + } + public void marcarIndisponivel() { + this.disponivel = false; + } + + + //detalhes do quarto + public void exibirDetalhes() { + System.out.println("ID: " + id); + System.out.println("Tipo: " + tipo); + System.out.println("Preço da diária: R$" + precoDiaria); + System.out.println((disponivel ? "Sim" : "Não")); + } +}//class \ No newline at end of file From 5809a7ea454ec8825e1b54a0b9f882d2f3ed8137 Mon Sep 17 00:00:00 2001 From: RaissaBernardo Date: Wed, 29 Jan 2025 14:46:19 -0300 Subject: [PATCH 34/56] "classe quarto" --- .idea/PBE-2TDS-Modulo01.iml | 1 + 1 file changed, 1 insertion(+) diff --git a/.idea/PBE-2TDS-Modulo01.iml b/.idea/PBE-2TDS-Modulo01.iml index e8ed6bb..84de03e 100644 --- a/.idea/PBE-2TDS-Modulo01.iml +++ b/.idea/PBE-2TDS-Modulo01.iml @@ -4,6 +4,7 @@ + From a0f4da78070d05b1d7d2880351e360fd1d40e981 Mon Sep 17 00:00:00 2001 From: WesleyC115 Date: Wed, 29 Jan 2025 14:49:39 -0300 Subject: [PATCH 35/56] commit 2 --- Ex02-git+POO/wesley/Hospede.java | 1 + 1 file changed, 1 insertion(+) diff --git a/Ex02-git+POO/wesley/Hospede.java b/Ex02-git+POO/wesley/Hospede.java index 6ef364f..dbdbe4c 100644 --- a/Ex02-git+POO/wesley/Hospede.java +++ b/Ex02-git+POO/wesley/Hospede.java @@ -39,6 +39,7 @@ public int getTelefone() { public void setTelefone(int telefone) { this.telefone = telefone; } + public void exibirHospede() { System.out.println("O id do hospede é: " + this.id + "\nO nome do hospede é: " + this.nome + "\nO telefone do hospede é: " + this.telefone ); From f054066b40d38e8957fb22eb9347ae6918e77b9d Mon Sep 17 00:00:00 2001 From: RaissaBernardo Date: Wed, 29 Jan 2025 14:57:45 -0300 Subject: [PATCH 36/56] arrumei o preco_diaria --- Ex02-git+POO/Quarto.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Ex02-git+POO/Quarto.java b/Ex02-git+POO/Quarto.java index 0faf1d8..d5e47e9 100644 --- a/Ex02-git+POO/Quarto.java +++ b/Ex02-git+POO/Quarto.java @@ -12,7 +12,7 @@ public class Quarto { private int id; private String tipo; - private double precoDiaria; + private double preco_diaria; private boolean disponivel; //padrão @@ -21,10 +21,10 @@ public Quarto(){ } //com parametros - public Quarto(int id, String tipo, double precoDiaria, boolean disponivel) { + public Quarto(int id, String tipo, double preco_diaria, boolean disponivel) { this.id = id; this.tipo = tipo; - this.precoDiaria = precoDiaria; + this.preco_diaria = preco_diaria; this.disponivel = disponivel; } @@ -41,7 +41,7 @@ public void marcarIndisponivel() { public void exibirDetalhes() { System.out.println("ID: " + id); System.out.println("Tipo: " + tipo); - System.out.println("Preço da diária: R$" + precoDiaria); + System.out.println("Preço da diária: R$" + preco_diaria); System.out.println((disponivel ? "Sim" : "Não")); } }//class \ No newline at end of file From e7e57d178b53cd65e23d28c1546d81dd2f63dfd8 Mon Sep 17 00:00:00 2001 From: WesleyC115 Date: Wed, 29 Jan 2025 15:14:50 -0300 Subject: [PATCH 37/56] commit 4 --- Ex02-git+POO/wesley/Hospede.java => Hospede.java | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Ex02-git+POO/wesley/Hospede.java => Hospede.java (100%) diff --git a/Ex02-git+POO/wesley/Hospede.java b/Hospede.java similarity index 100% rename from Ex02-git+POO/wesley/Hospede.java rename to Hospede.java From e853254f674bd688d0cba23b61c747701399b7f6 Mon Sep 17 00:00:00 2001 From: RaissaBernardo Date: Wed, 29 Jan 2025 15:18:57 -0300 Subject: [PATCH 38/56] main --- Ex02-git+POO/Main.java | 54 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 Ex02-git+POO/Main.java diff --git a/Ex02-git+POO/Main.java b/Ex02-git+POO/Main.java new file mode 100644 index 0000000..49e02d8 --- /dev/null +++ b/Ex02-git+POO/Main.java @@ -0,0 +1,54 @@ +import java.util.Scanner; + +public class Main { + import Scanner; + + public static void main(String[] args) { + Scanner teclado = new Scanner(System.in); + + System.out.print("Digite o ID do quarto: "); + int idQuarto = teclado.nextInt(); + scanner.nextLine(); //rsp + + System.out.print("Digite o tipo do quarto: "); + String tipoQuarto = teclado.nextLine(); + + System.out.print("Digite o preço da diária: "); + double precoDiaria = teclado.nextDouble(); + + Quarto quarto = new Quarto(idQuarto, tipoQuarto, precoDiaria, true); + quarto.exibirDetalhes(); + + System.out.print("Digite o ID do hóspede: "); + int idHospede = teclado.nextInt(); + teclado.nextLine(); + + System.out.print("Digite o nome do hóspede: "); + String nomeHospede = teclado.nextLine(); + + System.out.print("Digite o telefone do hóspede: "); + String telefoneHospede = teclado.nextLine(); + + Hospede hospede = new Hospede(idHospede, nomeHospede, telefoneHospede); + hospede.exibirHospede(); + + System.out.print("Digite a quantidade de diárias: "); + int diarias = teclado.nextInt(); + + Reserva reserva = new Reserva(1, hospede, quarto, diarias); + + System.out.println("Total da reserva: R$" + reserva.calcularTotal()); + reserva.finalizarReserva(); + quarto.marcarIndisponivel(); + reserva.exibirResumo(); + + // Simulando liberação do quarto após checkout + System.out.println("Liberando o quarto..."); + quarto.marcarDisponivel(); + quarto.exibirDetalhes(); + + teclado.close(); + } + } + +} From 42403a2fcca2446cbb178c01a2f27baf05a36487 Mon Sep 17 00:00:00 2001 From: RaissaBernardo Date: Wed, 29 Jan 2025 15:20:09 -0300 Subject: [PATCH 39/56] classe main --- Ex02-git+POO/Briefing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ex02-git+POO/Briefing.md b/Ex02-git+POO/Briefing.md index 29f2227..a13107e 100644 --- a/Ex02-git+POO/Briefing.md +++ b/Ex02-git+POO/Briefing.md @@ -52,7 +52,7 @@ A interação entre essas classes permitirá que os alunos simulem um processo c --- ## Resultados Esperados -1. **Criação das classes pelos alunos**: +1. **Criação das classes pelos alunos**: Karen, Raíssa e Wesley - Cada aluno será responsável por criar e implementar sua classe com base no modelo fornecido. 2. **Simulação de uma reserva completa**: - **Exemplo de quarto**: From 7e8c2897c1cb60bcf70893124c36d6abbd591610 Mon Sep 17 00:00:00 2001 From: WesleyC115 Date: Wed, 29 Jan 2025 15:20:48 -0300 Subject: [PATCH 40/56] commit 5 --- Hospede.java | 1 - 1 file changed, 1 deletion(-) diff --git a/Hospede.java b/Hospede.java index dbdbe4c..d2ccefc 100644 --- a/Hospede.java +++ b/Hospede.java @@ -1,4 +1,3 @@ -package wesley; public class Hospede { From 96773b8b7fd59ecc0133e9ac90d0843eab07bd5e Mon Sep 17 00:00:00 2001 From: WesleyC115 Date: Wed, 29 Jan 2025 15:24:02 -0300 Subject: [PATCH 41/56] commit 6 --- Hospede.java => Ex02-git+POO/Hospede.java | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename Hospede.java => Ex02-git+POO/Hospede.java (100%) diff --git a/Hospede.java b/Ex02-git+POO/Hospede.java similarity index 100% rename from Hospede.java rename to Ex02-git+POO/Hospede.java From 610f84158880cd6cfe4a411afc6f34fc89a37d91 Mon Sep 17 00:00:00 2001 From: KauaFrenedozo10 Date: Wed, 29 Jan 2025 15:26:29 -0300 Subject: [PATCH 42/56] Classes --- Ex02-git+POO/Hospede.java | 15 +++++++++++++++ Ex02-git+POO/Main.java | 13 +++++++++++++ Ex02-git+POO/Quarto.java | 35 +++++++++++++++++++++++++++++++++++ Ex02-git+POO/Reserva.java | 27 +++++++++++++++++++++++++++ 4 files changed, 90 insertions(+) create mode 100644 Ex02-git+POO/Hospede.java create mode 100644 Ex02-git+POO/Main.java create mode 100644 Ex02-git+POO/Quarto.java create mode 100644 Ex02-git+POO/Reserva.java diff --git a/Ex02-git+POO/Hospede.java b/Ex02-git+POO/Hospede.java new file mode 100644 index 0000000..353129b --- /dev/null +++ b/Ex02-git+POO/Hospede.java @@ -0,0 +1,15 @@ +class Hospede { + private int id; + private String nome; + private String telefone; + + public Hospede(int id, String nome, String telefone) { + this.id = id; + this.nome = nome; + this.telefone = telefone; + } + + public String exibirHospede() { + return String.format("Hóspede ID: %d, Nome: %s, Telefone: %s", id, nome, telefone); + } +} \ No newline at end of file diff --git a/Ex02-git+POO/Main.java b/Ex02-git+POO/Main.java new file mode 100644 index 0000000..5e8ece6 --- /dev/null +++ b/Ex02-git+POO/Main.java @@ -0,0 +1,13 @@ +public class Main { + public static void main(String[] args) { + Quarto quarto1 = new Quarto(1, "Solteiro", 100.0); + Hospede hospede1 = new Hospede(1, "Maria Oliveira", "11 99999-1234"); + + + Reserva reserva1 = new Reserva(1, hospede1, quarto1, 3); + + + reserva1.finalizarReserva(); + System.out.println(reserva1.exibirResumo()); + } +} \ No newline at end of file diff --git a/Ex02-git+POO/Quarto.java b/Ex02-git+POO/Quarto.java new file mode 100644 index 0000000..27bddeb --- /dev/null +++ b/Ex02-git+POO/Quarto.java @@ -0,0 +1,35 @@ +class Quarto { + private int id; + private String tipo; + private double precoDiaria; + private boolean disponivel; + + public Quarto(int id, String tipo, double precoDiaria) { + this.id = id; + this.tipo = tipo; + this.precoDiaria = precoDiaria; + this.disponivel = true; + } + + public void marcarIndisponivel() { + this.disponivel = false; + } + + public void marcarDisponivel() { + this.disponivel = true; + } + + public String exibirDetalhes() { + String status = disponivel ? "Disponível" : "Indisponível"; + return String.format("Quarto ID: %d, Tipo: %s, Preço por diária: R$ %.2f, Status: %s", + id, tipo, precoDiaria, status); + } + + public boolean isDisponivel() { + return disponivel; + } + + public double getPrecoDiaria() { + return precoDiaria; + } +} \ No newline at end of file diff --git a/Ex02-git+POO/Reserva.java b/Ex02-git+POO/Reserva.java new file mode 100644 index 0000000..7759529 --- /dev/null +++ b/Ex02-git+POO/Reserva.java @@ -0,0 +1,27 @@ +class Reserva { + private int id; + private Hospede hospede; + private Quarto quarto; + private int diarias; + + public Reserva(int id, Hospede hospede, Quarto quarto, int diarias) { + this.id = id; + this.hospede = hospede; + this.quarto = quarto; + this.diarias = diarias; + } + + public double calcularTotal() { + return diarias * quarto.getPrecoDiaria(); + } + + public void finalizarReserva() { + quarto.marcarIndisponivel(); + } + + public String exibirResumo() { + double valorTotal = calcularTotal(); + return String.format("Resumo da Reserva:\n%s\n%s\nDiárias: %d\nValor total: R$ %.2f", + hospede.exibirHospede(), quarto.exibirDetalhes(), diarias, valorTotal); + } +} \ No newline at end of file From 48cab46d2fc563d0124d9b26a5f839bf0cfbcab1 Mon Sep 17 00:00:00 2001 From: ka-ren94 Date: Wed, 29 Jan 2025 15:34:32 -0300 Subject: [PATCH 43/56] classe reserva --- socorro | 387 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 387 insertions(+) create mode 100644 socorro diff --git a/socorro b/socorro new file mode 100644 index 0000000..3754dc0 --- /dev/null +++ b/socorro @@ -0,0 +1,387 @@ +commit 96773b8b7fd59ecc0133e9ac90d0843eab07bd5e (HEAD -> main, origin/main, origin/HEAD) +Author: WesleyC115 +Date: Wed Jan 29 15:24:02 2025 -0300 + + commit 6 + +commit ac5d2ef02a946242d53805a7087178bb2e5cc4ba +Merge: 7e8c289 f73baab +Author: WesleyC115 +Date: Wed Jan 29 15:22:27 2025 -0300 + + Merge branch 'main' of https://github.com/RaissaBernardo/Karen_Raissa_Wesley + +commit 7e8c2897c1cb60bcf70893124c36d6abbd591610 +Author: WesleyC115 +Date: Wed Jan 29 15:20:48 2025 -0300 + + commit 5 + +commit f73baab7cad956a9a0fe78e443e5e268af31c6bd +Merge: 42403a2 e7e57d1 +Author: RaissaBernardo +Date: Wed Jan 29 15:20:25 2025 -0300 + + Merge branch 'main' of https://github.com/RaissaBernardo/Karen_Raissa_Wesley + +commit 42403a2fcca2446cbb178c01a2f27baf05a36487 +Author: RaissaBernardo +Date: Wed Jan 29 15:20:09 2025 -0300 + + classe main + +commit e853254f674bd688d0cba23b61c747701399b7f6 +Author: RaissaBernardo +Date: Wed Jan 29 15:18:57 2025 -0300 + + main + +commit e7e57d178b53cd65e23d28c1546d81dd2f63dfd8 +Author: WesleyC115 +Date: Wed Jan 29 15:14:50 2025 -0300 + + commit 4 + +commit 552f93a3d1b75d0b5eb7c5e46a64aad6ad815ccc +Merge: a0f4da7 f054066 +Author: WesleyC115 +Date: Wed Jan 29 15:04:21 2025 -0300 + + Merge branch 'main' of https://github.com/RaissaBernardo/Karen_Raissa_Wesley + +commit f054066b40d38e8957fb22eb9347ae6918e77b9d +Author: RaissaBernardo +Date: Wed Jan 29 14:57:45 2025 -0300 + + arrumei o preco_diaria + +commit a0f4da78070d05b1d7d2880351e360fd1d40e981 +Author: WesleyC115 +Date: Wed Jan 29 14:49:39 2025 -0300 + + commit 2 + +commit 5809a7ea454ec8825e1b54a0b9f882d2f3ed8137 +Author: RaissaBernardo +Date: Wed Jan 29 14:46:19 2025 -0300 + + "classe quarto" + +commit b59ead9329906c3c62643c34936008a989f3cecc +Author: RaissaBernardo +Date: Wed Jan 29 14:44:47 2025 -0300 + + classe Quarto + +commit 4991bbeb0db5af5200e35ad850a721873cbf4ce3 +Author: RaissaBernardo +Date: Wed Jan 29 14:42:15 2025 -0300 + + classe quarto + +commit 69e7913b906396fce967ac9286439c8dbc4c4d0e +Author: WesleyC115 +Date: Wed Jan 29 14:39:45 2025 -0300 + + commit hospede + +commit 3578941772c40cd98ca9a616297d3141b17c1e76 +Author: vinnydsstos +Date: Wed Jan 29 13:34:59 2025 -0300 + + remove resoluções + +commit 98522c48d24ca661088239b68dbed3ba1f2dd7b4 +Author: JulianaNishimura +Date: Mon Jan 27 21:59:34 2025 -0300 + + Finalizado + +commit 36f21c9b9e19bd7d96e894481a79f0a09ab33f83 +Merge: d40c793 af33496 +Author: SaCasseta +Date: Mon Jan 27 17:29:39 2025 -0300 + + Merge pull request #26 from vinnydsstos/Samuel-Casseta-TDSB + + Samuel casseta tdsb + +commit af33496467be004f80e3f128f69b017d171d45e9 +Merge: 27b945b d40c793 +Author: SaCasseta +Date: Mon Jan 27 17:29:28 2025 -0300 + + Merge branch 'main' into Samuel-Casseta-TDSB + +commit 27b945b21a3a6bb8f21f4bd87e8abe159c8676d6 +Author: SaCasseta +Date: Mon Jan 27 17:27:23 2025 -0300 + + feito + +commit d40c7936282b6f1e354883178703a9469ee2ad4b +Merge: 21c2e1d b53bccc +Author: RafaelAlves98 +Date: Mon Jan 27 17:03:37 2025 -0300 + + Merge branch 'rafael-alves-TDSB' into main + +commit 21c2e1d54334d11ffe38efeb565e4f61e5db0c52 +Merge: dd5ca88 9393371 +Author: Juliana Nishimura <165977851+JulianaNishimura@users.noreply.github.com> +Date: Mon Jan 27 16:59:36 2025 -0300 + + Merge branch 'Juliana-TDSB' into main + +commit 9393371a7255e98c5ce678d3a943f482c3129f30 +Author: JulianaNishimura +Date: Mon Jan 27 16:58:44 2025 -0300 + + Commitando... + +commit dd5ca884df0ee0426f91b3e9b4fd863abe67b2fa +Merge: eb2734c 5ad1f08 +Author: Yuri Santos +Date: Mon Jan 27 16:55:00 2025 -0300 + + Merge branch 'Yuri-Santos-TDSB' into main + +commit be6c1c32e87c21834f8a007c04e8b4b31f724ce9 +Author: SaCasseta +Date: Mon Jan 27 16:53:44 2025 -0300 + + 22 + +commit eb2734cb88a40c014dc9f31a96409c4024a73af9 +Merge: d070960 b107fd0 +Author: V1cta0 +Date: Mon Jan 27 16:53:11 2025 -0300 + + Merge branch 'Victor-Santos-TDSB' into main + +commit d070960ff296858795f29ed997e7c81abae39edd +Merge: 1f07eb2 d6955f2 +Author: Vinicius dos Santos +Date: Mon Jan 27 16:52:22 2025 -0300 + + Merge branch 'Vinicius-Rodrigues-TDSB' into main + +commit 1f07eb234dd12c1485c3cc366bc8b6f6bc29472f +Merge: 3d1fe7b d6f4720 +Author: annok0 +Date: Mon Jan 27 16:43:29 2025 -0300 + + Merge pull request #17 from vinnydsstos/revert-7-pablo-TDS-B + + PullRequest + +commit 3d1fe7bb20246f4437f59df6c96059477ced0d62 +Merge: 7867019 33fc74f +Author: KauaFrenedozo10 +Date: Mon Jan 27 16:42:37 2025 -0300 + + Merge branch 'Kaua-Frenedozo-TDSB' into main + +commit d6f4720a3915eff197e77a9e699d7bde558c0db3 +Author: annok0 +Date: Mon Jan 27 16:42:07 2025 -0300 + + Revert "Pablo tdsb" + +commit 7867019d65cf949fffe51d371cd7c500394fb128 +Merge: f91c3bc d3ac2db +Author: annok0 +Date: Mon Jan 27 16:41:04 2025 -0300 + + Merge pull request #7 from vinnydsstos/pablo-TDS-B + + Pablo tdsb + +commit 2949f57fcf3ef6feb25a724ed387687b71b256c2 +Merge: 94b7f19 f91c3bc +Author: SaCasseta +Date: Mon Jan 27 16:40:02 2025 -0300 + + Merge pull request #4 from vinnydsstos/main + + puxando + +commit f91c3bcadad2c3b544e3f4fe6d76fe2babb5c646 +Merge: 91bda14 d2dbcc1 +Author: MykyBalb <166543770+MykyBalb@users.noreply.github.com> +Date: Mon Jan 27 16:31:41 2025 -0300 + + Merge pull request #2 from vinnydsstos/mykael-TDSB + + Exercicio + +commit d3ac2db5306c18964855d24aaa89b7d8602f5766 +Author: annok0 +Date: Mon Jan 27 16:02:03 2025 -0300 + + p + +commit 91bda1421212188e9368cf099913f55488d33214 +Merge: ea1c20b 5e0a8ca +Author: Vinicius dos Santos +Date: Mon Jan 27 16:18:32 2025 -0300 + + Merge pull request #1 from vinnydsstos/vinicius-professor + + Exclui alguns arquivos nada a ver + +commit 5e0a8ca7ba4718182702a99f99786e66223f2adb +Author: vinnydsstos +Date: Mon Jan 27 16:13:55 2025 -0300 + + deleta arquivos nada a ver + +commit b107fd036c0a92f7e734b16c5390984e700e6826 +Author: Vinicius dos Santos +Date: Mon Jan 27 16:12:30 2025 -0300 + + Exercicio_1_Professor_Vinicius + +commit 94b7f19b91e838a3996f60a1c3c69a2f6d733e6e +Author: SaCasseta +Date: Mon Jan 27 16:12:30 2025 -0300 + + fazendo + +commit 4490e88b6dd3270fba9b5dd7d3d04ddfb43a88ee +Author: JulianaNishimura +Date: Mon Jan 27 16:06:10 2025 -0300 + + Commitando... + +commit 91ba16c47726ca6f9452686c9eff4f6ca5bac37b +Author: JulianaNishimura +Date: Mon Jan 27 16:04:58 2025 -0300 + + Commitando... + +commit d6955f25355eaa662d17319539a9f212da5fa2fa +Author: VinciusDev00 +Date: Mon Jan 27 16:04:51 2025 -0300 + + ultimo commit + +commit 5ad1f0869ae14bdeba09b7bf176367f226ff360a +Author: YuriSantxz07 +Date: Mon Jan 27 16:03:41 2025 -0300 + + Papelaria + +commit d2dbcc105405260c501ab03d95de844e11e5376b +Author: MykyBalb +Date: Mon Jan 27 16:03:29 2025 -0300 + + entregaExercicio + +commit b53bccc414e65e69bd5f247290dcbda1cd38cd88 +Author: RafaelAlves98 +Date: Mon Jan 27 16:02:44 2025 -0300 + + Papelaria atualização + +commit e0c4e7247fb3ce76441e269f7b0581c064fa968d +Author: annok0 +Date: Mon Jan 27 16:01:59 2025 -0300 + + p + +commit e7118ec565d15e7f3cd8c11f2dbad0be71d61184 +Author: MykyBalb +Date: Mon Jan 27 15:39:24 2025 -0300 + + classesJava + +commit d6cdf2032d78a6cec00a1e1fd200e67e78a1dc1c +Author: RafaelAlves98 +Date: Mon Jan 27 15:39:17 2025 -0300 + + p + +commit f4410b2999600b5cf28cca2031421b7fbd8f4da5 +Author: VinciusDev00 +Date: Mon Jan 27 15:38:10 2025 -0300 + + classe produto + +commit d83f3a869a0b89fceb4bec46d1493b70f9741a52 +Author: annok0 +Date: Mon Jan 27 15:37:52 2025 -0300 + + p + +commit b6e234423e4e0dd38fe6a01063fd30e54c552f41 +Author: annok0 +Date: Mon Jan 27 14:44:50 2025 -0300 + + Cria html + +commit 41452dfb376da86a8dfe2accd86c38705da3fde4 +Author: VinciusDev00 +Date: Mon Jan 27 14:42:04 2025 -0300 + + cria html + +commit 33fc74f6060f2dd82261238f7413e2cdee91af6c +Author: KauaFrenedozo10 +Date: Mon Jan 27 14:41:59 2025 -0300 + + cria html + +commit 8f34820049b00288c5f9cc0b98d06fc5ebcf088f +Author: MykyBalb +Date: Mon Jan 27 14:41:57 2025 -0300 + + Cria HTML + +commit 535d5bf63d5a2a9ebb03370ed566d7cff30487c4 +Author: SaCasseta +Date: Mon Jan 27 14:41:52 2025 -0300 + + Cria html + +commit 524dc681194e172ceeb80e2f3d103021fa7f706c +Author: RafaelAlves98 +Date: Mon Jan 27 14:41:49 2025 -0300 + + Cria html + +commit f65988af91fdda1a785892753328d71e12afa168 +Author: YuriSantxz07 +Date: Mon Jan 27 14:41:42 2025 -0300 + + Cria HMTL + +commit b0caa58a188869d9033d85114aab5e262f6d3874 +Author: JulianaNishimura +Date: Mon Jan 27 14:41:38 2025 -0300 + + cria html + +commit 1a0d34489c38f1fb83ba750d540ec83ebb104bdd +Author: vinnydsstos +Date: Mon Jan 27 14:41:33 2025 -0300 + + Cria html + +commit ea1c20b99ca43d9ed3c70235f3d7c4ec7ea88309 +Author: Vinicius dos Santos +Date: Wed Jan 22 13:56:04 2025 -0300 + + RevisãoPOO + +commit 1b428b58eff78999cf2e4247e304fbe9bbdde08d +Author: Vinicius dos Santos +Date: Wed Jan 22 13:50:28 2025 -0300 + + remove pasta + +commit 0c3890b7fae03f3c9463d5dfa73a713e8bdfbf34 +Author: Vinicius dos Santos +Date: Wed Jan 22 13:33:33 2025 -0300 + + adiciona exercicios From a45edf04111c00cd1cfb01a574443fb82d78d4fd Mon Sep 17 00:00:00 2001 From: pedrocustodio790 Date: Wed, 29 Jan 2025 15:35:20 -0300 Subject: [PATCH 44/56] Commit classe Hospede --- .idea/PBE-2TDS-Modulo01.iml | 1 + Ex02-git+POO/Hospede.java | 49 ++++++++++++ Ex02-git+POO/teste.java | 7 ++ out/production/PBE-2TDS-Modulo01/Briefing.md | 70 ++++++++++++++++++ .../PBE-2TDS-Modulo01/Hospede.class | Bin 0 -> 1830 bytes .../PBE-2TDS-Modulo01/exercicio1/Briefing.md | 64 ++++++++++++++++ .../exercicio1/Cliente.class | Bin 0 -> 1639 bytes .../PBE-2TDS-Modulo01/exercicio1/Main.class | Bin 0 -> 1375 bytes .../PBE-2TDS-Modulo01/exercicio1/Pedido.class | Bin 0 -> 3799 bytes .../exercicio1/Produto.class | Bin 0 -> 2089 bytes out/production/PBE-2TDS-Modulo01/teste.class | Bin 0 -> 504 bytes 11 files changed, 191 insertions(+) create mode 100644 Ex02-git+POO/Hospede.java create mode 100644 Ex02-git+POO/teste.java create mode 100644 out/production/PBE-2TDS-Modulo01/Briefing.md create mode 100644 out/production/PBE-2TDS-Modulo01/Hospede.class create mode 100644 out/production/PBE-2TDS-Modulo01/exercicio1/Briefing.md create mode 100644 out/production/PBE-2TDS-Modulo01/exercicio1/Cliente.class create mode 100644 out/production/PBE-2TDS-Modulo01/exercicio1/Main.class create mode 100644 out/production/PBE-2TDS-Modulo01/exercicio1/Pedido.class create mode 100644 out/production/PBE-2TDS-Modulo01/exercicio1/Produto.class create mode 100644 out/production/PBE-2TDS-Modulo01/teste.class diff --git a/.idea/PBE-2TDS-Modulo01.iml b/.idea/PBE-2TDS-Modulo01.iml index e8ed6bb..84de03e 100644 --- a/.idea/PBE-2TDS-Modulo01.iml +++ b/.idea/PBE-2TDS-Modulo01.iml @@ -4,6 +4,7 @@ + diff --git a/Ex02-git+POO/Hospede.java b/Ex02-git+POO/Hospede.java new file mode 100644 index 0000000..e8f3398 --- /dev/null +++ b/Ex02-git+POO/Hospede.java @@ -0,0 +1,49 @@ +public class Hospede { + //ATRIBUTOS + private int id; + private String nome; + private int telefone; + //METODO CONSTRUTOR + public Hospede(){}; + + public Hospede(int id, String nome, int telefone ){ + this.id=id ; + this.nome=nome; + this.telefone=telefone; + } + + public int getId() { + return id; + } + + public int getTelefone() { + return telefone; + } + + public String getNome() { + return nome; + } + + public void setId(int id) { + this.id = id; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public void setTelefone(int telefone) { + this.telefone = telefone; + } + + public void exibirHospede(){ + System.out.println("id: " + getId()); + System.out.println("telefone: " + getTelefone()); + System.out.println("nome: " + getNome()); + + }; + + +} + + diff --git a/Ex02-git+POO/teste.java b/Ex02-git+POO/teste.java new file mode 100644 index 0000000..2b619cb --- /dev/null +++ b/Ex02-git+POO/teste.java @@ -0,0 +1,7 @@ +public class teste { + public static void main(String[] args) { + Hospede hosp1 = new Hospede(1,"Pedro",99999); + + hosp1.exibirHospede(); + } +} diff --git a/out/production/PBE-2TDS-Modulo01/Briefing.md b/out/production/PBE-2TDS-Modulo01/Briefing.md new file mode 100644 index 0000000..044c127 --- /dev/null +++ b/out/production/PBE-2TDS-Modulo01/Briefing.md @@ -0,0 +1,70 @@ +# Situação-Problema: Sistema de Reservas para um Hotel + +## Contexto +Um hotel chamado **Hotel Estrela do Mar** deseja informatizar o sistema de reservas para melhorar a gestão de quartos, hóspedes e reservas. Cada aluno será responsável por criar uma classe que representa um elemento do sistema. As classes devem ser interdependentes, ou seja, uma classe depende dos dados fornecidos pelas outras para funcionar corretamente. + +## Objetivo +Desenvolver três classes interdependentes, sendo: + +1. **Quarto**: Representa os quartos disponíveis no hotel. +2. **Hospede**: Armazena as informações dos hóspedes que fazem reservas. +3. **Reserva**: Controla o processo de reserva, relacionando hóspedes e quartos. + +A interação entre essas classes permitirá que os alunos simulem um processo completo de reserva, onde um hóspede escolhe um quarto, e o sistema registra a reserva e atualiza o status de disponibilidade do quarto. + +--- + +## Distribuição das Classes (Cada aluno cria uma classe) + +### Classe Quarto +- **Responsável:** Aluno 1 +- **Atributos**: + - `id` (identificador do quarto) + - `tipo` (tipo do quarto, ex.: solteiro, casal, família) + - `preco_diaria` (preço da diária) + - `disponivel` (indica se o quarto está disponível: `True` ou `False`) +- **Métodos**: + - `marcar_indisponivel()`: Altera o status de disponibilidade para `False`. + - `marcar_disponivel()`: Altera o status de disponibilidade para `True`. + - `exibir_detalhes()`: Mostra os dados do quarto. + +### Classe Hospede +- **Responsável:** Aluno 2 +- **Atributos**: + - `id` (identificador do hóspede) + - `nome` (nome completo do hóspede) + - `telefone` (contato do hóspede) +- **Métodos**: + - `exibir_hospede()`: Mostra os dados do hóspede. + +### Classe Reserva +- **Responsável:** Aluno 3 +- **Atributos**: + - `id` (identificador da reserva) + - `hospede` (objeto da classe Hospede) + - `quarto` (objeto da classe Quarto) + - `diarias` (quantidade de diárias reservadas) +- **Métodos**: + - `calcular_total()`: Retorna o valor total da reserva (diárias × preço da diária do quarto). + - `finalizar_reserva()`: Atualiza o status do quarto para indisponível. + - `exibir_resumo()`: Mostra os detalhes da reserva (hóspede, quarto e valor total). + +--- + +## Resultados Esperados +1. **Criação das classes pelos alunos**: + - Cada aluno será responsável por criar e implementar sua classe com base no modelo fornecido. +2. **Simulação de uma reserva completa**: + - **Exemplo de quarto**: + - Quarto 1: Solteiro, R$ 100 por diária, disponível. + - **Exemplo de hóspede**: + - Hóspede: Maria Oliveira, telefone `11 99999-1234`. + - **Exemplo de reserva**: + - Maria Oliveira reserva o quarto 1 por 3 diárias. +3. **Interação entre as classes**: + - O sistema calcula o valor total da reserva (R$ 300) e atualiza o status do quarto para indisponível. + - Exibe o resumo da reserva: + - Hóspede: Maria Oliveira + - Quarto: Solteiro + - Valor total: R$ 300 + diff --git a/out/production/PBE-2TDS-Modulo01/Hospede.class b/out/production/PBE-2TDS-Modulo01/Hospede.class new file mode 100644 index 0000000000000000000000000000000000000000..a1bdcbdb8dcde2ac30515a97be14cf67c55b9c89 GIT binary patch literal 1830 zcmaJ>+fo}x5IrM=7Kz1RA!9p^ZAieDWQ=mZSPqFThoD5p7g6LPPm45xHLG2fc5sD1 z$w%ZNNd>2hhkQUjDwWf_Yb4OxFEiUS-KS5V?%99;JNXB|1GEdsV8TMy#w2nIb1$5i zPR(=tz1oxA7rJ8Od1*X;8vG>&gV zVwRhgahe6Zk7WxhHg4gz!hBT6*}RmXFDyJ?K*k{|J3_2tqbkIvNo+eQw+Mxsa(UOr z8fpaM+r77_rtpaRy`GimV1rp@#AwXsuvtJ8 z-&^=WG-@d<52w!cUj_%d77t(C{|%>Og29o(ucJ~Xj&b%)$M1SNTy6!y!C}8XF2l&l znZWI%zD{xfX~aK%TlLX4ClC$C^V+V_)ZT9Tz8*9@Ck%CH;fcb^SWRhEEj&}W@pe}} z>$ol~aRf7bBokcurumhT=Ns*OpxpDERQ?>eeoU*zU2&hR{tfj<`9@d-AO zBGQt(6w#JaO7dr6K}voHN#-H#zhM1FrwoR)=Td3&$)*HfJRe+24d#kc(PkF`jwr8i*7JV@8? zr}G+VUCe8lSSxS9lGX^;SEm!zC3k7y+Mk?@S9s?HH-J}oFE-03xHDp|p5TMX9P%$l zBT;7iD~zn-E>=fWT}w2Xz&dke@HM{SUgCIs$E**cwGpk~;xTUuJl(=mJjd1l0fa77 AKL7v# literal 0 HcmV?d00001 diff --git a/out/production/PBE-2TDS-Modulo01/exercicio1/Briefing.md b/out/production/PBE-2TDS-Modulo01/exercicio1/Briefing.md new file mode 100644 index 0000000..45b1fa8 --- /dev/null +++ b/out/production/PBE-2TDS-Modulo01/exercicio1/Briefing.md @@ -0,0 +1,64 @@ +# Situação-Problema: Sistema de Gestão de Estoque para uma Papelaria + +## Contexto +Uma papelaria chamada **Papel & Cia** deseja informatizar o gerenciamento de seus produtos e clientes. Atualmente, o controle de itens como cadernos, canetas e lápis é feito manualmente, o que tem causado erros no estoque e atrasos nas vendas. Para resolver esses problemas, o proprietário quer implementar um sistema simples com base em três classes principais que representem os produtos, os clientes e os pedidos realizados. + +## Objetivo +Criar um sistema de gerenciamento básico composto por três classes principais: + +1. **Produto**: Representa os itens vendidos pela papelaria. +2. **Cliente**: Armazena os dados dos clientes que compram na loja. +3. **Pedido**: Representa os pedidos feitos pelos clientes, relacionando produtos e quantidades. + +A interação entre essas classes deve permitir a simulação de um pedido feito por um cliente e a atualização do estoque de produtos. + +--- + +## Dados fornecidos para construção das classes + +### Classe Produto +- **Atributos**: + - `id` (identificador do produto) + - `nome` (nome do produto) + - `preco` (preço unitário) + - `quantidade_estoque` (quantidade disponível no estoque) +- **Métodos**: + - `reduzir_estoque(quantidade)`: Reduz a quantidade do estoque ao realizar uma venda. + - `exibir_detalhes()`: Mostra as informações do produto. + +### Classe Cliente +- **Atributos**: + - `id` (identificador do cliente) + - `nome` (nome do cliente) + - `email` (e-mail para contato) +- **Métodos**: + - `exibir_cliente()`: Mostra os dados do cliente. + +### Classe Pedido +- **Atributos**: + - `id` (identificador do pedido) + - `cliente` (objeto da classe Cliente) + - `produtos` (lista de tuplas com produto e quantidade) +- **Métodos**: + - `adicionar_produto(produto, quantidade)`: Adiciona um produto ao pedido. + - `calcular_total()`: Retorna o valor total do pedido. + - `finalizar_pedido()`: Atualiza os estoques dos produtos no pedido e retorna um resumo. + +--- + +## Resultados Esperados +1. **Criar as classes com base no modelo acima.** +2. **Simular a criação de 3 produtos, 2 clientes e 1 pedido.** + - **Exemplo de produtos**: + - Produto 1: Caderno, preço R$ 20, estoque 50 unidades. + - Produto 2: Caneta Azul, preço R$ 3, estoque 100 unidades. + - Produto 3: Lápis, preço R$ 1.50, estoque 200 unidades. + - **Exemplo de clientes**: + - Cliente 1: João Silva, email `joao@email.com`. + - Cliente 2: Maria Santos, email `maria@email.com`. +3. **Simular o pedido**: + - Cliente João Silva compra: + - 2 cadernos. + - 5 canetas azuis. + - O sistema deve calcular o total do pedido, exibir um resumo para o cliente e atualizar o estoque dos produtos. + diff --git a/out/production/PBE-2TDS-Modulo01/exercicio1/Cliente.class b/out/production/PBE-2TDS-Modulo01/exercicio1/Cliente.class new file mode 100644 index 0000000000000000000000000000000000000000..b34be711ee982a10b940bbd57d27305e0e541a93 GIT binary patch literal 1639 zcmaKtTTc@~6vzM5mTsxbrR6S)<))=574J|)rAlmqU{Zn)KA3Ggfr0IAvpXg5P5cTb zKBy5*c<{wHKa}xIceT)6e3;9b`On$koHM8W_51V(fM{kD=BHO zjz07=#4Ni`JL!$K`?7R|wOdfCw2lF#>f&`nnB5q{u!a#GqZm6!R6cekuM>#fB(5RP znXvP($&)01+^84Qbggk6S8$bKq;4GWqHR?T`9{b+nz_=jq|30BEd^16D|5l6B(5Q& zVN%BwrWpoW7dp?tpfwbcX%S>L=wfb%0#dYV6p+3RVe!poy~3Ssqhhu~WLFJy$8dzQ z{l%Ev6GT0@5e#>M!nVt0i9$~KDUs!RRxDdmAJS-ZvlaZoY{+#;KzdJ*An6O00fq!E z`qN&1Br3vrSN)sbWZ7;yRlY71uI^`jLB)ZRwPxGWm5$MP#pRw|a}#*Tu)dWMwM@;< z_&zc}KP)F%ax0@=Mc8`l9RxP|;#f*z83he1D#MQ%X4>ybScmoj&wJ0xOZvJ|m9}%t z@cwKTe4z*U(y(eKcV{+i`=Hq<1e0}U<=nyT;|33rzdfV(3aD^4>b{GjVVY$jIVDdo zSr&JSrs2BW)$o*IHgKmfR1Iqk6aSY|?RxjZBvo02DkDlg6)w#psxVt4l^%@=(9=Pj z`WdqFG%^~ya^Jx|w`8-_t8L}vI`z6Izzt-{VwgjY`tygsLi{Ks7Q;bOogh~UWa0u4m01OH=U-me5hEKI{er<9Wrtc1wbUst s1K%*w>3s?##L-Uos2}er?zX~t5BF(QZ|4!U2UsO5NwX*P*HXmTA0+ci5&!@I literal 0 HcmV?d00001 diff --git a/out/production/PBE-2TDS-Modulo01/exercicio1/Main.class b/out/production/PBE-2TDS-Modulo01/exercicio1/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..9b447cd9e6b8e5a594c8e3f3af222743ef1385d6 GIT binary patch literal 1375 zcmZuwU2hvj6g_LNy&GqnkIe^h>4%ek#IEhQNlPh7NfX?LrZ{PeiwmkmG}&F!iPpPe zy{@W)c;bmS-jH}{#S3o;3Av&bsL&V0k3yWWEs~;I^32XX_ntfV+_``M^Xzv3tN1vB z1d;}H3n`>EjO>XAqT-8Sw{mM|&vRl8=_@jj@v??wzR)mWYOuYBUgStehVzxJD0JI# zn1O+$S_UmxIHDod^5S(@gPvb6G)xR@Fsj1!qM++KYQe@BZS>jFZ4TT-G@TN*RLF{&01hI6PY1?bX;pc77#BmLS zRS|fx$gMtV`})cXU?RuLYA>Jc%a(ri1xR!1)xxU2^n%#SU`7=-gFzFsB)S>C{2|QM zrT;)E>!^uy8iw{l5w3VmA^kZgY$~8+p{y!Y7rw3l6BP~ChKQud)p^OVWnx~#a8p?h zVhvo-FnU;E&y_AkTTs_nz$FWB<1$@@s~Ql9XnVic0u597+Tp;Sd5QX~z(os7s>4H$ z@SV2LxHyc3ub_7=EO(p#nGA$4A1Tg$Rs$;*p9$lJy@zr~M%ylR^zVBu1J$nazn8Ef zWWcUeLznFwuF1gLY&Unj=#JR&X|Zb|GdEPVJok-yd|$R$%;9@0o+T1dH1bX6@4fC} z5Es!dL&shNYe?)<+VR7z{dY>@#QuU>D09O3zgNHM%FCgb(UXB*W3O;^#i3KC9=0RL zTa&850d?^?^@uTz_c&JSmjFirX|C6Js&Lo1r_Mcv_H!4$&Q-xc5^G$oo&(;;4W0(D zj+?YFSbIzlgSJ1P!}#PW25LpUgG|vL>R_a3k9ROp99iff+lMzwDZ(ZD7~ztAf^ccX zJ%BgMX~JduB;m3>O}IRYzq;fvIeY>}RqmdrpBV z`+OH%VC2QcbT(Zi`c^hwGP_#`?_`%TKs~UvLq>;u3!25dA?`rTC4Ws^qQlWa1e%uu08l@jY(wD?zU>vBj?>bKPU^ Z51}*5GV1(Fk$)O@@KLvm4KgHf_g@|(C_4ZE literal 0 HcmV?d00001 diff --git a/out/production/PBE-2TDS-Modulo01/exercicio1/Pedido.class b/out/production/PBE-2TDS-Modulo01/exercicio1/Pedido.class new file mode 100644 index 0000000000000000000000000000000000000000..f2ce83082cc7bae8cf485d1fb3d3409a7cc366bc GIT binary patch literal 3799 zcmaJ@*>}`b9RBWfNlDXErqBXK7%5;EN=4jYpoqo7KsPNG#Rb!u(1uQvl4OwLuDI_z z?s|Oi#Rv6BRXoSzkvESo{yU!I^4%melNmC;BzO7U@Av)Idw>7u@-F}m;ByrT)G4Uf z(11pPw$u7qeK4me5RmV zo|)5ghAY=sYgmI0frOb85E;3&R>L~Eq?SeHa+ih;xJE$9=1s%$41v|75jMlYYFfo6 zq!e7MVKce~k`a-~fTzGp$H*1Vo6bqY_3SeRLe=+VdZ(qqTQzLMb@Ys$BcU}tfk6@P zrF&1P=tZA`ehu3(K%bNyoFT7S!y(DDdcI&xoD%3Das(ulAWa2>8m`AqI?(hCNB3-= z>*xuE{ZM4W^>j0K;YI~FX}B4;(5SMPiy~Axr@Q0EIfj=}Jt0r**02X@8fW>-tBcrC zYoxpOX&AzO@|ZQeNyo@Cri2)g6c1>)9mAY+OS+@NmLQ#IN-yrvFoHwU6w8~Iruz^K zX9h&Ofl_us0tX&4?ZHWh2veS8=nLs2^LawUB<>XGT+ru@VcW{; z-f`2Lwn$3$~p%X~3 zvl!w^myzT^{7y}0HdB2WcWoHZDp*ONqtahXi$$O9h&@w7p+st}@Efh!UW;>lNLwrX z%<}^^7{ncy1Xk%ed5u`Qb8@lRmuYzLZo&GV8*EL)P9}8@~%BDD~3O*Is`2V7O;skc#TD}|-yhj@NFe!Ecf|PDb45j?qL$4kzbP%W2oZ@=<53cqVH!Y_x^wtm!Ou1ZQuGpr}=HA zuvA?Sm5|Mt=S&NZBaa2n1S}j1p$GYw&<%axqy1|R5|AKLvxF)iZYUkL(H$NhqO`QL zv9IeA+RGH=V-U2c0qs6QM<5jLa248iaxbeS{~1>}g~=%o01$@+e1-#Zqmnrn;jh z)yE0)L_AeLp`%o9Ak|$ps0OtYrJBTCiRzOaJ%y+Fm0mUI4p|^w{Tr6Cky)?yFJsGb z4%#;Sh#omEhb_q}0&bz|TWS4ntmoTSmP9ImC?#|kp1}nwAgo{L367sFmG5svY2e<` z=7V+nq{e0J7$5ivHwb)y?Ht@H@GCa$sqbD_zl^;;m1W%aD|(l4@VV172QMVVSO5O` z9S(P2#yGHyyUKywj3z?wqg6vxv!B#%BiRE;^9?2}Q>6DCiAtl6hU61` zEkBPJNVuN0_#(?8ftR@7g2X@25<+4%jc~3E9?g&q)Rfef@r8|QxW(?#^I;pqFxO12}$IHrzj=2`;9EFF6pJ zqKpc|rM|t(o6_sq>KmbU=q*rGSHMsyx8s{z?Mi%-4zej7I>@<>@c7!Wzs3E>_Le(3 zTG_MRuI&pwjwaJ;M^J)=PF$u29rrd@ZIX&~ZPO?SN9l6A(xuX9acv~pLOGF%LHH1m zCFn+|9EEBzWN9gyNS9kWT9F`+VlvV^A(Q4)d%8%UJHzjU|4Ma++}H}V%(a64lUMrD z@}?a6J>C-fK+MRGHLVfO-o#E9HH#Ox%IMIv(f3?lk~HIWbTQ38?q-zJD$NhI=5?AEcmtrNG4*pq s14JrIu30AEjE!B2vQ6Q0LZs*y;2!l^%5k5bCcdUoj@~+0!v+@r1MNbgUH||9 literal 0 HcmV?d00001 diff --git a/out/production/PBE-2TDS-Modulo01/teste.class b/out/production/PBE-2TDS-Modulo01/teste.class new file mode 100644 index 0000000000000000000000000000000000000000..c6cb3d63310ba26a1e2fa8907f107f0018ed05b9 GIT binary patch literal 504 zcmZvY-%0{O6vn@CS68<+Z7uD8d8Y+Q*G3RQBrFyf3(?iA4mzT{F|N@Q^cp=wHwgtj zKo1q2Sp_d@Vb9^5?|i>GGv7ZSUjQypwUL5h!E}&DhM_p*PrNbWVZU(`3`I9)$ehVg z#^(%1t?paMGFaEqZ8A!FDStt=L7L!;on3qwHQo)mnI`hrdhIebTw=lcDsFOgjwddZ!FIZ?PEx?M^gRU2!G#4t8?PiM}4HaOnm0 zmjYRlp}0;}gEFI>KAM5OCGrMEErb3tMQ1*M3O1?AVGG;T(dIURG}Qfsb#J;kcV!00 mJAOxDNm_+L69)1$ORt#_%X1fYuuGa&_OMS(h6AcoIQ#{L(Ou~P literal 0 HcmV?d00001 From 834511e3d0d14fdcc373e44ebf37cfb1affe3589 Mon Sep 17 00:00:00 2001 From: ka-ren94 Date: Wed, 29 Jan 2025 15:37:21 -0300 Subject: [PATCH 45/56] classe reserva --- Ex02-git+POO/Reserva.java | 54 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 Ex02-git+POO/Reserva.java diff --git a/Ex02-git+POO/Reserva.java b/Ex02-git+POO/Reserva.java new file mode 100644 index 0000000..df87889 --- /dev/null +++ b/Ex02-git+POO/Reserva.java @@ -0,0 +1,54 @@ +public class Reserva { + //atributos + private int id; + private Quarto quarto; + private Hospede hospede; + private int diarias; + //metodo construtor com parametro + public Reserva(int id, Quarto quarto, Hospede hospede, int diarias) { + this.id = id; + this.quarto = quarto; + this.hospede = hospede; + this.diarias = diarias; + } + //Get & Set + public int getId() { + return id; + } + public void setId(int id) { + this.id = id; + } + public Quarto getQuarto() { + return quarto; + } + public void setQuarto(Quarto quarto) { + this.quarto = quarto; + } + public Hospede getHospede() { + return hospede; + } + public void setHospede(Hospede hospede) { + this.hospede = hospede; + } + public int getDiarias() { + return diarias; + } + public void setDiarias(int diarias) { + this.diarias = diarias; + } + //metodos + public void calcular_total() { + reserva = getDiarias() * preco_diaria; + System.out.println("O valor total da reserva é de: " + reserva); + } + public void finalizar_reserva() { + if (quarto != True) { + System.out.println("Quarto indisponível! "); + } + } + public void exibir_resumo() { + System.out.println("Id da reserva: " + getId() + "\nTipo do quarto: " + getQuarto() + + "\nNome do cliente: " + getHospede() + "\nDiárias: " + getDiarias()); + + } +}//class \ No newline at end of file From 0acd781d151a6ca6627abff76fec08043361019f Mon Sep 17 00:00:00 2001 From: Karen Date: Wed, 29 Jan 2025 15:38:12 -0300 Subject: [PATCH 46/56] Delete socorro --- socorro | 387 -------------------------------------------------------- 1 file changed, 387 deletions(-) delete mode 100644 socorro diff --git a/socorro b/socorro deleted file mode 100644 index 3754dc0..0000000 --- a/socorro +++ /dev/null @@ -1,387 +0,0 @@ -commit 96773b8b7fd59ecc0133e9ac90d0843eab07bd5e (HEAD -> main, origin/main, origin/HEAD) -Author: WesleyC115 -Date: Wed Jan 29 15:24:02 2025 -0300 - - commit 6 - -commit ac5d2ef02a946242d53805a7087178bb2e5cc4ba -Merge: 7e8c289 f73baab -Author: WesleyC115 -Date: Wed Jan 29 15:22:27 2025 -0300 - - Merge branch 'main' of https://github.com/RaissaBernardo/Karen_Raissa_Wesley - -commit 7e8c2897c1cb60bcf70893124c36d6abbd591610 -Author: WesleyC115 -Date: Wed Jan 29 15:20:48 2025 -0300 - - commit 5 - -commit f73baab7cad956a9a0fe78e443e5e268af31c6bd -Merge: 42403a2 e7e57d1 -Author: RaissaBernardo -Date: Wed Jan 29 15:20:25 2025 -0300 - - Merge branch 'main' of https://github.com/RaissaBernardo/Karen_Raissa_Wesley - -commit 42403a2fcca2446cbb178c01a2f27baf05a36487 -Author: RaissaBernardo -Date: Wed Jan 29 15:20:09 2025 -0300 - - classe main - -commit e853254f674bd688d0cba23b61c747701399b7f6 -Author: RaissaBernardo -Date: Wed Jan 29 15:18:57 2025 -0300 - - main - -commit e7e57d178b53cd65e23d28c1546d81dd2f63dfd8 -Author: WesleyC115 -Date: Wed Jan 29 15:14:50 2025 -0300 - - commit 4 - -commit 552f93a3d1b75d0b5eb7c5e46a64aad6ad815ccc -Merge: a0f4da7 f054066 -Author: WesleyC115 -Date: Wed Jan 29 15:04:21 2025 -0300 - - Merge branch 'main' of https://github.com/RaissaBernardo/Karen_Raissa_Wesley - -commit f054066b40d38e8957fb22eb9347ae6918e77b9d -Author: RaissaBernardo -Date: Wed Jan 29 14:57:45 2025 -0300 - - arrumei o preco_diaria - -commit a0f4da78070d05b1d7d2880351e360fd1d40e981 -Author: WesleyC115 -Date: Wed Jan 29 14:49:39 2025 -0300 - - commit 2 - -commit 5809a7ea454ec8825e1b54a0b9f882d2f3ed8137 -Author: RaissaBernardo -Date: Wed Jan 29 14:46:19 2025 -0300 - - "classe quarto" - -commit b59ead9329906c3c62643c34936008a989f3cecc -Author: RaissaBernardo -Date: Wed Jan 29 14:44:47 2025 -0300 - - classe Quarto - -commit 4991bbeb0db5af5200e35ad850a721873cbf4ce3 -Author: RaissaBernardo -Date: Wed Jan 29 14:42:15 2025 -0300 - - classe quarto - -commit 69e7913b906396fce967ac9286439c8dbc4c4d0e -Author: WesleyC115 -Date: Wed Jan 29 14:39:45 2025 -0300 - - commit hospede - -commit 3578941772c40cd98ca9a616297d3141b17c1e76 -Author: vinnydsstos -Date: Wed Jan 29 13:34:59 2025 -0300 - - remove resoluções - -commit 98522c48d24ca661088239b68dbed3ba1f2dd7b4 -Author: JulianaNishimura -Date: Mon Jan 27 21:59:34 2025 -0300 - - Finalizado - -commit 36f21c9b9e19bd7d96e894481a79f0a09ab33f83 -Merge: d40c793 af33496 -Author: SaCasseta -Date: Mon Jan 27 17:29:39 2025 -0300 - - Merge pull request #26 from vinnydsstos/Samuel-Casseta-TDSB - - Samuel casseta tdsb - -commit af33496467be004f80e3f128f69b017d171d45e9 -Merge: 27b945b d40c793 -Author: SaCasseta -Date: Mon Jan 27 17:29:28 2025 -0300 - - Merge branch 'main' into Samuel-Casseta-TDSB - -commit 27b945b21a3a6bb8f21f4bd87e8abe159c8676d6 -Author: SaCasseta -Date: Mon Jan 27 17:27:23 2025 -0300 - - feito - -commit d40c7936282b6f1e354883178703a9469ee2ad4b -Merge: 21c2e1d b53bccc -Author: RafaelAlves98 -Date: Mon Jan 27 17:03:37 2025 -0300 - - Merge branch 'rafael-alves-TDSB' into main - -commit 21c2e1d54334d11ffe38efeb565e4f61e5db0c52 -Merge: dd5ca88 9393371 -Author: Juliana Nishimura <165977851+JulianaNishimura@users.noreply.github.com> -Date: Mon Jan 27 16:59:36 2025 -0300 - - Merge branch 'Juliana-TDSB' into main - -commit 9393371a7255e98c5ce678d3a943f482c3129f30 -Author: JulianaNishimura -Date: Mon Jan 27 16:58:44 2025 -0300 - - Commitando... - -commit dd5ca884df0ee0426f91b3e9b4fd863abe67b2fa -Merge: eb2734c 5ad1f08 -Author: Yuri Santos -Date: Mon Jan 27 16:55:00 2025 -0300 - - Merge branch 'Yuri-Santos-TDSB' into main - -commit be6c1c32e87c21834f8a007c04e8b4b31f724ce9 -Author: SaCasseta -Date: Mon Jan 27 16:53:44 2025 -0300 - - 22 - -commit eb2734cb88a40c014dc9f31a96409c4024a73af9 -Merge: d070960 b107fd0 -Author: V1cta0 -Date: Mon Jan 27 16:53:11 2025 -0300 - - Merge branch 'Victor-Santos-TDSB' into main - -commit d070960ff296858795f29ed997e7c81abae39edd -Merge: 1f07eb2 d6955f2 -Author: Vinicius dos Santos -Date: Mon Jan 27 16:52:22 2025 -0300 - - Merge branch 'Vinicius-Rodrigues-TDSB' into main - -commit 1f07eb234dd12c1485c3cc366bc8b6f6bc29472f -Merge: 3d1fe7b d6f4720 -Author: annok0 -Date: Mon Jan 27 16:43:29 2025 -0300 - - Merge pull request #17 from vinnydsstos/revert-7-pablo-TDS-B - - PullRequest - -commit 3d1fe7bb20246f4437f59df6c96059477ced0d62 -Merge: 7867019 33fc74f -Author: KauaFrenedozo10 -Date: Mon Jan 27 16:42:37 2025 -0300 - - Merge branch 'Kaua-Frenedozo-TDSB' into main - -commit d6f4720a3915eff197e77a9e699d7bde558c0db3 -Author: annok0 -Date: Mon Jan 27 16:42:07 2025 -0300 - - Revert "Pablo tdsb" - -commit 7867019d65cf949fffe51d371cd7c500394fb128 -Merge: f91c3bc d3ac2db -Author: annok0 -Date: Mon Jan 27 16:41:04 2025 -0300 - - Merge pull request #7 from vinnydsstos/pablo-TDS-B - - Pablo tdsb - -commit 2949f57fcf3ef6feb25a724ed387687b71b256c2 -Merge: 94b7f19 f91c3bc -Author: SaCasseta -Date: Mon Jan 27 16:40:02 2025 -0300 - - Merge pull request #4 from vinnydsstos/main - - puxando - -commit f91c3bcadad2c3b544e3f4fe6d76fe2babb5c646 -Merge: 91bda14 d2dbcc1 -Author: MykyBalb <166543770+MykyBalb@users.noreply.github.com> -Date: Mon Jan 27 16:31:41 2025 -0300 - - Merge pull request #2 from vinnydsstos/mykael-TDSB - - Exercicio - -commit d3ac2db5306c18964855d24aaa89b7d8602f5766 -Author: annok0 -Date: Mon Jan 27 16:02:03 2025 -0300 - - p - -commit 91bda1421212188e9368cf099913f55488d33214 -Merge: ea1c20b 5e0a8ca -Author: Vinicius dos Santos -Date: Mon Jan 27 16:18:32 2025 -0300 - - Merge pull request #1 from vinnydsstos/vinicius-professor - - Exclui alguns arquivos nada a ver - -commit 5e0a8ca7ba4718182702a99f99786e66223f2adb -Author: vinnydsstos -Date: Mon Jan 27 16:13:55 2025 -0300 - - deleta arquivos nada a ver - -commit b107fd036c0a92f7e734b16c5390984e700e6826 -Author: Vinicius dos Santos -Date: Mon Jan 27 16:12:30 2025 -0300 - - Exercicio_1_Professor_Vinicius - -commit 94b7f19b91e838a3996f60a1c3c69a2f6d733e6e -Author: SaCasseta -Date: Mon Jan 27 16:12:30 2025 -0300 - - fazendo - -commit 4490e88b6dd3270fba9b5dd7d3d04ddfb43a88ee -Author: JulianaNishimura -Date: Mon Jan 27 16:06:10 2025 -0300 - - Commitando... - -commit 91ba16c47726ca6f9452686c9eff4f6ca5bac37b -Author: JulianaNishimura -Date: Mon Jan 27 16:04:58 2025 -0300 - - Commitando... - -commit d6955f25355eaa662d17319539a9f212da5fa2fa -Author: VinciusDev00 -Date: Mon Jan 27 16:04:51 2025 -0300 - - ultimo commit - -commit 5ad1f0869ae14bdeba09b7bf176367f226ff360a -Author: YuriSantxz07 -Date: Mon Jan 27 16:03:41 2025 -0300 - - Papelaria - -commit d2dbcc105405260c501ab03d95de844e11e5376b -Author: MykyBalb -Date: Mon Jan 27 16:03:29 2025 -0300 - - entregaExercicio - -commit b53bccc414e65e69bd5f247290dcbda1cd38cd88 -Author: RafaelAlves98 -Date: Mon Jan 27 16:02:44 2025 -0300 - - Papelaria atualização - -commit e0c4e7247fb3ce76441e269f7b0581c064fa968d -Author: annok0 -Date: Mon Jan 27 16:01:59 2025 -0300 - - p - -commit e7118ec565d15e7f3cd8c11f2dbad0be71d61184 -Author: MykyBalb -Date: Mon Jan 27 15:39:24 2025 -0300 - - classesJava - -commit d6cdf2032d78a6cec00a1e1fd200e67e78a1dc1c -Author: RafaelAlves98 -Date: Mon Jan 27 15:39:17 2025 -0300 - - p - -commit f4410b2999600b5cf28cca2031421b7fbd8f4da5 -Author: VinciusDev00 -Date: Mon Jan 27 15:38:10 2025 -0300 - - classe produto - -commit d83f3a869a0b89fceb4bec46d1493b70f9741a52 -Author: annok0 -Date: Mon Jan 27 15:37:52 2025 -0300 - - p - -commit b6e234423e4e0dd38fe6a01063fd30e54c552f41 -Author: annok0 -Date: Mon Jan 27 14:44:50 2025 -0300 - - Cria html - -commit 41452dfb376da86a8dfe2accd86c38705da3fde4 -Author: VinciusDev00 -Date: Mon Jan 27 14:42:04 2025 -0300 - - cria html - -commit 33fc74f6060f2dd82261238f7413e2cdee91af6c -Author: KauaFrenedozo10 -Date: Mon Jan 27 14:41:59 2025 -0300 - - cria html - -commit 8f34820049b00288c5f9cc0b98d06fc5ebcf088f -Author: MykyBalb -Date: Mon Jan 27 14:41:57 2025 -0300 - - Cria HTML - -commit 535d5bf63d5a2a9ebb03370ed566d7cff30487c4 -Author: SaCasseta -Date: Mon Jan 27 14:41:52 2025 -0300 - - Cria html - -commit 524dc681194e172ceeb80e2f3d103021fa7f706c -Author: RafaelAlves98 -Date: Mon Jan 27 14:41:49 2025 -0300 - - Cria html - -commit f65988af91fdda1a785892753328d71e12afa168 -Author: YuriSantxz07 -Date: Mon Jan 27 14:41:42 2025 -0300 - - Cria HMTL - -commit b0caa58a188869d9033d85114aab5e262f6d3874 -Author: JulianaNishimura -Date: Mon Jan 27 14:41:38 2025 -0300 - - cria html - -commit 1a0d34489c38f1fb83ba750d540ec83ebb104bdd -Author: vinnydsstos -Date: Mon Jan 27 14:41:33 2025 -0300 - - Cria html - -commit ea1c20b99ca43d9ed3c70235f3d7c4ec7ea88309 -Author: Vinicius dos Santos -Date: Wed Jan 22 13:56:04 2025 -0300 - - RevisãoPOO - -commit 1b428b58eff78999cf2e4247e304fbe9bbdde08d -Author: Vinicius dos Santos -Date: Wed Jan 22 13:50:28 2025 -0300 - - remove pasta - -commit 0c3890b7fae03f3c9463d5dfa73a713e8bdfbf34 -Author: Vinicius dos Santos -Date: Wed Jan 22 13:33:33 2025 -0300 - - adiciona exercicios From 88e6aa3df5d4adeb5f16bd247821c3a18454b933 Mon Sep 17 00:00:00 2001 From: Pedro henrique rodrigues leme <151878192+PhrL0@users.noreply.github.com> Date: Wed, 29 Jan 2025 16:15:52 -0300 Subject: [PATCH 47/56] Revert "Classes Prontas" --- Ex02-git+POO/Hospede.java | 62 ---------------- Ex02-git+POO/Main.java | 16 ---- Ex02-git+POO/Quarto.java | 40 +--------- Ex02-git+POO/Reserva.java | 32 +------- Ex02-git+POO/teste.java | 7 -- out/production/PBE-2TDS-Modulo01/Briefing.md | 70 ------------------ .../PBE-2TDS-Modulo01/Hospede.class | Bin 1830 -> 0 bytes .../PBE-2TDS-Modulo01/exercicio1/Briefing.md | 64 ---------------- .../exercicio1/Cliente.class | Bin 1639 -> 0 bytes .../PBE-2TDS-Modulo01/exercicio1/Main.class | Bin 1375 -> 0 bytes .../PBE-2TDS-Modulo01/exercicio1/Pedido.class | Bin 3799 -> 0 bytes .../exercicio1/Produto.class | Bin 2089 -> 0 bytes out/production/PBE-2TDS-Modulo01/teste.class | Bin 504 -> 0 bytes 13 files changed, 2 insertions(+), 289 deletions(-) delete mode 100644 Ex02-git+POO/teste.java delete mode 100644 out/production/PBE-2TDS-Modulo01/Briefing.md delete mode 100644 out/production/PBE-2TDS-Modulo01/Hospede.class delete mode 100644 out/production/PBE-2TDS-Modulo01/exercicio1/Briefing.md delete mode 100644 out/production/PBE-2TDS-Modulo01/exercicio1/Cliente.class delete mode 100644 out/production/PBE-2TDS-Modulo01/exercicio1/Main.class delete mode 100644 out/production/PBE-2TDS-Modulo01/exercicio1/Pedido.class delete mode 100644 out/production/PBE-2TDS-Modulo01/exercicio1/Produto.class delete mode 100644 out/production/PBE-2TDS-Modulo01/teste.class diff --git a/Ex02-git+POO/Hospede.java b/Ex02-git+POO/Hospede.java index e2da62b..d2ccefc 100644 --- a/Ex02-git+POO/Hospede.java +++ b/Ex02-git+POO/Hospede.java @@ -1,33 +1,3 @@ - main - Branch-Kaua -class Hospede { - private int id; - private String nome; - private String telefone; - - public Hospede(int id, String nome, String telefone) { - this.id = id; - this.nome = nome; - this.telefone = telefone; - } - - public String exibirHospede() { - return String.format("Hóspede ID: %d, Nome: %s, Telefone: %s", id, nome, telefone); - } -} - -public class Hospede { - //ATRIBUTOS - private int id; - private String nome; - private int telefone; - //METODO CONSTRUTOR - public Hospede(){}; - - public Hospede(int id, String nome, int telefone ){ - this.id=id ; - this.nome=nome; - this.telefone=telefone; public class Hospede { @@ -43,55 +13,24 @@ public Hospede(int id, String nome, int telefone) { this.id = id; this.nome = nome; this.telefone = telefone; - main } public int getId() { return id; } - main - public int getTelefone() { - return telefone; - public void setId(int id) { this.id = id; - main } public String getNome() { return nome; } - main - public void setId(int id) { - this.id = id; - } - - - main public void setNome(String nome) { this.nome = nome; } - main - public void setTelefone(int telefone) { - this.telefone = telefone; - } - - public void exibirHospede(){ - System.out.println("id: " + getId()); - System.out.println("telefone: " + getTelefone()); - System.out.println("nome: " + getNome()); - - }; - - -} - - - main - public int getTelefone() { return telefone; } @@ -106,4 +45,3 @@ public void exibirHospede() { } } - main diff --git a/Ex02-git+POO/Main.java b/Ex02-git+POO/Main.java index c94a48c..49e02d8 100644 --- a/Ex02-git+POO/Main.java +++ b/Ex02-git+POO/Main.java @@ -1,18 +1,3 @@ - main -public class Main { - public static void main(String[] args) { - Quarto quarto1 = new Quarto(1, "Solteiro", 100.0); - Hospede hospede1 = new Hospede(1, "Maria Oliveira", "11 99999-1234"); - - - Reserva reserva1 = new Reserva(1, hospede1, quarto1, 3); - - - reserva1.finalizarReserva(); - System.out.println(reserva1.exibirResumo()); - } -} - import java.util.Scanner; public class Main { @@ -67,4 +52,3 @@ public static void main(String[] args) { } } - main diff --git a/Ex02-git+POO/Quarto.java b/Ex02-git+POO/Quarto.java index f9ac141..d5e47e9 100644 --- a/Ex02-git+POO/Quarto.java +++ b/Ex02-git+POO/Quarto.java @@ -1,40 +1,3 @@ - main -class Quarto { - private int id; - private String tipo; - private double precoDiaria; - private boolean disponivel; - - public Quarto(int id, String tipo, double precoDiaria) { - this.id = id; - this.tipo = tipo; - this.precoDiaria = precoDiaria; - this.disponivel = true; - } - - public void marcarIndisponivel() { - this.disponivel = false; - } - - public void marcarDisponivel() { - this.disponivel = true; - } - - public String exibirDetalhes() { - String status = disponivel ? "Disponível" : "Indisponível"; - return String.format("Quarto ID: %d, Tipo: %s, Preço por diária: R$ %.2f, Status: %s", - id, tipo, precoDiaria, status); - } - - public boolean isDisponivel() { - return disponivel; - } - - public double getPrecoDiaria() { - return precoDiaria; - } -} - /* **Atributos**: Raíssa - `id` (identificador do quarto) - `tipo` (tipo do quarto, ex.: solteiro, casal, família) @@ -81,5 +44,4 @@ public void exibirDetalhes() { System.out.println("Preço da diária: R$" + preco_diaria); System.out.println((disponivel ? "Sim" : "Não")); } -}//class - main +}//class \ No newline at end of file diff --git a/Ex02-git+POO/Reserva.java b/Ex02-git+POO/Reserva.java index 709e1bc..df87889 100644 --- a/Ex02-git+POO/Reserva.java +++ b/Ex02-git+POO/Reserva.java @@ -1,32 +1,3 @@ - main -class Reserva { - private int id; - private Hospede hospede; - private Quarto quarto; - private int diarias; - - public Reserva(int id, Hospede hospede, Quarto quarto, int diarias) { - this.id = id; - this.hospede = hospede; - this.quarto = quarto; - this.diarias = diarias; - } - - public double calcularTotal() { - return diarias * quarto.getPrecoDiaria(); - } - - public void finalizarReserva() { - quarto.marcarIndisponivel(); - } - - public String exibirResumo() { - double valorTotal = calcularTotal(); - return String.format("Resumo da Reserva:\n%s\n%s\nDiárias: %d\nValor total: R$ %.2f", - hospede.exibirHospede(), quarto.exibirDetalhes(), diarias, valorTotal); - } -} - public class Reserva { //atributos private int id; @@ -80,5 +51,4 @@ public void exibir_resumo() { "\nNome do cliente: " + getHospede() + "\nDiárias: " + getDiarias()); } -}//class - main +}//class \ No newline at end of file diff --git a/Ex02-git+POO/teste.java b/Ex02-git+POO/teste.java deleted file mode 100644 index 2b619cb..0000000 --- a/Ex02-git+POO/teste.java +++ /dev/null @@ -1,7 +0,0 @@ -public class teste { - public static void main(String[] args) { - Hospede hosp1 = new Hospede(1,"Pedro",99999); - - hosp1.exibirHospede(); - } -} diff --git a/out/production/PBE-2TDS-Modulo01/Briefing.md b/out/production/PBE-2TDS-Modulo01/Briefing.md deleted file mode 100644 index 044c127..0000000 --- a/out/production/PBE-2TDS-Modulo01/Briefing.md +++ /dev/null @@ -1,70 +0,0 @@ -# Situação-Problema: Sistema de Reservas para um Hotel - -## Contexto -Um hotel chamado **Hotel Estrela do Mar** deseja informatizar o sistema de reservas para melhorar a gestão de quartos, hóspedes e reservas. Cada aluno será responsável por criar uma classe que representa um elemento do sistema. As classes devem ser interdependentes, ou seja, uma classe depende dos dados fornecidos pelas outras para funcionar corretamente. - -## Objetivo -Desenvolver três classes interdependentes, sendo: - -1. **Quarto**: Representa os quartos disponíveis no hotel. -2. **Hospede**: Armazena as informações dos hóspedes que fazem reservas. -3. **Reserva**: Controla o processo de reserva, relacionando hóspedes e quartos. - -A interação entre essas classes permitirá que os alunos simulem um processo completo de reserva, onde um hóspede escolhe um quarto, e o sistema registra a reserva e atualiza o status de disponibilidade do quarto. - ---- - -## Distribuição das Classes (Cada aluno cria uma classe) - -### Classe Quarto -- **Responsável:** Aluno 1 -- **Atributos**: - - `id` (identificador do quarto) - - `tipo` (tipo do quarto, ex.: solteiro, casal, família) - - `preco_diaria` (preço da diária) - - `disponivel` (indica se o quarto está disponível: `True` ou `False`) -- **Métodos**: - - `marcar_indisponivel()`: Altera o status de disponibilidade para `False`. - - `marcar_disponivel()`: Altera o status de disponibilidade para `True`. - - `exibir_detalhes()`: Mostra os dados do quarto. - -### Classe Hospede -- **Responsável:** Aluno 2 -- **Atributos**: - - `id` (identificador do hóspede) - - `nome` (nome completo do hóspede) - - `telefone` (contato do hóspede) -- **Métodos**: - - `exibir_hospede()`: Mostra os dados do hóspede. - -### Classe Reserva -- **Responsável:** Aluno 3 -- **Atributos**: - - `id` (identificador da reserva) - - `hospede` (objeto da classe Hospede) - - `quarto` (objeto da classe Quarto) - - `diarias` (quantidade de diárias reservadas) -- **Métodos**: - - `calcular_total()`: Retorna o valor total da reserva (diárias × preço da diária do quarto). - - `finalizar_reserva()`: Atualiza o status do quarto para indisponível. - - `exibir_resumo()`: Mostra os detalhes da reserva (hóspede, quarto e valor total). - ---- - -## Resultados Esperados -1. **Criação das classes pelos alunos**: - - Cada aluno será responsável por criar e implementar sua classe com base no modelo fornecido. -2. **Simulação de uma reserva completa**: - - **Exemplo de quarto**: - - Quarto 1: Solteiro, R$ 100 por diária, disponível. - - **Exemplo de hóspede**: - - Hóspede: Maria Oliveira, telefone `11 99999-1234`. - - **Exemplo de reserva**: - - Maria Oliveira reserva o quarto 1 por 3 diárias. -3. **Interação entre as classes**: - - O sistema calcula o valor total da reserva (R$ 300) e atualiza o status do quarto para indisponível. - - Exibe o resumo da reserva: - - Hóspede: Maria Oliveira - - Quarto: Solteiro - - Valor total: R$ 300 - diff --git a/out/production/PBE-2TDS-Modulo01/Hospede.class b/out/production/PBE-2TDS-Modulo01/Hospede.class deleted file mode 100644 index a1bdcbdb8dcde2ac30515a97be14cf67c55b9c89..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1830 zcmaJ>+fo}x5IrM=7Kz1RA!9p^ZAieDWQ=mZSPqFThoD5p7g6LPPm45xHLG2fc5sD1 z$w%ZNNd>2hhkQUjDwWf_Yb4OxFEiUS-KS5V?%99;JNXB|1GEdsV8TMy#w2nIb1$5i zPR(=tz1oxA7rJ8Od1*X;8vG>&gV zVwRhgahe6Zk7WxhHg4gz!hBT6*}RmXFDyJ?K*k{|J3_2tqbkIvNo+eQw+Mxsa(UOr z8fpaM+r77_rtpaRy`GimV1rp@#AwXsuvtJ8 z-&^=WG-@d<52w!cUj_%d77t(C{|%>Og29o(ucJ~Xj&b%)$M1SNTy6!y!C}8XF2l&l znZWI%zD{xfX~aK%TlLX4ClC$C^V+V_)ZT9Tz8*9@Ck%CH;fcb^SWRhEEj&}W@pe}} z>$ol~aRf7bBokcurumhT=Ns*OpxpDERQ?>eeoU*zU2&hR{tfj<`9@d-AO zBGQt(6w#JaO7dr6K}voHN#-H#zhM1FrwoR)=Td3&$)*HfJRe+24d#kc(PkF`jwr8i*7JV@8? zr}G+VUCe8lSSxS9lGX^;SEm!zC3k7y+Mk?@S9s?HH-J}oFE-03xHDp|p5TMX9P%$l zBT;7iD~zn-E>=fWT}w2Xz&dke@HM{SUgCIs$E**cwGpk~;xTUuJl(=mJjd1l0fa77 AKL7v# diff --git a/out/production/PBE-2TDS-Modulo01/exercicio1/Briefing.md b/out/production/PBE-2TDS-Modulo01/exercicio1/Briefing.md deleted file mode 100644 index 45b1fa8..0000000 --- a/out/production/PBE-2TDS-Modulo01/exercicio1/Briefing.md +++ /dev/null @@ -1,64 +0,0 @@ -# Situação-Problema: Sistema de Gestão de Estoque para uma Papelaria - -## Contexto -Uma papelaria chamada **Papel & Cia** deseja informatizar o gerenciamento de seus produtos e clientes. Atualmente, o controle de itens como cadernos, canetas e lápis é feito manualmente, o que tem causado erros no estoque e atrasos nas vendas. Para resolver esses problemas, o proprietário quer implementar um sistema simples com base em três classes principais que representem os produtos, os clientes e os pedidos realizados. - -## Objetivo -Criar um sistema de gerenciamento básico composto por três classes principais: - -1. **Produto**: Representa os itens vendidos pela papelaria. -2. **Cliente**: Armazena os dados dos clientes que compram na loja. -3. **Pedido**: Representa os pedidos feitos pelos clientes, relacionando produtos e quantidades. - -A interação entre essas classes deve permitir a simulação de um pedido feito por um cliente e a atualização do estoque de produtos. - ---- - -## Dados fornecidos para construção das classes - -### Classe Produto -- **Atributos**: - - `id` (identificador do produto) - - `nome` (nome do produto) - - `preco` (preço unitário) - - `quantidade_estoque` (quantidade disponível no estoque) -- **Métodos**: - - `reduzir_estoque(quantidade)`: Reduz a quantidade do estoque ao realizar uma venda. - - `exibir_detalhes()`: Mostra as informações do produto. - -### Classe Cliente -- **Atributos**: - - `id` (identificador do cliente) - - `nome` (nome do cliente) - - `email` (e-mail para contato) -- **Métodos**: - - `exibir_cliente()`: Mostra os dados do cliente. - -### Classe Pedido -- **Atributos**: - - `id` (identificador do pedido) - - `cliente` (objeto da classe Cliente) - - `produtos` (lista de tuplas com produto e quantidade) -- **Métodos**: - - `adicionar_produto(produto, quantidade)`: Adiciona um produto ao pedido. - - `calcular_total()`: Retorna o valor total do pedido. - - `finalizar_pedido()`: Atualiza os estoques dos produtos no pedido e retorna um resumo. - ---- - -## Resultados Esperados -1. **Criar as classes com base no modelo acima.** -2. **Simular a criação de 3 produtos, 2 clientes e 1 pedido.** - - **Exemplo de produtos**: - - Produto 1: Caderno, preço R$ 20, estoque 50 unidades. - - Produto 2: Caneta Azul, preço R$ 3, estoque 100 unidades. - - Produto 3: Lápis, preço R$ 1.50, estoque 200 unidades. - - **Exemplo de clientes**: - - Cliente 1: João Silva, email `joao@email.com`. - - Cliente 2: Maria Santos, email `maria@email.com`. -3. **Simular o pedido**: - - Cliente João Silva compra: - - 2 cadernos. - - 5 canetas azuis. - - O sistema deve calcular o total do pedido, exibir um resumo para o cliente e atualizar o estoque dos produtos. - diff --git a/out/production/PBE-2TDS-Modulo01/exercicio1/Cliente.class b/out/production/PBE-2TDS-Modulo01/exercicio1/Cliente.class deleted file mode 100644 index b34be711ee982a10b940bbd57d27305e0e541a93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1639 zcmaKtTTc@~6vzM5mTsxbrR6S)<))=574J|)rAlmqU{Zn)KA3Ggfr0IAvpXg5P5cTb zKBy5*c<{wHKa}xIceT)6e3;9b`On$koHM8W_51V(fM{kD=BHO zjz07=#4Ni`JL!$K`?7R|wOdfCw2lF#>f&`nnB5q{u!a#GqZm6!R6cekuM>#fB(5RP znXvP($&)01+^84Qbggk6S8$bKq;4GWqHR?T`9{b+nz_=jq|30BEd^16D|5l6B(5Q& zVN%BwrWpoW7dp?tpfwbcX%S>L=wfb%0#dYV6p+3RVe!poy~3Ssqhhu~WLFJy$8dzQ z{l%Ev6GT0@5e#>M!nVt0i9$~KDUs!RRxDdmAJS-ZvlaZoY{+#;KzdJ*An6O00fq!E z`qN&1Br3vrSN)sbWZ7;yRlY71uI^`jLB)ZRwPxGWm5$MP#pRw|a}#*Tu)dWMwM@;< z_&zc}KP)F%ax0@=Mc8`l9RxP|;#f*z83he1D#MQ%X4>ybScmoj&wJ0xOZvJ|m9}%t z@cwKTe4z*U(y(eKcV{+i`=Hq<1e0}U<=nyT;|33rzdfV(3aD^4>b{GjVVY$jIVDdo zSr&JSrs2BW)$o*IHgKmfR1Iqk6aSY|?RxjZBvo02DkDlg6)w#psxVt4l^%@=(9=Pj z`WdqFG%^~ya^Jx|w`8-_t8L}vI`z6Izzt-{VwgjY`tygsLi{Ks7Q;bOogh~UWa0u4m01OH=U-me5hEKI{er<9Wrtc1wbUst s1K%*w>3s?##L-Uos2}er?zX~t5BF(QZ|4!U2UsO5NwX*P*HXmTA0+ci5&!@I diff --git a/out/production/PBE-2TDS-Modulo01/exercicio1/Main.class b/out/production/PBE-2TDS-Modulo01/exercicio1/Main.class deleted file mode 100644 index 9b447cd9e6b8e5a594c8e3f3af222743ef1385d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1375 zcmZuwU2hvj6g_LNy&GqnkIe^h>4%ek#IEhQNlPh7NfX?LrZ{PeiwmkmG}&F!iPpPe zy{@W)c;bmS-jH}{#S3o;3Av&bsL&V0k3yWWEs~;I^32XX_ntfV+_``M^Xzv3tN1vB z1d;}H3n`>EjO>XAqT-8Sw{mM|&vRl8=_@jj@v??wzR)mWYOuYBUgStehVzxJD0JI# zn1O+$S_UmxIHDod^5S(@gPvb6G)xR@Fsj1!qM++KYQe@BZS>jFZ4TT-G@TN*RLF{&01hI6PY1?bX;pc77#BmLS zRS|fx$gMtV`})cXU?RuLYA>Jc%a(ri1xR!1)xxU2^n%#SU`7=-gFzFsB)S>C{2|QM zrT;)E>!^uy8iw{l5w3VmA^kZgY$~8+p{y!Y7rw3l6BP~ChKQud)p^OVWnx~#a8p?h zVhvo-FnU;E&y_AkTTs_nz$FWB<1$@@s~Ql9XnVic0u597+Tp;Sd5QX~z(os7s>4H$ z@SV2LxHyc3ub_7=EO(p#nGA$4A1Tg$Rs$;*p9$lJy@zr~M%ylR^zVBu1J$nazn8Ef zWWcUeLznFwuF1gLY&Unj=#JR&X|Zb|GdEPVJok-yd|$R$%;9@0o+T1dH1bX6@4fC} z5Es!dL&shNYe?)<+VR7z{dY>@#QuU>D09O3zgNHM%FCgb(UXB*W3O;^#i3KC9=0RL zTa&850d?^?^@uTz_c&JSmjFirX|C6Js&Lo1r_Mcv_H!4$&Q-xc5^G$oo&(;;4W0(D zj+?YFSbIzlgSJ1P!}#PW25LpUgG|vL>R_a3k9ROp99iff+lMzwDZ(ZD7~ztAf^ccX zJ%BgMX~JduB;m3>O}IRYzq;fvIeY>}RqmdrpBV z`+OH%VC2QcbT(Zi`c^hwGP_#`?_`%TKs~UvLq>;u3!25dA?`rTC4Ws^qQlWa1e%uu08l@jY(wD?zU>vBj?>bKPU^ Z51}*5GV1(Fk$)O@@KLvm4KgHf_g@|(C_4ZE diff --git a/out/production/PBE-2TDS-Modulo01/exercicio1/Pedido.class b/out/production/PBE-2TDS-Modulo01/exercicio1/Pedido.class deleted file mode 100644 index f2ce83082cc7bae8cf485d1fb3d3409a7cc366bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3799 zcmaJ@*>}`b9RBWfNlDXErqBXK7%5;EN=4jYpoqo7KsPNG#Rb!u(1uQvl4OwLuDI_z z?s|Oi#Rv6BRXoSzkvESo{yU!I^4%melNmC;BzO7U@Av)Idw>7u@-F}m;ByrT)G4Uf z(11pPw$u7qeK4me5RmV zo|)5ghAY=sYgmI0frOb85E;3&R>L~Eq?SeHa+ih;xJE$9=1s%$41v|75jMlYYFfo6 zq!e7MVKce~k`a-~fTzGp$H*1Vo6bqY_3SeRLe=+VdZ(qqTQzLMb@Ys$BcU}tfk6@P zrF&1P=tZA`ehu3(K%bNyoFT7S!y(DDdcI&xoD%3Das(ulAWa2>8m`AqI?(hCNB3-= z>*xuE{ZM4W^>j0K;YI~FX}B4;(5SMPiy~Axr@Q0EIfj=}Jt0r**02X@8fW>-tBcrC zYoxpOX&AzO@|ZQeNyo@Cri2)g6c1>)9mAY+OS+@NmLQ#IN-yrvFoHwU6w8~Iruz^K zX9h&Ofl_us0tX&4?ZHWh2veS8=nLs2^LawUB<>XGT+ru@VcW{; z-f`2Lwn$3$~p%X~3 zvl!w^myzT^{7y}0HdB2WcWoHZDp*ONqtahXi$$O9h&@w7p+st}@Efh!UW;>lNLwrX z%<}^^7{ncy1Xk%ed5u`Qb8@lRmuYzLZo&GV8*EL)P9}8@~%BDD~3O*Is`2V7O;skc#TD}|-yhj@NFe!Ecf|PDb45j?qL$4kzbP%W2oZ@=<53cqVH!Y_x^wtm!Ou1ZQuGpr}=HA zuvA?Sm5|Mt=S&NZBaa2n1S}j1p$GYw&<%axqy1|R5|AKLvxF)iZYUkL(H$NhqO`QL zv9IeA+RGH=V-U2c0qs6QM<5jLa248iaxbeS{~1>}g~=%o01$@+e1-#Zqmnrn;jh z)yE0)L_AeLp`%o9Ak|$ps0OtYrJBTCiRzOaJ%y+Fm0mUI4p|^w{Tr6Cky)?yFJsGb z4%#;Sh#omEhb_q}0&bz|TWS4ntmoTSmP9ImC?#|kp1}nwAgo{L367sFmG5svY2e<` z=7V+nq{e0J7$5ivHwb)y?Ht@H@GCa$sqbD_zl^;;m1W%aD|(l4@VV172QMVVSO5O` z9S(P2#yGHyyUKywj3z?wqg6vxv!B#%BiRE;^9?2}Q>6DCiAtl6hU61` zEkBPJNVuN0_#(?8ftR@7g2X@25<+4%jc~3E9?g&q)Rfef@r8|QxW(?#^I;pqFxO12}$IHrzj=2`;9EFF6pJ zqKpc|rM|t(o6_sq>KmbU=q*rGSHMsyx8s{z?Mi%-4zej7I>@<>@c7!Wzs3E>_Le(3 zTG_MRuI&pwjwaJ;M^J)=PF$u29rrd@ZIX&~ZPO?SN9l6A(xuX9acv~pLOGF%LHH1m zCFn+|9EEBzWN9gyNS9kWT9F`+VlvV^A(Q4)d%8%UJHzjU|4Ma++}H}V%(a64lUMrD z@}?a6J>C-fK+MRGHLVfO-o#E9HH#Ox%IMIv(f3?lk~HIWbTQ38?q-zJD$NhI=5?AEcmtrNG4*pq s14JrIu30AEjE!B2vQ6Q0LZs*y;2!l^%5k5bCcdUoj@~+0!v+@r1MNbgUH||9 diff --git a/out/production/PBE-2TDS-Modulo01/teste.class b/out/production/PBE-2TDS-Modulo01/teste.class deleted file mode 100644 index c6cb3d63310ba26a1e2fa8907f107f0018ed05b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 504 zcmZvY-%0{O6vn@CS68<+Z7uD8d8Y+Q*G3RQBrFyf3(?iA4mzT{F|N@Q^cp=wHwgtj zKo1q2Sp_d@Vb9^5?|i>GGv7ZSUjQypwUL5h!E}&DhM_p*PrNbWVZU(`3`I9)$ehVg z#^(%1t?paMGFaEqZ8A!FDStt=L7L!;on3qwHQo)mnI`hrdhIebTw=lcDsFOgjwddZ!FIZ?PEx?M^gRU2!G#4t8?PiM}4HaOnm0 zmjYRlp}0;}gEFI>KAM5OCGrMEErb3tMQ1*M3O1?AVGG;T(dIURG}Qfsb#J;kcV!00 mJAOxDNm_+L69)1$ORt#_%X1fYuuGa&_OMS(h6AcoIQ#{L(Ou~P From 2f04adf78e734b91b6cd85206d65d6aa4e8e3988 Mon Sep 17 00:00:00 2001 From: MykyBalb <166543770+MykyBalb@users.noreply.github.com> Date: Wed, 29 Jan 2025 16:31:04 -0300 Subject: [PATCH 48/56] Delete Ex02-git+POO directory --- Ex02-git+POO/Briefing.md | 70 --------------------------------------- Ex02-git+POO/Hospede.java | 47 -------------------------- Ex02-git+POO/Main.java | 54 ------------------------------ Ex02-git+POO/Quarto.java | 47 -------------------------- Ex02-git+POO/Reserva.java | 54 ------------------------------ 5 files changed, 272 deletions(-) delete mode 100644 Ex02-git+POO/Briefing.md delete mode 100644 Ex02-git+POO/Hospede.java delete mode 100644 Ex02-git+POO/Main.java delete mode 100644 Ex02-git+POO/Quarto.java delete mode 100644 Ex02-git+POO/Reserva.java diff --git a/Ex02-git+POO/Briefing.md b/Ex02-git+POO/Briefing.md deleted file mode 100644 index a13107e..0000000 --- a/Ex02-git+POO/Briefing.md +++ /dev/null @@ -1,70 +0,0 @@ -# Situação-Problema: Sistema de Reservas para um Hotel - -## Contexto -Um hotel chamado **Hotel Estrela do Mar** deseja informatizar o sistema de reservas para melhorar a gestão de quartos, hóspedes e reservas. Cada aluno será responsável por criar uma classe que representa um elemento do sistema. As classes devem ser interdependentes, ou seja, uma classe depende dos dados fornecidos pelas outras para funcionar corretamente. - -## Objetivo -Desenvolver três classes interdependentes, sendo: - -1. **Quarto**: Representa os quartos disponíveis no hotel. -2. **Hospede**: Armazena as informações dos hóspedes que fazem reservas. -3. **Reserva**: Controla o processo de reserva, relacionando hóspedes e quartos. - -A interação entre essas classes permitirá que os alunos simulem um processo completo de reserva, onde um hóspede escolhe um quarto, e o sistema registra a reserva e atualiza o status de disponibilidade do quarto. - ---- - -## Distribuição das Classes (Cada aluno cria uma classe) - -### Classe Quarto -- **Responsável:** -- **Atributos**: Raíssa - - `id` (identificador do quarto) - - `tipo` (tipo do quarto, ex.: solteiro, casal, família) - - `preco_diaria` (preço da diária) - - `disponivel` (indica se o quarto está disponível: `True` ou `False`) -- **Métodos**: - - `marcar_indisponivel()`: Altera o status de disponibilidade para `False`. - - `marcar_disponivel()`: Altera o status de disponibilidade para `True`. - - `exibir_detalhes()`: Mostra os dados do quarto. - -### Classe Hospede -- **Responsável:** Wesley -- **Atributos**: - - `id` (identificador do hóspede) - - `nome` (nome completo do hóspede) - - `telefone` (contato do hóspede) -- **Métodos**: - - `exibir_hospede()`: Mostra os dados do hóspede. - -### Classe Reserva -- **Responsável:** Karen -- **Atributos**: - - `id` (identificador da reserva) - - `hospede` (objeto da classe Hospede) - - `quarto` (objeto da classe Quarto) - - `diarias` (quantidade de diárias reservadas) -- **Métodos**: - - `calcular_total()`: Retorna o valor total da reserva (diárias × preço da diária do quarto). - - `finalizar_reserva()`: Atualiza o status do quarto para indisponível. - - `exibir_resumo()`: Mostra os detalhes da reserva (hóspede, quarto e valor total). - ---- - -## Resultados Esperados -1. **Criação das classes pelos alunos**: Karen, Raíssa e Wesley - - Cada aluno será responsável por criar e implementar sua classe com base no modelo fornecido. -2. **Simulação de uma reserva completa**: - - **Exemplo de quarto**: - - Quarto 1: Solteiro, R$ 100 por diária, disponível. - - **Exemplo de hóspede**: - - Hóspede: Maria Oliveira, telefone `11 99999-1234`. - - **Exemplo de reserva**: - - Maria Oliveira reserva o quarto 1 por 3 diárias. -3. **Interação entre as classes**: - - O sistema calcula o valor total da reserva (R$ 300) e atualiza o status do quarto para indisponível. - - Exibe o resumo da reserva: - - Hóspede: Maria Oliveira - - Quarto: Solteiro - - Valor total: R$ 300 - diff --git a/Ex02-git+POO/Hospede.java b/Ex02-git+POO/Hospede.java deleted file mode 100644 index d2ccefc..0000000 --- a/Ex02-git+POO/Hospede.java +++ /dev/null @@ -1,47 +0,0 @@ - -public class Hospede { - - private int id; - private String nome; - private int telefone; - - public Hospede() { - - } - - public Hospede(int id, String nome, int telefone) { - this.id = id; - this.nome = nome; - this.telefone = telefone; - } - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public String getNome() { - return nome; - } - - public void setNome(String nome) { - this.nome = nome; - } - - public int getTelefone() { - return telefone; - } - - public void setTelefone(int telefone) { - this.telefone = telefone; - } - - - public void exibirHospede() { - System.out.println("O id do hospede é: " + this.id + "\nO nome do hospede é: " + this.nome + "\nO telefone do hospede é: " + this.telefone ); - - } -} diff --git a/Ex02-git+POO/Main.java b/Ex02-git+POO/Main.java deleted file mode 100644 index 49e02d8..0000000 --- a/Ex02-git+POO/Main.java +++ /dev/null @@ -1,54 +0,0 @@ -import java.util.Scanner; - -public class Main { - import Scanner; - - public static void main(String[] args) { - Scanner teclado = new Scanner(System.in); - - System.out.print("Digite o ID do quarto: "); - int idQuarto = teclado.nextInt(); - scanner.nextLine(); //rsp - - System.out.print("Digite o tipo do quarto: "); - String tipoQuarto = teclado.nextLine(); - - System.out.print("Digite o preço da diária: "); - double precoDiaria = teclado.nextDouble(); - - Quarto quarto = new Quarto(idQuarto, tipoQuarto, precoDiaria, true); - quarto.exibirDetalhes(); - - System.out.print("Digite o ID do hóspede: "); - int idHospede = teclado.nextInt(); - teclado.nextLine(); - - System.out.print("Digite o nome do hóspede: "); - String nomeHospede = teclado.nextLine(); - - System.out.print("Digite o telefone do hóspede: "); - String telefoneHospede = teclado.nextLine(); - - Hospede hospede = new Hospede(idHospede, nomeHospede, telefoneHospede); - hospede.exibirHospede(); - - System.out.print("Digite a quantidade de diárias: "); - int diarias = teclado.nextInt(); - - Reserva reserva = new Reserva(1, hospede, quarto, diarias); - - System.out.println("Total da reserva: R$" + reserva.calcularTotal()); - reserva.finalizarReserva(); - quarto.marcarIndisponivel(); - reserva.exibirResumo(); - - // Simulando liberação do quarto após checkout - System.out.println("Liberando o quarto..."); - quarto.marcarDisponivel(); - quarto.exibirDetalhes(); - - teclado.close(); - } - } - -} diff --git a/Ex02-git+POO/Quarto.java b/Ex02-git+POO/Quarto.java deleted file mode 100644 index d5e47e9..0000000 --- a/Ex02-git+POO/Quarto.java +++ /dev/null @@ -1,47 +0,0 @@ -/* **Atributos**: Raíssa - - `id` (identificador do quarto) - - `tipo` (tipo do quarto, ex.: solteiro, casal, família) - - `preco_diaria` (preço da diária) - - `disponivel` (indica se o quarto está disponível: `True` ou `False`) -- **Métodos**: - - `marcar_indisponivel()`: Altera o status de disponibilidade para `False`. - - `marcar_disponivel()`: Altera o status de disponibilidade para `True`. - - `exibir_detalhes()`: Mostra os dados do quarto. - */ - -public class Quarto { - private int id; - private String tipo; - private double preco_diaria; - private boolean disponivel; - - //padrão - public Quarto(){ - - } - - //com parametros - public Quarto(int id, String tipo, double preco_diaria, boolean disponivel) { - this.id = id; - this.tipo = tipo; - this.preco_diaria = preco_diaria; - this.disponivel = disponivel; - } - - //metpodos que façam os quartps estarem ou não disponíveis - public void marcarDisponivel() { - this.disponivel = true; - } - public void marcarIndisponivel() { - this.disponivel = false; - } - - - //detalhes do quarto - public void exibirDetalhes() { - System.out.println("ID: " + id); - System.out.println("Tipo: " + tipo); - System.out.println("Preço da diária: R$" + preco_diaria); - System.out.println((disponivel ? "Sim" : "Não")); - } -}//class \ No newline at end of file diff --git a/Ex02-git+POO/Reserva.java b/Ex02-git+POO/Reserva.java deleted file mode 100644 index df87889..0000000 --- a/Ex02-git+POO/Reserva.java +++ /dev/null @@ -1,54 +0,0 @@ -public class Reserva { - //atributos - private int id; - private Quarto quarto; - private Hospede hospede; - private int diarias; - //metodo construtor com parametro - public Reserva(int id, Quarto quarto, Hospede hospede, int diarias) { - this.id = id; - this.quarto = quarto; - this.hospede = hospede; - this.diarias = diarias; - } - //Get & Set - public int getId() { - return id; - } - public void setId(int id) { - this.id = id; - } - public Quarto getQuarto() { - return quarto; - } - public void setQuarto(Quarto quarto) { - this.quarto = quarto; - } - public Hospede getHospede() { - return hospede; - } - public void setHospede(Hospede hospede) { - this.hospede = hospede; - } - public int getDiarias() { - return diarias; - } - public void setDiarias(int diarias) { - this.diarias = diarias; - } - //metodos - public void calcular_total() { - reserva = getDiarias() * preco_diaria; - System.out.println("O valor total da reserva é de: " + reserva); - } - public void finalizar_reserva() { - if (quarto != True) { - System.out.println("Quarto indisponível! "); - } - } - public void exibir_resumo() { - System.out.println("Id da reserva: " + getId() + "\nTipo do quarto: " + getQuarto() + - "\nNome do cliente: " + getHospede() + "\nDiárias: " + getDiarias()); - - } -}//class \ No newline at end of file From 366ef87c82a341e8e09096e174cd1dcff256e840 Mon Sep 17 00:00:00 2001 From: MykyBalb <166543770+MykyBalb@users.noreply.github.com> Date: Wed, 29 Jan 2025 16:31:39 -0300 Subject: [PATCH 49/56] Add files via upload --- Ex02-git+POO/Briefing.md | 70 ++++++++++++++++++++++++++++++++++++ Ex02-git+POO/Hospede.java | 34 ++++++++++++++++++ Ex02-git+POO/Main.java | 33 +++++++++++++++++ Ex02-git+POO/Quarto.java | 61 +++++++++++++++++++++++++++++++ Ex02-git+POO/Reserva.java | 75 +++++++++++++++++++++++++++++++++++++++ 5 files changed, 273 insertions(+) create mode 100644 Ex02-git+POO/Briefing.md create mode 100644 Ex02-git+POO/Hospede.java create mode 100644 Ex02-git+POO/Main.java create mode 100644 Ex02-git+POO/Quarto.java create mode 100644 Ex02-git+POO/Reserva.java diff --git a/Ex02-git+POO/Briefing.md b/Ex02-git+POO/Briefing.md new file mode 100644 index 0000000..7f79d41 --- /dev/null +++ b/Ex02-git+POO/Briefing.md @@ -0,0 +1,70 @@ +# Situação-Problema: Sistema de Reservas para um Hotel + +## Contexto +Um hotel chamado **Hotel Estrela do Mar** deseja informatizar o sistema de reservas para melhorar a gestão de quartos, hóspedes e reservas. Cada aluno será responsável por criar uma classe que representa um elemento do sistema. As classes devem ser interdependentes, ou seja, uma classe depende dos dados fornecidos pelas outras para funcionar corretamente. + +## Objetivo +Desenvolver três classes interdependentes, sendo: + +1. **Quarto**: Representa os quartos disponíveis no hotel. +2. **Hospede**: Armazena as informações dos hóspedes que fazem reservas. +3. **Reserva**: Controla o processo de reserva, relacionando hóspedes e quartos. + +A interação entre essas classes permitirá que os alunos simulem um processo completo de reserva, onde um hóspede escolhe um quarto, e o sistema registra a reserva e atualiza o status de disponibilidade do quarto. + +--- + +## Distribuição das Classes (Cada aluno cria uma classe) + +### Classe Quarto +- **Responsável:** Aluno 1 +- **Atributos**: + - `id` (identificador do quarto) + - `tipo` (tipo do quarto, ex.: solteiro, casal, família) + - `preco_diaria` (preço da diária) + - `disponivel` (indica se o quarto está disponível: `True` ou `False`) +- **Métodos**: + - `marcar_indisponivel()`: Altera o status de disponibilidade para `False`. + - `marcar_disponivel()`: Altera o status de disponibilidade para `True`. + - `exibir_detalhes()`: Mostra os dados do quarto. + +### Classe Hospede +- **Responsável:** Aluno 2 +- **Atributos**: + - `id` (identificador do hóspede) + - `nome` (nome completo do hóspede) + - `telefone` (contato do hóspede) +- **Métodos**: + - `exibir_hospede()`: Mostra os dados do hóspede. + +### Classe Reserva +- **Responsável:** Aluno 3 +- **Atributos**: + - `id` (identificador da reserva) + - `hospede` (objeto da classe Hospede) + - `quarto` (objeto da classe Quarto) + - `diarias` (quantidade de diárias reservadas) +- **Métodos**: + - `calcular_total()`: Retorna o valor total da reserva (diárias × preço da diária do quarto). + - `finalizar_reserva()`: Atualiza o status do quarto para indisponível. + - `exibir_resumo()`: Mostra os detalhes da reserva (hóspede, quarto e valor total). + +--- + +## Resultados Esperados +1. **Criação das classes pelos alunos**: + - Cada aluno será responsável por criar e implementar sua classe com base no modelo fornecido. +2. **Simulação de uma reserva completa**: + - **Exemplo de quarto**: + - Quarto 1: Solteiro, R$ 100 por diária, disponível. + - **Exemplo de hóspede**: + - Hóspede: Maria Oliveira, telefone `11 99999-1234`. + - **Exemplo de reserva**: + - Maria Oliveira reserva o quarto 1 por 3 diárias. +3. **Interação entre as classes**: + - O sistema calcula o valor total da reserva (R$ 300) e atualiza o status do quarto para indisponível. + - Exibe o resumo da reserva: + - Hóspede: Maria Oliveira + - Quarto: Solteiro + - Valor total: R$ 300 + diff --git a/Ex02-git+POO/Hospede.java b/Ex02-git+POO/Hospede.java new file mode 100644 index 0000000..6e03321 --- /dev/null +++ b/Ex02-git+POO/Hospede.java @@ -0,0 +1,34 @@ +public class Hospede { + private int id; + private String nome; + private String telefone; + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getNome() { + return nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public String getTelefone() { + return telefone; + } + + public void setTelefone(String telefone) { + this.telefone = telefone; + + + } + public void exibir_hospede(){ + System.out.println("O id do Hóspede é: " + this.id + " O nome do cliente é: " + this.nome + " O telefone do Hóspede é: " + this.telefone ); + } +} diff --git a/Ex02-git+POO/Main.java b/Ex02-git+POO/Main.java new file mode 100644 index 0000000..969436d --- /dev/null +++ b/Ex02-git+POO/Main.java @@ -0,0 +1,33 @@ +import java.util.Scanner; + +public class Main { + + public static void main(String[] args) { + + Scanner entrada = new Scanner(System.in); + + Quarto quarto1 = new Quarto(); + Hospede hospede1 = new Hospede(); + Reserva reserva1 = new Reserva(); + + System.out.println("Qual o nome do hóspede?"); + hospede1.setNome(entrada.nextLine()); + System.out.println("Digite o número de telefone do hóspede:"); + hospede1.setTelefone(entrada.nextLine()); + System.out.println("Tipo do quarto(Solteiro ou Casal):"); + quarto1.setTipo(entrada.nextLine()); + System.out.println("Qual o preço da diaria?"); + quarto1.setPreco_diaria(entrada.nextFloat()); + System.out.println("Quantas diárias:"); + reserva1.setDiaria(entrada.nextInt()); + + + reserva1.setHospede(hospede1.getNome()); + reserva1.setQuarto(quarto1.getTipo()); + reserva1.calcularTotal(quarto1.getPreco_diaria(), reserva1.getDiaria()); + + System.out.println("Informações da reserva:\nHóspede: " + hospede1.getNome() + "\nQuarto: " + quarto1.getTipo() + "\nValor total: " + reserva1.valorTotal); + + } + +} diff --git a/Ex02-git+POO/Quarto.java b/Ex02-git+POO/Quarto.java new file mode 100644 index 0000000..6994558 --- /dev/null +++ b/Ex02-git+POO/Quarto.java @@ -0,0 +1,61 @@ +import java.net.StandardSocketOptions; + +public class Quarto { + + private int idQuarto; + + public String tipo; + + public float preco_diaria; + + public boolean disponivel; + + public int getIdQuarto() { + return idQuarto; + } + + public void setIdQuarto(int idQuarto) { + this.idQuarto = idQuarto; + } + + public String getTipo() { + return tipo; + } + + public void setTipo(String tipo) { + this.tipo = tipo; + } + + public float getPreco_diaria() { + return preco_diaria; + } + + public void setPreco_diaria(float preco_diaria) { + this.preco_diaria = preco_diaria; + } + + public boolean isDisponivel() { + return disponivel; + } + + public void setDisponivel(boolean disponivel) { + this.disponivel = disponivel; + } + + public void marcarIndisponivel(boolean disponivel) { + this.disponivel = false; + + } + + public void marcarDisponivel(boolean disponivel) { + this.disponivel = true; + + } + public void exibirDetalhes() { + System.out.println("Id do quarto: " + getIdQuarto()); + System.out.println("Tipo do quarto: " + getTipo()); + System.out.println("Preço do quarto: " + preco_diaria); + System.out.println("Disponibilidade do quarto: " + disponivel); + + } +} diff --git a/Ex02-git+POO/Reserva.java b/Ex02-git+POO/Reserva.java new file mode 100644 index 0000000..68babf4 --- /dev/null +++ b/Ex02-git+POO/Reserva.java @@ -0,0 +1,75 @@ +public class Reserva extends Quarto{ + private int idReserva; + String hospede; + String quarto; + int diaria; + float precoDiaria; + float valorTotal; + + public Reserva() { + } + + public Reserva(int idReserva, String hospede, String quarto, int diaria, float precoDiaria) { + this.idReserva = idReserva; + this.hospede = hospede; + this.quarto = quarto; + this.diaria = diaria; + this.precoDiaria = super.preco_diaria; + } + + public int getIdReserva() { + return idReserva; + } + + public void setIdReserva(int idReserva) { + this.idReserva = idReserva; + } + + public String getHospede() { + return hospede; + } + + public void setHospede(String hospede) { + this.hospede = hospede; + } + + public String getQuarto() { + return quarto; + } + + public void setQuarto(String quarto) { + this.quarto = quarto; + } + + public int getDiaria() { + return diaria; + } + + public void setDiaria(int diaria) { + this.diaria = diaria; + } + + public float getPrecoDiaria() { + return precoDiaria; + } + + public void setPrecoDiaria(float precoDiaria) { + this.precoDiaria = precoDiaria; + } + + public void calcularTotal(float precoDiaria, int diaria) { + valorTotal = precoDiaria * diaria; + } + + public void finalizarReserva() { + if (isDisponivel()) { + marcarIndisponivel(true); + System.out.println("Reserva finalizada o quarto " + quarto + " agora está indisponível."); + } + + + + } +} + + From b919665e255a4ce9c54c2463d5768aa9382309b4 Mon Sep 17 00:00:00 2001 From: Vinicius dos Santos Date: Thu, 30 Jan 2025 14:44:20 -0300 Subject: [PATCH 50/56] exemplo de servelet --- .idea/PBE-2TDS-Modulo01.iml | 2 ++ Ex01-git+POO/{exercicio1 => }/Briefing.md | 0 Ex01-git+POO/{exercicio1 => }/Cliente.java | 0 Ex01-git+POO/{exercicio1 => }/Main.java | 0 Ex01-git+POO/{exercicio1 => }/Pedido.java | 0 Ex01-git+POO/{exercicio1 => }/Produto.java | 0 Ex03-java+servlets/.classpath | 13 ++++++++ Ex03-java+servlets/.gitignore | 1 + Ex03-java+servlets/.project | 31 +++++++++++++++++++ Ex03-java+servlets/.settings/.jsdtscope | 12 +++++++ .../.settings/org.eclipse.jdt.core.prefs | 9 ++++++ .../org.eclipse.wst.common.component | 8 +++++ ....eclipse.wst.common.project.facet.core.xml | 10 ++++++ ...rg.eclipse.wst.jsdt.ui.superType.container | 1 + .../org.eclipse.wst.jsdt.ui.superType.name | 1 + .../src/main/java/hello/Hello.java | 21 +++++++++++++ .../src/main/webapp/META-INF/MANIFEST.MF | 3 ++ 17 files changed, 112 insertions(+) rename Ex01-git+POO/{exercicio1 => }/Briefing.md (100%) rename Ex01-git+POO/{exercicio1 => }/Cliente.java (100%) rename Ex01-git+POO/{exercicio1 => }/Main.java (100%) rename Ex01-git+POO/{exercicio1 => }/Pedido.java (100%) rename Ex01-git+POO/{exercicio1 => }/Produto.java (100%) create mode 100644 Ex03-java+servlets/.classpath create mode 100644 Ex03-java+servlets/.gitignore create mode 100644 Ex03-java+servlets/.project create mode 100644 Ex03-java+servlets/.settings/.jsdtscope create mode 100644 Ex03-java+servlets/.settings/org.eclipse.jdt.core.prefs create mode 100644 Ex03-java+servlets/.settings/org.eclipse.wst.common.component create mode 100644 Ex03-java+servlets/.settings/org.eclipse.wst.common.project.facet.core.xml create mode 100644 Ex03-java+servlets/.settings/org.eclipse.wst.jsdt.ui.superType.container create mode 100644 Ex03-java+servlets/.settings/org.eclipse.wst.jsdt.ui.superType.name create mode 100644 Ex03-java+servlets/src/main/java/hello/Hello.java create mode 100644 Ex03-java+servlets/src/main/webapp/META-INF/MANIFEST.MF diff --git a/.idea/PBE-2TDS-Modulo01.iml b/.idea/PBE-2TDS-Modulo01.iml index 84de03e..9ae6fc2 100644 --- a/.idea/PBE-2TDS-Modulo01.iml +++ b/.idea/PBE-2TDS-Modulo01.iml @@ -5,8 +5,10 @@ + + \ No newline at end of file diff --git a/Ex01-git+POO/exercicio1/Briefing.md b/Ex01-git+POO/Briefing.md similarity index 100% rename from Ex01-git+POO/exercicio1/Briefing.md rename to Ex01-git+POO/Briefing.md diff --git a/Ex01-git+POO/exercicio1/Cliente.java b/Ex01-git+POO/Cliente.java similarity index 100% rename from Ex01-git+POO/exercicio1/Cliente.java rename to Ex01-git+POO/Cliente.java diff --git a/Ex01-git+POO/exercicio1/Main.java b/Ex01-git+POO/Main.java similarity index 100% rename from Ex01-git+POO/exercicio1/Main.java rename to Ex01-git+POO/Main.java diff --git a/Ex01-git+POO/exercicio1/Pedido.java b/Ex01-git+POO/Pedido.java similarity index 100% rename from Ex01-git+POO/exercicio1/Pedido.java rename to Ex01-git+POO/Pedido.java diff --git a/Ex01-git+POO/exercicio1/Produto.java b/Ex01-git+POO/Produto.java similarity index 100% rename from Ex01-git+POO/exercicio1/Produto.java rename to Ex01-git+POO/Produto.java diff --git a/Ex03-java+servlets/.classpath b/Ex03-java+servlets/.classpath new file mode 100644 index 0000000..7d0c7d2 --- /dev/null +++ b/Ex03-java+servlets/.classpath @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/Ex03-java+servlets/.gitignore b/Ex03-java+servlets/.gitignore new file mode 100644 index 0000000..84c048a --- /dev/null +++ b/Ex03-java+servlets/.gitignore @@ -0,0 +1 @@ +/build/ diff --git a/Ex03-java+servlets/.project b/Ex03-java+servlets/.project new file mode 100644 index 0000000..0b165c8 --- /dev/null +++ b/Ex03-java+servlets/.project @@ -0,0 +1,31 @@ + + + HelloWoldServlet + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.wst.common.project.facet.core.builder + + + + + org.eclipse.wst.validation.validationbuilder + + + + + + org.eclipse.jem.workbench.JavaEMFNature + org.eclipse.wst.common.modulecore.ModuleCoreNature + org.eclipse.wst.common.project.facet.core.nature + org.eclipse.jdt.core.javanature + org.eclipse.wst.jsdt.core.jsNature + + diff --git a/Ex03-java+servlets/.settings/.jsdtscope b/Ex03-java+servlets/.settings/.jsdtscope new file mode 100644 index 0000000..76c2d63 --- /dev/null +++ b/Ex03-java+servlets/.settings/.jsdtscope @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/Ex03-java+servlets/.settings/org.eclipse.jdt.core.prefs b/Ex03-java+servlets/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..23fa13b --- /dev/null +++ b/Ex03-java+servlets/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,9 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 +org.eclipse.jdt.core.compiler.compliance=21 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 diff --git a/Ex03-java+servlets/.settings/org.eclipse.wst.common.component b/Ex03-java+servlets/.settings/org.eclipse.wst.common.component new file mode 100644 index 0000000..fa7eec0 --- /dev/null +++ b/Ex03-java+servlets/.settings/org.eclipse.wst.common.component @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/Ex03-java+servlets/.settings/org.eclipse.wst.common.project.facet.core.xml b/Ex03-java+servlets/.settings/org.eclipse.wst.common.project.facet.core.xml new file mode 100644 index 0000000..fe0ece7 --- /dev/null +++ b/Ex03-java+servlets/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Ex03-java+servlets/.settings/org.eclipse.wst.jsdt.ui.superType.container b/Ex03-java+servlets/.settings/org.eclipse.wst.jsdt.ui.superType.container new file mode 100644 index 0000000..3bd5d0a --- /dev/null +++ b/Ex03-java+servlets/.settings/org.eclipse.wst.jsdt.ui.superType.container @@ -0,0 +1 @@ +org.eclipse.wst.jsdt.launching.baseBrowserLibrary \ No newline at end of file diff --git a/Ex03-java+servlets/.settings/org.eclipse.wst.jsdt.ui.superType.name b/Ex03-java+servlets/.settings/org.eclipse.wst.jsdt.ui.superType.name new file mode 100644 index 0000000..05bd71b --- /dev/null +++ b/Ex03-java+servlets/.settings/org.eclipse.wst.jsdt.ui.superType.name @@ -0,0 +1 @@ +Window \ No newline at end of file diff --git a/Ex03-java+servlets/src/main/java/hello/Hello.java b/Ex03-java+servlets/src/main/java/hello/Hello.java new file mode 100644 index 0000000..7cd2f38 --- /dev/null +++ b/Ex03-java+servlets/src/main/java/hello/Hello.java @@ -0,0 +1,21 @@ +package hello; + +import java.io.IOException; +import java.io.PrintWriter; +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +@WebServlet("/hello") +public class Hello extends HttpServlet { + private static final long serialVersionUID = 1L; + + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + response.setContentType("text/html"); + PrintWriter out = response.getWriter(); + out.println("

Olá, Mundo! Este é um Servlet no Eclipse.

"); + } +} diff --git a/Ex03-java+servlets/src/main/webapp/META-INF/MANIFEST.MF b/Ex03-java+servlets/src/main/webapp/META-INF/MANIFEST.MF new file mode 100644 index 0000000..254272e --- /dev/null +++ b/Ex03-java+servlets/src/main/webapp/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Class-Path: + From 96ce3b180fe491cca7ea7e4c2a9d30d854fb6140 Mon Sep 17 00:00:00 2001 From: Vinicius dos Santos Date: Thu, 30 Jan 2025 15:09:54 -0300 Subject: [PATCH 51/56] =?UTF-8?q?adiciona=203=20formas=20de=20intera=C3=A7?= =?UTF-8?q?=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/libraries/jakarta_servlet_api_6_1_0.xml | 9 +++++ Ex04-java+servlets+html/.classpath | 13 +++++++ Ex04-java+servlets+html/.gitignore | 1 + Ex04-java+servlets+html/.project | 31 ++++++++++++++++ Ex04-java+servlets+html/.settings/.jsdtscope | 12 +++++++ .../.settings/org.eclipse.jdt.core.prefs | 9 +++++ .../org.eclipse.wst.common.component | 14 ++++++++ ....eclipse.wst.common.project.facet.core.xml | 10 ++++++ ...rg.eclipse.wst.jsdt.ui.superType.container | 1 + .../org.eclipse.wst.jsdt.ui.superType.name | 1 + .../src/main/java/hello/Hello.java | 21 +++++++++++ .../src/main/webapp/META-INF/MANIFEST.MF | 3 ++ .../src/main/webapp/index.html | 12 +++++++ Ex05-java+servlets+forms/.classpath | 13 +++++++ Ex05-java+servlets+forms/.gitignore | 1 + Ex05-java+servlets+forms/.project | 31 ++++++++++++++++ Ex05-java+servlets+forms/.settings/.jsdtscope | 12 +++++++ .../.settings/org.eclipse.jdt.core.prefs | 9 +++++ .../org.eclipse.wst.common.component | 20 +++++++++++ ....eclipse.wst.common.project.facet.core.xml | 10 ++++++ ...rg.eclipse.wst.jsdt.ui.superType.container | 1 + .../org.eclipse.wst.jsdt.ui.superType.name | 1 + .../src/main/java/hello/Hello.java | 36 +++++++++++++++++++ .../src/main/webapp/META-INF/MANIFEST.MF | 3 ++ .../src/main/webapp/index.html | 16 +++++++++ 25 files changed, 290 insertions(+) create mode 100644 .idea/libraries/jakarta_servlet_api_6_1_0.xml create mode 100644 Ex04-java+servlets+html/.classpath create mode 100644 Ex04-java+servlets+html/.gitignore create mode 100644 Ex04-java+servlets+html/.project create mode 100644 Ex04-java+servlets+html/.settings/.jsdtscope create mode 100644 Ex04-java+servlets+html/.settings/org.eclipse.jdt.core.prefs create mode 100644 Ex04-java+servlets+html/.settings/org.eclipse.wst.common.component create mode 100644 Ex04-java+servlets+html/.settings/org.eclipse.wst.common.project.facet.core.xml create mode 100644 Ex04-java+servlets+html/.settings/org.eclipse.wst.jsdt.ui.superType.container create mode 100644 Ex04-java+servlets+html/.settings/org.eclipse.wst.jsdt.ui.superType.name create mode 100644 Ex04-java+servlets+html/src/main/java/hello/Hello.java create mode 100644 Ex04-java+servlets+html/src/main/webapp/META-INF/MANIFEST.MF create mode 100644 Ex04-java+servlets+html/src/main/webapp/index.html create mode 100644 Ex05-java+servlets+forms/.classpath create mode 100644 Ex05-java+servlets+forms/.gitignore create mode 100644 Ex05-java+servlets+forms/.project create mode 100644 Ex05-java+servlets+forms/.settings/.jsdtscope create mode 100644 Ex05-java+servlets+forms/.settings/org.eclipse.jdt.core.prefs create mode 100644 Ex05-java+servlets+forms/.settings/org.eclipse.wst.common.component create mode 100644 Ex05-java+servlets+forms/.settings/org.eclipse.wst.common.project.facet.core.xml create mode 100644 Ex05-java+servlets+forms/.settings/org.eclipse.wst.jsdt.ui.superType.container create mode 100644 Ex05-java+servlets+forms/.settings/org.eclipse.wst.jsdt.ui.superType.name create mode 100644 Ex05-java+servlets+forms/src/main/java/hello/Hello.java create mode 100644 Ex05-java+servlets+forms/src/main/webapp/META-INF/MANIFEST.MF create mode 100644 Ex05-java+servlets+forms/src/main/webapp/index.html diff --git a/.idea/libraries/jakarta_servlet_api_6_1_0.xml b/.idea/libraries/jakarta_servlet_api_6_1_0.xml new file mode 100644 index 0000000..1aca8fa --- /dev/null +++ b/.idea/libraries/jakarta_servlet_api_6_1_0.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/Ex04-java+servlets+html/.classpath b/Ex04-java+servlets+html/.classpath new file mode 100644 index 0000000..7d0c7d2 --- /dev/null +++ b/Ex04-java+servlets+html/.classpath @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/Ex04-java+servlets+html/.gitignore b/Ex04-java+servlets+html/.gitignore new file mode 100644 index 0000000..84c048a --- /dev/null +++ b/Ex04-java+servlets+html/.gitignore @@ -0,0 +1 @@ +/build/ diff --git a/Ex04-java+servlets+html/.project b/Ex04-java+servlets+html/.project new file mode 100644 index 0000000..bf1f867 --- /dev/null +++ b/Ex04-java+servlets+html/.project @@ -0,0 +1,31 @@ + + + RenderizaHTML + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.wst.common.project.facet.core.builder + + + + + org.eclipse.wst.validation.validationbuilder + + + + + + org.eclipse.jem.workbench.JavaEMFNature + org.eclipse.wst.common.modulecore.ModuleCoreNature + org.eclipse.wst.common.project.facet.core.nature + org.eclipse.jdt.core.javanature + org.eclipse.wst.jsdt.core.jsNature + + diff --git a/Ex04-java+servlets+html/.settings/.jsdtscope b/Ex04-java+servlets+html/.settings/.jsdtscope new file mode 100644 index 0000000..76c2d63 --- /dev/null +++ b/Ex04-java+servlets+html/.settings/.jsdtscope @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/Ex04-java+servlets+html/.settings/org.eclipse.jdt.core.prefs b/Ex04-java+servlets+html/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..23fa13b --- /dev/null +++ b/Ex04-java+servlets+html/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,9 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 +org.eclipse.jdt.core.compiler.compliance=21 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 diff --git a/Ex04-java+servlets+html/.settings/org.eclipse.wst.common.component b/Ex04-java+servlets+html/.settings/org.eclipse.wst.common.component new file mode 100644 index 0000000..63f8f02 --- /dev/null +++ b/Ex04-java+servlets+html/.settings/org.eclipse.wst.common.component @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/Ex04-java+servlets+html/.settings/org.eclipse.wst.common.project.facet.core.xml b/Ex04-java+servlets+html/.settings/org.eclipse.wst.common.project.facet.core.xml new file mode 100644 index 0000000..fe0ece7 --- /dev/null +++ b/Ex04-java+servlets+html/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Ex04-java+servlets+html/.settings/org.eclipse.wst.jsdt.ui.superType.container b/Ex04-java+servlets+html/.settings/org.eclipse.wst.jsdt.ui.superType.container new file mode 100644 index 0000000..3bd5d0a --- /dev/null +++ b/Ex04-java+servlets+html/.settings/org.eclipse.wst.jsdt.ui.superType.container @@ -0,0 +1 @@ +org.eclipse.wst.jsdt.launching.baseBrowserLibrary \ No newline at end of file diff --git a/Ex04-java+servlets+html/.settings/org.eclipse.wst.jsdt.ui.superType.name b/Ex04-java+servlets+html/.settings/org.eclipse.wst.jsdt.ui.superType.name new file mode 100644 index 0000000..05bd71b --- /dev/null +++ b/Ex04-java+servlets+html/.settings/org.eclipse.wst.jsdt.ui.superType.name @@ -0,0 +1 @@ +Window \ No newline at end of file diff --git a/Ex04-java+servlets+html/src/main/java/hello/Hello.java b/Ex04-java+servlets+html/src/main/java/hello/Hello.java new file mode 100644 index 0000000..7be4588 --- /dev/null +++ b/Ex04-java+servlets+html/src/main/java/hello/Hello.java @@ -0,0 +1,21 @@ +package hello; + +import java.io.IOException; + +import java.io.PrintWriter; +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + + +@WebServlet("/renderizar") +public class Hello extends HttpServlet { + private static final long serialVersionUID = 1L; + + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + request.getRequestDispatcher("/index.html").forward(request, response); + } +} \ No newline at end of file diff --git a/Ex04-java+servlets+html/src/main/webapp/META-INF/MANIFEST.MF b/Ex04-java+servlets+html/src/main/webapp/META-INF/MANIFEST.MF new file mode 100644 index 0000000..254272e --- /dev/null +++ b/Ex04-java+servlets+html/src/main/webapp/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Class-Path: + diff --git a/Ex04-java+servlets+html/src/main/webapp/index.html b/Ex04-java+servlets+html/src/main/webapp/index.html new file mode 100644 index 0000000..be064a3 --- /dev/null +++ b/Ex04-java+servlets+html/src/main/webapp/index.html @@ -0,0 +1,12 @@ + + + + + + Página do Servlet + + +

Bem-vindo ao Servlet!

+

Este é um exemplo de como um Servlet pode renderizar um HTML.

+ + diff --git a/Ex05-java+servlets+forms/.classpath b/Ex05-java+servlets+forms/.classpath new file mode 100644 index 0000000..7d0c7d2 --- /dev/null +++ b/Ex05-java+servlets+forms/.classpath @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/Ex05-java+servlets+forms/.gitignore b/Ex05-java+servlets+forms/.gitignore new file mode 100644 index 0000000..84c048a --- /dev/null +++ b/Ex05-java+servlets+forms/.gitignore @@ -0,0 +1 @@ +/build/ diff --git a/Ex05-java+servlets+forms/.project b/Ex05-java+servlets+forms/.project new file mode 100644 index 0000000..5991cf0 --- /dev/null +++ b/Ex05-java+servlets+forms/.project @@ -0,0 +1,31 @@ + + + html+forms + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.wst.common.project.facet.core.builder + + + + + org.eclipse.wst.validation.validationbuilder + + + + + + org.eclipse.jem.workbench.JavaEMFNature + org.eclipse.wst.common.modulecore.ModuleCoreNature + org.eclipse.wst.common.project.facet.core.nature + org.eclipse.jdt.core.javanature + org.eclipse.wst.jsdt.core.jsNature + + diff --git a/Ex05-java+servlets+forms/.settings/.jsdtscope b/Ex05-java+servlets+forms/.settings/.jsdtscope new file mode 100644 index 0000000..76c2d63 --- /dev/null +++ b/Ex05-java+servlets+forms/.settings/.jsdtscope @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/Ex05-java+servlets+forms/.settings/org.eclipse.jdt.core.prefs b/Ex05-java+servlets+forms/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..23fa13b --- /dev/null +++ b/Ex05-java+servlets+forms/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,9 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=21 +org.eclipse.jdt.core.compiler.compliance=21 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.release=enabled +org.eclipse.jdt.core.compiler.source=21 diff --git a/Ex05-java+servlets+forms/.settings/org.eclipse.wst.common.component b/Ex05-java+servlets+forms/.settings/org.eclipse.wst.common.component new file mode 100644 index 0000000..fbc270e --- /dev/null +++ b/Ex05-java+servlets+forms/.settings/org.eclipse.wst.common.component @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/Ex05-java+servlets+forms/.settings/org.eclipse.wst.common.project.facet.core.xml b/Ex05-java+servlets+forms/.settings/org.eclipse.wst.common.project.facet.core.xml new file mode 100644 index 0000000..fe0ece7 --- /dev/null +++ b/Ex05-java+servlets+forms/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Ex05-java+servlets+forms/.settings/org.eclipse.wst.jsdt.ui.superType.container b/Ex05-java+servlets+forms/.settings/org.eclipse.wst.jsdt.ui.superType.container new file mode 100644 index 0000000..3bd5d0a --- /dev/null +++ b/Ex05-java+servlets+forms/.settings/org.eclipse.wst.jsdt.ui.superType.container @@ -0,0 +1 @@ +org.eclipse.wst.jsdt.launching.baseBrowserLibrary \ No newline at end of file diff --git a/Ex05-java+servlets+forms/.settings/org.eclipse.wst.jsdt.ui.superType.name b/Ex05-java+servlets+forms/.settings/org.eclipse.wst.jsdt.ui.superType.name new file mode 100644 index 0000000..05bd71b --- /dev/null +++ b/Ex05-java+servlets+forms/.settings/org.eclipse.wst.jsdt.ui.superType.name @@ -0,0 +1 @@ +Window \ No newline at end of file diff --git a/Ex05-java+servlets+forms/src/main/java/hello/Hello.java b/Ex05-java+servlets+forms/src/main/java/hello/Hello.java new file mode 100644 index 0000000..5e050d5 --- /dev/null +++ b/Ex05-java+servlets+forms/src/main/java/hello/Hello.java @@ -0,0 +1,36 @@ +package hello; + +import java.io.IOException; + +import java.io.PrintWriter; +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + + +import java.io.IOException; +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +@WebServlet("/processar") +public class Hello extends HttpServlet { + private static final long serialVersionUID = 1L; + + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + // Captura o valor do parâmetro "nome" enviado pelo formulário + String nome = request.getParameter("nome"); + + // Configura a resposta para ser HTML + response.setContentType("text/html"); + + // Escreve a resposta no navegador + response.getWriter().println("

Olá, " + nome + "!

"); + response.getWriter().println("

Seu nome foi recebido com sucesso.

"); + } +} diff --git a/Ex05-java+servlets+forms/src/main/webapp/META-INF/MANIFEST.MF b/Ex05-java+servlets+forms/src/main/webapp/META-INF/MANIFEST.MF new file mode 100644 index 0000000..254272e --- /dev/null +++ b/Ex05-java+servlets+forms/src/main/webapp/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Class-Path: + diff --git a/Ex05-java+servlets+forms/src/main/webapp/index.html b/Ex05-java+servlets+forms/src/main/webapp/index.html new file mode 100644 index 0000000..88d0168 --- /dev/null +++ b/Ex05-java+servlets+forms/src/main/webapp/index.html @@ -0,0 +1,16 @@ + + + + + + Formulário + + +

Envio de Parâmetro GET

+
+ + + +
+ + From bfb2a211a54833b481803ac444dfd1e5d54d490f Mon Sep 17 00:00:00 2001 From: Vinicius dos Santos Date: Mon, 3 Feb 2025 19:19:19 -0300 Subject: [PATCH 52/56] Adiciona exemplo com spring --- .idea/misc.xml | 2 +- Ex06-java+spring+swagger/.gitattributes | 2 + Ex06-java+spring+swagger/.gitignore | 33 +++ .../.mvn/wrapper/maven-wrapper.properties | 19 ++ Ex06-java+spring+swagger/mvnw | 259 ++++++++++++++++++ Ex06-java+spring+swagger/mvnw.cmd | 149 ++++++++++ Ex06-java+spring+swagger/pom.xml | 92 +++++++ .../swagger/example/ExampleApplication.java | 13 + .../com/swagger/example/FirstEndpoint.java | 13 + .../src/main/resources/application.yml | 0 .../example/ExampleApplicationTests.java | 13 + 11 files changed, 594 insertions(+), 1 deletion(-) create mode 100644 Ex06-java+spring+swagger/.gitattributes create mode 100644 Ex06-java+spring+swagger/.gitignore create mode 100644 Ex06-java+spring+swagger/.mvn/wrapper/maven-wrapper.properties create mode 100644 Ex06-java+spring+swagger/mvnw create mode 100644 Ex06-java+spring+swagger/mvnw.cmd create mode 100644 Ex06-java+spring+swagger/pom.xml create mode 100644 Ex06-java+spring+swagger/src/main/java/com/swagger/example/ExampleApplication.java create mode 100644 Ex06-java+spring+swagger/src/main/java/com/swagger/example/FirstEndpoint.java create mode 100644 Ex06-java+spring+swagger/src/main/resources/application.yml create mode 100644 Ex06-java+spring+swagger/src/test/java/com/swagger/example/ExampleApplicationTests.java diff --git a/.idea/misc.xml b/.idea/misc.xml index 6f29fee..07115cd 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/Ex06-java+spring+swagger/.gitattributes b/Ex06-java+spring+swagger/.gitattributes new file mode 100644 index 0000000..3b41682 --- /dev/null +++ b/Ex06-java+spring+swagger/.gitattributes @@ -0,0 +1,2 @@ +/mvnw text eol=lf +*.cmd text eol=crlf diff --git a/Ex06-java+spring+swagger/.gitignore b/Ex06-java+spring+swagger/.gitignore new file mode 100644 index 0000000..549e00a --- /dev/null +++ b/Ex06-java+spring+swagger/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/Ex06-java+spring+swagger/.mvn/wrapper/maven-wrapper.properties b/Ex06-java+spring+swagger/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 0000000..d58dfb7 --- /dev/null +++ b/Ex06-java+spring+swagger/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1,19 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +wrapperVersion=3.3.2 +distributionType=only-script +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.9/apache-maven-3.9.9-bin.zip diff --git a/Ex06-java+spring+swagger/mvnw b/Ex06-java+spring+swagger/mvnw new file mode 100644 index 0000000..19529dd --- /dev/null +++ b/Ex06-java+spring+swagger/mvnw @@ -0,0 +1,259 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Apache Maven Wrapper startup batch script, version 3.3.2 +# +# Optional ENV vars +# ----------------- +# JAVA_HOME - location of a JDK home dir, required when download maven via java source +# MVNW_REPOURL - repo url base for downloading maven distribution +# MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven +# MVNW_VERBOSE - true: enable verbose log; debug: trace the mvnw script; others: silence the output +# ---------------------------------------------------------------------------- + +set -euf +[ "${MVNW_VERBOSE-}" != debug ] || set -x + +# OS specific support. +native_path() { printf %s\\n "$1"; } +case "$(uname)" in +CYGWIN* | MINGW*) + [ -z "${JAVA_HOME-}" ] || JAVA_HOME="$(cygpath --unix "$JAVA_HOME")" + native_path() { cygpath --path --windows "$1"; } + ;; +esac + +# set JAVACMD and JAVACCMD +set_java_home() { + # For Cygwin and MinGW, ensure paths are in Unix format before anything is touched + if [ -n "${JAVA_HOME-}" ]; then + if [ -x "$JAVA_HOME/jre/sh/java" ]; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + JAVACCMD="$JAVA_HOME/jre/sh/javac" + else + JAVACMD="$JAVA_HOME/bin/java" + JAVACCMD="$JAVA_HOME/bin/javac" + + if [ ! -x "$JAVACMD" ] || [ ! -x "$JAVACCMD" ]; then + echo "The JAVA_HOME environment variable is not defined correctly, so mvnw cannot run." >&2 + echo "JAVA_HOME is set to \"$JAVA_HOME\", but \"\$JAVA_HOME/bin/java\" or \"\$JAVA_HOME/bin/javac\" does not exist." >&2 + return 1 + fi + fi + else + JAVACMD="$( + 'set' +e + 'unset' -f command 2>/dev/null + 'command' -v java + )" || : + JAVACCMD="$( + 'set' +e + 'unset' -f command 2>/dev/null + 'command' -v javac + )" || : + + if [ ! -x "${JAVACMD-}" ] || [ ! -x "${JAVACCMD-}" ]; then + echo "The java/javac command does not exist in PATH nor is JAVA_HOME set, so mvnw cannot run." >&2 + return 1 + fi + fi +} + +# hash string like Java String::hashCode +hash_string() { + str="${1:-}" h=0 + while [ -n "$str" ]; do + char="${str%"${str#?}"}" + h=$(((h * 31 + $(LC_CTYPE=C printf %d "'$char")) % 4294967296)) + str="${str#?}" + done + printf %x\\n $h +} + +verbose() { :; } +[ "${MVNW_VERBOSE-}" != true ] || verbose() { printf %s\\n "${1-}"; } + +die() { + printf %s\\n "$1" >&2 + exit 1 +} + +trim() { + # MWRAPPER-139: + # Trims trailing and leading whitespace, carriage returns, tabs, and linefeeds. + # Needed for removing poorly interpreted newline sequences when running in more + # exotic environments such as mingw bash on Windows. + printf "%s" "${1}" | tr -d '[:space:]' +} + +# parse distributionUrl and optional distributionSha256Sum, requires .mvn/wrapper/maven-wrapper.properties +while IFS="=" read -r key value; do + case "${key-}" in + distributionUrl) distributionUrl=$(trim "${value-}") ;; + distributionSha256Sum) distributionSha256Sum=$(trim "${value-}") ;; + esac +done <"${0%/*}/.mvn/wrapper/maven-wrapper.properties" +[ -n "${distributionUrl-}" ] || die "cannot read distributionUrl property in ${0%/*}/.mvn/wrapper/maven-wrapper.properties" + +case "${distributionUrl##*/}" in +maven-mvnd-*bin.*) + MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ + case "${PROCESSOR_ARCHITECTURE-}${PROCESSOR_ARCHITEW6432-}:$(uname -a)" in + *AMD64:CYGWIN* | *AMD64:MINGW*) distributionPlatform=windows-amd64 ;; + :Darwin*x86_64) distributionPlatform=darwin-amd64 ;; + :Darwin*arm64) distributionPlatform=darwin-aarch64 ;; + :Linux*x86_64*) distributionPlatform=linux-amd64 ;; + *) + echo "Cannot detect native platform for mvnd on $(uname)-$(uname -m), use pure java version" >&2 + distributionPlatform=linux-amd64 + ;; + esac + distributionUrl="${distributionUrl%-bin.*}-$distributionPlatform.zip" + ;; +maven-mvnd-*) MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ ;; +*) MVN_CMD="mvn${0##*/mvnw}" _MVNW_REPO_PATTERN=/org/apache/maven/ ;; +esac + +# apply MVNW_REPOURL and calculate MAVEN_HOME +# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ +[ -z "${MVNW_REPOURL-}" ] || distributionUrl="$MVNW_REPOURL$_MVNW_REPO_PATTERN${distributionUrl#*"$_MVNW_REPO_PATTERN"}" +distributionUrlName="${distributionUrl##*/}" +distributionUrlNameMain="${distributionUrlName%.*}" +distributionUrlNameMain="${distributionUrlNameMain%-bin}" +MAVEN_USER_HOME="${MAVEN_USER_HOME:-${HOME}/.m2}" +MAVEN_HOME="${MAVEN_USER_HOME}/wrapper/dists/${distributionUrlNameMain-}/$(hash_string "$distributionUrl")" + +exec_maven() { + unset MVNW_VERBOSE MVNW_USERNAME MVNW_PASSWORD MVNW_REPOURL || : + exec "$MAVEN_HOME/bin/$MVN_CMD" "$@" || die "cannot exec $MAVEN_HOME/bin/$MVN_CMD" +} + +if [ -d "$MAVEN_HOME" ]; then + verbose "found existing MAVEN_HOME at $MAVEN_HOME" + exec_maven "$@" +fi + +case "${distributionUrl-}" in +*?-bin.zip | *?maven-mvnd-?*-?*.zip) ;; +*) die "distributionUrl is not valid, must match *-bin.zip or maven-mvnd-*.zip, but found '${distributionUrl-}'" ;; +esac + +# prepare tmp dir +if TMP_DOWNLOAD_DIR="$(mktemp -d)" && [ -d "$TMP_DOWNLOAD_DIR" ]; then + clean() { rm -rf -- "$TMP_DOWNLOAD_DIR"; } + trap clean HUP INT TERM EXIT +else + die "cannot create temp dir" +fi + +mkdir -p -- "${MAVEN_HOME%/*}" + +# Download and Install Apache Maven +verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." +verbose "Downloading from: $distributionUrl" +verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" + +# select .zip or .tar.gz +if ! command -v unzip >/dev/null; then + distributionUrl="${distributionUrl%.zip}.tar.gz" + distributionUrlName="${distributionUrl##*/}" +fi + +# verbose opt +__MVNW_QUIET_WGET=--quiet __MVNW_QUIET_CURL=--silent __MVNW_QUIET_UNZIP=-q __MVNW_QUIET_TAR='' +[ "${MVNW_VERBOSE-}" != true ] || __MVNW_QUIET_WGET='' __MVNW_QUIET_CURL='' __MVNW_QUIET_UNZIP='' __MVNW_QUIET_TAR=v + +# normalize http auth +case "${MVNW_PASSWORD:+has-password}" in +'') MVNW_USERNAME='' MVNW_PASSWORD='' ;; +has-password) [ -n "${MVNW_USERNAME-}" ] || MVNW_USERNAME='' MVNW_PASSWORD='' ;; +esac + +if [ -z "${MVNW_USERNAME-}" ] && command -v wget >/dev/null; then + verbose "Found wget ... using wget" + wget ${__MVNW_QUIET_WGET:+"$__MVNW_QUIET_WGET"} "$distributionUrl" -O "$TMP_DOWNLOAD_DIR/$distributionUrlName" || die "wget: Failed to fetch $distributionUrl" +elif [ -z "${MVNW_USERNAME-}" ] && command -v curl >/dev/null; then + verbose "Found curl ... using curl" + curl ${__MVNW_QUIET_CURL:+"$__MVNW_QUIET_CURL"} -f -L -o "$TMP_DOWNLOAD_DIR/$distributionUrlName" "$distributionUrl" || die "curl: Failed to fetch $distributionUrl" +elif set_java_home; then + verbose "Falling back to use Java to download" + javaSource="$TMP_DOWNLOAD_DIR/Downloader.java" + targetZip="$TMP_DOWNLOAD_DIR/$distributionUrlName" + cat >"$javaSource" <<-END + public class Downloader extends java.net.Authenticator + { + protected java.net.PasswordAuthentication getPasswordAuthentication() + { + return new java.net.PasswordAuthentication( System.getenv( "MVNW_USERNAME" ), System.getenv( "MVNW_PASSWORD" ).toCharArray() ); + } + public static void main( String[] args ) throws Exception + { + setDefault( new Downloader() ); + java.nio.file.Files.copy( java.net.URI.create( args[0] ).toURL().openStream(), java.nio.file.Paths.get( args[1] ).toAbsolutePath().normalize() ); + } + } + END + # For Cygwin/MinGW, switch paths to Windows format before running javac and java + verbose " - Compiling Downloader.java ..." + "$(native_path "$JAVACCMD")" "$(native_path "$javaSource")" || die "Failed to compile Downloader.java" + verbose " - Running Downloader.java ..." + "$(native_path "$JAVACMD")" -cp "$(native_path "$TMP_DOWNLOAD_DIR")" Downloader "$distributionUrl" "$(native_path "$targetZip")" +fi + +# If specified, validate the SHA-256 sum of the Maven distribution zip file +if [ -n "${distributionSha256Sum-}" ]; then + distributionSha256Result=false + if [ "$MVN_CMD" = mvnd.sh ]; then + echo "Checksum validation is not supported for maven-mvnd." >&2 + echo "Please disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 + exit 1 + elif command -v sha256sum >/dev/null; then + if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | sha256sum -c >/dev/null 2>&1; then + distributionSha256Result=true + fi + elif command -v shasum >/dev/null; then + if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | shasum -a 256 -c >/dev/null 2>&1; then + distributionSha256Result=true + fi + else + echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." >&2 + echo "Please install either command, or disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 + exit 1 + fi + if [ $distributionSha256Result = false ]; then + echo "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised." >&2 + echo "If you updated your Maven version, you need to update the specified distributionSha256Sum property." >&2 + exit 1 + fi +fi + +# unzip and move +if command -v unzip >/dev/null; then + unzip ${__MVNW_QUIET_UNZIP:+"$__MVNW_QUIET_UNZIP"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -d "$TMP_DOWNLOAD_DIR" || die "failed to unzip" +else + tar xzf${__MVNW_QUIET_TAR:+"$__MVNW_QUIET_TAR"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -C "$TMP_DOWNLOAD_DIR" || die "failed to untar" +fi +printf %s\\n "$distributionUrl" >"$TMP_DOWNLOAD_DIR/$distributionUrlNameMain/mvnw.url" +mv -- "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" "$MAVEN_HOME" || [ -d "$MAVEN_HOME" ] || die "fail to move MAVEN_HOME" + +clean || : +exec_maven "$@" diff --git a/Ex06-java+spring+swagger/mvnw.cmd b/Ex06-java+spring+swagger/mvnw.cmd new file mode 100644 index 0000000..249bdf3 --- /dev/null +++ b/Ex06-java+spring+swagger/mvnw.cmd @@ -0,0 +1,149 @@ +<# : batch portion +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM http://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Apache Maven Wrapper startup batch script, version 3.3.2 +@REM +@REM Optional ENV vars +@REM MVNW_REPOURL - repo url base for downloading maven distribution +@REM MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven +@REM MVNW_VERBOSE - true: enable verbose log; others: silence the output +@REM ---------------------------------------------------------------------------- + +@IF "%__MVNW_ARG0_NAME__%"=="" (SET __MVNW_ARG0_NAME__=%~nx0) +@SET __MVNW_CMD__= +@SET __MVNW_ERROR__= +@SET __MVNW_PSMODULEP_SAVE=%PSModulePath% +@SET PSModulePath= +@FOR /F "usebackq tokens=1* delims==" %%A IN (`powershell -noprofile "& {$scriptDir='%~dp0'; $script='%__MVNW_ARG0_NAME__%'; icm -ScriptBlock ([Scriptblock]::Create((Get-Content -Raw '%~f0'))) -NoNewScope}"`) DO @( + IF "%%A"=="MVN_CMD" (set __MVNW_CMD__=%%B) ELSE IF "%%B"=="" (echo %%A) ELSE (echo %%A=%%B) +) +@SET PSModulePath=%__MVNW_PSMODULEP_SAVE% +@SET __MVNW_PSMODULEP_SAVE= +@SET __MVNW_ARG0_NAME__= +@SET MVNW_USERNAME= +@SET MVNW_PASSWORD= +@IF NOT "%__MVNW_CMD__%"=="" (%__MVNW_CMD__% %*) +@echo Cannot start maven from wrapper >&2 && exit /b 1 +@GOTO :EOF +: end batch / begin powershell #> + +$ErrorActionPreference = "Stop" +if ($env:MVNW_VERBOSE -eq "true") { + $VerbosePreference = "Continue" +} + +# calculate distributionUrl, requires .mvn/wrapper/maven-wrapper.properties +$distributionUrl = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionUrl +if (!$distributionUrl) { + Write-Error "cannot read distributionUrl property in $scriptDir/.mvn/wrapper/maven-wrapper.properties" +} + +switch -wildcard -casesensitive ( $($distributionUrl -replace '^.*/','') ) { + "maven-mvnd-*" { + $USE_MVND = $true + $distributionUrl = $distributionUrl -replace '-bin\.[^.]*$',"-windows-amd64.zip" + $MVN_CMD = "mvnd.cmd" + break + } + default { + $USE_MVND = $false + $MVN_CMD = $script -replace '^mvnw','mvn' + break + } +} + +# apply MVNW_REPOURL and calculate MAVEN_HOME +# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ +if ($env:MVNW_REPOURL) { + $MVNW_REPO_PATTERN = if ($USE_MVND) { "/org/apache/maven/" } else { "/maven/mvnd/" } + $distributionUrl = "$env:MVNW_REPOURL$MVNW_REPO_PATTERN$($distributionUrl -replace '^.*'+$MVNW_REPO_PATTERN,'')" +} +$distributionUrlName = $distributionUrl -replace '^.*/','' +$distributionUrlNameMain = $distributionUrlName -replace '\.[^.]*$','' -replace '-bin$','' +$MAVEN_HOME_PARENT = "$HOME/.m2/wrapper/dists/$distributionUrlNameMain" +if ($env:MAVEN_USER_HOME) { + $MAVEN_HOME_PARENT = "$env:MAVEN_USER_HOME/wrapper/dists/$distributionUrlNameMain" +} +$MAVEN_HOME_NAME = ([System.Security.Cryptography.MD5]::Create().ComputeHash([byte[]][char[]]$distributionUrl) | ForEach-Object {$_.ToString("x2")}) -join '' +$MAVEN_HOME = "$MAVEN_HOME_PARENT/$MAVEN_HOME_NAME" + +if (Test-Path -Path "$MAVEN_HOME" -PathType Container) { + Write-Verbose "found existing MAVEN_HOME at $MAVEN_HOME" + Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" + exit $? +} + +if (! $distributionUrlNameMain -or ($distributionUrlName -eq $distributionUrlNameMain)) { + Write-Error "distributionUrl is not valid, must end with *-bin.zip, but found $distributionUrl" +} + +# prepare tmp dir +$TMP_DOWNLOAD_DIR_HOLDER = New-TemporaryFile +$TMP_DOWNLOAD_DIR = New-Item -Itemtype Directory -Path "$TMP_DOWNLOAD_DIR_HOLDER.dir" +$TMP_DOWNLOAD_DIR_HOLDER.Delete() | Out-Null +trap { + if ($TMP_DOWNLOAD_DIR.Exists) { + try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } + catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } + } +} + +New-Item -Itemtype Directory -Path "$MAVEN_HOME_PARENT" -Force | Out-Null + +# Download and Install Apache Maven +Write-Verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." +Write-Verbose "Downloading from: $distributionUrl" +Write-Verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" + +$webclient = New-Object System.Net.WebClient +if ($env:MVNW_USERNAME -and $env:MVNW_PASSWORD) { + $webclient.Credentials = New-Object System.Net.NetworkCredential($env:MVNW_USERNAME, $env:MVNW_PASSWORD) +} +[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 +$webclient.DownloadFile($distributionUrl, "$TMP_DOWNLOAD_DIR/$distributionUrlName") | Out-Null + +# If specified, validate the SHA-256 sum of the Maven distribution zip file +$distributionSha256Sum = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionSha256Sum +if ($distributionSha256Sum) { + if ($USE_MVND) { + Write-Error "Checksum validation is not supported for maven-mvnd. `nPlease disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." + } + Import-Module $PSHOME\Modules\Microsoft.PowerShell.Utility -Function Get-FileHash + if ((Get-FileHash "$TMP_DOWNLOAD_DIR/$distributionUrlName" -Algorithm SHA256).Hash.ToLower() -ne $distributionSha256Sum) { + Write-Error "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised. If you updated your Maven version, you need to update the specified distributionSha256Sum property." + } +} + +# unzip and move +Expand-Archive "$TMP_DOWNLOAD_DIR/$distributionUrlName" -DestinationPath "$TMP_DOWNLOAD_DIR" | Out-Null +Rename-Item -Path "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" -NewName $MAVEN_HOME_NAME | Out-Null +try { + Move-Item -Path "$TMP_DOWNLOAD_DIR/$MAVEN_HOME_NAME" -Destination $MAVEN_HOME_PARENT | Out-Null +} catch { + if (! (Test-Path -Path "$MAVEN_HOME" -PathType Container)) { + Write-Error "fail to move MAVEN_HOME" + } +} finally { + try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } + catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } +} + +Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" diff --git a/Ex06-java+spring+swagger/pom.xml b/Ex06-java+spring+swagger/pom.xml new file mode 100644 index 0000000..25f66d2 --- /dev/null +++ b/Ex06-java+spring+swagger/pom.xml @@ -0,0 +1,92 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 3.4.2 + + + com.swagger + example + 0.0.1-SNAPSHOT + example + demo for first spring first endpoint + + + + + + + + + + + + + + + 17 + + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.boot + spring-boot-devtools + runtime + true + + + org.projectlombok + lombok + true + + + org.springframework.boot + spring-boot-starter-test + test + + + org.springdoc + springdoc-openapi-starter-webmvc-ui + 2.5.0 + + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + + + org.projectlombok + lombok + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.projectlombok + lombok + + + + + + + + diff --git a/Ex06-java+spring+swagger/src/main/java/com/swagger/example/ExampleApplication.java b/Ex06-java+spring+swagger/src/main/java/com/swagger/example/ExampleApplication.java new file mode 100644 index 0000000..e865a79 --- /dev/null +++ b/Ex06-java+spring+swagger/src/main/java/com/swagger/example/ExampleApplication.java @@ -0,0 +1,13 @@ +package com.swagger.example; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class ExampleApplication { + + public static void main(String[] args) { + SpringApplication.run(ExampleApplication.class, args); + } + +} diff --git a/Ex06-java+spring+swagger/src/main/java/com/swagger/example/FirstEndpoint.java b/Ex06-java+spring+swagger/src/main/java/com/swagger/example/FirstEndpoint.java new file mode 100644 index 0000000..bf3b579 --- /dev/null +++ b/Ex06-java+spring+swagger/src/main/java/com/swagger/example/FirstEndpoint.java @@ -0,0 +1,13 @@ +package com.swagger.example; + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class FirstEndpoint { + + @GetMapping("/hello") + public String getInformations(){ + return "Bom dia do primeiro endpoint"; + } +} diff --git a/Ex06-java+spring+swagger/src/main/resources/application.yml b/Ex06-java+spring+swagger/src/main/resources/application.yml new file mode 100644 index 0000000..e69de29 diff --git a/Ex06-java+spring+swagger/src/test/java/com/swagger/example/ExampleApplicationTests.java b/Ex06-java+spring+swagger/src/test/java/com/swagger/example/ExampleApplicationTests.java new file mode 100644 index 0000000..463f5bd --- /dev/null +++ b/Ex06-java+spring+swagger/src/test/java/com/swagger/example/ExampleApplicationTests.java @@ -0,0 +1,13 @@ +package com.swagger.example; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class ExampleApplicationTests { + + @Test + void contextLoads() { + } + +} From 6b1fe997352dda2950ea695fd8aa6f529117e63e Mon Sep 17 00:00:00 2001 From: Vinicius dos Santos Date: Mon, 3 Feb 2025 19:43:50 -0300 Subject: [PATCH 53/56] add exemplo calculo preciso --- Ex07-calculo-preciso/.idea/.gitignore | 3 + Ex07-calculo-preciso/.idea/compiler.xml | 21 ++ Ex07-calculo-preciso/.idea/encodings.xml | 6 + .../.idea/jarRepositories.xml | 20 ++ Ex07-calculo-preciso/.idea/jpa-buddy.xml | 7 + Ex07-calculo-preciso/.idea/misc.xml | 15 + Ex07-calculo-preciso/.idea/uiDesigner.xml | 124 +++++++ Ex07-calculo-preciso/.idea/vcs.xml | 6 + Ex07-calculo-preciso/mvnw | 308 ++++++++++++++++++ Ex07-calculo-preciso/mvnw.cmd | 205 ++++++++++++ Ex07-calculo-preciso/pom.xml | 70 ++++ .../com/precisiontech/cp/CPApplication.java | 13 + .../precisiontech/cp/DTO/MaoDeObraDTO.java | 27 ++ .../com/precisiontech/cp/DTO/MaterialDTO.java | 20 ++ .../precisiontech/cp/DTO/PecaDTORequest.java | 29 ++ .../precisiontech/cp/DTO/PecaDTOResponse.java | 32 ++ .../cp/DTO/SubPecaDTORequest.java | 63 ++++ .../precisiontech/cp/config/WebConfig.java | 18 + .../cp/controller/MaoDeObraController.java | 56 ++++ .../cp/controller/MaquinaController.java | 55 ++++ .../cp/controller/MaterialController.java | 70 ++++ .../cp/controller/PecaController.java | 185 +++++++++++ .../cp/controller/SubPecaController.java | 61 ++++ .../cp/controller/TurmaController.java | 77 +++++ .../cp/controller/UsuarioController.java | 89 +++++ .../com/precisiontech/cp/entity/Cilindro.java | 22 ++ .../com/precisiontech/cp/entity/Formato.java | 30 ++ .../precisiontech/cp/entity/MaoDeObra.java | 39 +++ .../com/precisiontech/cp/entity/Maquina.java | 33 ++ .../com/precisiontech/cp/entity/Material.java | 50 +++ .../com/precisiontech/cp/entity/Peca.java | 56 ++++ .../com/precisiontech/cp/entity/Piramide.java | 23 ++ .../com/precisiontech/cp/entity/SubPeca.java | 36 ++ .../com/precisiontech/cp/entity/Turma.java | 24 ++ .../com/precisiontech/cp/entity/Usuario.java | 28 ++ .../cp/repository/FormatoRepository.java | 8 + .../cp/repository/MaoDeObraRepository.java | 9 + .../cp/repository/MaquinaRepository.java | 9 + .../cp/repository/MaterialRepository.java | 9 + .../cp/repository/PecaRepository.java | 16 + .../cp/repository/SubPecaRepository.java | 8 + .../cp/repository/TurmaRepository.java | 9 + .../cp/repository/UsuarioRepository.java | 13 + .../com/precisiontech/cp/util/CPUtil.java | 7 + .../src/main/resources/application.properties | 17 + .../precisiontech/cp/CPApplicationTests.java | 13 + .../target/classes/application.properties | 17 + .../com/precisiontech/cp/CPApplication.class | Bin 0 -> 735 bytes .../precisiontech/cp/DTO/MaoDeObraDTO.class | Bin 0 -> 3222 bytes .../precisiontech/cp/DTO/MaterialDTO.class | Bin 0 -> 3930 bytes .../precisiontech/cp/DTO/PecaDTORequest.class | Bin 0 -> 9234 bytes .../cp/DTO/PecaDTOResponse.class | Bin 0 -> 10307 bytes .../cp/DTO/SubPecaDTORequest.class | Bin 0 -> 6937 bytes .../precisiontech/cp/config/WebConfig.class | Bin 0 -> 1392 bytes .../cp/controller/MaoDeObraController.class | Bin 0 -> 4711 bytes .../cp/controller/MaquinaController.class | Bin 0 -> 4544 bytes .../cp/controller/MaterialController.class | Bin 0 -> 5001 bytes .../cp/controller/PecaController.class | Bin 0 -> 13359 bytes .../cp/controller/SubPecaController.class | Bin 0 -> 4507 bytes .../cp/controller/TurmaController.class | Bin 0 -> 5467 bytes .../cp/controller/UsuarioController.class | Bin 0 -> 6781 bytes .../precisiontech/cp/entity/Cilindro.class | Bin 0 -> 2563 bytes .../com/precisiontech/cp/entity/Formato.class | Bin 0 -> 3782 bytes .../precisiontech/cp/entity/MaoDeObra.class | Bin 0 -> 4538 bytes .../com/precisiontech/cp/entity/Maquina.class | Bin 0 -> 4349 bytes .../precisiontech/cp/entity/Material.class | Bin 0 -> 5711 bytes .../com/precisiontech/cp/entity/Peca.class | Bin 0 -> 11163 bytes .../precisiontech/cp/entity/Piramide.class | Bin 0 -> 3085 bytes .../com/precisiontech/cp/entity/SubPeca.class | Bin 0 -> 4099 bytes .../com/precisiontech/cp/entity/Turma.class | Bin 0 -> 3049 bytes .../cp/entity/Usuario$TipoUsuario.class | Bin 0 -> 1399 bytes .../com/precisiontech/cp/entity/Usuario.class | Bin 0 -> 4184 bytes .../cp/repository/FormatoRepository.class | Bin 0 -> 353 bytes .../cp/repository/MaoDeObraRepository.class | Bin 0 -> 365 bytes .../cp/repository/MaquinaRepository.class | Bin 0 -> 359 bytes .../cp/repository/MaterialRepository.class | Bin 0 -> 362 bytes .../cp/repository/PecaRepository.class | Bin 0 -> 646 bytes .../cp/repository/SubPecaRepository.class | Bin 0 -> 353 bytes .../cp/repository/TurmaRepository.class | Bin 0 -> 439 bytes .../cp/repository/UsuarioRepository.class | Bin 0 -> 845 bytes .../com/precisiontech/cp/util/CPUtil.class | Bin 0 -> 499 bytes 81 files changed, 2056 insertions(+) create mode 100644 Ex07-calculo-preciso/.idea/.gitignore create mode 100644 Ex07-calculo-preciso/.idea/compiler.xml create mode 100644 Ex07-calculo-preciso/.idea/encodings.xml create mode 100644 Ex07-calculo-preciso/.idea/jarRepositories.xml create mode 100644 Ex07-calculo-preciso/.idea/jpa-buddy.xml create mode 100644 Ex07-calculo-preciso/.idea/misc.xml create mode 100644 Ex07-calculo-preciso/.idea/uiDesigner.xml create mode 100644 Ex07-calculo-preciso/.idea/vcs.xml create mode 100644 Ex07-calculo-preciso/mvnw create mode 100644 Ex07-calculo-preciso/mvnw.cmd create mode 100644 Ex07-calculo-preciso/pom.xml create mode 100644 Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/CPApplication.java create mode 100644 Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/MaoDeObraDTO.java create mode 100644 Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/MaterialDTO.java create mode 100644 Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/PecaDTORequest.java create mode 100644 Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/PecaDTOResponse.java create mode 100644 Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/SubPecaDTORequest.java create mode 100644 Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/config/WebConfig.java create mode 100644 Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/MaoDeObraController.java create mode 100644 Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/MaquinaController.java create mode 100644 Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/MaterialController.java create mode 100644 Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/PecaController.java create mode 100644 Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/SubPecaController.java create mode 100644 Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/TurmaController.java create mode 100644 Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/UsuarioController.java create mode 100644 Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Cilindro.java create mode 100644 Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Formato.java create mode 100644 Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/MaoDeObra.java create mode 100644 Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Maquina.java create mode 100644 Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Material.java create mode 100644 Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Peca.java create mode 100644 Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Piramide.java create mode 100644 Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/SubPeca.java create mode 100644 Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Turma.java create mode 100644 Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Usuario.java create mode 100644 Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/FormatoRepository.java create mode 100644 Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/MaoDeObraRepository.java create mode 100644 Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/MaquinaRepository.java create mode 100644 Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/MaterialRepository.java create mode 100644 Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/PecaRepository.java create mode 100644 Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/SubPecaRepository.java create mode 100644 Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/TurmaRepository.java create mode 100644 Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/UsuarioRepository.java create mode 100644 Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/util/CPUtil.java create mode 100644 Ex07-calculo-preciso/src/main/resources/application.properties create mode 100644 Ex07-calculo-preciso/src/test/java/com/precisiontech/cp/CPApplicationTests.java create mode 100644 Ex07-calculo-preciso/target/classes/application.properties create mode 100644 Ex07-calculo-preciso/target/classes/com/precisiontech/cp/CPApplication.class create mode 100644 Ex07-calculo-preciso/target/classes/com/precisiontech/cp/DTO/MaoDeObraDTO.class create mode 100644 Ex07-calculo-preciso/target/classes/com/precisiontech/cp/DTO/MaterialDTO.class create mode 100644 Ex07-calculo-preciso/target/classes/com/precisiontech/cp/DTO/PecaDTORequest.class create mode 100644 Ex07-calculo-preciso/target/classes/com/precisiontech/cp/DTO/PecaDTOResponse.class create mode 100644 Ex07-calculo-preciso/target/classes/com/precisiontech/cp/DTO/SubPecaDTORequest.class create mode 100644 Ex07-calculo-preciso/target/classes/com/precisiontech/cp/config/WebConfig.class create mode 100644 Ex07-calculo-preciso/target/classes/com/precisiontech/cp/controller/MaoDeObraController.class create mode 100644 Ex07-calculo-preciso/target/classes/com/precisiontech/cp/controller/MaquinaController.class create mode 100644 Ex07-calculo-preciso/target/classes/com/precisiontech/cp/controller/MaterialController.class create mode 100644 Ex07-calculo-preciso/target/classes/com/precisiontech/cp/controller/PecaController.class create mode 100644 Ex07-calculo-preciso/target/classes/com/precisiontech/cp/controller/SubPecaController.class create mode 100644 Ex07-calculo-preciso/target/classes/com/precisiontech/cp/controller/TurmaController.class create mode 100644 Ex07-calculo-preciso/target/classes/com/precisiontech/cp/controller/UsuarioController.class create mode 100644 Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/Cilindro.class create mode 100644 Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/Formato.class create mode 100644 Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/MaoDeObra.class create mode 100644 Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/Maquina.class create mode 100644 Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/Material.class create mode 100644 Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/Peca.class create mode 100644 Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/Piramide.class create mode 100644 Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/SubPeca.class create mode 100644 Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/Turma.class create mode 100644 Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/Usuario$TipoUsuario.class create mode 100644 Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/Usuario.class create mode 100644 Ex07-calculo-preciso/target/classes/com/precisiontech/cp/repository/FormatoRepository.class create mode 100644 Ex07-calculo-preciso/target/classes/com/precisiontech/cp/repository/MaoDeObraRepository.class create mode 100644 Ex07-calculo-preciso/target/classes/com/precisiontech/cp/repository/MaquinaRepository.class create mode 100644 Ex07-calculo-preciso/target/classes/com/precisiontech/cp/repository/MaterialRepository.class create mode 100644 Ex07-calculo-preciso/target/classes/com/precisiontech/cp/repository/PecaRepository.class create mode 100644 Ex07-calculo-preciso/target/classes/com/precisiontech/cp/repository/SubPecaRepository.class create mode 100644 Ex07-calculo-preciso/target/classes/com/precisiontech/cp/repository/TurmaRepository.class create mode 100644 Ex07-calculo-preciso/target/classes/com/precisiontech/cp/repository/UsuarioRepository.class create mode 100644 Ex07-calculo-preciso/target/classes/com/precisiontech/cp/util/CPUtil.class diff --git a/Ex07-calculo-preciso/.idea/.gitignore b/Ex07-calculo-preciso/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/Ex07-calculo-preciso/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/Ex07-calculo-preciso/.idea/compiler.xml b/Ex07-calculo-preciso/.idea/compiler.xml new file mode 100644 index 0000000..a792e4f --- /dev/null +++ b/Ex07-calculo-preciso/.idea/compiler.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Ex07-calculo-preciso/.idea/encodings.xml b/Ex07-calculo-preciso/.idea/encodings.xml new file mode 100644 index 0000000..63e9001 --- /dev/null +++ b/Ex07-calculo-preciso/.idea/encodings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Ex07-calculo-preciso/.idea/jarRepositories.xml b/Ex07-calculo-preciso/.idea/jarRepositories.xml new file mode 100644 index 0000000..712ab9d --- /dev/null +++ b/Ex07-calculo-preciso/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Ex07-calculo-preciso/.idea/jpa-buddy.xml b/Ex07-calculo-preciso/.idea/jpa-buddy.xml new file mode 100644 index 0000000..898e07a --- /dev/null +++ b/Ex07-calculo-preciso/.idea/jpa-buddy.xml @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/Ex07-calculo-preciso/.idea/misc.xml b/Ex07-calculo-preciso/.idea/misc.xml new file mode 100644 index 0000000..ebc9d76 --- /dev/null +++ b/Ex07-calculo-preciso/.idea/misc.xml @@ -0,0 +1,15 @@ + + + + + + + + + \ No newline at end of file diff --git a/Ex07-calculo-preciso/.idea/uiDesigner.xml b/Ex07-calculo-preciso/.idea/uiDesigner.xml new file mode 100644 index 0000000..2b63946 --- /dev/null +++ b/Ex07-calculo-preciso/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Ex07-calculo-preciso/.idea/vcs.xml b/Ex07-calculo-preciso/.idea/vcs.xml new file mode 100644 index 0000000..6c0b863 --- /dev/null +++ b/Ex07-calculo-preciso/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Ex07-calculo-preciso/mvnw b/Ex07-calculo-preciso/mvnw new file mode 100644 index 0000000..66df285 --- /dev/null +++ b/Ex07-calculo-preciso/mvnw @@ -0,0 +1,308 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Apache Maven Wrapper startup batch script, version 3.2.0 +# +# Required ENV vars: +# ------------------ +# JAVA_HOME - location of a JDK home dir +# +# Optional ENV vars +# ----------------- +# MAVEN_OPTS - parameters passed to the Java VM when running Maven +# e.g. to debug Maven itself, use +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files +# ---------------------------------------------------------------------------- + +if [ -z "$MAVEN_SKIP_RC" ] ; then + + if [ -f /usr/local/etc/mavenrc ] ; then + . /usr/local/etc/mavenrc + fi + + if [ -f /etc/mavenrc ] ; then + . /etc/mavenrc + fi + + if [ -f "$HOME/.mavenrc" ] ; then + . "$HOME/.mavenrc" + fi + +fi + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false; +darwin=false; +mingw=false +case "$(uname)" in + CYGWIN*) cygwin=true ;; + MINGW*) mingw=true;; + Darwin*) darwin=true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + JAVA_HOME="$(/usr/libexec/java_home)"; export JAVA_HOME + else + JAVA_HOME="/Library/Java/Home"; export JAVA_HOME + fi + fi + ;; +esac + +if [ -z "$JAVA_HOME" ] ; then + if [ -r /etc/gentoo-release ] ; then + JAVA_HOME=$(java-config --jre-home) + fi +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin ; then + [ -n "$JAVA_HOME" ] && + JAVA_HOME=$(cygpath --unix "$JAVA_HOME") + [ -n "$CLASSPATH" ] && + CLASSPATH=$(cygpath --path --unix "$CLASSPATH") +fi + +# For Mingw, ensure paths are in UNIX format before anything is touched +if $mingw ; then + [ -n "$JAVA_HOME" ] && [ -d "$JAVA_HOME" ] && + JAVA_HOME="$(cd "$JAVA_HOME" || (echo "cannot cd into $JAVA_HOME."; exit 1); pwd)" +fi + +if [ -z "$JAVA_HOME" ]; then + javaExecutable="$(which javac)" + if [ -n "$javaExecutable" ] && ! [ "$(expr "\"$javaExecutable\"" : '\([^ ]*\)')" = "no" ]; then + # readlink(1) is not available as standard on Solaris 10. + readLink=$(which readlink) + if [ ! "$(expr "$readLink" : '\([^ ]*\)')" = "no" ]; then + if $darwin ; then + javaHome="$(dirname "\"$javaExecutable\"")" + javaExecutable="$(cd "\"$javaHome\"" && pwd -P)/javac" + else + javaExecutable="$(readlink -f "\"$javaExecutable\"")" + fi + javaHome="$(dirname "\"$javaExecutable\"")" + javaHome=$(expr "$javaHome" : '\(.*\)/bin') + JAVA_HOME="$javaHome" + export JAVA_HOME + fi + fi +fi + +if [ -z "$JAVACMD" ] ; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD="$(\unset -f command 2>/dev/null; \command -v java)" + fi +fi + +if [ ! -x "$JAVACMD" ] ; then + echo "Error: JAVA_HOME is not defined correctly." >&2 + echo " We cannot execute $JAVACMD" >&2 + exit 1 +fi + +if [ -z "$JAVA_HOME" ] ; then + echo "Warning: JAVA_HOME environment variable is not set." +fi + +# traverses directory structure from process work directory to filesystem root +# first directory with .mvn subdirectory is considered project base directory +find_maven_basedir() { + if [ -z "$1" ] + then + echo "Path not specified to find_maven_basedir" + return 1 + fi + + basedir="$1" + wdir="$1" + while [ "$wdir" != '/' ] ; do + if [ -d "$wdir"/.mvn ] ; then + basedir=$wdir + break + fi + # workaround for JBEAP-8937 (on Solaris 10/Sparc) + if [ -d "${wdir}" ]; then + wdir=$(cd "$wdir/.." || exit 1; pwd) + fi + # end of workaround + done + printf '%s' "$(cd "$basedir" || exit 1; pwd)" +} + +# concatenates all lines of a file +concat_lines() { + if [ -f "$1" ]; then + # Remove \r in case we run on Windows within Git Bash + # and check out the repository with auto CRLF management + # enabled. Otherwise, we may read lines that are delimited with + # \r\n and produce $'-Xarg\r' rather than -Xarg due to word + # splitting rules. + tr -s '\r\n' ' ' < "$1" + fi +} + +log() { + if [ "$MVNW_VERBOSE" = true ]; then + printf '%s\n' "$1" + fi +} + +BASE_DIR=$(find_maven_basedir "$(dirname "$0")") +if [ -z "$BASE_DIR" ]; then + exit 1; +fi + +MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}; export MAVEN_PROJECTBASEDIR +log "$MAVEN_PROJECTBASEDIR" + +########################################################################################## +# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +# This allows using the maven wrapper in projects that prohibit checking in binary data. +########################################################################################## +wrapperJarPath="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" +if [ -r "$wrapperJarPath" ]; then + log "Found $wrapperJarPath" +else + log "Couldn't find $wrapperJarPath, downloading it ..." + + if [ -n "$MVNW_REPOURL" ]; then + wrapperUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + else + wrapperUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + fi + while IFS="=" read -r key value; do + # Remove '\r' from value to allow usage on windows as IFS does not consider '\r' as a separator ( considers space, tab, new line ('\n'), and custom '=' ) + safeValue=$(echo "$value" | tr -d '\r') + case "$key" in (wrapperUrl) wrapperUrl="$safeValue"; break ;; + esac + done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" + log "Downloading from: $wrapperUrl" + + if $cygwin; then + wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath") + fi + + if command -v wget > /dev/null; then + log "Found wget ... using wget" + [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--quiet" + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + wget $QUIET "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + else + wget $QUIET --http-user="$MVNW_USERNAME" --http-password="$MVNW_PASSWORD" "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + fi + elif command -v curl > /dev/null; then + log "Found curl ... using curl" + [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--silent" + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + curl $QUIET -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" + else + curl $QUIET --user "$MVNW_USERNAME:$MVNW_PASSWORD" -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" + fi + else + log "Falling back to using Java to download" + javaSource="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.java" + javaClass="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.class" + # For Cygwin, switch paths to Windows format before running javac + if $cygwin; then + javaSource=$(cygpath --path --windows "$javaSource") + javaClass=$(cygpath --path --windows "$javaClass") + fi + if [ -e "$javaSource" ]; then + if [ ! -e "$javaClass" ]; then + log " - Compiling MavenWrapperDownloader.java ..." + ("$JAVA_HOME/bin/javac" "$javaSource") + fi + if [ -e "$javaClass" ]; then + log " - Running MavenWrapperDownloader.java ..." + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$wrapperUrl" "$wrapperJarPath") || rm -f "$wrapperJarPath" + fi + fi + fi +fi +########################################################################################## +# End of extension +########################################################################################## + +# If specified, validate the SHA-256 sum of the Maven wrapper jar file +wrapperSha256Sum="" +while IFS="=" read -r key value; do + case "$key" in (wrapperSha256Sum) wrapperSha256Sum=$value; break ;; + esac +done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" +if [ -n "$wrapperSha256Sum" ]; then + wrapperSha256Result=false + if command -v sha256sum > /dev/null; then + if echo "$wrapperSha256Sum $wrapperJarPath" | sha256sum -c > /dev/null 2>&1; then + wrapperSha256Result=true + fi + elif command -v shasum > /dev/null; then + if echo "$wrapperSha256Sum $wrapperJarPath" | shasum -a 256 -c > /dev/null 2>&1; then + wrapperSha256Result=true + fi + else + echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." + echo "Please install either command, or disable validation by removing 'wrapperSha256Sum' from your maven-wrapper.properties." + exit 1 + fi + if [ $wrapperSha256Result = false ]; then + echo "Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised." >&2 + echo "Investigate or delete $wrapperJarPath to attempt a clean download." >&2 + echo "If you updated your Maven version, you need to update the specified wrapperSha256Sum property." >&2 + exit 1 + fi +fi + +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + [ -n "$JAVA_HOME" ] && + JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME") + [ -n "$CLASSPATH" ] && + CLASSPATH=$(cygpath --path --windows "$CLASSPATH") + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=$(cygpath --path --windows "$MAVEN_PROJECTBASEDIR") +fi + +# Provide a "standardized" way to retrieve the CLI args that will +# work with both Windows and non-Windows executions. +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $*" +export MAVEN_CMD_LINE_ARGS + +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +# shellcheck disable=SC2086 # safe args +exec "$JAVACMD" \ + $MAVEN_OPTS \ + $MAVEN_DEBUG_OPTS \ + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/Ex07-calculo-preciso/mvnw.cmd b/Ex07-calculo-preciso/mvnw.cmd new file mode 100644 index 0000000..95ba6f5 --- /dev/null +++ b/Ex07-calculo-preciso/mvnw.cmd @@ -0,0 +1,205 @@ +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM https://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Apache Maven Wrapper startup batch script, version 3.2.0 +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir +@REM +@REM Optional ENV vars +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven +@REM e.g. to debug Maven itself, use +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM ---------------------------------------------------------------------------- + +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' +@echo off +@REM set title of command window +title %0 +@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% + +@REM set %HOME% to equivalent of $HOME +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") + +@REM Execute a user defined script before this one +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre +@REM check for pre script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* +if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* +:skipRcPre + +@setlocal + +set ERROR_CODE=0 + +@REM To isolate internal variables from possible post scripts, we use another setlocal +@setlocal + +@REM ==== START VALIDATION ==== +if not "%JAVA_HOME%" == "" goto OkJHome + +echo. +echo Error: JAVA_HOME not found in your environment. >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +:OkJHome +if exist "%JAVA_HOME%\bin\java.exe" goto init + +echo. +echo Error: JAVA_HOME is set to an invalid directory. >&2 +echo JAVA_HOME = "%JAVA_HOME%" >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +@REM ==== END VALIDATION ==== + +:init + +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". +@REM Fallback to current working directory if not found. + +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir + +set EXEC_DIR=%CD% +set WDIR=%EXEC_DIR% +:findBaseDir +IF EXIST "%WDIR%"\.mvn goto baseDirFound +cd .. +IF "%WDIR%"=="%CD%" goto baseDirNotFound +set WDIR=%CD% +goto findBaseDir + +:baseDirFound +set MAVEN_PROJECTBASEDIR=%WDIR% +cd "%EXEC_DIR%" +goto endDetectBaseDir + +:baseDirNotFound +set MAVEN_PROJECTBASEDIR=%EXEC_DIR% +cd "%EXEC_DIR%" + +:endDetectBaseDir + +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig + +@setlocal EnableExtensions EnableDelayedExpansion +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% + +:endReadAdditionalConfig + +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +set WRAPPER_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET WRAPPER_URL=%%B +) + +@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +@REM This allows using the maven wrapper in projects that prohibit checking in binary data. +if exist %WRAPPER_JAR% ( + if "%MVNW_VERBOSE%" == "true" ( + echo Found %WRAPPER_JAR% + ) +) else ( + if not "%MVNW_REPOURL%" == "" ( + SET WRAPPER_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + ) + if "%MVNW_VERBOSE%" == "true" ( + echo Couldn't find %WRAPPER_JAR%, downloading it ... + echo Downloading from: %WRAPPER_URL% + ) + + powershell -Command "&{"^ + "$webclient = new-object System.Net.WebClient;"^ + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ + "}"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%WRAPPER_URL%', '%WRAPPER_JAR%')"^ + "}" + if "%MVNW_VERBOSE%" == "true" ( + echo Finished downloading %WRAPPER_JAR% + ) +) +@REM End of extension + +@REM If specified, validate the SHA-256 sum of the Maven wrapper jar file +SET WRAPPER_SHA_256_SUM="" +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperSha256Sum" SET WRAPPER_SHA_256_SUM=%%B +) +IF NOT %WRAPPER_SHA_256_SUM%=="" ( + powershell -Command "&{"^ + "$hash = (Get-FileHash \"%WRAPPER_JAR%\" -Algorithm SHA256).Hash.ToLower();"^ + "If('%WRAPPER_SHA_256_SUM%' -ne $hash){"^ + " Write-Output 'Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised.';"^ + " Write-Output 'Investigate or delete %WRAPPER_JAR% to attempt a clean download.';"^ + " Write-Output 'If you updated your Maven version, you need to update the specified wrapperSha256Sum property.';"^ + " exit 1;"^ + "}"^ + "}" + if ERRORLEVEL 1 goto error +) + +@REM Provide a "standardized" way to retrieve the CLI args that will +@REM work with both Windows and non-Windows executions. +set MAVEN_CMD_LINE_ARGS=%* + +%MAVEN_JAVA_EXE% ^ + %JVM_CONFIG_MAVEN_PROPS% ^ + %MAVEN_OPTS% ^ + %MAVEN_DEBUG_OPTS% ^ + -classpath %WRAPPER_JAR% ^ + "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ + %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +if ERRORLEVEL 1 goto error +goto end + +:error +set ERROR_CODE=1 + +:end +@endlocal & set ERROR_CODE=%ERROR_CODE% + +if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost +@REM check for post script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" +if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" +:skipRcPost + +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' +if "%MAVEN_BATCH_PAUSE%"=="on" pause + +if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% + +cmd /C exit /B %ERROR_CODE% diff --git a/Ex07-calculo-preciso/pom.xml b/Ex07-calculo-preciso/pom.xml new file mode 100644 index 0000000..33df73f --- /dev/null +++ b/Ex07-calculo-preciso/pom.xml @@ -0,0 +1,70 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 3.2.2 + + + com.precisiontech + calculopreciso + 0.0.1-SNAPSHOT + calculopreciso + Demo project for Spring Boot + + 17 + + + + org.springframework.boot + spring-boot-starter-data-jpa + + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.boot + spring-boot-devtools + runtime + true + + + + org.projectlombok + lombok + 1.18.32 + provided + + + org.springframework.boot + spring-boot-starter-test + test + + + + mysql + mysql-connector-java + 8.0.33 + + + org.springdoc + springdoc-openapi-starter-webmvc-ui + 2.5.0 + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/CPApplication.java b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/CPApplication.java new file mode 100644 index 0000000..4c7291d --- /dev/null +++ b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/CPApplication.java @@ -0,0 +1,13 @@ +package com.precisiontech.cp; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class CPApplication { + + public static void main(String[] args) { + SpringApplication.run(CPApplication.class, args); + } + +} diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/MaoDeObraDTO.java b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/MaoDeObraDTO.java new file mode 100644 index 0000000..52f64b1 --- /dev/null +++ b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/MaoDeObraDTO.java @@ -0,0 +1,27 @@ +package com.precisiontech.cp.DTO; + +import com.precisiontech.cp.entity.MaoDeObra; +import com.precisiontech.cp.entity.Material; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; +import java.util.List; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class MaoDeObraDTO { + private Long id; + private String profissional; + private double precoPorHora; + + public static MaoDeObra of(MaoDeObraDTO maoDeObra){ + MaoDeObra m = new MaoDeObra(); + m.setId(maoDeObra.getId()); + m.setProfissional(maoDeObra.getProfissional()); + m.setPrecoPorHora(maoDeObra.getPrecoPorHora()); + return m; + } +} \ No newline at end of file diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/MaterialDTO.java b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/MaterialDTO.java new file mode 100644 index 0000000..82c0594 --- /dev/null +++ b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/MaterialDTO.java @@ -0,0 +1,20 @@ +package com.precisiontech.cp.DTO; + +import com.precisiontech.cp.entity.Material; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; +import java.util.List; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class MaterialDTO { + private Long id; + private String nome; + private Double precoPorKg; + private Double precoCavaco; + private Double densidade; +} \ No newline at end of file diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/PecaDTORequest.java b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/PecaDTORequest.java new file mode 100644 index 0000000..c93e234 --- /dev/null +++ b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/PecaDTORequest.java @@ -0,0 +1,29 @@ +package com.precisiontech.cp.DTO; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; +import java.util.List; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class PecaDTORequest { + private Long id; + private String codigo; + private String nomeDaPeca; + private Double volumeTotal; // vem do front + private Double custoDeProducao; // (materia prima * kg da materia) + // + (mao de obra * qtd de mao de obra * tempo) + // + (máquinas * quantidade * tempo) + private Double tempoDeUsinagem; // soma dos tempos do operador + private Double pesoTarugo; + private Double quantidadeDeCavaco; // peso do tarugo - peso da peça (volume * densidade) + private Double valorDoCavaco; + private List maosDeObraIds; + private List maquinas; + private Long materialId; + private List subPecas; +} \ No newline at end of file diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/PecaDTOResponse.java b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/PecaDTOResponse.java new file mode 100644 index 0000000..abea09f --- /dev/null +++ b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/PecaDTOResponse.java @@ -0,0 +1,32 @@ +package com.precisiontech.cp.DTO; + +import com.precisiontech.cp.entity.MaoDeObra; +import com.precisiontech.cp.entity.Maquina; +import com.precisiontech.cp.entity.Material; +import com.precisiontech.cp.entity.SubPeca; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; +import java.util.List; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class PecaDTOResponse { + private Long id; + private String codigo; + private String nomeDaPeca; + private Double volumeTotal; // vem do front + private Double custoDeProducao; // (materia prima * kg da materia) + (mao de obra * qtd de mao de obra * tempo) + (máquinas * quantidade * tempo) + private Double tempoDeUsinagem; // soma dos tempos do operador + private Double pesoTarugo; + private Double quantidadeDeCavaco; + private Double valorDoCavaco; + private Date dataDeCriacao; + private List maosDeObra; + private List maquina; + private MaterialDTO material; + private List subPecas; +} \ No newline at end of file diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/SubPecaDTORequest.java b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/SubPecaDTORequest.java new file mode 100644 index 0000000..f9d000a --- /dev/null +++ b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/SubPecaDTORequest.java @@ -0,0 +1,63 @@ +package com.precisiontech.cp.DTO; + +import com.precisiontech.cp.entity.Cilindro; +import com.precisiontech.cp.entity.Piramide; +import com.precisiontech.cp.entity.SubPeca; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class SubPecaDTORequest { + private Long id; + private String nome; + private String volume; + private Double raio; + private Double alturaCilindro; + private String tipoBasePiramide; + private Double ladoPiramide; + private Double alturaPiramide; + // Outros campos, se necessário + + public SubPecaDTORequest(SubPeca subPeca) { + this.id = subPeca.getId(); + this.nome = subPeca.getNome(); + if (subPeca.getFormato() instanceof Cilindro) { + Cilindro cilindro = (Cilindro) subPeca.getFormato(); + this.volume = cilindro.getVolume(); + this.raio = cilindro.getRaio(); + this.alturaCilindro = cilindro.getAltura(); + } else if (subPeca.getFormato() instanceof Piramide) { + Piramide piramide = (Piramide) subPeca.getFormato(); + this.volume = piramide.getVolume(); + this.tipoBasePiramide = piramide.getTipoBase(); + this.ladoPiramide = piramide.getLado(); + this.alturaPiramide = piramide.getAltura(); + } + } + + public SubPeca convertToSubPeca(SubPecaDTORequest subPecaDTO) { + SubPeca subPeca = new SubPeca(); + subPeca.setId(subPecaDTO.getId()); + subPeca.setNome(subPecaDTO.getNome()); + + if (subPecaDTO.getTipoBasePiramide() != null) { + Piramide piramide = new Piramide(); + piramide.setVolume(subPecaDTO.getVolume()); + piramide.setTipoBase(subPecaDTO.getTipoBasePiramide()); + piramide.setLado(subPecaDTO.getLadoPiramide()); + piramide.setAltura(subPecaDTO.getAlturaPiramide()); + subPeca.setFormato(piramide); + } else { + Cilindro cilindro = new Cilindro(); + cilindro.setVolume(subPecaDTO.getVolume()); + cilindro.setRaio(subPecaDTO.getRaio()); + cilindro.setAltura(subPecaDTO.getAlturaCilindro()); + subPeca.setFormato(cilindro); + } + + return subPeca; + } +} \ No newline at end of file diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/config/WebConfig.java b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/config/WebConfig.java new file mode 100644 index 0000000..cf91f4a --- /dev/null +++ b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/config/WebConfig.java @@ -0,0 +1,18 @@ +package com.precisiontech.cp.config; + +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.CorsRegistry; +import org.springframework.web.servlet.config.annotation.EnableWebMvc; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +@Configuration +@EnableWebMvc +public class WebConfig implements WebMvcConfigurer{ + + public void addCorsMappings(CorsRegistry registry) { + registry.addMapping("/**") + .allowedOrigins("*") // Permitir todos os origins + .allowedMethods("GET", "POST", "PUT", "DELETE") // Métodos permitidos + .allowedHeaders("*"); // Todos os cabeçalhos permitidos + } +} \ No newline at end of file diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/MaoDeObraController.java b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/MaoDeObraController.java new file mode 100644 index 0000000..95196d2 --- /dev/null +++ b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/MaoDeObraController.java @@ -0,0 +1,56 @@ +package com.precisiontech.cp.controller; + +import com.precisiontech.cp.entity.MaoDeObra; +import com.precisiontech.cp.repository.MaoDeObraRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@RestController +@RequestMapping("/maodeobra") +public class MaoDeObraController { + + @Autowired + private MaoDeObraRepository maoDeObraRepository; + + @GetMapping + public List getAllMaoDeObra() { + return maoDeObraRepository.findAll(); + } + + @GetMapping("/{id}") + public ResponseEntity getMaoDeObraById(@PathVariable Long id) { + return maoDeObraRepository.findById(id) + .map(ResponseEntity::ok) + .orElse(ResponseEntity.notFound().build()); + } + + @PostMapping + public ResponseEntity createMaoDeObra(@RequestBody MaoDeObra maoDeObra) { + System.out.println(maoDeObra); + MaoDeObra savedMaoDeObra = maoDeObraRepository.save(maoDeObra); + return ResponseEntity.status(HttpStatus.CREATED).body(savedMaoDeObra); + } + + @PutMapping("/{id}") + public ResponseEntity updateMaoDeObra(@PathVariable Long id, @RequestBody MaoDeObra updatedMaoDeObra) { + if (!maoDeObraRepository.existsById(id)) { + return ResponseEntity.notFound().build(); + } + updatedMaoDeObra.setId(id); + MaoDeObra savedMaoDeObra = maoDeObraRepository.save(updatedMaoDeObra); + return ResponseEntity.ok(savedMaoDeObra); + } + + @DeleteMapping("/{id}") + public ResponseEntity deleteMaoDeObra(@PathVariable Long id) { + if (!maoDeObraRepository.existsById(id)) { + return ResponseEntity.notFound().build(); + } + maoDeObraRepository.deleteById(id); + return ResponseEntity.noContent().build(); + } +} diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/MaquinaController.java b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/MaquinaController.java new file mode 100644 index 0000000..3cf325c --- /dev/null +++ b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/MaquinaController.java @@ -0,0 +1,55 @@ +package com.precisiontech.cp.controller; + +import com.precisiontech.cp.entity.MaoDeObra; +import com.precisiontech.cp.entity.Maquina; +import com.precisiontech.cp.repository.MaoDeObraRepository; +import com.precisiontech.cp.repository.MaquinaRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +@RestController +@RequestMapping("/maquinas") +public class MaquinaController { + @Autowired + private MaquinaRepository maquinaRepository; + + @GetMapping + public List getAllMaquina() { + return maquinaRepository.findAll(); + } + + @GetMapping("/{id}") + public ResponseEntity getMaquinaById(@PathVariable Long id) { + return maquinaRepository.findById(id) + .map(ResponseEntity::ok) + .orElse(ResponseEntity.notFound().build()); + } + + @PostMapping + public ResponseEntity createMaquina(@RequestBody Maquina maquina) { + Maquina savedMaquina = maquinaRepository.save(maquina); + return ResponseEntity.status(HttpStatus.CREATED).body(savedMaquina); + } + + @PutMapping("/{id}") + public ResponseEntity updateMaquina(@PathVariable Long id, @RequestBody Maquina updatedMaquina) { + if (!maquinaRepository.existsById(id)) { + return ResponseEntity.notFound().build(); + } + updatedMaquina.setId(id); + Maquina savedMaquina = maquinaRepository.save(updatedMaquina); + return ResponseEntity.ok(savedMaquina); + } + + @DeleteMapping("/{id}") + public ResponseEntity deleteMaquina(@PathVariable Long id) { + if (!maquinaRepository.existsById(id)) { + return ResponseEntity.notFound().build(); + } + maquinaRepository.deleteById(id); + return ResponseEntity.noContent().build(); + } +} diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/MaterialController.java b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/MaterialController.java new file mode 100644 index 0000000..e4668d2 --- /dev/null +++ b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/MaterialController.java @@ -0,0 +1,70 @@ +package com.precisiontech.cp.controller; + + +import com.precisiontech.cp.entity.MaoDeObra; +import com.precisiontech.cp.entity.Material; +import com.precisiontech.cp.repository.MaterialRepository; +import com.precisiontech.cp.repository.UsuarioRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Optional; + +@RestController +@RequestMapping("/material") +public class MaterialController { + @Autowired + private MaterialRepository materialRepository; + + @GetMapping + public ResponseEntity> getAllMaterial() { + try { + List materials = materialRepository.findAll(); + if (!materials.isEmpty()) { + return ResponseEntity.ok(materials); + } else { + return ResponseEntity.noContent().build(); // Retorna 204 No Content se a lista estiver vazia + } + + } catch (Exception e) { + return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build(); // Retorna 500 Internal Server Error se ocorrer uma exceção + } + } + + + @GetMapping("/{id}") + public ResponseEntity getMaterialById(@PathVariable Long id) { + return materialRepository.findById(id) + .map(ResponseEntity::ok) + .orElse(ResponseEntity.notFound().build()); + } + + + @PostMapping + public ResponseEntity createMaterial(@RequestBody Material material) { + Material savedMaterial = materialRepository.save(material); + return ResponseEntity.status(HttpStatus.CREATED).body(savedMaterial); + } + + @PutMapping("/{id}") + public ResponseEntity updateMaterial(@PathVariable Long id, @RequestBody Material updatedMaterial) { + if (!materialRepository.existsById(id)) { + return ResponseEntity.notFound().build(); + } + updatedMaterial.setId(id); + Material savedMaterial = materialRepository.save(updatedMaterial); + return ResponseEntity.ok(savedMaterial); + } + + @DeleteMapping("/{id}") + public ResponseEntity deleteMaterial(@PathVariable Long id) { + if (!materialRepository.existsById(id)) { + return ResponseEntity.notFound().build(); + } + materialRepository.deleteById(id); + return ResponseEntity.noContent().build(); + } +} \ No newline at end of file diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/PecaController.java b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/PecaController.java new file mode 100644 index 0000000..cac657b --- /dev/null +++ b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/PecaController.java @@ -0,0 +1,185 @@ +package com.precisiontech.cp.controller; + +import com.precisiontech.cp.DTO.MaoDeObraDTO; +import com.precisiontech.cp.DTO.MaterialDTO; +import com.precisiontech.cp.DTO.PecaDTORequest; +import com.precisiontech.cp.DTO.PecaDTOResponse; +import com.precisiontech.cp.entity.*; +import com.precisiontech.cp.repository.*; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.ArrayList; +import java.util.Calendar; +import java.util.List; +import java.util.Optional; +import java.util.stream.Collectors; + +@RestController +@RequestMapping("/pecas") +public class PecaController { + + private final PecaRepository pecaRepository; + + private final MaterialRepository materialRepository; + + private final MaoDeObraRepository maoDeObraRepository; + + private final MaquinaRepository maquinaRepository; + + private final SubPecaRepository subPecaRepository; + + private final FormatoRepository formatoRepository; + + @Autowired + public PecaController(PecaRepository pecaRepository, MaterialRepository materialRepository, MaoDeObraRepository maoDeObraRepository, MaquinaRepository maquinaRepository, SubPecaRepository subPecaRepository, FormatoRepository formatoRepository) { + this.pecaRepository = pecaRepository; + this.materialRepository = materialRepository; + this.maoDeObraRepository = maoDeObraRepository; + this.maquinaRepository = maquinaRepository; + this.subPecaRepository = subPecaRepository; + this.formatoRepository = formatoRepository; + } + + @GetMapping + public List getAllPecas() { + List pecas = (List) pecaRepository.findAll(); + return pecas.stream().map(this::toDTO).collect(Collectors.toList()); + } + + @GetMapping("/nome") + public List getNomes() { + return pecaRepository.findNome(); + } + + @GetMapping("/codigo") + public List getCodigo() { + return pecaRepository.findCodigo(); + } + + @GetMapping("/{id}") + public PecaDTOResponse getPecaById(@PathVariable Long id) { + Peca peca = pecaRepository.findById(id) + .orElseThrow(() -> new RuntimeException("Peca not found with id: " + id)); + return toDTO(peca); + } + + @PostMapping + public PecaDTOResponse createPeca(@RequestBody PecaDTORequest pecaDTORequest) { + Peca peca = fromDTO(pecaDTORequest); + + Peca finalPeca = pecaRepository.save(peca); + + Optional materialOptional = materialRepository.findById(finalPeca.getMaterial().getId()); + materialOptional.ifPresent(materialEntity -> { + List pecas = materialEntity.getPecas(); + pecas.add(finalPeca); + + materialRepository.save(materialEntity); + }); + + + peca.getSubPecas().forEach(subPeca -> { + if (subPeca.getFormato() != null) { + subPeca.setPeca(finalPeca); + formatoRepository.save(subPeca.getFormato()); + } + }); + + peca.getSubPecas().forEach(subPecaRepository::save); + + List maquinasAtualizadas = new ArrayList<>(); + + peca.getMaquinas().forEach(maquina -> { + List pecas = new ArrayList<>(maquina.getPecas()); + pecas.add(finalPeca); + maquina.setPecas(pecas); + maquinasAtualizadas.add(maquina); + }); + + maquinaRepository.saveAll(maquinasAtualizadas); + + return toDTO(peca); + } + + @PutMapping("/{id}") + public PecaDTOResponse updatePeca(@PathVariable Long id, @RequestBody PecaDTORequest updatedPecaDTORequest) { + Peca existingPeca = pecaRepository.findById(id) + .orElseThrow(() -> new RuntimeException("Peca not found with id: " + id)); + BeanUtils.copyProperties(fromDTO(updatedPecaDTORequest), existingPeca, "id"); + existingPeca = pecaRepository.save(existingPeca); + return toDTO(existingPeca); + } + + @DeleteMapping("/{id}") + public void deletePeca(@PathVariable Long id) { + pecaRepository.deleteById(id); + } + + private PecaDTOResponse toDTO(Peca peca) { + + List maosDeObraDTO = peca.getMaosDeObra().stream() + .map(MaoDeObra::fromEntity) + .collect(Collectors.toList()); + + MaterialDTO materialDTO = Material.fromEntity(peca.getMaterial()); + + return new PecaDTOResponse( + peca.getId(), + peca.getCodigo(), + peca.getNomeDaPeca(), + peca.getVolumeTotal(), + peca.getCustoDeProducao(), + peca.getTempoDeUsinagem(), + peca.getPesoTarugo(), + peca.getQuantidadeDeCavaco(), + peca.getValorDoCavaco(), + peca.getDataDeCriacao(), + maosDeObraDTO, + peca.getMaquinas(), + materialDTO, + peca.getSubPecas() + ); + } + + private Peca fromDTO(PecaDTORequest pecaDTORequest) { + List maosDeObra = pecaDTORequest.getMaosDeObraIds().stream() + .map(maoDeObraId -> maoDeObraRepository.findById(maoDeObraId) + .orElseThrow(() -> new RuntimeException("Mão de obra not found with id: " + maoDeObraId))) + .collect(Collectors.toList()); + + List maquinas = pecaDTORequest.getMaquinas().stream() + .map(maquinasIds -> maquinaRepository.findById(maquinasIds) + .orElseThrow(() -> new RuntimeException("Máquina not found with id: " + maquinasIds))) + .collect(Collectors.toList()); + + Material material = materialRepository.findById(pecaDTORequest.getMaterialId()) + .orElseThrow(() -> new RuntimeException("Material not found with id: " + pecaDTORequest.getMaterialId())); + + List subPecas = pecaDTORequest.getSubPecas().stream() + .map(subPecaDTO -> { + return subPecaDTO.convertToSubPeca(subPecaDTO); + }) + .collect(Collectors.toList()); + + + Peca peca = new Peca(); + peca.setId(pecaDTORequest.getId()); + peca.setCodigo(pecaDTORequest.getCodigo()); + peca.setNomeDaPeca(pecaDTORequest.getNomeDaPeca()); + peca.setVolumeTotal(pecaDTORequest.getVolumeTotal()); + peca.setCustoDeProducao(pecaDTORequest.getCustoDeProducao()); + peca.setTempoDeUsinagem(pecaDTORequest.getTempoDeUsinagem()); + peca.setPesoTarugo(pecaDTORequest.getPesoTarugo()); + peca.setQuantidadeDeCavaco(pecaDTORequest.getQuantidadeDeCavaco()); + peca.setValorDoCavaco(pecaDTORequest.getValorDoCavaco()); + peca.setDataDeCriacao(Calendar.getInstance().getTime()); + peca.setMaosDeObra(maosDeObra); + peca.setMaquinas(maquinas); + peca.setSubPecas(subPecas); + peca.setMaterial(material); + + return peca; + } +} \ No newline at end of file diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/SubPecaController.java b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/SubPecaController.java new file mode 100644 index 0000000..3a6ac83 --- /dev/null +++ b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/SubPecaController.java @@ -0,0 +1,61 @@ +package com.precisiontech.cp.controller; + +import com.precisiontech.cp.DTO.PecaDTORequest; +import com.precisiontech.cp.DTO.PecaDTOResponse; +import com.precisiontech.cp.entity.*; +import com.precisiontech.cp.repository.*; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.stream.Collectors; + +@RestController +@RequestMapping("/subpecas") +public class SubPecaController { + + @Autowired + private SubPecaRepository subPecaRepository; + + @Autowired + private FormatoRepository formatoRepository; + + + @GetMapping + public Iterable getAllPecas() { + return subPecaRepository.findAll(); + } + + @GetMapping("/{id}") + public SubPeca getPecaById(@PathVariable Long id) { + return subPecaRepository.findById(id) + .orElseThrow(() -> new RuntimeException("Sub Peca not found with id: " + id)); + } + + @PostMapping("/subpeca") + public SubPeca createSubPeca(@RequestBody SubPeca subPeca) { + Formato formato = subPeca.getFormato(); + formato = formatoRepository.save(formato); + subPeca.setFormato(formato); + return subPecaRepository.save(subPeca); + } + + @PutMapping("/{id}") + public SubPeca updatePeca(@PathVariable Long id, @RequestBody SubPeca subPeca) { + SubPeca existingSubPeca = subPecaRepository.findById(id) + .orElseThrow(() -> new RuntimeException("Sub Peca not found with id: " + id)); + BeanUtils.copyProperties(subPeca, existingSubPeca, "id"); + existingSubPeca = subPecaRepository.save(existingSubPeca); + return existingSubPeca; + } + + @DeleteMapping("/{id}") + public void deletePeca(@PathVariable Long id) { + subPecaRepository.deleteById(id); + } + + + + +} \ No newline at end of file diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/TurmaController.java b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/TurmaController.java new file mode 100644 index 0000000..5cbd946 --- /dev/null +++ b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/TurmaController.java @@ -0,0 +1,77 @@ +package com.precisiontech.cp.controller; + +import com.precisiontech.cp.entity.Turma; +import com.precisiontech.cp.repository.TurmaRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Optional; + +@RestController +@RequestMapping("/turmas") +public class TurmaController { + + private final TurmaRepository turmaRepository; + + @Autowired + public TurmaController(TurmaRepository turmaRepository) { + this.turmaRepository = turmaRepository; + } + + // Create + @PostMapping + public ResponseEntity criarTurma(@RequestBody Turma turma) { + try { + Turma novaTurma = turmaRepository.save(turma); + return new ResponseEntity<>(novaTurma, HttpStatus.CREATED); + } catch (Exception e) { + return new ResponseEntity<>(null, HttpStatus.INTERNAL_SERVER_ERROR); + } + } + + // Read all + @GetMapping + public ResponseEntity> obterTodasTurmas() { + List turmas = turmaRepository.findAll(); + if (turmas.isEmpty()) { + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + return new ResponseEntity<>(turmas, HttpStatus.OK); + } + + // Read one + @GetMapping("/{id}") + public ResponseEntity obterTurmaPorId(@PathVariable("id") Long id) { + Optional turmaOptional = turmaRepository.findById(id); + return turmaOptional.map(turma -> new ResponseEntity<>(turma, HttpStatus.OK)) + .orElseGet(() -> new ResponseEntity<>(HttpStatus.NOT_FOUND)); + } + + // Update + @PutMapping("/{id}") + public ResponseEntity atualizarTurma(@PathVariable("id") Long id, @RequestBody Turma turma) { + Optional turmaOptional = turmaRepository.findById(id); + if (turmaOptional.isPresent()) { + Turma _turma = turmaOptional.get(); + _turma.setCodTurma(turma.getCodTurma()); + _turma.setNome(turma.getNome()); + return new ResponseEntity<>(turmaRepository.save(_turma), HttpStatus.OK); + } else { + return new ResponseEntity<>(HttpStatus.NOT_FOUND); + } + } + + // Delete + @DeleteMapping("/{id}") + public ResponseEntity deletarTurma(@PathVariable("id") Long id) { + try { + turmaRepository.deleteById(id); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } catch (Exception e) { + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } + } +} diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/UsuarioController.java b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/UsuarioController.java new file mode 100644 index 0000000..7b800e9 --- /dev/null +++ b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/UsuarioController.java @@ -0,0 +1,89 @@ +package com.precisiontech.cp.controller; + +import com.precisiontech.cp.entity.Usuario; +import com.precisiontech.cp.repository.UsuarioRepository; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Optional; + +@RestController +@RequestMapping("/usuarios") +public class UsuarioController { + + @Autowired + private UsuarioRepository usuarioRepository; + + @GetMapping + public ResponseEntity> getAllUsuarios() { + List usuarios = usuarioRepository.findAll(); + return ResponseEntity.ok(usuarios); + } + + @GetMapping("/{email}") + public ResponseEntity getUsuarioByEmail(@PathVariable String email) { + Optional usuarioOptional = usuarioRepository.findById(email); + return usuarioOptional.map(ResponseEntity::ok) + .orElseGet(() -> ResponseEntity.notFound().build()); + } + + @GetMapping("/professores") + public List getProfessores() { + return usuarioRepository.findByTipoUsuario(Usuario.TipoUsuario.valueOf("PROFESSOR")); + } + + @GetMapping("/alunos") + public List getAlunos() { + return usuarioRepository.findByTipoUsuario(Usuario.TipoUsuario.valueOf("ALUNO")); + } + + @PostMapping + public ResponseEntity createUsuario(@RequestBody Usuario usuario) { + Usuario createdUsuario = usuarioRepository.save(usuario); + return ResponseEntity.status(HttpStatus.CREATED).body(createdUsuario); + } + + @PostMapping("/login") + public ResponseEntity login(@RequestBody Usuario usuario) { + + Optional usuarioEncontrado = usuarioRepository.findById(usuario.getEmail()); + + if (usuarioEncontrado.isPresent() + && usuarioEncontrado.get().getEmail().equals(usuario.getEmail()) + && usuarioEncontrado.get().getSenha().equals(usuario.getSenha())) { + return ResponseEntity.ok("{\"message:\":\"Login bem-sucedido!\"}"); // Aqui você retornaria um token de autenticação, por exemplo + } else { + return ResponseEntity.status(HttpStatus.UNAUTHORIZED).body("{\"message:\":\"credenciais inválidas!\"}"); + } + } + + @PutMapping("/{email}") + public ResponseEntity updateUsuario(@PathVariable String email, @RequestBody Usuario usuarioDetails) { + Optional usuarioOptional = usuarioRepository.findById(email); + if (usuarioOptional.isPresent()) { + Usuario usuario = usuarioOptional.get(); + usuario.setNome(usuarioDetails.getNome()); + usuario.setCurso(usuarioDetails.getCurso()); + usuario.setTipoUsuario(usuarioDetails.getTipoUsuario()); + usuario.setSenha(usuarioDetails.getSenha()); + Usuario updatedUsuario = usuarioRepository.save(usuario); + return ResponseEntity.ok(updatedUsuario); + } else { + return ResponseEntity.notFound().build(); + } + } + + @DeleteMapping("/{email}") + public ResponseEntity deleteUsuario(@PathVariable String email) { + Optional usuarioOptional = usuarioRepository.findById(email); + if (usuarioOptional.isPresent()) { + usuarioRepository.deleteById(email); + return ResponseEntity.noContent().build(); + } else { + return ResponseEntity.notFound().build(); + } + } +} \ No newline at end of file diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Cilindro.java b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Cilindro.java new file mode 100644 index 0000000..09c7645 --- /dev/null +++ b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Cilindro.java @@ -0,0 +1,22 @@ +package com.precisiontech.cp.entity; + +import jakarta.persistence.DiscriminatorValue; +import jakarta.persistence.Entity; +import jakarta.persistence.Table; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +@EqualsAndHashCode(callSuper = true) +@AllArgsConstructor +@NoArgsConstructor +@Data +@Entity +@DiscriminatorValue("cilindro") +public class Cilindro extends Formato { + + private Double raio; + private Double altura; + +} \ No newline at end of file diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Formato.java b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Formato.java new file mode 100644 index 0000000..349f8ea --- /dev/null +++ b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Formato.java @@ -0,0 +1,30 @@ +package com.precisiontech.cp.entity; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import jakarta.persistence.*; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +@AllArgsConstructor +@NoArgsConstructor +@Data +@Entity +@Table(name = "formato") +public class Formato implements Serializable { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + private String volume; + + @JsonIgnore + @OneToMany(mappedBy = "formato") + private List subPecas = new ArrayList<>(); + + +} \ No newline at end of file diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/MaoDeObra.java b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/MaoDeObra.java new file mode 100644 index 0000000..c4fc4b2 --- /dev/null +++ b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/MaoDeObra.java @@ -0,0 +1,39 @@ +package com.precisiontech.cp.entity; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.precisiontech.cp.DTO.MaoDeObraDTO; +import jakarta.persistence.*; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.ArrayList; +import java.util.List; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Entity +@Table(name = "MaoDeObra") +public class MaoDeObra { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + private String profissional; + private double precoPorHora; + + @JsonIgnore + @ManyToMany(mappedBy = "maosDeObra") + private List pecas = new ArrayList<>(); + + public static MaoDeObraDTO fromEntity(MaoDeObra maoDeObra) { + return new MaoDeObraDTO( + maoDeObra.getId(), + maoDeObra.getProfissional(), + maoDeObra.getPrecoPorHora() + ); + } + + +} diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Maquina.java b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Maquina.java new file mode 100644 index 0000000..991639c --- /dev/null +++ b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Maquina.java @@ -0,0 +1,33 @@ +package com.precisiontech.cp.entity; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import jakarta.persistence.*; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.ArrayList; +import java.util.List; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Entity +public class Maquina { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + private String nome; + private double precoPorHora; + + @JsonIgnore + @ManyToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE}) + @JoinTable( + name = "Maquina_Peca", + joinColumns = @JoinColumn(name = "maquina_id"), + inverseJoinColumns = @JoinColumn(name = "peca_id") + ) + private List pecas = new ArrayList<>(); + +} \ No newline at end of file diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Material.java b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Material.java new file mode 100644 index 0000000..25a0f28 --- /dev/null +++ b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Material.java @@ -0,0 +1,50 @@ +package com.precisiontech.cp.entity; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.precisiontech.cp.DTO.MaterialDTO; +import jakarta.persistence.*; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +import lombok.ToString; + +import java.util.List; + +@Data +@NoArgsConstructor +@AllArgsConstructor +@Entity +public class Material { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id") + private Long id; + + @Column(name = "nome") + private String nome; + + @Column(name = "preco_por_kg") + private Double precoPorKg; + + @Column(name = "preco_cavaco") + private Double precoCavaco; + + @Column(name= "densidade") + private Double densidade; + + @JsonIgnore + @ToString.Exclude + @OneToMany(mappedBy = "material") + private List pecas; + + public static MaterialDTO fromEntity(Material material) { + return new MaterialDTO( + material.getId(), + material.getNome(), + material.getPrecoPorKg(), + material.getPrecoCavaco(), + material.getDensidade() + ); + } + +} \ No newline at end of file diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Peca.java b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Peca.java new file mode 100644 index 0000000..10e57b0 --- /dev/null +++ b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Peca.java @@ -0,0 +1,56 @@ +package com.precisiontech.cp.entity; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import jakarta.persistence.*; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Objects; + +@AllArgsConstructor +@NoArgsConstructor +@Data +@Entity +@Table(name = "Peca") +public class Peca implements Serializable { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + private String codigo; + private String nomeDaPeca; + private Double volumeTotal; // vem do front + private Double custoDeProducao; // (materia prima * kg da materia) + (mao de obra * qtd de mao de obra * tempo) + (máquinas * quantidade * tempo) + private Double tempoDeUsinagem; // soma dos tempos do operador + private Double pesoTarugo; + private Double quantidadeDeCavaco; + private Double valorDoCavaco; + private Date dataDeCriacao; + + @ManyToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE}) + @JoinTable( + name = "Peca_MaoDeObra", + joinColumns = @JoinColumn(name = "peca_id"), + inverseJoinColumns = @JoinColumn(name = "mao_de_obra_id") + ) + private List maosDeObra = new ArrayList<>(); + + @ManyToOne + @JoinColumn(name = "material_id") // Chave estrangeira na tabela Peca + private Material material; + + + @ManyToMany(mappedBy = "pecas", cascade = {CascadeType.PERSIST, CascadeType.MERGE}) + private List maquinas = new ArrayList<>(); + + + @OneToMany(mappedBy = "peca") + private List subPecas; + + +} \ No newline at end of file diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Piramide.java b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Piramide.java new file mode 100644 index 0000000..bdaeb3c --- /dev/null +++ b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Piramide.java @@ -0,0 +1,23 @@ +package com.precisiontech.cp.entity; + +import jakarta.persistence.DiscriminatorValue; +import jakarta.persistence.Entity; +import jakarta.persistence.Table; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +@EqualsAndHashCode(callSuper = true) +@AllArgsConstructor +@NoArgsConstructor +@Data +@Entity +@DiscriminatorValue("Piramide") +public class Piramide extends Formato { + + private String tipoBase; + private Double lado; + private Double altura; + +} \ No newline at end of file diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/SubPeca.java b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/SubPeca.java new file mode 100644 index 0000000..e01c7f2 --- /dev/null +++ b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/SubPeca.java @@ -0,0 +1,36 @@ +package com.precisiontech.cp.entity; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import jakarta.persistence.*; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +@AllArgsConstructor +@NoArgsConstructor +@Data +@Entity +@Table(name = "subpeca") +public class SubPeca implements Serializable { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + private String nome; + + @ManyToOne + @JoinColumn(name = "formato_id") + private Formato formato; + + @JsonIgnore + @ManyToOne + @JoinColumn(name = "peca_id") + private Peca peca; + + +} \ No newline at end of file diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Turma.java b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Turma.java new file mode 100644 index 0000000..f39e346 --- /dev/null +++ b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Turma.java @@ -0,0 +1,24 @@ +package com.precisiontech.cp.entity; + +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Entity +public class Turma { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + private String codTurma; + private String nome; + +} diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Usuario.java b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Usuario.java new file mode 100644 index 0000000..f2f552b --- /dev/null +++ b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Usuario.java @@ -0,0 +1,28 @@ +package com.precisiontech.cp.entity; + +import jakarta.persistence.*; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Objects; +@Data +@AllArgsConstructor +@NoArgsConstructor +@Entity +public class Usuario { + + @Id + private String email; + private String nome; + private String curso; + private TipoUsuario tipoUsuario; + private String senha; + + public enum TipoUsuario { + ADMINISTRADOR, + PROFESSOR, + ALUNO + } + +} \ No newline at end of file diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/FormatoRepository.java b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/FormatoRepository.java new file mode 100644 index 0000000..5f0a1ec --- /dev/null +++ b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/FormatoRepository.java @@ -0,0 +1,8 @@ +package com.precisiontech.cp.repository; + +import com.precisiontech.cp.entity.Formato; +import com.precisiontech.cp.entity.Peca; +import org.springframework.data.repository.CrudRepository; + +public interface FormatoRepository extends CrudRepository { +} \ No newline at end of file diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/MaoDeObraRepository.java b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/MaoDeObraRepository.java new file mode 100644 index 0000000..5fc15b7 --- /dev/null +++ b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/MaoDeObraRepository.java @@ -0,0 +1,9 @@ +package com.precisiontech.cp.repository; + +import com.precisiontech.cp.entity.MaoDeObra; +import com.precisiontech.cp.entity.Material; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.repository.CrudRepository; + +public interface MaoDeObraRepository extends JpaRepository { +} diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/MaquinaRepository.java b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/MaquinaRepository.java new file mode 100644 index 0000000..1530a6c --- /dev/null +++ b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/MaquinaRepository.java @@ -0,0 +1,9 @@ +package com.precisiontech.cp.repository; + +import com.precisiontech.cp.entity.Maquina; +import com.precisiontech.cp.entity.Material; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface MaquinaRepository extends JpaRepository { + +} diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/MaterialRepository.java b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/MaterialRepository.java new file mode 100644 index 0000000..8149a40 --- /dev/null +++ b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/MaterialRepository.java @@ -0,0 +1,9 @@ +package com.precisiontech.cp.repository; + +import com.precisiontech.cp.entity.Material; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.repository.CrudRepository; + +public interface MaterialRepository extends JpaRepository { + +} diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/PecaRepository.java b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/PecaRepository.java new file mode 100644 index 0000000..d75c9d1 --- /dev/null +++ b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/PecaRepository.java @@ -0,0 +1,16 @@ +package com.precisiontech.cp.repository; + +import com.precisiontech.cp.entity.Peca; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.CrudRepository; + +import java.util.List; + +public interface PecaRepository extends CrudRepository { + @Query("SELECT p.codigo FROM Peca p") + List findCodigo(); + + @Query("SELECT p.nomeDaPeca FROM Peca p") + List findNome(); + +} \ No newline at end of file diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/SubPecaRepository.java b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/SubPecaRepository.java new file mode 100644 index 0000000..95ffdd0 --- /dev/null +++ b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/SubPecaRepository.java @@ -0,0 +1,8 @@ +package com.precisiontech.cp.repository; + +import com.precisiontech.cp.entity.Peca; +import com.precisiontech.cp.entity.SubPeca; +import org.springframework.data.repository.CrudRepository; + +public interface SubPecaRepository extends CrudRepository { +} \ No newline at end of file diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/TurmaRepository.java b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/TurmaRepository.java new file mode 100644 index 0000000..f9758cc --- /dev/null +++ b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/TurmaRepository.java @@ -0,0 +1,9 @@ +package com.precisiontech.cp.repository; + +import com.precisiontech.cp.entity.Turma; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface TurmaRepository extends JpaRepository { +} diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/UsuarioRepository.java b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/UsuarioRepository.java new file mode 100644 index 0000000..5988e91 --- /dev/null +++ b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/UsuarioRepository.java @@ -0,0 +1,13 @@ +package com.precisiontech.cp.repository; + +import com.precisiontech.cp.entity.Usuario; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +import java.util.List; + +@Repository +public interface UsuarioRepository extends JpaRepository { + + public List findByTipoUsuario(Usuario.TipoUsuario tipoUsuario); +} \ No newline at end of file diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/util/CPUtil.java b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/util/CPUtil.java new file mode 100644 index 0000000..880973f --- /dev/null +++ b/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/util/CPUtil.java @@ -0,0 +1,7 @@ +package com.precisiontech.cp.util; + +public class CPUtil { + public static double arredondarPara3CasasDecimais(double valor) { + return Math.round(valor * 1000.0) / 1000.0; + } +} diff --git a/Ex07-calculo-preciso/src/main/resources/application.properties b/Ex07-calculo-preciso/src/main/resources/application.properties new file mode 100644 index 0000000..ba61cde --- /dev/null +++ b/Ex07-calculo-preciso/src/main/resources/application.properties @@ -0,0 +1,17 @@ +#spring.datasource.url=jdbc:mysql://127.0.0.1:3306/banco_calculopreciso?useTimezone=true&serverTimezone=UTC +spring.datasource.url=jdbc:mysql://127.0.0.1:3306/banco_calculopreciso +spring.datasource.username=root +spring.datasource.password=aluno +spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver + +spring.jpa.show-sql=true +spring.jpa.properties.hibernate.dialect =org.hibernate.dialect.MySQL8Dialect +spring.jpa.hibernate.ddl-auto=update + +file.upload-dir=src/main/resources/static/uploads +# Increase the size allowed for uploaded files +spring.servlet.multipart.max-file-size=1MB +spring.servlet.multipart.max-request-size=1MB +springdoc.api-docs.enabled=true +springdoc.swagger-ui.enabled=true + diff --git a/Ex07-calculo-preciso/src/test/java/com/precisiontech/cp/CPApplicationTests.java b/Ex07-calculo-preciso/src/test/java/com/precisiontech/cp/CPApplicationTests.java new file mode 100644 index 0000000..5e5308b --- /dev/null +++ b/Ex07-calculo-preciso/src/test/java/com/precisiontech/cp/CPApplicationTests.java @@ -0,0 +1,13 @@ +package com.precisiontech.cp; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class Mvp03ApplicationTests { + + @Test + void contextLoads() { + } + +} diff --git a/Ex07-calculo-preciso/target/classes/application.properties b/Ex07-calculo-preciso/target/classes/application.properties new file mode 100644 index 0000000..ba61cde --- /dev/null +++ b/Ex07-calculo-preciso/target/classes/application.properties @@ -0,0 +1,17 @@ +#spring.datasource.url=jdbc:mysql://127.0.0.1:3306/banco_calculopreciso?useTimezone=true&serverTimezone=UTC +spring.datasource.url=jdbc:mysql://127.0.0.1:3306/banco_calculopreciso +spring.datasource.username=root +spring.datasource.password=aluno +spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver + +spring.jpa.show-sql=true +spring.jpa.properties.hibernate.dialect =org.hibernate.dialect.MySQL8Dialect +spring.jpa.hibernate.ddl-auto=update + +file.upload-dir=src/main/resources/static/uploads +# Increase the size allowed for uploaded files +spring.servlet.multipart.max-file-size=1MB +spring.servlet.multipart.max-request-size=1MB +springdoc.api-docs.enabled=true +springdoc.swagger-ui.enabled=true + diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/CPApplication.class b/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/CPApplication.class new file mode 100644 index 0000000000000000000000000000000000000000..ba1c2879cbf3897dd755e3944651b3afc514e52b GIT binary patch literal 735 zcmah{O;6iE5PcgG970-XD75tBP}D=np?l+!f&`H`nHDuwdgy7rEY4DU*IKWEztvMK z4*dcBQ5CZW2_r?SCC_NS-psz4zyEIj0NBUd9$Hw6(C(vyWrp<&aVdBvOv*ne7fO1D z<&WBEf55Ob+?_?}GVDm3^TH{qOKpu;a?WMJC#Q!+k!dMBIeX|~HA26SCwR&*vM%Li z;j~H5oygUdbw7Awt>@F)*{GyGt}+bCFn*Y2l8Le$e{XoEK7fsP<3-3aOm*$~#F}%R zR!$_DYP2AC2#*=s6MLo@)?#hcrz%gB`xPUd&KsKz!bywm&$mZs~PPj zyx17)>upf=!9t?y6^P1PVytFL-7n;bcGF;NjCY9WQo`2)3%5dYjVw-@k?xFsf&Hw* z>m)-MRPu~u|1JRoY>>5r=h!5WP`p=z0o_3~`i+%u5B1?JK{pg(wSm#a7G9A5CH)`z%7t;y;uMM literal 0 HcmV?d00001 diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/DTO/MaoDeObraDTO.class b/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/DTO/MaoDeObraDTO.class new file mode 100644 index 0000000000000000000000000000000000000000..1ec533b1db255fc725780b39d52d159075421056 GIT binary patch literal 3222 zcma)8U2_vv7=BKY&8A^Xlh77|h%L0VNeWR!DNTz?Q*1H)kk%p}D%*5vmZsUT*)nk9 zl{fwb^#{leGwO^K24@_-!5M#(h|k$gx0?_grp=x`?|IMjp7XrVdC&g+@6+D_OyRDI zkic-++RE2$qii-ztL7NxO1@mr8#Tvt?&s%qt7t5)*?JrT5e*8W0?|pcW;*8u!lRkh zIAZ8h5!bK}+N;otD~o$j>VA5Ruyv$ZHs4-s(4)Vwsy~%z)0s9FRevDY`xOE!-^8~hEuWDmvmd- zG91H}8E`5l8)5Mr23TuqgZZ|cieXa$(r-x0Hs)H~*Q9G~Q>r)IYV2Ni^z!DsUTd*@1Aq6pkLawK@LV~*veP~gOC<$hHlzHDvVW#ghL z^_=vJ8aX{B^-g(Suq>zH*m~V#snHXK8OLpGs;Ej0lIo$oqhZ$WTAN1RTZbphi+b6y z?E3=W1sBzH^gw6z+IrP!43#WvbGu#$Fy7Q;z|t~t<$m4h;C?;ezk8korY6L+Uac;h zj!}q#c|IN7{HVD;CB_DV{CfSpOiYOkE6iN2X4unJz0oilDyWFzm$>M(MHS5K(f@a) z20T76$g(xgGap7s7D~Q_WI1$O7CN@w=)xQ>(f$d0w_H!)*l!S5A0u4KWp|+Npj)=d z9rVdIy@NM%Kf4$uKKprt0ey_rkA%Dj_&0zw=H0OnpU1F(MYb^<#u7edX}`>#B4`FX zyyWT9LoNR!MzAk*O+h-r7In<>>>(zRngKudANOYvg2f4K>p;A2h7NspBNzo zxi>Fzs^er{rcKr+*vfrIv$;nY{H1NS7GNUUT(?A)`S6)IPB4~aQs*V21#eL8W_IN&M;;;bx{y*OK4i{?9Ab z{1~-z((OvojPdsb?|d(Z*;f~6P$wcM|H8g>omSG(U8l%H#tsJ(8MNShXE<$vWd|yr!CL>dl)hC#|a3oQv3?>G?9{lFp zo6@LGDAFWpizRXo5KAjN_|P39o9bvZDwc6;&=w<)N zPZCF#gOuDge@RKnQzjSf=ij5-D;_DocqmwJ=IRD_Aj?>9_AzGNW1Jm(gyC$a!%^vW z4|JBX>F=wow|StYO`b!U`Cj=oNn}~>y2Erxa412eJna1L=d-nPF?jpI+~1-2gkcad Z#B#mCHb$5Ve>K$ElV8qv(7-m*{{btYep&zk literal 0 HcmV?d00001 diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/DTO/MaterialDTO.class b/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/DTO/MaterialDTO.class new file mode 100644 index 0000000000000000000000000000000000000000..3d48cc967559e8d94a074c5d1ac7e6f6e717ed09 GIT binary patch literal 3930 zcmbtX-EJFI5dMy{>s{NM#7UdBE~SJt4Y8BdP=4z)g*Itu+9VB4DA4lLt-Zu<9B*oG zDpleJ2_XbGa0TK4=uMG8kRVkE0T)H$1^NK+7?kpzvuk^um=Xyo-ZN+Bo7pozXJ+&J z-*PEa->|4CdX{>{`{ymue-q;yL+ZHoumgS~{PdvpuI;vdg3eBBg>r za`u{i!_JoN%5rwrtt^jATc(8=;sRR5U3CO{LzqRcS_)8>g-&z{#O15p1-E)`xfMI* zu3s%X%3{(&kHjVvc9O5myYfxDEbNy2Siz~(N(H;%#L3-bVK4Rxn0dQ$`ue(E7U&xe z9pe1eYfj!9PhXPY{T3d<0Res4@n+~z?{GQkDyA;vnyUr zpd1dHibW_k!AnA%z^k2b!a)w5_Lzkn#u?D#rAo;=q0V}dmE<41d$v?@=GRxRI@Kkc zwIS=p&D-URHmj2RfT?-K5)VH#yOToZ%k-L``d!<+P4nH!Imauyg$286uR5%MS~jTQ zhrOk)0zafuClTT7x8Q;>NnBSQ=O>-1CZmyR0pYgZiJ)|OX4fk^RUSq9Iw-HAsW^)4 zR?P6dO8UYURufczc~1yc=XEJq<9-Qr`=AgfrXc=hkNZ-8)4Ax``IR|)El7;MaA9Wd zG`*T(hO16(z3ef=>d1+~@YyVXS3g61F!VNk&^K;+t{-rL%i9tcD#8C(rp!@%(Os|R zo#~P+xMZjY9+8cJtW&P*)x4^`=2uFsJBoMXSVqx6NnWvQ?5WM3QL5Z_`Cgjh?Y9g|br{oORum^|kSb`q!ekbaTyV1HT-yQ16E!R$yY%E|(We zo-=NOO>{Ek`*5i+Ax8UUD&*QsUSsDcPi`B@n-FPM_)MkZR42=Jt>)AWu)q&*3r;(q z4O|yE_;4u8$`24bb%f0ioM;g_)ksC;P*N+$j#@cV)XEXUH3=an0iVaY%W@T5_00DW z-zeAwpHao^#tG7v55S9fi8~=XGM`(OjjhVbw#u9tZIlyRm3!JMbAGf@?%t~0+g6zq zrj2s%R^?r7l~3Xn11o*bagA_|W=1w3z9kjmw?#c-38lTqM+6a*GMO3{7I8Xzn##cx zP7}7xq_IWREgA)81t7PEE=( zZkXJyO!9lhcU=6;wUc4KHKtL~4GNkDNC48xkq) zE_!ak8cS)Lc(jff$mxU(5|__u4PH^QLPc^QV_+Rds`;YT7_ymsPGnlNeTljQhuZ9)~qf#i6RairE^gwiZ(>78eeNPXDAU1CeSjJ z=s^4QUht0@_|<`r@H*b06FNS`B~lS4dW?#X_@BGT)CI!0?{1+Zuc) zm8MpE85J3(D~)+I#bC%`w_hfkKiLij_#5IceFx6~Tc?5F&;1FwKS+S!46qq=*}C83 zDu-@=<_El>CPHR(14d?S1BpyZ+dy|FrEg$cZ?n{#IN|Fy3bvo;^Cxe=8sf6v`+2v! zm=#IMW~wPl_CQ?~cArinNqCaLBq2%ut0-qY|G(f<9%dj2MUY2< Vt4T8se=At!P7a+4*4Q6X{{XbL*=Ya( literal 0 HcmV?d00001 diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/DTO/PecaDTORequest.class b/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/DTO/PecaDTORequest.class new file mode 100644 index 0000000000000000000000000000000000000000..ba608487072cd8bd6d2a7a8a94888ad3ccce692e GIT binary patch literal 9234 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 X9s|uYxSpq9;)$#K7wFgY8`Ay_a~f2& literal 0 HcmV?d00001 diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/DTO/PecaDTOResponse.class b/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/DTO/PecaDTOResponse.class new file mode 100644 index 0000000000000000000000000000000000000000..2012a2d38ea5d15b26620a9c1eab6f91e1eb40bf GIT binary patch literal 10307 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 JpAdfv`~lazi`)PJ literal 0 HcmV?d00001 diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/controller/MaoDeObraController.class b/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/controller/MaoDeObraController.class new file mode 100644 index 0000000000000000000000000000000000000000..b125eccbe319196688c570c8d7d793bec0c3debd GIT binary patch literal 4711 zcmcInYjYgM6+OLrjI|y;B1aB31Z>%W*0MbWKOn5_AjvXzSlNnXl*Hu0>~2dMYj$Rt z>6H-;-BfKVx7^MT@XD!(a}(=(&lS!?84yOIxE{n);@&pr3{>7IZ6 z=d;fNoW@5*6wqU!*F+!s1xBvg>$c_E-imdpdR5kxK>sPnbJQ7uo{7@Z0Cr%&K+(ib zm;%RYe#2@8vgU-2?+dnHWRRen_ofFvA*qmLEO+R#$A8ZJm zsN^~e(j{$YZL{)D3}M*7h>0&@bUQ$|_aR^`J6?Utbp=KzN|lI$mU3LH;)E*N;man* zuv=h-4> zr(DE+_^N^XO+0{oMAe40>6Yne*i8nUz=-f}b(D*!h;bY+aL~kqcu3%3KUlHCX5e@$ z%YogH*Zg43T2-oPEy%Fxd!d~5l%oiHhv%zve#>L{PcVWm?GB!oc3lSHbjxwslF$j1 z3>-2siNgXX@6HX$tZIh>lifp!h&^h;!XqqfKbUnxDe%ztsmx|~0FUCBf#W7l;AF>9 zS=i%;Q@; z6L;Z*d{*gE;B+4G-J*)bV$sB9JR?w)FHk?iST1t&d8LRa@of{|!FO5Cp;TH}c4Yxn zd~c;(TGF&WYvOx4x`Mx^%isqley9tnSeLF;QtzTy*(R#`P!D*%mRuHrz@CK`YoQ^R zsM1wePI)}WwiX;F`0?D(s?zpCYuT=8X}0Xtz?y0)|C$rXdYOdjj0p@^98X?sHL5bW zY|}mEs^ZsdcgYSMJx(Tj)vCk&wo&=pUm4tNctt8Ibb6mK!bNArW0eNnvD~4jTDDK+ z-zK*nit-uyKAy|LHCeT)l>2P>Pf0aL38zxhY=n?fJaLxGTXUD|J4apVu;4KLBbjR@ z%08#&q+0ds^R`xJMI{xe-~C2+!c5<~?Y78opLN}-za%i;SxG6Pj*>c=8*(0<^R`;u zEEApM8kJJXlv9C)i7wOFwQg{mf%N&oyRS?C0z+DE>ltj<|L555Br_+vC)p1(MccjI zf_%OuL#1_A=cd)Hcjl(Lr3Aa=@=kI!5^tO3eUNukZH>n;5tcXq?>O!xFWqa&d@GZd z;aJ5pF9;_gL2jb2hqA+B#QU^jkqqo^!Oe-;+XYzvz$Zx6F1| zN#42VRj%6Rtgif9DBm=y$_zS-$GI+jeq&H6r+r_ADzKZeWQN22c)N&q@LL1FGx09o zqlQHUt@ ze5sR$%qz>lU-$~#LS7yZ2L2{+|LvFZeHfF5{rsjZ@FR&Ap#G|4TjQvoZ9QrEY08o0 z$YLwl_8s~s#NXK|U^!U?K8jY@*ABPAW-1sN>+T^ErEJ1p@fG_am+$Wg6f%AuNqEg5ZG89?thrvhX7!E}E_QhUO zeB*c#*SXUe2Js{I3Y$n@Op(5n^7doSr3hb+5dH)|O%T3CTg}PQ1lmFYAHdw?@8iQn zy`=vl${6*3jhg>y0OKTm1@#VxcC7E;>d&|XdJBVcH{K1%taC9~fz;0B(Hs-+!O zTqln*s$-1m1ncBvrcO#}M5QF64)h%b^ID4h^;?jq1=EW+h_ZlRMoUN8dz0f|rOSVf o-*Bu?*IOj&_xJ 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 literal 0 HcmV?d00001 diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/controller/PecaController.class b/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/controller/PecaController.class new file mode 100644 index 0000000000000000000000000000000000000000..a44601e1043280aa51cfdae7c93f2463cc5278c2 GIT binary patch literal 13359 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 N&ZpnuBm5CZ{tM5h-V^`; literal 0 HcmV?d00001 diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/controller/TurmaController.class b/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/controller/TurmaController.class new file mode 100644 index 0000000000000000000000000000000000000000..f0181ab2c43988abd319f5a382a56f46083d72d0 GIT binary patch literal 5467 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 literal 0 HcmV?d00001 diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/Formato.class b/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/Formato.class new file mode 100644 index 0000000000000000000000000000000000000000..969ad67ab6e6d6bdfb5d04d9e3f1e825eef61822 GIT binary patch literal 3782 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 literal 0 HcmV?d00001 diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/Maquina.class b/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/Maquina.class new file mode 100644 index 0000000000000000000000000000000000000000..4a6a09a5707efa5b65ca0beec156093b9e83d91c GIT binary patch literal 4349 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 K@pJqF`TqiLm9*CY literal 0 HcmV?d00001 diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/Peca.class b/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/Peca.class new file mode 100644 index 0000000000000000000000000000000000000000..67c383bb91e6b64736e031ce25463552c7446924 GIT binary patch literal 11163 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 Juom_0{{d4|ed+)J literal 0 HcmV?d00001 diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/Piramide.class b/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/Piramide.class new file mode 100644 index 0000000000000000000000000000000000000000..3eea351b8f7c8366c5c120b2895ab38eed4c2b16 GIT binary patch literal 3085 zcmbVOU2oG?7=BI?$4={%&@TuS2BScmv}CX^ND5mi?I>$YN4vs+ZMd#QO;bCwolZ!* z+Mn38A24pX*rZV;E~f2>^Zj6nlwYxq}D#?eV_AwJ@0$sKmUIAD}alzRHOuk zO?R`>@GR5zZPy7bbG>3VDwY%2!Nba;?HQZ)n$-n?j1C1^0nId=>93kbU0`5j?t!so zRO*IvzjA%`fn^4@(c4|nkWunl=E0DFMNnbk3>*&Eg0rkEW%o%G` z_K%Dv99?mnt97f^h5gb^uRx(a2x+BX$AGkwqm{{e(DV!`J)q+tiUQq~F530)lioxMu?vYD(J_h=%UcgqO`_sNC2CB^xI|@*FqK{sSkdto&N8J2y(`Es1%|mXZ#3e#3-ea6?yfBw?0YM)Jm#P*-k6=AW{9&azi0W)dO%_9T^(+@ z$_?*Yz3_hvzrxP+lb!j>gvDHp5~UIq&BiN;m{N(z5iuDyi|j%-IxEn%5-2m? ztG;6Ure|;34rkn3G3rf=P-ROl7*)$VC-}1K27cffji~Xtt|=eirsMlI3zabXjZR}L;eY*-!O zcM|y4<(Ck}CZ>#feaQ~2nuaep5Urd?THSI{j2)A0E#FZuT@<5iT+BeCtH;8mIgmAg1`vQTkoE z^dpqaBGKUUgCI^34ZPoYMuZRiVQd{i^zf1taVd5-;$ppO?b+bFaU zeN}~!zG}9pNKE!QdLJQQREpUIXt1ghG+5P&ssw2{Q$nj16dVG&ojN+FMr zG0ni!?6`9*vn=-{4&WoMl(3**Bl{AEkYPcEU=8_tN%-zQB?SXeT7VXY1x<=#ST-Ts zMYc-`W|+rul_9cx?3)w=1NvFJH%jFvI8hpVg43n(Cn*2i#*ZF$S}DTs@Y5d-mF&d+ zaI7S~{ql#Lxk%3PX#xsV6)2S4@na(54i&!TK}9-m_m&U6$s{LJ?WnCbTk6lof2o` z63cROsAM?>+iR|q$ HH5C5=x(CZx*Yd{RSlU&! ztI(A8mEnmQo?w{awVCPU0Xihi^nrnwGQ;0QDZl$6dF`lfo|uue=brOB=bo>7?&{zF z{p{}mmhe#?8Dt$;1=z?56z_OeAHd0>)4j zu)?VA3rwUin@Kk?sEGp3;H-diJLD<(3-;&^G3V0Uh1?)XPX)w}>%4`a%VwG8bu7KyI z&73a{#!~ZQ0pG+642+r^Dg$Sa=$afz=xhOVm>0+sYT^@kf#@emgfy^Nz>BEry>wa1 zU!!fZk-@hM_zu3yZ0vjS{&KX-O0gFj6YQYx7w{5(ATZtb4*caPY6E93+ zfsfL8Q^`mr#{~F9L7WIuzNXV|EIW8v;H>JrAgXTq-N0)FA9y=0#!$N1W23hHZ8k3% zuZCficnSNMUZ10r2VOVvsvW-@2XW$uO~2aMtqYWgieC3azw0Ib?zY$J`GmP~BG-HO zzD9%lZQbiAjmB#$8(WR7HwB&@y2rW~-rI_LQfv5yg4=R z$WyqevUuBLK;8G-t?C`Gc@Rfo)f)s~y~cH8FO0f!8>hn~p)_0n$2xA)dEIAYYeDF5 z^x8XqcS~1oVl8TVt!VI4@xtO7($fn`&~LK zlTnt{b`?jFBZ{fVY+keVqM!t(M+8Q-Y_QgPvI`iamg&XlX2RZC_d2Eo_Klm3^%c6; z;E3z`aj(U@Bdhkd%X%xfJTPmQwG}ssbP{QOGwOAl{%Ro4X2BHeMR{}uW`=hAin?c5 z&!>lqm1DApKuT!fZ>L!Odnd&*CYHTc zYcojvx{JF46_dV7u)8D{&dc=6r%AsgWkQz3EHm8*Ik}cwUL5b{6V@0Jsr4fT_~_m8l%59a>?cYR^*5lU)F;u{+a{Ha-s|H7$~ z^*P4xqp(=A9^pbCQLfp9lxw+?Eit*zF>xQGCA*YMfhskJpi0dxITGX=kW+F~poQ89 zK?}8fX+(nZ1~gL2_d(VJdYw(3Se=TFj%LsUpW+Q{GvZ173AcEPGbrP?_$hf=zEJ-L zZ<4Z@=mWe(%Emf;yiF>{nX!tWk#f-GX!$uQ7r)~m`vs{H{GNXh-XWF8yY%BFj5+Rq zaN2?U1*RNi_;JM-IH$>xuORzv^acxL$$uQCjb5h1ve|7}4H;+pfTv5|pAK?P+@d#w z#=NDvh;Qv=v5Um7X~LnQPO*N;T2jTFDc1K{O1C(FAI{<4<_*|j7g68DOnDgdVVYXE_}v&2ge7bF1x-IrcCB61gbgisN*d! g$pfxiw0b3GQbR6WE+T$=_$60)Qt#sfe2CKj0D>r3VE_OC literal 0 HcmV?d00001 diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/Turma.class b/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/Turma.class new file mode 100644 index 0000000000000000000000000000000000000000..e314c609ff4ec90d77bfa9b6688a5db266e82c68 GIT binary patch literal 3049 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 literal 0 HcmV?d00001 diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/repository/FormatoRepository.class b/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/repository/FormatoRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..784a02b4c795913bf91f717990500b367fed1c3e GIT binary patch literal 353 zcmb7=J#GRq5Jo>kVEJjNatthJ7if^EEJb2Z;26gkSkG$KnqzU{Cc%@yXs6$` zJm}!$%j?dXn4l{#C3dnb*a!EpCzH8Ka$U6lC_IP?Un9WuVuC{zW>!K>^q#a z{LHlC6lk_+#g__)4pX&2UACCQ(s(T|YESgQg{jRv#NOrs&|y4}A#vH5IJ`A~(RK4L z>_xLPoTL)VAXq*4*Juj$RqZgD>&Cp?#8vO;bVmtiKPLOc4txC^^pyf5RNH-o@%B!> E0jH{VTL1t6 literal 0 HcmV?d00001 diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/repository/MaquinaRepository.class b/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/repository/MaquinaRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..45d3fbf9714ad3f86cd2031016f020ad9f7dc028 GIT binary patch literal 359 zcmbV|F;W6S5Jmq0x`K%j$FR%5Xn~NxTFNRoK|2oPEHE?l&T5f)E&~t1p)6MdY72}A zy1VKJumAu1pRaEKW87xwC_Lz}p(sYX$_1Z{ej^=8ObnGvL3T9bZS6eIk4lD~!d=Pl zOl$U*o?l9%Q-*7W#~_xfD9+oZ@Wy-uSxp@L8Oq^Wq}x zsQ5RU@yVrQti1KD2;SzCTw$;XwP-VS>&DOUtbqGJgH2k6ZZlU+nLr2GVc(#CxPxB; CtaRG| literal 0 HcmV?d00001 diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/repository/MaterialRepository.class b/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/repository/MaterialRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..9f8cf8d7a3e7ca6e5f4e1952d4961d11cc281e7c GIT binary patch literal 362 zcmbV|O-=$q5QSgk&j4=Nc?&BcVKwT~g&9KvCn%e;>2c`p)HE8GUdx3C@KD5&g%D)r zqNy@^1xKKNh>Z1}EK|b$tRo6x-d$V0(w( Dls9$< literal 0 HcmV?d00001 diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/repository/PecaRepository.class b/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/repository/PecaRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..298fe57d76a40373a4fea4d8c4321c54140a4bac GIT binary patch literal 646 zcmaJ<%TB{E5L_2Z`ruJoE{Fp;A-L2M*AygF+Ebv=AntDJ2A9;19H*#!8V5drk3wux zR1!fsSk}t3v$He)_HXRNVX~c{_;#Q-OUrDJ9 zGq_+(fVyjiPNRa@`-JNSvX$p7OmO^>*K>Q_2RlO3QpI+EIJmJ>gY1YvC0*rK%@BCJ z0!pl}Sq3S9Uvs*b9y;q~<9mN>EKJs6id?I=*h>*@SBVQM5(jme?;Kj3%Rms+w4^{>3J#XYv1=R-5xL#gp0&#AQQ=w)O_{y%iY4(5S zIJ+xFF4%AuN?WHg?@T&P1(Mv?tZ8nyO_=8!_2DsH<0;T>s^7d3=pZ`v2gIkD`~mI7 Ba%=zq literal 0 HcmV?d00001 diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/repository/TurmaRepository.class b/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/repository/TurmaRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..9a2a92c0033718dc7af61ca5c9e4811c0f5d782e GIT binary patch literal 439 zcmbV}u}TCn5QZnG-g>8kg^kZ3IF;3^U}GT*!kyUX;uy2;CSi6~xyA>x@Bw@%aTL+z zxXL0k34w3^|DX4d*Eaw-gS`Sq2GFGzGm{HlNKwc=pv%aVQx_!h5^s8L?dpvpnFk-O^h^d`s#SDZ z{R?|qtu;nbg8Y~&2eYaaeR*CQn9ftrjxIx^Y7SP+AAgB6a5(D~)6%VGwrJ=g#w1oW tzRtkWTDhGNQ<7yS{EM>G%nWSk+0uo8-U_WF*oMh>pTdszvHtG@d;$;1j)VXJ literal 0 HcmV?d00001 diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/repository/UsuarioRepository.class b/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/repository/UsuarioRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..1b138c776e2eb3b06ba115834409cec5d0f09a56 GIT binary patch literal 845 zcmbtSO-}+b5S=2h@}YtsC}%xrOl&-OS~V((iDr!k)O%UV(sgM!ZCAt9pXI?H;Eys6 zNMI8=pdKdEHkrOR@4b)Dw|4+Ifh`9z1P*=Gr?KX~FhWVo{T}sWs(Gx8uu2c;gGrbc zsyTUaAWNVUvS&skCIfog4!Lg~$P+kHI-n-jLIz#U`us)dC)#0_(J*G|Pp@M({g6Pl zD`e+la4%vth9l6}^=4Az(h57FwUe50_q-9S#EOV|!dMr1-f-JfojW$9W4Sg2N;VBs zXo)~Fn`llT{6FOJJfz)IWcK<^HYK6!{Yk$0AX8{9J2YrSqS#W2_W7lVaQ)g3s}F{H z5~w#56ur+MF(d7WpG&DMvltgtbAKjjgHm&42QjBppK17*mLPfM^odRc)A_B@VOv9Dqk M@w^5buz6Ph0uN9TN&o-= literal 0 HcmV?d00001 diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/util/CPUtil.class b/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/util/CPUtil.class new file mode 100644 index 0000000000000000000000000000000000000000..37c2626b3ee0d11dc31359651ea743518c470ebc GIT binary patch literal 499 zcmah_%T59@6g>rI2oDEDd}E?647hL>ZcKcH1mePglBn#pqOnV#}cX$D63a#zHG@=f Date: Wed, 12 Feb 2025 09:50:41 -0300 Subject: [PATCH 54/56] adiciona mvc --- Ex07-MVC/BancoDeProdutos.java | 46 +++++++++++ Ex07-MVC/Produto.java | 77 ++++++++++++++++++ .../.idea/.gitignore | 0 .../.idea/compiler.xml | 0 .../.idea/encodings.xml | 0 .../.idea/jarRepositories.xml | 0 .../.idea/jpa-buddy.xml | 0 .../.idea/misc.xml | 0 .../.idea/uiDesigner.xml | 0 .../.idea/vcs.xml | 0 .../mvnw | 0 .../mvnw.cmd | 0 .../pom.xml | 0 .../com/precisiontech/cp/CPApplication.java | 0 .../precisiontech/cp/DTO/MaoDeObraDTO.java | 0 .../com/precisiontech/cp/DTO/MaterialDTO.java | 0 .../precisiontech/cp/DTO/PecaDTORequest.java | 0 .../precisiontech/cp/DTO/PecaDTOResponse.java | 0 .../cp/DTO/SubPecaDTORequest.java | 0 .../precisiontech/cp/config/WebConfig.java | 0 .../cp/controller/MaoDeObraController.java | 0 .../cp/controller/MaquinaController.java | 0 .../cp/controller/MaterialController.java | 0 .../cp/controller/PecaController.java | 0 .../cp/controller/SubPecaController.java | 0 .../cp/controller/TurmaController.java | 0 .../cp/controller/UsuarioController.java | 0 .../com/precisiontech/cp/entity/Cilindro.java | 0 .../com/precisiontech/cp/entity/Formato.java | 0 .../precisiontech/cp/entity/MaoDeObra.java | 0 .../com/precisiontech/cp/entity/Maquina.java | 0 .../com/precisiontech/cp/entity/Material.java | 0 .../com/precisiontech/cp/entity/Peca.java | 0 .../com/precisiontech/cp/entity/Piramide.java | 0 .../com/precisiontech/cp/entity/SubPeca.java | 0 .../com/precisiontech/cp/entity/Turma.java | 0 .../com/precisiontech/cp/entity/Usuario.java | 0 .../cp/repository/FormatoRepository.java | 0 .../cp/repository/MaoDeObraRepository.java | 0 .../cp/repository/MaquinaRepository.java | 0 .../cp/repository/MaterialRepository.java | 0 .../cp/repository/PecaRepository.java | 0 .../cp/repository/SubPecaRepository.java | 0 .../cp/repository/TurmaRepository.java | 0 .../cp/repository/UsuarioRepository.java | 0 .../com/precisiontech/cp/util/CPUtil.java | 0 .../src/main/resources/application.properties | 0 .../precisiontech/cp/CPApplicationTests.java | 0 .../target/classes/application.properties | 0 .../com/precisiontech/cp/CPApplication.class | Bin .../precisiontech/cp/DTO/MaoDeObraDTO.class | Bin .../precisiontech/cp/DTO/MaterialDTO.class | Bin .../precisiontech/cp/DTO/PecaDTORequest.class | Bin .../cp/DTO/PecaDTOResponse.class | Bin .../cp/DTO/SubPecaDTORequest.class | Bin .../precisiontech/cp/config/WebConfig.class | Bin .../cp/controller/MaoDeObraController.class | Bin .../cp/controller/MaquinaController.class | Bin .../cp/controller/MaterialController.class | Bin .../cp/controller/PecaController.class | Bin .../cp/controller/SubPecaController.class | Bin .../cp/controller/TurmaController.class | Bin .../cp/controller/UsuarioController.class | Bin .../precisiontech/cp/entity/Cilindro.class | Bin .../com/precisiontech/cp/entity/Formato.class | Bin .../precisiontech/cp/entity/MaoDeObra.class | Bin .../com/precisiontech/cp/entity/Maquina.class | Bin .../precisiontech/cp/entity/Material.class | Bin .../com/precisiontech/cp/entity/Peca.class | Bin .../precisiontech/cp/entity/Piramide.class | Bin .../com/precisiontech/cp/entity/SubPeca.class | Bin .../com/precisiontech/cp/entity/Turma.class | Bin .../cp/entity/Usuario$TipoUsuario.class | Bin .../com/precisiontech/cp/entity/Usuario.class | Bin .../cp/repository/FormatoRepository.class | Bin .../cp/repository/MaoDeObraRepository.class | Bin .../cp/repository/MaquinaRepository.class | Bin .../cp/repository/MaterialRepository.class | Bin .../cp/repository/PecaRepository.class | Bin .../cp/repository/SubPecaRepository.class | Bin .../cp/repository/TurmaRepository.class | Bin .../cp/repository/UsuarioRepository.class | Bin .../com/precisiontech/cp/util/CPUtil.class | Bin 83 files changed, 123 insertions(+) create mode 100644 Ex07-MVC/BancoDeProdutos.java create mode 100644 Ex07-MVC/Produto.java rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/.idea/.gitignore (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/.idea/compiler.xml (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/.idea/encodings.xml (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/.idea/jarRepositories.xml (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/.idea/jpa-buddy.xml (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/.idea/misc.xml (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/.idea/uiDesigner.xml (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/.idea/vcs.xml (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/mvnw (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/mvnw.cmd (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/pom.xml (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/src/main/java/com/precisiontech/cp/CPApplication.java (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/src/main/java/com/precisiontech/cp/DTO/MaoDeObraDTO.java (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/src/main/java/com/precisiontech/cp/DTO/MaterialDTO.java (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/src/main/java/com/precisiontech/cp/DTO/PecaDTORequest.java (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/src/main/java/com/precisiontech/cp/DTO/PecaDTOResponse.java (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/src/main/java/com/precisiontech/cp/DTO/SubPecaDTORequest.java (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/src/main/java/com/precisiontech/cp/config/WebConfig.java (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/src/main/java/com/precisiontech/cp/controller/MaoDeObraController.java (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/src/main/java/com/precisiontech/cp/controller/MaquinaController.java (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/src/main/java/com/precisiontech/cp/controller/MaterialController.java (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/src/main/java/com/precisiontech/cp/controller/PecaController.java (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/src/main/java/com/precisiontech/cp/controller/SubPecaController.java (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/src/main/java/com/precisiontech/cp/controller/TurmaController.java (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/src/main/java/com/precisiontech/cp/controller/UsuarioController.java (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/src/main/java/com/precisiontech/cp/entity/Cilindro.java (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/src/main/java/com/precisiontech/cp/entity/Formato.java (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/src/main/java/com/precisiontech/cp/entity/MaoDeObra.java (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/src/main/java/com/precisiontech/cp/entity/Maquina.java (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/src/main/java/com/precisiontech/cp/entity/Material.java (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/src/main/java/com/precisiontech/cp/entity/Peca.java (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/src/main/java/com/precisiontech/cp/entity/Piramide.java (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/src/main/java/com/precisiontech/cp/entity/SubPeca.java (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/src/main/java/com/precisiontech/cp/entity/Turma.java (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/src/main/java/com/precisiontech/cp/entity/Usuario.java (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/src/main/java/com/precisiontech/cp/repository/FormatoRepository.java (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/src/main/java/com/precisiontech/cp/repository/MaoDeObraRepository.java (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/src/main/java/com/precisiontech/cp/repository/MaquinaRepository.java (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/src/main/java/com/precisiontech/cp/repository/MaterialRepository.java (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/src/main/java/com/precisiontech/cp/repository/PecaRepository.java (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/src/main/java/com/precisiontech/cp/repository/SubPecaRepository.java (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/src/main/java/com/precisiontech/cp/repository/TurmaRepository.java (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/src/main/java/com/precisiontech/cp/repository/UsuarioRepository.java (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/src/main/java/com/precisiontech/cp/util/CPUtil.java (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/src/main/resources/application.properties (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/src/test/java/com/precisiontech/cp/CPApplicationTests.java (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/target/classes/application.properties (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/target/classes/com/precisiontech/cp/CPApplication.class (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/target/classes/com/precisiontech/cp/DTO/MaoDeObraDTO.class (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/target/classes/com/precisiontech/cp/DTO/MaterialDTO.class (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/target/classes/com/precisiontech/cp/DTO/PecaDTORequest.class (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/target/classes/com/precisiontech/cp/DTO/PecaDTOResponse.class (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/target/classes/com/precisiontech/cp/DTO/SubPecaDTORequest.class (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/target/classes/com/precisiontech/cp/config/WebConfig.class (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/target/classes/com/precisiontech/cp/controller/MaoDeObraController.class (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/target/classes/com/precisiontech/cp/controller/MaquinaController.class (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/target/classes/com/precisiontech/cp/controller/MaterialController.class (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/target/classes/com/precisiontech/cp/controller/PecaController.class (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/target/classes/com/precisiontech/cp/controller/SubPecaController.class (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/target/classes/com/precisiontech/cp/controller/TurmaController.class (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/target/classes/com/precisiontech/cp/controller/UsuarioController.class (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/target/classes/com/precisiontech/cp/entity/Cilindro.class (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/target/classes/com/precisiontech/cp/entity/Formato.class (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/target/classes/com/precisiontech/cp/entity/MaoDeObra.class (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/target/classes/com/precisiontech/cp/entity/Maquina.class (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/target/classes/com/precisiontech/cp/entity/Material.class (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/target/classes/com/precisiontech/cp/entity/Peca.class (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/target/classes/com/precisiontech/cp/entity/Piramide.class (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/target/classes/com/precisiontech/cp/entity/SubPeca.class (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/target/classes/com/precisiontech/cp/entity/Turma.class (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/target/classes/com/precisiontech/cp/entity/Usuario$TipoUsuario.class (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/target/classes/com/precisiontech/cp/entity/Usuario.class (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/target/classes/com/precisiontech/cp/repository/FormatoRepository.class (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/target/classes/com/precisiontech/cp/repository/MaoDeObraRepository.class (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/target/classes/com/precisiontech/cp/repository/MaquinaRepository.class (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/target/classes/com/precisiontech/cp/repository/MaterialRepository.class (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/target/classes/com/precisiontech/cp/repository/PecaRepository.class (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/target/classes/com/precisiontech/cp/repository/SubPecaRepository.class (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/target/classes/com/precisiontech/cp/repository/TurmaRepository.class (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/target/classes/com/precisiontech/cp/repository/UsuarioRepository.class (100%) rename {Ex07-calculo-preciso => Ex08-calculo-preciso}/target/classes/com/precisiontech/cp/util/CPUtil.class (100%) diff --git a/Ex07-MVC/BancoDeProdutos.java b/Ex07-MVC/BancoDeProdutos.java new file mode 100644 index 0000000..fd3bc76 --- /dev/null +++ b/Ex07-MVC/BancoDeProdutos.java @@ -0,0 +1,46 @@ +import java.util.ArrayList; +import java.util.List; + +public class BancoDeProdutos { + private List produtos; + + public BancoDeProdutos() { + this.produtos = new ArrayList<>(); + } + + // Insere um novo produto na lista + public void insert(Produto p) { + produtos.add(p); + } + + // Busca um produto pelo ID + public Produto findOne(int id) { + for (Produto p : produtos) { + if (p.getIdProduto() == id) { + return p; + } + } + return null; // Retorna null se não encontrar + } + + // Retorna todos os produtos cadastrados + public List findAll() { + return new ArrayList<>(produtos); + } + + // Atualiza um produto existente na lista + public boolean update(Produto p) { + for (int i = 0; i < produtos.size(); i++) { + if (produtos.get(i).getIdProduto() == p.getIdProduto()) { + produtos.set(i, p); + return true; // Retorno indicando que a atualização foi feita + } + } + return false; // Retorna falso se o produto não foi encontrado + } + + // Remove um produto pelo ID + public boolean delete(int id) { + return produtos.removeIf(p -> p.getIdProduto() == id); + } +} diff --git a/Ex07-MVC/Produto.java b/Ex07-MVC/Produto.java new file mode 100644 index 0000000..ce4d1f9 --- /dev/null +++ b/Ex07-MVC/Produto.java @@ -0,0 +1,77 @@ +public class Produto { + private int idProduto; + private String nomeProduto; + private String descricao; + private double preco; + private int quantidade; + private String pontoDeVenda; + + // Construtor + public Produto(int idProduto, String nomeProduto, String descricao, double preco, int quantidade, String pontoDeVenda) { + this.idProduto = idProduto; + this.nomeProduto = nomeProduto; + this.descricao = descricao; + this.preco = preco; + this.quantidade = quantidade; + this.pontoDeVenda = pontoDeVenda; + } + + // Getters e Setters + public int getIdProduto() { + return idProduto; + } + + public void setIdProduto(int idProduto) { + this.idProduto = idProduto; + } + + public String getNomeProduto() { + return nomeProduto; + } + + public void setNomeProduto(String nomeProduto) { + this.nomeProduto = nomeProduto; + } + + public String getDescricao() { + return descricao; + } + + public void setDescricao(String descricao) { + this.descricao = descricao; + } + + public double getPreco() { + return preco; + } + + public void setPreco(double preco) { + this.preco = preco; + } + + public int getQuantidade() { + return quantidade; + } + + public void setQuantidade(int quantidade) { + this.quantidade = quantidade; + } + + public String getPontoDeVenda() { + return pontoDeVenda; + } + + public void setPontoDeVenda(String pontoDeVenda) { + this.pontoDeVenda = pontoDeVenda; + } + + // Método para exibir informações do produto + public void exibirInformacoes() { + System.out.println("ID: " + idProduto); + System.out.println("Nome: " + nomeProduto); + System.out.println("Descrição: " + descricao); + System.out.println("Preço: R$ " + preco); + System.out.println("Quantidade: " + quantidade); + System.out.println("Ponto de Venda: " + pontoDeVenda); + } +} diff --git a/Ex07-calculo-preciso/.idea/.gitignore b/Ex08-calculo-preciso/.idea/.gitignore similarity index 100% rename from Ex07-calculo-preciso/.idea/.gitignore rename to Ex08-calculo-preciso/.idea/.gitignore diff --git a/Ex07-calculo-preciso/.idea/compiler.xml b/Ex08-calculo-preciso/.idea/compiler.xml similarity index 100% rename from Ex07-calculo-preciso/.idea/compiler.xml rename to Ex08-calculo-preciso/.idea/compiler.xml diff --git a/Ex07-calculo-preciso/.idea/encodings.xml b/Ex08-calculo-preciso/.idea/encodings.xml similarity index 100% rename from Ex07-calculo-preciso/.idea/encodings.xml rename to Ex08-calculo-preciso/.idea/encodings.xml diff --git a/Ex07-calculo-preciso/.idea/jarRepositories.xml b/Ex08-calculo-preciso/.idea/jarRepositories.xml similarity index 100% rename from Ex07-calculo-preciso/.idea/jarRepositories.xml rename to Ex08-calculo-preciso/.idea/jarRepositories.xml diff --git a/Ex07-calculo-preciso/.idea/jpa-buddy.xml b/Ex08-calculo-preciso/.idea/jpa-buddy.xml similarity index 100% rename from Ex07-calculo-preciso/.idea/jpa-buddy.xml rename to Ex08-calculo-preciso/.idea/jpa-buddy.xml diff --git a/Ex07-calculo-preciso/.idea/misc.xml b/Ex08-calculo-preciso/.idea/misc.xml similarity index 100% rename from Ex07-calculo-preciso/.idea/misc.xml rename to Ex08-calculo-preciso/.idea/misc.xml diff --git a/Ex07-calculo-preciso/.idea/uiDesigner.xml b/Ex08-calculo-preciso/.idea/uiDesigner.xml similarity index 100% rename from Ex07-calculo-preciso/.idea/uiDesigner.xml rename to Ex08-calculo-preciso/.idea/uiDesigner.xml diff --git a/Ex07-calculo-preciso/.idea/vcs.xml b/Ex08-calculo-preciso/.idea/vcs.xml similarity index 100% rename from Ex07-calculo-preciso/.idea/vcs.xml rename to Ex08-calculo-preciso/.idea/vcs.xml diff --git a/Ex07-calculo-preciso/mvnw b/Ex08-calculo-preciso/mvnw similarity index 100% rename from Ex07-calculo-preciso/mvnw rename to Ex08-calculo-preciso/mvnw diff --git a/Ex07-calculo-preciso/mvnw.cmd b/Ex08-calculo-preciso/mvnw.cmd similarity index 100% rename from Ex07-calculo-preciso/mvnw.cmd rename to Ex08-calculo-preciso/mvnw.cmd diff --git a/Ex07-calculo-preciso/pom.xml b/Ex08-calculo-preciso/pom.xml similarity index 100% rename from Ex07-calculo-preciso/pom.xml rename to Ex08-calculo-preciso/pom.xml diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/CPApplication.java b/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/CPApplication.java similarity index 100% rename from Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/CPApplication.java rename to Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/CPApplication.java diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/MaoDeObraDTO.java b/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/MaoDeObraDTO.java similarity index 100% rename from Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/MaoDeObraDTO.java rename to Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/MaoDeObraDTO.java diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/MaterialDTO.java b/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/MaterialDTO.java similarity index 100% rename from Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/MaterialDTO.java rename to Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/MaterialDTO.java diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/PecaDTORequest.java b/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/PecaDTORequest.java similarity index 100% rename from Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/PecaDTORequest.java rename to Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/PecaDTORequest.java diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/PecaDTOResponse.java b/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/PecaDTOResponse.java similarity index 100% rename from Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/PecaDTOResponse.java rename to Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/PecaDTOResponse.java diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/SubPecaDTORequest.java b/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/SubPecaDTORequest.java similarity index 100% rename from Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/SubPecaDTORequest.java rename to Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/SubPecaDTORequest.java diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/config/WebConfig.java b/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/config/WebConfig.java similarity index 100% rename from Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/config/WebConfig.java rename to Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/config/WebConfig.java diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/MaoDeObraController.java b/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/controller/MaoDeObraController.java similarity index 100% rename from Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/MaoDeObraController.java rename to Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/controller/MaoDeObraController.java diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/MaquinaController.java b/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/controller/MaquinaController.java similarity index 100% rename from Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/MaquinaController.java rename to Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/controller/MaquinaController.java diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/MaterialController.java b/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/controller/MaterialController.java similarity index 100% rename from Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/MaterialController.java rename to Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/controller/MaterialController.java diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/PecaController.java b/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/controller/PecaController.java similarity index 100% rename from Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/PecaController.java rename to Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/controller/PecaController.java diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/SubPecaController.java b/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/controller/SubPecaController.java similarity index 100% rename from Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/SubPecaController.java rename to Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/controller/SubPecaController.java diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/TurmaController.java b/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/controller/TurmaController.java similarity index 100% rename from Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/TurmaController.java rename to Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/controller/TurmaController.java diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/UsuarioController.java b/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/controller/UsuarioController.java similarity index 100% rename from Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/controller/UsuarioController.java rename to Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/controller/UsuarioController.java diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Cilindro.java b/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Cilindro.java similarity index 100% rename from Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Cilindro.java rename to Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Cilindro.java diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Formato.java b/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Formato.java similarity index 100% rename from Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Formato.java rename to Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Formato.java diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/MaoDeObra.java b/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/entity/MaoDeObra.java similarity index 100% rename from Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/MaoDeObra.java rename to Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/entity/MaoDeObra.java diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Maquina.java b/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Maquina.java similarity index 100% rename from Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Maquina.java rename to Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Maquina.java diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Material.java b/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Material.java similarity index 100% rename from Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Material.java rename to Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Material.java diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Peca.java b/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Peca.java similarity index 100% rename from Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Peca.java rename to Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Peca.java diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Piramide.java b/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Piramide.java similarity index 100% rename from Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Piramide.java rename to Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Piramide.java diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/SubPeca.java b/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/entity/SubPeca.java similarity index 100% rename from Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/SubPeca.java rename to Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/entity/SubPeca.java diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Turma.java b/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Turma.java similarity index 100% rename from Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Turma.java rename to Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Turma.java diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Usuario.java b/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Usuario.java similarity index 100% rename from Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Usuario.java rename to Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Usuario.java diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/FormatoRepository.java b/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/repository/FormatoRepository.java similarity index 100% rename from Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/FormatoRepository.java rename to Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/repository/FormatoRepository.java diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/MaoDeObraRepository.java b/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/repository/MaoDeObraRepository.java similarity index 100% rename from Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/MaoDeObraRepository.java rename to Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/repository/MaoDeObraRepository.java diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/MaquinaRepository.java b/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/repository/MaquinaRepository.java similarity index 100% rename from Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/MaquinaRepository.java rename to Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/repository/MaquinaRepository.java diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/MaterialRepository.java b/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/repository/MaterialRepository.java similarity index 100% rename from Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/MaterialRepository.java rename to Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/repository/MaterialRepository.java diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/PecaRepository.java b/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/repository/PecaRepository.java similarity index 100% rename from Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/PecaRepository.java rename to Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/repository/PecaRepository.java diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/SubPecaRepository.java b/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/repository/SubPecaRepository.java similarity index 100% rename from Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/SubPecaRepository.java rename to Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/repository/SubPecaRepository.java diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/TurmaRepository.java b/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/repository/TurmaRepository.java similarity index 100% rename from Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/TurmaRepository.java rename to Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/repository/TurmaRepository.java diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/UsuarioRepository.java b/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/repository/UsuarioRepository.java similarity index 100% rename from Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/repository/UsuarioRepository.java rename to Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/repository/UsuarioRepository.java diff --git a/Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/util/CPUtil.java b/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/util/CPUtil.java similarity index 100% rename from Ex07-calculo-preciso/src/main/java/com/precisiontech/cp/util/CPUtil.java rename to Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/util/CPUtil.java diff --git a/Ex07-calculo-preciso/src/main/resources/application.properties b/Ex08-calculo-preciso/src/main/resources/application.properties similarity index 100% rename from Ex07-calculo-preciso/src/main/resources/application.properties rename to Ex08-calculo-preciso/src/main/resources/application.properties diff --git a/Ex07-calculo-preciso/src/test/java/com/precisiontech/cp/CPApplicationTests.java b/Ex08-calculo-preciso/src/test/java/com/precisiontech/cp/CPApplicationTests.java similarity index 100% rename from Ex07-calculo-preciso/src/test/java/com/precisiontech/cp/CPApplicationTests.java rename to Ex08-calculo-preciso/src/test/java/com/precisiontech/cp/CPApplicationTests.java diff --git a/Ex07-calculo-preciso/target/classes/application.properties b/Ex08-calculo-preciso/target/classes/application.properties similarity index 100% rename from Ex07-calculo-preciso/target/classes/application.properties rename to Ex08-calculo-preciso/target/classes/application.properties diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/CPApplication.class b/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/CPApplication.class similarity index 100% rename from Ex07-calculo-preciso/target/classes/com/precisiontech/cp/CPApplication.class rename to Ex08-calculo-preciso/target/classes/com/precisiontech/cp/CPApplication.class diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/DTO/MaoDeObraDTO.class b/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/DTO/MaoDeObraDTO.class similarity index 100% rename from Ex07-calculo-preciso/target/classes/com/precisiontech/cp/DTO/MaoDeObraDTO.class rename to Ex08-calculo-preciso/target/classes/com/precisiontech/cp/DTO/MaoDeObraDTO.class diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/DTO/MaterialDTO.class b/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/DTO/MaterialDTO.class similarity index 100% rename from Ex07-calculo-preciso/target/classes/com/precisiontech/cp/DTO/MaterialDTO.class rename to Ex08-calculo-preciso/target/classes/com/precisiontech/cp/DTO/MaterialDTO.class diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/DTO/PecaDTORequest.class b/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/DTO/PecaDTORequest.class similarity index 100% rename from Ex07-calculo-preciso/target/classes/com/precisiontech/cp/DTO/PecaDTORequest.class rename to Ex08-calculo-preciso/target/classes/com/precisiontech/cp/DTO/PecaDTORequest.class diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/DTO/PecaDTOResponse.class b/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/DTO/PecaDTOResponse.class similarity index 100% rename from Ex07-calculo-preciso/target/classes/com/precisiontech/cp/DTO/PecaDTOResponse.class rename to Ex08-calculo-preciso/target/classes/com/precisiontech/cp/DTO/PecaDTOResponse.class diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/DTO/SubPecaDTORequest.class b/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/DTO/SubPecaDTORequest.class similarity index 100% rename from Ex07-calculo-preciso/target/classes/com/precisiontech/cp/DTO/SubPecaDTORequest.class rename to Ex08-calculo-preciso/target/classes/com/precisiontech/cp/DTO/SubPecaDTORequest.class diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/config/WebConfig.class b/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/config/WebConfig.class similarity index 100% rename from Ex07-calculo-preciso/target/classes/com/precisiontech/cp/config/WebConfig.class rename to Ex08-calculo-preciso/target/classes/com/precisiontech/cp/config/WebConfig.class diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/controller/MaoDeObraController.class b/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/controller/MaoDeObraController.class similarity index 100% rename from Ex07-calculo-preciso/target/classes/com/precisiontech/cp/controller/MaoDeObraController.class rename to Ex08-calculo-preciso/target/classes/com/precisiontech/cp/controller/MaoDeObraController.class diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/controller/MaquinaController.class b/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/controller/MaquinaController.class similarity index 100% rename from Ex07-calculo-preciso/target/classes/com/precisiontech/cp/controller/MaquinaController.class rename to Ex08-calculo-preciso/target/classes/com/precisiontech/cp/controller/MaquinaController.class diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/controller/MaterialController.class b/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/controller/MaterialController.class similarity index 100% rename from Ex07-calculo-preciso/target/classes/com/precisiontech/cp/controller/MaterialController.class rename to Ex08-calculo-preciso/target/classes/com/precisiontech/cp/controller/MaterialController.class diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/controller/PecaController.class b/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/controller/PecaController.class similarity index 100% rename from Ex07-calculo-preciso/target/classes/com/precisiontech/cp/controller/PecaController.class rename to Ex08-calculo-preciso/target/classes/com/precisiontech/cp/controller/PecaController.class diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/controller/SubPecaController.class b/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/controller/SubPecaController.class similarity index 100% rename from Ex07-calculo-preciso/target/classes/com/precisiontech/cp/controller/SubPecaController.class rename to Ex08-calculo-preciso/target/classes/com/precisiontech/cp/controller/SubPecaController.class diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/controller/TurmaController.class b/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/controller/TurmaController.class similarity index 100% rename from Ex07-calculo-preciso/target/classes/com/precisiontech/cp/controller/TurmaController.class rename to Ex08-calculo-preciso/target/classes/com/precisiontech/cp/controller/TurmaController.class diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/controller/UsuarioController.class b/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/controller/UsuarioController.class similarity index 100% rename from Ex07-calculo-preciso/target/classes/com/precisiontech/cp/controller/UsuarioController.class rename to Ex08-calculo-preciso/target/classes/com/precisiontech/cp/controller/UsuarioController.class diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/Cilindro.class b/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/Cilindro.class similarity index 100% rename from Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/Cilindro.class rename to Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/Cilindro.class diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/Formato.class b/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/Formato.class similarity index 100% rename from Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/Formato.class rename to Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/Formato.class diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/MaoDeObra.class b/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/MaoDeObra.class similarity index 100% rename from Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/MaoDeObra.class rename to Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/MaoDeObra.class diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/Maquina.class b/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/Maquina.class similarity index 100% rename from Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/Maquina.class rename to Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/Maquina.class diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/Material.class b/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/Material.class similarity index 100% rename from Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/Material.class rename to Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/Material.class diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/Peca.class b/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/Peca.class similarity index 100% rename from Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/Peca.class rename to Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/Peca.class diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/Piramide.class b/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/Piramide.class similarity index 100% rename from Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/Piramide.class rename to Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/Piramide.class diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/SubPeca.class b/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/SubPeca.class similarity index 100% rename from Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/SubPeca.class rename to Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/SubPeca.class diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/Turma.class b/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/Turma.class similarity index 100% rename from Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/Turma.class rename to Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/Turma.class diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/Usuario$TipoUsuario.class b/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/Usuario$TipoUsuario.class similarity index 100% rename from Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/Usuario$TipoUsuario.class rename to Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/Usuario$TipoUsuario.class diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/Usuario.class b/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/Usuario.class similarity index 100% rename from Ex07-calculo-preciso/target/classes/com/precisiontech/cp/entity/Usuario.class rename to Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/Usuario.class diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/repository/FormatoRepository.class b/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/repository/FormatoRepository.class similarity index 100% rename from Ex07-calculo-preciso/target/classes/com/precisiontech/cp/repository/FormatoRepository.class rename to Ex08-calculo-preciso/target/classes/com/precisiontech/cp/repository/FormatoRepository.class diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/repository/MaoDeObraRepository.class b/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/repository/MaoDeObraRepository.class similarity index 100% rename from Ex07-calculo-preciso/target/classes/com/precisiontech/cp/repository/MaoDeObraRepository.class rename to Ex08-calculo-preciso/target/classes/com/precisiontech/cp/repository/MaoDeObraRepository.class diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/repository/MaquinaRepository.class b/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/repository/MaquinaRepository.class similarity index 100% rename from Ex07-calculo-preciso/target/classes/com/precisiontech/cp/repository/MaquinaRepository.class rename to Ex08-calculo-preciso/target/classes/com/precisiontech/cp/repository/MaquinaRepository.class diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/repository/MaterialRepository.class b/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/repository/MaterialRepository.class similarity index 100% rename from Ex07-calculo-preciso/target/classes/com/precisiontech/cp/repository/MaterialRepository.class rename to Ex08-calculo-preciso/target/classes/com/precisiontech/cp/repository/MaterialRepository.class diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/repository/PecaRepository.class b/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/repository/PecaRepository.class similarity index 100% rename from Ex07-calculo-preciso/target/classes/com/precisiontech/cp/repository/PecaRepository.class rename to Ex08-calculo-preciso/target/classes/com/precisiontech/cp/repository/PecaRepository.class diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/repository/SubPecaRepository.class b/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/repository/SubPecaRepository.class similarity index 100% rename from Ex07-calculo-preciso/target/classes/com/precisiontech/cp/repository/SubPecaRepository.class rename to Ex08-calculo-preciso/target/classes/com/precisiontech/cp/repository/SubPecaRepository.class diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/repository/TurmaRepository.class b/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/repository/TurmaRepository.class similarity index 100% rename from Ex07-calculo-preciso/target/classes/com/precisiontech/cp/repository/TurmaRepository.class rename to Ex08-calculo-preciso/target/classes/com/precisiontech/cp/repository/TurmaRepository.class diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/repository/UsuarioRepository.class b/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/repository/UsuarioRepository.class similarity index 100% rename from Ex07-calculo-preciso/target/classes/com/precisiontech/cp/repository/UsuarioRepository.class rename to Ex08-calculo-preciso/target/classes/com/precisiontech/cp/repository/UsuarioRepository.class diff --git a/Ex07-calculo-preciso/target/classes/com/precisiontech/cp/util/CPUtil.class b/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/util/CPUtil.class similarity index 100% rename from Ex07-calculo-preciso/target/classes/com/precisiontech/cp/util/CPUtil.class rename to Ex08-calculo-preciso/target/classes/com/precisiontech/cp/util/CPUtil.class From eaa36b866dd7ad258eddba2afedd54a25513ab6e Mon Sep 17 00:00:00 2001 From: vinnydsstos Date: Wed, 12 Feb 2025 16:56:26 -0300 Subject: [PATCH 55/56] add crud sem banco --- Ex08-CrudSemBanco/.gitattributes | 2 + Ex08-CrudSemBanco/.gitignore | 33 +++ .../.mvn/wrapper/maven-wrapper.properties | 19 ++ Ex08-CrudSemBanco/mvnw | 259 ++++++++++++++++++ Ex08-CrudSemBanco/mvnw.cmd | 149 ++++++++++ Ex08-CrudSemBanco/pom.xml | 84 ++++++ .../crudSemBanco/CrudSemBancoApplication.java | 13 + .../crudSemBanco/banco/BancoDeProdutos.java | 50 ++++ .../controller/ProdutoController.java | 19 ++ .../com/senai/crudSemBanco/model/Produto.java | 79 ++++++ .../senai/crudSemBanco/view/ProdutoView.java | 27 ++ .../src/main/resources/application.properties | 1 + .../CrudSemBancoApplicationTests.java | 13 + .../.idea/.gitignore | 0 .../.idea/compiler.xml | 0 .../.idea/encodings.xml | 0 .../.idea/jarRepositories.xml | 0 .../.idea/jpa-buddy.xml | 0 .../.idea/misc.xml | 0 .../.idea/uiDesigner.xml | 0 .../.idea/vcs.xml | 0 .../mvnw | 0 .../mvnw.cmd | 0 .../pom.xml | 0 .../com/precisiontech/cp/CPApplication.java | 0 .../precisiontech/cp/DTO/MaoDeObraDTO.java | 0 .../com/precisiontech/cp/DTO/MaterialDTO.java | 0 .../precisiontech/cp/DTO/PecaDTORequest.java | 0 .../precisiontech/cp/DTO/PecaDTOResponse.java | 0 .../cp/DTO/SubPecaDTORequest.java | 0 .../precisiontech/cp/config/WebConfig.java | 0 .../cp/controller/MaoDeObraController.java | 0 .../cp/controller/MaquinaController.java | 0 .../cp/controller/MaterialController.java | 0 .../cp/controller/PecaController.java | 0 .../cp/controller/SubPecaController.java | 0 .../cp/controller/TurmaController.java | 0 .../cp/controller/UsuarioController.java | 0 .../com/precisiontech/cp/entity/Cilindro.java | 0 .../com/precisiontech/cp/entity/Formato.java | 0 .../precisiontech/cp/entity/MaoDeObra.java | 0 .../com/precisiontech/cp/entity/Maquina.java | 0 .../com/precisiontech/cp/entity/Material.java | 0 .../com/precisiontech/cp/entity/Peca.java | 0 .../com/precisiontech/cp/entity/Piramide.java | 0 .../com/precisiontech/cp/entity/SubPeca.java | 0 .../com/precisiontech/cp/entity/Turma.java | 0 .../com/precisiontech/cp/entity/Usuario.java | 0 .../cp/repository/FormatoRepository.java | 0 .../cp/repository/MaoDeObraRepository.java | 0 .../cp/repository/MaquinaRepository.java | 0 .../cp/repository/MaterialRepository.java | 0 .../cp/repository/PecaRepository.java | 0 .../cp/repository/SubPecaRepository.java | 0 .../cp/repository/TurmaRepository.java | 0 .../cp/repository/UsuarioRepository.java | 0 .../com/precisiontech/cp/util/CPUtil.java | 0 .../src/main/resources/application.properties | 0 .../precisiontech/cp/CPApplicationTests.java | 0 .../target/classes/application.properties | 0 .../com/precisiontech/cp/CPApplication.class | Bin .../precisiontech/cp/DTO/MaoDeObraDTO.class | Bin .../precisiontech/cp/DTO/MaterialDTO.class | Bin .../precisiontech/cp/DTO/PecaDTORequest.class | Bin .../cp/DTO/PecaDTOResponse.class | Bin .../cp/DTO/SubPecaDTORequest.class | Bin .../precisiontech/cp/config/WebConfig.class | Bin .../cp/controller/MaoDeObraController.class | Bin .../cp/controller/MaquinaController.class | Bin .../cp/controller/MaterialController.class | Bin .../cp/controller/PecaController.class | Bin .../cp/controller/SubPecaController.class | Bin .../cp/controller/TurmaController.class | Bin .../cp/controller/UsuarioController.class | Bin .../precisiontech/cp/entity/Cilindro.class | Bin .../com/precisiontech/cp/entity/Formato.class | Bin .../precisiontech/cp/entity/MaoDeObra.class | Bin .../com/precisiontech/cp/entity/Maquina.class | Bin .../precisiontech/cp/entity/Material.class | Bin .../com/precisiontech/cp/entity/Peca.class | Bin .../precisiontech/cp/entity/Piramide.class | Bin .../com/precisiontech/cp/entity/SubPeca.class | Bin .../com/precisiontech/cp/entity/Turma.class | Bin .../cp/entity/Usuario$TipoUsuario.class | Bin .../com/precisiontech/cp/entity/Usuario.class | Bin .../cp/repository/FormatoRepository.class | Bin .../cp/repository/MaoDeObraRepository.class | Bin .../cp/repository/MaquinaRepository.class | Bin .../cp/repository/MaterialRepository.class | Bin .../cp/repository/PecaRepository.class | Bin .../cp/repository/SubPecaRepository.class | Bin .../cp/repository/TurmaRepository.class | Bin .../cp/repository/UsuarioRepository.class | Bin .../com/precisiontech/cp/util/CPUtil.class | Bin 94 files changed, 748 insertions(+) create mode 100644 Ex08-CrudSemBanco/.gitattributes create mode 100644 Ex08-CrudSemBanco/.gitignore create mode 100644 Ex08-CrudSemBanco/.mvn/wrapper/maven-wrapper.properties create mode 100644 Ex08-CrudSemBanco/mvnw create mode 100644 Ex08-CrudSemBanco/mvnw.cmd create mode 100644 Ex08-CrudSemBanco/pom.xml create mode 100644 Ex08-CrudSemBanco/src/main/java/com/senai/crudSemBanco/CrudSemBancoApplication.java create mode 100644 Ex08-CrudSemBanco/src/main/java/com/senai/crudSemBanco/banco/BancoDeProdutos.java create mode 100644 Ex08-CrudSemBanco/src/main/java/com/senai/crudSemBanco/controller/ProdutoController.java create mode 100644 Ex08-CrudSemBanco/src/main/java/com/senai/crudSemBanco/model/Produto.java create mode 100644 Ex08-CrudSemBanco/src/main/java/com/senai/crudSemBanco/view/ProdutoView.java create mode 100644 Ex08-CrudSemBanco/src/main/resources/application.properties create mode 100644 Ex08-CrudSemBanco/src/test/java/com/senai/crudSemBanco/CrudSemBancoApplicationTests.java rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/.idea/.gitignore (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/.idea/compiler.xml (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/.idea/encodings.xml (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/.idea/jarRepositories.xml (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/.idea/jpa-buddy.xml (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/.idea/misc.xml (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/.idea/uiDesigner.xml (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/.idea/vcs.xml (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/mvnw (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/mvnw.cmd (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/pom.xml (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/src/main/java/com/precisiontech/cp/CPApplication.java (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/src/main/java/com/precisiontech/cp/DTO/MaoDeObraDTO.java (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/src/main/java/com/precisiontech/cp/DTO/MaterialDTO.java (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/src/main/java/com/precisiontech/cp/DTO/PecaDTORequest.java (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/src/main/java/com/precisiontech/cp/DTO/PecaDTOResponse.java (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/src/main/java/com/precisiontech/cp/DTO/SubPecaDTORequest.java (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/src/main/java/com/precisiontech/cp/config/WebConfig.java (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/src/main/java/com/precisiontech/cp/controller/MaoDeObraController.java (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/src/main/java/com/precisiontech/cp/controller/MaquinaController.java (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/src/main/java/com/precisiontech/cp/controller/MaterialController.java (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/src/main/java/com/precisiontech/cp/controller/PecaController.java (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/src/main/java/com/precisiontech/cp/controller/SubPecaController.java (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/src/main/java/com/precisiontech/cp/controller/TurmaController.java (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/src/main/java/com/precisiontech/cp/controller/UsuarioController.java (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/src/main/java/com/precisiontech/cp/entity/Cilindro.java (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/src/main/java/com/precisiontech/cp/entity/Formato.java (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/src/main/java/com/precisiontech/cp/entity/MaoDeObra.java (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/src/main/java/com/precisiontech/cp/entity/Maquina.java (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/src/main/java/com/precisiontech/cp/entity/Material.java (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/src/main/java/com/precisiontech/cp/entity/Peca.java (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/src/main/java/com/precisiontech/cp/entity/Piramide.java (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/src/main/java/com/precisiontech/cp/entity/SubPeca.java (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/src/main/java/com/precisiontech/cp/entity/Turma.java (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/src/main/java/com/precisiontech/cp/entity/Usuario.java (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/src/main/java/com/precisiontech/cp/repository/FormatoRepository.java (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/src/main/java/com/precisiontech/cp/repository/MaoDeObraRepository.java (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/src/main/java/com/precisiontech/cp/repository/MaquinaRepository.java (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/src/main/java/com/precisiontech/cp/repository/MaterialRepository.java (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/src/main/java/com/precisiontech/cp/repository/PecaRepository.java (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/src/main/java/com/precisiontech/cp/repository/SubPecaRepository.java (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/src/main/java/com/precisiontech/cp/repository/TurmaRepository.java (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/src/main/java/com/precisiontech/cp/repository/UsuarioRepository.java (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/src/main/java/com/precisiontech/cp/util/CPUtil.java (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/src/main/resources/application.properties (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/src/test/java/com/precisiontech/cp/CPApplicationTests.java (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/target/classes/application.properties (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/target/classes/com/precisiontech/cp/CPApplication.class (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/target/classes/com/precisiontech/cp/DTO/MaoDeObraDTO.class (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/target/classes/com/precisiontech/cp/DTO/MaterialDTO.class (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/target/classes/com/precisiontech/cp/DTO/PecaDTORequest.class (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/target/classes/com/precisiontech/cp/DTO/PecaDTOResponse.class (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/target/classes/com/precisiontech/cp/DTO/SubPecaDTORequest.class (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/target/classes/com/precisiontech/cp/config/WebConfig.class (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/target/classes/com/precisiontech/cp/controller/MaoDeObraController.class (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/target/classes/com/precisiontech/cp/controller/MaquinaController.class (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/target/classes/com/precisiontech/cp/controller/MaterialController.class (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/target/classes/com/precisiontech/cp/controller/PecaController.class (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/target/classes/com/precisiontech/cp/controller/SubPecaController.class (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/target/classes/com/precisiontech/cp/controller/TurmaController.class (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/target/classes/com/precisiontech/cp/controller/UsuarioController.class (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/target/classes/com/precisiontech/cp/entity/Cilindro.class (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/target/classes/com/precisiontech/cp/entity/Formato.class (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/target/classes/com/precisiontech/cp/entity/MaoDeObra.class (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/target/classes/com/precisiontech/cp/entity/Maquina.class (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/target/classes/com/precisiontech/cp/entity/Material.class (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/target/classes/com/precisiontech/cp/entity/Peca.class (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/target/classes/com/precisiontech/cp/entity/Piramide.class (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/target/classes/com/precisiontech/cp/entity/SubPeca.class (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/target/classes/com/precisiontech/cp/entity/Turma.class (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/target/classes/com/precisiontech/cp/entity/Usuario$TipoUsuario.class (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/target/classes/com/precisiontech/cp/entity/Usuario.class (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/target/classes/com/precisiontech/cp/repository/FormatoRepository.class (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/target/classes/com/precisiontech/cp/repository/MaoDeObraRepository.class (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/target/classes/com/precisiontech/cp/repository/MaquinaRepository.class (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/target/classes/com/precisiontech/cp/repository/MaterialRepository.class (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/target/classes/com/precisiontech/cp/repository/PecaRepository.class (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/target/classes/com/precisiontech/cp/repository/SubPecaRepository.class (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/target/classes/com/precisiontech/cp/repository/TurmaRepository.class (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/target/classes/com/precisiontech/cp/repository/UsuarioRepository.class (100%) rename {Ex08-calculo-preciso => Ex09-calculo-preciso}/target/classes/com/precisiontech/cp/util/CPUtil.class (100%) diff --git a/Ex08-CrudSemBanco/.gitattributes b/Ex08-CrudSemBanco/.gitattributes new file mode 100644 index 0000000..3b41682 --- /dev/null +++ b/Ex08-CrudSemBanco/.gitattributes @@ -0,0 +1,2 @@ +/mvnw text eol=lf +*.cmd text eol=crlf diff --git a/Ex08-CrudSemBanco/.gitignore b/Ex08-CrudSemBanco/.gitignore new file mode 100644 index 0000000..549e00a --- /dev/null +++ b/Ex08-CrudSemBanco/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/Ex08-CrudSemBanco/.mvn/wrapper/maven-wrapper.properties b/Ex08-CrudSemBanco/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 0000000..d58dfb7 --- /dev/null +++ b/Ex08-CrudSemBanco/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1,19 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +wrapperVersion=3.3.2 +distributionType=only-script +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.9/apache-maven-3.9.9-bin.zip diff --git a/Ex08-CrudSemBanco/mvnw b/Ex08-CrudSemBanco/mvnw new file mode 100644 index 0000000..19529dd --- /dev/null +++ b/Ex08-CrudSemBanco/mvnw @@ -0,0 +1,259 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Apache Maven Wrapper startup batch script, version 3.3.2 +# +# Optional ENV vars +# ----------------- +# JAVA_HOME - location of a JDK home dir, required when download maven via java source +# MVNW_REPOURL - repo url base for downloading maven distribution +# MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven +# MVNW_VERBOSE - true: enable verbose log; debug: trace the mvnw script; others: silence the output +# ---------------------------------------------------------------------------- + +set -euf +[ "${MVNW_VERBOSE-}" != debug ] || set -x + +# OS specific support. +native_path() { printf %s\\n "$1"; } +case "$(uname)" in +CYGWIN* | MINGW*) + [ -z "${JAVA_HOME-}" ] || JAVA_HOME="$(cygpath --unix "$JAVA_HOME")" + native_path() { cygpath --path --windows "$1"; } + ;; +esac + +# set JAVACMD and JAVACCMD +set_java_home() { + # For Cygwin and MinGW, ensure paths are in Unix format before anything is touched + if [ -n "${JAVA_HOME-}" ]; then + if [ -x "$JAVA_HOME/jre/sh/java" ]; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + JAVACCMD="$JAVA_HOME/jre/sh/javac" + else + JAVACMD="$JAVA_HOME/bin/java" + JAVACCMD="$JAVA_HOME/bin/javac" + + if [ ! -x "$JAVACMD" ] || [ ! -x "$JAVACCMD" ]; then + echo "The JAVA_HOME environment variable is not defined correctly, so mvnw cannot run." >&2 + echo "JAVA_HOME is set to \"$JAVA_HOME\", but \"\$JAVA_HOME/bin/java\" or \"\$JAVA_HOME/bin/javac\" does not exist." >&2 + return 1 + fi + fi + else + JAVACMD="$( + 'set' +e + 'unset' -f command 2>/dev/null + 'command' -v java + )" || : + JAVACCMD="$( + 'set' +e + 'unset' -f command 2>/dev/null + 'command' -v javac + )" || : + + if [ ! -x "${JAVACMD-}" ] || [ ! -x "${JAVACCMD-}" ]; then + echo "The java/javac command does not exist in PATH nor is JAVA_HOME set, so mvnw cannot run." >&2 + return 1 + fi + fi +} + +# hash string like Java String::hashCode +hash_string() { + str="${1:-}" h=0 + while [ -n "$str" ]; do + char="${str%"${str#?}"}" + h=$(((h * 31 + $(LC_CTYPE=C printf %d "'$char")) % 4294967296)) + str="${str#?}" + done + printf %x\\n $h +} + +verbose() { :; } +[ "${MVNW_VERBOSE-}" != true ] || verbose() { printf %s\\n "${1-}"; } + +die() { + printf %s\\n "$1" >&2 + exit 1 +} + +trim() { + # MWRAPPER-139: + # Trims trailing and leading whitespace, carriage returns, tabs, and linefeeds. + # Needed for removing poorly interpreted newline sequences when running in more + # exotic environments such as mingw bash on Windows. + printf "%s" "${1}" | tr -d '[:space:]' +} + +# parse distributionUrl and optional distributionSha256Sum, requires .mvn/wrapper/maven-wrapper.properties +while IFS="=" read -r key value; do + case "${key-}" in + distributionUrl) distributionUrl=$(trim "${value-}") ;; + distributionSha256Sum) distributionSha256Sum=$(trim "${value-}") ;; + esac +done <"${0%/*}/.mvn/wrapper/maven-wrapper.properties" +[ -n "${distributionUrl-}" ] || die "cannot read distributionUrl property in ${0%/*}/.mvn/wrapper/maven-wrapper.properties" + +case "${distributionUrl##*/}" in +maven-mvnd-*bin.*) + MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ + case "${PROCESSOR_ARCHITECTURE-}${PROCESSOR_ARCHITEW6432-}:$(uname -a)" in + *AMD64:CYGWIN* | *AMD64:MINGW*) distributionPlatform=windows-amd64 ;; + :Darwin*x86_64) distributionPlatform=darwin-amd64 ;; + :Darwin*arm64) distributionPlatform=darwin-aarch64 ;; + :Linux*x86_64*) distributionPlatform=linux-amd64 ;; + *) + echo "Cannot detect native platform for mvnd on $(uname)-$(uname -m), use pure java version" >&2 + distributionPlatform=linux-amd64 + ;; + esac + distributionUrl="${distributionUrl%-bin.*}-$distributionPlatform.zip" + ;; +maven-mvnd-*) MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ ;; +*) MVN_CMD="mvn${0##*/mvnw}" _MVNW_REPO_PATTERN=/org/apache/maven/ ;; +esac + +# apply MVNW_REPOURL and calculate MAVEN_HOME +# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ +[ -z "${MVNW_REPOURL-}" ] || distributionUrl="$MVNW_REPOURL$_MVNW_REPO_PATTERN${distributionUrl#*"$_MVNW_REPO_PATTERN"}" +distributionUrlName="${distributionUrl##*/}" +distributionUrlNameMain="${distributionUrlName%.*}" +distributionUrlNameMain="${distributionUrlNameMain%-bin}" +MAVEN_USER_HOME="${MAVEN_USER_HOME:-${HOME}/.m2}" +MAVEN_HOME="${MAVEN_USER_HOME}/wrapper/dists/${distributionUrlNameMain-}/$(hash_string "$distributionUrl")" + +exec_maven() { + unset MVNW_VERBOSE MVNW_USERNAME MVNW_PASSWORD MVNW_REPOURL || : + exec "$MAVEN_HOME/bin/$MVN_CMD" "$@" || die "cannot exec $MAVEN_HOME/bin/$MVN_CMD" +} + +if [ -d "$MAVEN_HOME" ]; then + verbose "found existing MAVEN_HOME at $MAVEN_HOME" + exec_maven "$@" +fi + +case "${distributionUrl-}" in +*?-bin.zip | *?maven-mvnd-?*-?*.zip) ;; +*) die "distributionUrl is not valid, must match *-bin.zip or maven-mvnd-*.zip, but found '${distributionUrl-}'" ;; +esac + +# prepare tmp dir +if TMP_DOWNLOAD_DIR="$(mktemp -d)" && [ -d "$TMP_DOWNLOAD_DIR" ]; then + clean() { rm -rf -- "$TMP_DOWNLOAD_DIR"; } + trap clean HUP INT TERM EXIT +else + die "cannot create temp dir" +fi + +mkdir -p -- "${MAVEN_HOME%/*}" + +# Download and Install Apache Maven +verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." +verbose "Downloading from: $distributionUrl" +verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" + +# select .zip or .tar.gz +if ! command -v unzip >/dev/null; then + distributionUrl="${distributionUrl%.zip}.tar.gz" + distributionUrlName="${distributionUrl##*/}" +fi + +# verbose opt +__MVNW_QUIET_WGET=--quiet __MVNW_QUIET_CURL=--silent __MVNW_QUIET_UNZIP=-q __MVNW_QUIET_TAR='' +[ "${MVNW_VERBOSE-}" != true ] || __MVNW_QUIET_WGET='' __MVNW_QUIET_CURL='' __MVNW_QUIET_UNZIP='' __MVNW_QUIET_TAR=v + +# normalize http auth +case "${MVNW_PASSWORD:+has-password}" in +'') MVNW_USERNAME='' MVNW_PASSWORD='' ;; +has-password) [ -n "${MVNW_USERNAME-}" ] || MVNW_USERNAME='' MVNW_PASSWORD='' ;; +esac + +if [ -z "${MVNW_USERNAME-}" ] && command -v wget >/dev/null; then + verbose "Found wget ... using wget" + wget ${__MVNW_QUIET_WGET:+"$__MVNW_QUIET_WGET"} "$distributionUrl" -O "$TMP_DOWNLOAD_DIR/$distributionUrlName" || die "wget: Failed to fetch $distributionUrl" +elif [ -z "${MVNW_USERNAME-}" ] && command -v curl >/dev/null; then + verbose "Found curl ... using curl" + curl ${__MVNW_QUIET_CURL:+"$__MVNW_QUIET_CURL"} -f -L -o "$TMP_DOWNLOAD_DIR/$distributionUrlName" "$distributionUrl" || die "curl: Failed to fetch $distributionUrl" +elif set_java_home; then + verbose "Falling back to use Java to download" + javaSource="$TMP_DOWNLOAD_DIR/Downloader.java" + targetZip="$TMP_DOWNLOAD_DIR/$distributionUrlName" + cat >"$javaSource" <<-END + public class Downloader extends java.net.Authenticator + { + protected java.net.PasswordAuthentication getPasswordAuthentication() + { + return new java.net.PasswordAuthentication( System.getenv( "MVNW_USERNAME" ), System.getenv( "MVNW_PASSWORD" ).toCharArray() ); + } + public static void main( String[] args ) throws Exception + { + setDefault( new Downloader() ); + java.nio.file.Files.copy( java.net.URI.create( args[0] ).toURL().openStream(), java.nio.file.Paths.get( args[1] ).toAbsolutePath().normalize() ); + } + } + END + # For Cygwin/MinGW, switch paths to Windows format before running javac and java + verbose " - Compiling Downloader.java ..." + "$(native_path "$JAVACCMD")" "$(native_path "$javaSource")" || die "Failed to compile Downloader.java" + verbose " - Running Downloader.java ..." + "$(native_path "$JAVACMD")" -cp "$(native_path "$TMP_DOWNLOAD_DIR")" Downloader "$distributionUrl" "$(native_path "$targetZip")" +fi + +# If specified, validate the SHA-256 sum of the Maven distribution zip file +if [ -n "${distributionSha256Sum-}" ]; then + distributionSha256Result=false + if [ "$MVN_CMD" = mvnd.sh ]; then + echo "Checksum validation is not supported for maven-mvnd." >&2 + echo "Please disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 + exit 1 + elif command -v sha256sum >/dev/null; then + if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | sha256sum -c >/dev/null 2>&1; then + distributionSha256Result=true + fi + elif command -v shasum >/dev/null; then + if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | shasum -a 256 -c >/dev/null 2>&1; then + distributionSha256Result=true + fi + else + echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." >&2 + echo "Please install either command, or disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 + exit 1 + fi + if [ $distributionSha256Result = false ]; then + echo "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised." >&2 + echo "If you updated your Maven version, you need to update the specified distributionSha256Sum property." >&2 + exit 1 + fi +fi + +# unzip and move +if command -v unzip >/dev/null; then + unzip ${__MVNW_QUIET_UNZIP:+"$__MVNW_QUIET_UNZIP"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -d "$TMP_DOWNLOAD_DIR" || die "failed to unzip" +else + tar xzf${__MVNW_QUIET_TAR:+"$__MVNW_QUIET_TAR"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -C "$TMP_DOWNLOAD_DIR" || die "failed to untar" +fi +printf %s\\n "$distributionUrl" >"$TMP_DOWNLOAD_DIR/$distributionUrlNameMain/mvnw.url" +mv -- "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" "$MAVEN_HOME" || [ -d "$MAVEN_HOME" ] || die "fail to move MAVEN_HOME" + +clean || : +exec_maven "$@" diff --git a/Ex08-CrudSemBanco/mvnw.cmd b/Ex08-CrudSemBanco/mvnw.cmd new file mode 100644 index 0000000..249bdf3 --- /dev/null +++ b/Ex08-CrudSemBanco/mvnw.cmd @@ -0,0 +1,149 @@ +<# : batch portion +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM http://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Apache Maven Wrapper startup batch script, version 3.3.2 +@REM +@REM Optional ENV vars +@REM MVNW_REPOURL - repo url base for downloading maven distribution +@REM MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven +@REM MVNW_VERBOSE - true: enable verbose log; others: silence the output +@REM ---------------------------------------------------------------------------- + +@IF "%__MVNW_ARG0_NAME__%"=="" (SET __MVNW_ARG0_NAME__=%~nx0) +@SET __MVNW_CMD__= +@SET __MVNW_ERROR__= +@SET __MVNW_PSMODULEP_SAVE=%PSModulePath% +@SET PSModulePath= +@FOR /F "usebackq tokens=1* delims==" %%A IN (`powershell -noprofile "& {$scriptDir='%~dp0'; $script='%__MVNW_ARG0_NAME__%'; icm -ScriptBlock ([Scriptblock]::Create((Get-Content -Raw '%~f0'))) -NoNewScope}"`) DO @( + IF "%%A"=="MVN_CMD" (set __MVNW_CMD__=%%B) ELSE IF "%%B"=="" (echo %%A) ELSE (echo %%A=%%B) +) +@SET PSModulePath=%__MVNW_PSMODULEP_SAVE% +@SET __MVNW_PSMODULEP_SAVE= +@SET __MVNW_ARG0_NAME__= +@SET MVNW_USERNAME= +@SET MVNW_PASSWORD= +@IF NOT "%__MVNW_CMD__%"=="" (%__MVNW_CMD__% %*) +@echo Cannot start maven from wrapper >&2 && exit /b 1 +@GOTO :EOF +: end batch / begin powershell #> + +$ErrorActionPreference = "Stop" +if ($env:MVNW_VERBOSE -eq "true") { + $VerbosePreference = "Continue" +} + +# calculate distributionUrl, requires .mvn/wrapper/maven-wrapper.properties +$distributionUrl = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionUrl +if (!$distributionUrl) { + Write-Error "cannot read distributionUrl property in $scriptDir/.mvn/wrapper/maven-wrapper.properties" +} + +switch -wildcard -casesensitive ( $($distributionUrl -replace '^.*/','') ) { + "maven-mvnd-*" { + $USE_MVND = $true + $distributionUrl = $distributionUrl -replace '-bin\.[^.]*$',"-windows-amd64.zip" + $MVN_CMD = "mvnd.cmd" + break + } + default { + $USE_MVND = $false + $MVN_CMD = $script -replace '^mvnw','mvn' + break + } +} + +# apply MVNW_REPOURL and calculate MAVEN_HOME +# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ +if ($env:MVNW_REPOURL) { + $MVNW_REPO_PATTERN = if ($USE_MVND) { "/org/apache/maven/" } else { "/maven/mvnd/" } + $distributionUrl = "$env:MVNW_REPOURL$MVNW_REPO_PATTERN$($distributionUrl -replace '^.*'+$MVNW_REPO_PATTERN,'')" +} +$distributionUrlName = $distributionUrl -replace '^.*/','' +$distributionUrlNameMain = $distributionUrlName -replace '\.[^.]*$','' -replace '-bin$','' +$MAVEN_HOME_PARENT = "$HOME/.m2/wrapper/dists/$distributionUrlNameMain" +if ($env:MAVEN_USER_HOME) { + $MAVEN_HOME_PARENT = "$env:MAVEN_USER_HOME/wrapper/dists/$distributionUrlNameMain" +} +$MAVEN_HOME_NAME = ([System.Security.Cryptography.MD5]::Create().ComputeHash([byte[]][char[]]$distributionUrl) | ForEach-Object {$_.ToString("x2")}) -join '' +$MAVEN_HOME = "$MAVEN_HOME_PARENT/$MAVEN_HOME_NAME" + +if (Test-Path -Path "$MAVEN_HOME" -PathType Container) { + Write-Verbose "found existing MAVEN_HOME at $MAVEN_HOME" + Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" + exit $? +} + +if (! $distributionUrlNameMain -or ($distributionUrlName -eq $distributionUrlNameMain)) { + Write-Error "distributionUrl is not valid, must end with *-bin.zip, but found $distributionUrl" +} + +# prepare tmp dir +$TMP_DOWNLOAD_DIR_HOLDER = New-TemporaryFile +$TMP_DOWNLOAD_DIR = New-Item -Itemtype Directory -Path "$TMP_DOWNLOAD_DIR_HOLDER.dir" +$TMP_DOWNLOAD_DIR_HOLDER.Delete() | Out-Null +trap { + if ($TMP_DOWNLOAD_DIR.Exists) { + try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } + catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } + } +} + +New-Item -Itemtype Directory -Path "$MAVEN_HOME_PARENT" -Force | Out-Null + +# Download and Install Apache Maven +Write-Verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." +Write-Verbose "Downloading from: $distributionUrl" +Write-Verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" + +$webclient = New-Object System.Net.WebClient +if ($env:MVNW_USERNAME -and $env:MVNW_PASSWORD) { + $webclient.Credentials = New-Object System.Net.NetworkCredential($env:MVNW_USERNAME, $env:MVNW_PASSWORD) +} +[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 +$webclient.DownloadFile($distributionUrl, "$TMP_DOWNLOAD_DIR/$distributionUrlName") | Out-Null + +# If specified, validate the SHA-256 sum of the Maven distribution zip file +$distributionSha256Sum = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionSha256Sum +if ($distributionSha256Sum) { + if ($USE_MVND) { + Write-Error "Checksum validation is not supported for maven-mvnd. `nPlease disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." + } + Import-Module $PSHOME\Modules\Microsoft.PowerShell.Utility -Function Get-FileHash + if ((Get-FileHash "$TMP_DOWNLOAD_DIR/$distributionUrlName" -Algorithm SHA256).Hash.ToLower() -ne $distributionSha256Sum) { + Write-Error "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised. If you updated your Maven version, you need to update the specified distributionSha256Sum property." + } +} + +# unzip and move +Expand-Archive "$TMP_DOWNLOAD_DIR/$distributionUrlName" -DestinationPath "$TMP_DOWNLOAD_DIR" | Out-Null +Rename-Item -Path "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" -NewName $MAVEN_HOME_NAME | Out-Null +try { + Move-Item -Path "$TMP_DOWNLOAD_DIR/$MAVEN_HOME_NAME" -Destination $MAVEN_HOME_PARENT | Out-Null +} catch { + if (! (Test-Path -Path "$MAVEN_HOME" -PathType Container)) { + Write-Error "fail to move MAVEN_HOME" + } +} finally { + try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } + catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } +} + +Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" diff --git a/Ex08-CrudSemBanco/pom.xml b/Ex08-CrudSemBanco/pom.xml new file mode 100644 index 0000000..398bc57 --- /dev/null +++ b/Ex08-CrudSemBanco/pom.xml @@ -0,0 +1,84 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 3.4.2 + + + com.senai + crudSemBanco + 0.0.1-SNAPSHOT + crudSemBanco + Eh um projeto de crud sem o banco + + + + + + + + + + + + + + + 17 + + + + org.springframework.boot + spring-boot-starter-web + + + + org.projectlombok + lombok + true + + + org.springframework.boot + spring-boot-starter-test + test + + + org.springdoc + springdoc-openapi-starter-webmvc-ui + 2.5.0 + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + + + org.projectlombok + lombok + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.projectlombok + lombok + + + + + + + + diff --git a/Ex08-CrudSemBanco/src/main/java/com/senai/crudSemBanco/CrudSemBancoApplication.java b/Ex08-CrudSemBanco/src/main/java/com/senai/crudSemBanco/CrudSemBancoApplication.java new file mode 100644 index 0000000..27bc845 --- /dev/null +++ b/Ex08-CrudSemBanco/src/main/java/com/senai/crudSemBanco/CrudSemBancoApplication.java @@ -0,0 +1,13 @@ +package com.senai.crudSemBanco; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class CrudSemBancoApplication { + + public static void main(String[] args) { + SpringApplication.run(CrudSemBancoApplication.class, args); + } + +} diff --git a/Ex08-CrudSemBanco/src/main/java/com/senai/crudSemBanco/banco/BancoDeProdutos.java b/Ex08-CrudSemBanco/src/main/java/com/senai/crudSemBanco/banco/BancoDeProdutos.java new file mode 100644 index 0000000..b4ecbc2 --- /dev/null +++ b/Ex08-CrudSemBanco/src/main/java/com/senai/crudSemBanco/banco/BancoDeProdutos.java @@ -0,0 +1,50 @@ +package com.senai.crudSemBanco.banco; + +import com.senai.crudSemBanco.model.Produto; + +import java.util.ArrayList; +import java.util.List; + +public class BancoDeProdutos { + private List produtos; + + public BancoDeProdutos() { + this.produtos = new ArrayList<>(); + } + + // Insere um novo produto na lista + public void insert(Produto p) { + produtos.add(p); + } + + // Busca um produto pelo ID + public Produto findOne(int id) { + for (Produto p : produtos) { + if (p.getIdProduto() == id) { + return p; + } + } + return null; // Retorna null se não encontrar + } + + // Retorna todos os produtos cadastrados + public List findAll() { + return new ArrayList<>(produtos); + } + + // Atualiza um produto existente na lista + public boolean update(Produto p) { + for (int i = 0; i < produtos.size(); i++) { + if (produtos.get(i).getIdProduto() == p.getIdProduto()) { + produtos.set(i, p); + return true; // Retorno indicando que a atualização foi feita + } + } + return false; // Retorna falso se o produto não foi encontrado + } + + // Remove um produto pelo ID + public boolean delete(int id) { + return produtos.removeIf(p -> p.getIdProduto() == id); + } +} diff --git a/Ex08-CrudSemBanco/src/main/java/com/senai/crudSemBanco/controller/ProdutoController.java b/Ex08-CrudSemBanco/src/main/java/com/senai/crudSemBanco/controller/ProdutoController.java new file mode 100644 index 0000000..543f632 --- /dev/null +++ b/Ex08-CrudSemBanco/src/main/java/com/senai/crudSemBanco/controller/ProdutoController.java @@ -0,0 +1,19 @@ +package com.senai.crudSemBanco.controller; + +import com.senai.crudSemBanco.banco.BancoDeProdutos; +import com.senai.crudSemBanco.model.Produto; + +import java.util.List; + +public class ProdutoController { + + BancoDeProdutos bc = new BancoDeProdutos(); + + public void inserirNoBanco(Produto p) { + bc.insert(p); + } + + public List pegarTodosOsProdutos() { + return bc.findAll(); + } +} diff --git a/Ex08-CrudSemBanco/src/main/java/com/senai/crudSemBanco/model/Produto.java b/Ex08-CrudSemBanco/src/main/java/com/senai/crudSemBanco/model/Produto.java new file mode 100644 index 0000000..6c10d75 --- /dev/null +++ b/Ex08-CrudSemBanco/src/main/java/com/senai/crudSemBanco/model/Produto.java @@ -0,0 +1,79 @@ +package com.senai.crudSemBanco.model; + +public class Produto { + private int idProduto; + private String nomeProduto; + private String descricao; + private double preco; + private int quantidade; + private String pontoDeVenda; + + // Construtor + public Produto(int idProduto, String nomeProduto, String descricao, double preco, int quantidade, String pontoDeVenda) { + this.idProduto = idProduto; + this.nomeProduto = nomeProduto; + this.descricao = descricao; + this.preco = preco; + this.quantidade = quantidade; + this.pontoDeVenda = pontoDeVenda; + } + + // Getters e Setters + public int getIdProduto() { + return idProduto; + } + + public void setIdProduto(int idProduto) { + this.idProduto = idProduto; + } + + public String getNomeProduto() { + return nomeProduto; + } + + public void setNomeProduto(String nomeProduto) { + this.nomeProduto = nomeProduto; + } + + public String getDescricao() { + return descricao; + } + + public void setDescricao(String descricao) { + this.descricao = descricao; + } + + public double getPreco() { + return preco; + } + + public void setPreco(double preco) { + this.preco = preco; + } + + public int getQuantidade() { + return quantidade; + } + + public void setQuantidade(int quantidade) { + this.quantidade = quantidade; + } + + public String getPontoDeVenda() { + return pontoDeVenda; + } + + public void setPontoDeVenda(String pontoDeVenda) { + this.pontoDeVenda = pontoDeVenda; + } + + // Método para exibir informações do produto + public void exibirInformacoes() { + System.out.println("ID: " + idProduto); + System.out.println("Nome: " + nomeProduto); + System.out.println("Descrição: " + descricao); + System.out.println("Preço: R$ " + preco); + System.out.println("Quantidade: " + quantidade); + System.out.println("Ponto de Venda: " + pontoDeVenda); + } +} diff --git a/Ex08-CrudSemBanco/src/main/java/com/senai/crudSemBanco/view/ProdutoView.java b/Ex08-CrudSemBanco/src/main/java/com/senai/crudSemBanco/view/ProdutoView.java new file mode 100644 index 0000000..708d5e7 --- /dev/null +++ b/Ex08-CrudSemBanco/src/main/java/com/senai/crudSemBanco/view/ProdutoView.java @@ -0,0 +1,27 @@ +package com.senai.crudSemBanco.view; + +import com.senai.crudSemBanco.controller.ProdutoController; +import com.senai.crudSemBanco.model.Produto; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@RestController +public class ProdutoView { + + ProdutoController pc = new ProdutoController(); + + @GetMapping("/produto") + public List getAllProdutos(){ + return pc.pegarTodosOsProdutos(); + } + + @PostMapping("/produto") + public String postNovoProduto(@RequestBody Produto p){ + pc.inserirNoBanco(p); + return "Sucesso"; + } +} diff --git a/Ex08-CrudSemBanco/src/main/resources/application.properties b/Ex08-CrudSemBanco/src/main/resources/application.properties new file mode 100644 index 0000000..74e7ef9 --- /dev/null +++ b/Ex08-CrudSemBanco/src/main/resources/application.properties @@ -0,0 +1 @@ +spring.application.name=crudSemBanco diff --git a/Ex08-CrudSemBanco/src/test/java/com/senai/crudSemBanco/CrudSemBancoApplicationTests.java b/Ex08-CrudSemBanco/src/test/java/com/senai/crudSemBanco/CrudSemBancoApplicationTests.java new file mode 100644 index 0000000..5f5dfe2 --- /dev/null +++ b/Ex08-CrudSemBanco/src/test/java/com/senai/crudSemBanco/CrudSemBancoApplicationTests.java @@ -0,0 +1,13 @@ +package com.senai.crudSemBanco; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class CrudSemBancoApplicationTests { + + @Test + void contextLoads() { + } + +} diff --git a/Ex08-calculo-preciso/.idea/.gitignore b/Ex09-calculo-preciso/.idea/.gitignore similarity index 100% rename from Ex08-calculo-preciso/.idea/.gitignore rename to Ex09-calculo-preciso/.idea/.gitignore diff --git a/Ex08-calculo-preciso/.idea/compiler.xml b/Ex09-calculo-preciso/.idea/compiler.xml similarity index 100% rename from Ex08-calculo-preciso/.idea/compiler.xml rename to Ex09-calculo-preciso/.idea/compiler.xml diff --git a/Ex08-calculo-preciso/.idea/encodings.xml b/Ex09-calculo-preciso/.idea/encodings.xml similarity index 100% rename from Ex08-calculo-preciso/.idea/encodings.xml rename to Ex09-calculo-preciso/.idea/encodings.xml diff --git a/Ex08-calculo-preciso/.idea/jarRepositories.xml b/Ex09-calculo-preciso/.idea/jarRepositories.xml similarity index 100% rename from Ex08-calculo-preciso/.idea/jarRepositories.xml rename to Ex09-calculo-preciso/.idea/jarRepositories.xml diff --git a/Ex08-calculo-preciso/.idea/jpa-buddy.xml b/Ex09-calculo-preciso/.idea/jpa-buddy.xml similarity index 100% rename from Ex08-calculo-preciso/.idea/jpa-buddy.xml rename to Ex09-calculo-preciso/.idea/jpa-buddy.xml diff --git a/Ex08-calculo-preciso/.idea/misc.xml b/Ex09-calculo-preciso/.idea/misc.xml similarity index 100% rename from Ex08-calculo-preciso/.idea/misc.xml rename to Ex09-calculo-preciso/.idea/misc.xml diff --git a/Ex08-calculo-preciso/.idea/uiDesigner.xml b/Ex09-calculo-preciso/.idea/uiDesigner.xml similarity index 100% rename from Ex08-calculo-preciso/.idea/uiDesigner.xml rename to Ex09-calculo-preciso/.idea/uiDesigner.xml diff --git a/Ex08-calculo-preciso/.idea/vcs.xml b/Ex09-calculo-preciso/.idea/vcs.xml similarity index 100% rename from Ex08-calculo-preciso/.idea/vcs.xml rename to Ex09-calculo-preciso/.idea/vcs.xml diff --git a/Ex08-calculo-preciso/mvnw b/Ex09-calculo-preciso/mvnw similarity index 100% rename from Ex08-calculo-preciso/mvnw rename to Ex09-calculo-preciso/mvnw diff --git a/Ex08-calculo-preciso/mvnw.cmd b/Ex09-calculo-preciso/mvnw.cmd similarity index 100% rename from Ex08-calculo-preciso/mvnw.cmd rename to Ex09-calculo-preciso/mvnw.cmd diff --git a/Ex08-calculo-preciso/pom.xml b/Ex09-calculo-preciso/pom.xml similarity index 100% rename from Ex08-calculo-preciso/pom.xml rename to Ex09-calculo-preciso/pom.xml diff --git a/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/CPApplication.java b/Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/CPApplication.java similarity index 100% rename from Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/CPApplication.java rename to Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/CPApplication.java diff --git a/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/MaoDeObraDTO.java b/Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/MaoDeObraDTO.java similarity index 100% rename from Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/MaoDeObraDTO.java rename to Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/MaoDeObraDTO.java diff --git a/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/MaterialDTO.java b/Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/MaterialDTO.java similarity index 100% rename from Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/MaterialDTO.java rename to Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/MaterialDTO.java diff --git a/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/PecaDTORequest.java b/Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/PecaDTORequest.java similarity index 100% rename from Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/PecaDTORequest.java rename to Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/PecaDTORequest.java diff --git a/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/PecaDTOResponse.java b/Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/PecaDTOResponse.java similarity index 100% rename from Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/PecaDTOResponse.java rename to Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/PecaDTOResponse.java diff --git a/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/SubPecaDTORequest.java b/Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/SubPecaDTORequest.java similarity index 100% rename from Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/SubPecaDTORequest.java rename to Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/DTO/SubPecaDTORequest.java diff --git a/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/config/WebConfig.java b/Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/config/WebConfig.java similarity index 100% rename from Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/config/WebConfig.java rename to Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/config/WebConfig.java diff --git a/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/controller/MaoDeObraController.java b/Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/controller/MaoDeObraController.java similarity index 100% rename from Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/controller/MaoDeObraController.java rename to Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/controller/MaoDeObraController.java diff --git a/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/controller/MaquinaController.java b/Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/controller/MaquinaController.java similarity index 100% rename from Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/controller/MaquinaController.java rename to Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/controller/MaquinaController.java diff --git a/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/controller/MaterialController.java b/Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/controller/MaterialController.java similarity index 100% rename from Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/controller/MaterialController.java rename to Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/controller/MaterialController.java diff --git a/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/controller/PecaController.java b/Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/controller/PecaController.java similarity index 100% rename from Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/controller/PecaController.java rename to Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/controller/PecaController.java diff --git a/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/controller/SubPecaController.java b/Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/controller/SubPecaController.java similarity index 100% rename from Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/controller/SubPecaController.java rename to Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/controller/SubPecaController.java diff --git a/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/controller/TurmaController.java b/Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/controller/TurmaController.java similarity index 100% rename from Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/controller/TurmaController.java rename to Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/controller/TurmaController.java diff --git a/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/controller/UsuarioController.java b/Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/controller/UsuarioController.java similarity index 100% rename from Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/controller/UsuarioController.java rename to Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/controller/UsuarioController.java diff --git a/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Cilindro.java b/Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Cilindro.java similarity index 100% rename from Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Cilindro.java rename to Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Cilindro.java diff --git a/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Formato.java b/Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Formato.java similarity index 100% rename from Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Formato.java rename to Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Formato.java diff --git a/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/entity/MaoDeObra.java b/Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/entity/MaoDeObra.java similarity index 100% rename from Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/entity/MaoDeObra.java rename to Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/entity/MaoDeObra.java diff --git a/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Maquina.java b/Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Maquina.java similarity index 100% rename from Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Maquina.java rename to Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Maquina.java diff --git a/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Material.java b/Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Material.java similarity index 100% rename from Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Material.java rename to Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Material.java diff --git a/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Peca.java b/Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Peca.java similarity index 100% rename from Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Peca.java rename to Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Peca.java diff --git a/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Piramide.java b/Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Piramide.java similarity index 100% rename from Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Piramide.java rename to Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Piramide.java diff --git a/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/entity/SubPeca.java b/Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/entity/SubPeca.java similarity index 100% rename from Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/entity/SubPeca.java rename to Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/entity/SubPeca.java diff --git a/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Turma.java b/Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Turma.java similarity index 100% rename from Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Turma.java rename to Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Turma.java diff --git a/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Usuario.java b/Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Usuario.java similarity index 100% rename from Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Usuario.java rename to Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/entity/Usuario.java diff --git a/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/repository/FormatoRepository.java b/Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/repository/FormatoRepository.java similarity index 100% rename from Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/repository/FormatoRepository.java rename to Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/repository/FormatoRepository.java diff --git a/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/repository/MaoDeObraRepository.java b/Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/repository/MaoDeObraRepository.java similarity index 100% rename from Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/repository/MaoDeObraRepository.java rename to Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/repository/MaoDeObraRepository.java diff --git a/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/repository/MaquinaRepository.java b/Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/repository/MaquinaRepository.java similarity index 100% rename from Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/repository/MaquinaRepository.java rename to Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/repository/MaquinaRepository.java diff --git a/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/repository/MaterialRepository.java b/Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/repository/MaterialRepository.java similarity index 100% rename from Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/repository/MaterialRepository.java rename to Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/repository/MaterialRepository.java diff --git a/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/repository/PecaRepository.java b/Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/repository/PecaRepository.java similarity index 100% rename from Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/repository/PecaRepository.java rename to Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/repository/PecaRepository.java diff --git a/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/repository/SubPecaRepository.java b/Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/repository/SubPecaRepository.java similarity index 100% rename from Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/repository/SubPecaRepository.java rename to Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/repository/SubPecaRepository.java diff --git a/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/repository/TurmaRepository.java b/Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/repository/TurmaRepository.java similarity index 100% rename from Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/repository/TurmaRepository.java rename to Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/repository/TurmaRepository.java diff --git a/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/repository/UsuarioRepository.java b/Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/repository/UsuarioRepository.java similarity index 100% rename from Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/repository/UsuarioRepository.java rename to Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/repository/UsuarioRepository.java diff --git a/Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/util/CPUtil.java b/Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/util/CPUtil.java similarity index 100% rename from Ex08-calculo-preciso/src/main/java/com/precisiontech/cp/util/CPUtil.java rename to Ex09-calculo-preciso/src/main/java/com/precisiontech/cp/util/CPUtil.java diff --git a/Ex08-calculo-preciso/src/main/resources/application.properties b/Ex09-calculo-preciso/src/main/resources/application.properties similarity index 100% rename from Ex08-calculo-preciso/src/main/resources/application.properties rename to Ex09-calculo-preciso/src/main/resources/application.properties diff --git a/Ex08-calculo-preciso/src/test/java/com/precisiontech/cp/CPApplicationTests.java b/Ex09-calculo-preciso/src/test/java/com/precisiontech/cp/CPApplicationTests.java similarity index 100% rename from Ex08-calculo-preciso/src/test/java/com/precisiontech/cp/CPApplicationTests.java rename to Ex09-calculo-preciso/src/test/java/com/precisiontech/cp/CPApplicationTests.java diff --git a/Ex08-calculo-preciso/target/classes/application.properties b/Ex09-calculo-preciso/target/classes/application.properties similarity index 100% rename from Ex08-calculo-preciso/target/classes/application.properties rename to Ex09-calculo-preciso/target/classes/application.properties diff --git a/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/CPApplication.class b/Ex09-calculo-preciso/target/classes/com/precisiontech/cp/CPApplication.class similarity index 100% rename from Ex08-calculo-preciso/target/classes/com/precisiontech/cp/CPApplication.class rename to Ex09-calculo-preciso/target/classes/com/precisiontech/cp/CPApplication.class diff --git a/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/DTO/MaoDeObraDTO.class b/Ex09-calculo-preciso/target/classes/com/precisiontech/cp/DTO/MaoDeObraDTO.class similarity index 100% rename from Ex08-calculo-preciso/target/classes/com/precisiontech/cp/DTO/MaoDeObraDTO.class rename to Ex09-calculo-preciso/target/classes/com/precisiontech/cp/DTO/MaoDeObraDTO.class diff --git a/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/DTO/MaterialDTO.class b/Ex09-calculo-preciso/target/classes/com/precisiontech/cp/DTO/MaterialDTO.class similarity index 100% rename from Ex08-calculo-preciso/target/classes/com/precisiontech/cp/DTO/MaterialDTO.class rename to Ex09-calculo-preciso/target/classes/com/precisiontech/cp/DTO/MaterialDTO.class diff --git a/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/DTO/PecaDTORequest.class b/Ex09-calculo-preciso/target/classes/com/precisiontech/cp/DTO/PecaDTORequest.class similarity index 100% rename from Ex08-calculo-preciso/target/classes/com/precisiontech/cp/DTO/PecaDTORequest.class rename to Ex09-calculo-preciso/target/classes/com/precisiontech/cp/DTO/PecaDTORequest.class diff --git a/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/DTO/PecaDTOResponse.class b/Ex09-calculo-preciso/target/classes/com/precisiontech/cp/DTO/PecaDTOResponse.class similarity index 100% rename from Ex08-calculo-preciso/target/classes/com/precisiontech/cp/DTO/PecaDTOResponse.class rename to Ex09-calculo-preciso/target/classes/com/precisiontech/cp/DTO/PecaDTOResponse.class diff --git a/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/DTO/SubPecaDTORequest.class b/Ex09-calculo-preciso/target/classes/com/precisiontech/cp/DTO/SubPecaDTORequest.class similarity index 100% rename from Ex08-calculo-preciso/target/classes/com/precisiontech/cp/DTO/SubPecaDTORequest.class rename to Ex09-calculo-preciso/target/classes/com/precisiontech/cp/DTO/SubPecaDTORequest.class diff --git a/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/config/WebConfig.class b/Ex09-calculo-preciso/target/classes/com/precisiontech/cp/config/WebConfig.class similarity index 100% rename from Ex08-calculo-preciso/target/classes/com/precisiontech/cp/config/WebConfig.class rename to Ex09-calculo-preciso/target/classes/com/precisiontech/cp/config/WebConfig.class diff --git a/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/controller/MaoDeObraController.class b/Ex09-calculo-preciso/target/classes/com/precisiontech/cp/controller/MaoDeObraController.class similarity index 100% rename from Ex08-calculo-preciso/target/classes/com/precisiontech/cp/controller/MaoDeObraController.class rename to Ex09-calculo-preciso/target/classes/com/precisiontech/cp/controller/MaoDeObraController.class diff --git a/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/controller/MaquinaController.class b/Ex09-calculo-preciso/target/classes/com/precisiontech/cp/controller/MaquinaController.class similarity index 100% rename from Ex08-calculo-preciso/target/classes/com/precisiontech/cp/controller/MaquinaController.class rename to Ex09-calculo-preciso/target/classes/com/precisiontech/cp/controller/MaquinaController.class diff --git a/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/controller/MaterialController.class b/Ex09-calculo-preciso/target/classes/com/precisiontech/cp/controller/MaterialController.class similarity index 100% rename from Ex08-calculo-preciso/target/classes/com/precisiontech/cp/controller/MaterialController.class rename to Ex09-calculo-preciso/target/classes/com/precisiontech/cp/controller/MaterialController.class diff --git a/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/controller/PecaController.class b/Ex09-calculo-preciso/target/classes/com/precisiontech/cp/controller/PecaController.class similarity index 100% rename from Ex08-calculo-preciso/target/classes/com/precisiontech/cp/controller/PecaController.class rename to Ex09-calculo-preciso/target/classes/com/precisiontech/cp/controller/PecaController.class diff --git a/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/controller/SubPecaController.class b/Ex09-calculo-preciso/target/classes/com/precisiontech/cp/controller/SubPecaController.class similarity index 100% rename from Ex08-calculo-preciso/target/classes/com/precisiontech/cp/controller/SubPecaController.class rename to Ex09-calculo-preciso/target/classes/com/precisiontech/cp/controller/SubPecaController.class diff --git a/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/controller/TurmaController.class b/Ex09-calculo-preciso/target/classes/com/precisiontech/cp/controller/TurmaController.class similarity index 100% rename from Ex08-calculo-preciso/target/classes/com/precisiontech/cp/controller/TurmaController.class rename to Ex09-calculo-preciso/target/classes/com/precisiontech/cp/controller/TurmaController.class diff --git a/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/controller/UsuarioController.class b/Ex09-calculo-preciso/target/classes/com/precisiontech/cp/controller/UsuarioController.class similarity index 100% rename from Ex08-calculo-preciso/target/classes/com/precisiontech/cp/controller/UsuarioController.class rename to Ex09-calculo-preciso/target/classes/com/precisiontech/cp/controller/UsuarioController.class diff --git a/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/Cilindro.class b/Ex09-calculo-preciso/target/classes/com/precisiontech/cp/entity/Cilindro.class similarity index 100% rename from Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/Cilindro.class rename to Ex09-calculo-preciso/target/classes/com/precisiontech/cp/entity/Cilindro.class diff --git a/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/Formato.class b/Ex09-calculo-preciso/target/classes/com/precisiontech/cp/entity/Formato.class similarity index 100% rename from Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/Formato.class rename to Ex09-calculo-preciso/target/classes/com/precisiontech/cp/entity/Formato.class diff --git a/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/MaoDeObra.class b/Ex09-calculo-preciso/target/classes/com/precisiontech/cp/entity/MaoDeObra.class similarity index 100% rename from Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/MaoDeObra.class rename to Ex09-calculo-preciso/target/classes/com/precisiontech/cp/entity/MaoDeObra.class diff --git a/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/Maquina.class b/Ex09-calculo-preciso/target/classes/com/precisiontech/cp/entity/Maquina.class similarity index 100% rename from Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/Maquina.class rename to Ex09-calculo-preciso/target/classes/com/precisiontech/cp/entity/Maquina.class diff --git a/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/Material.class b/Ex09-calculo-preciso/target/classes/com/precisiontech/cp/entity/Material.class similarity index 100% rename from Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/Material.class rename to Ex09-calculo-preciso/target/classes/com/precisiontech/cp/entity/Material.class diff --git a/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/Peca.class b/Ex09-calculo-preciso/target/classes/com/precisiontech/cp/entity/Peca.class similarity index 100% rename from Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/Peca.class rename to Ex09-calculo-preciso/target/classes/com/precisiontech/cp/entity/Peca.class diff --git a/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/Piramide.class b/Ex09-calculo-preciso/target/classes/com/precisiontech/cp/entity/Piramide.class similarity index 100% rename from Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/Piramide.class rename to Ex09-calculo-preciso/target/classes/com/precisiontech/cp/entity/Piramide.class diff --git a/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/SubPeca.class b/Ex09-calculo-preciso/target/classes/com/precisiontech/cp/entity/SubPeca.class similarity index 100% rename from Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/SubPeca.class rename to Ex09-calculo-preciso/target/classes/com/precisiontech/cp/entity/SubPeca.class diff --git a/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/Turma.class b/Ex09-calculo-preciso/target/classes/com/precisiontech/cp/entity/Turma.class similarity index 100% rename from Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/Turma.class rename to Ex09-calculo-preciso/target/classes/com/precisiontech/cp/entity/Turma.class diff --git a/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/Usuario$TipoUsuario.class b/Ex09-calculo-preciso/target/classes/com/precisiontech/cp/entity/Usuario$TipoUsuario.class similarity index 100% rename from Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/Usuario$TipoUsuario.class rename to Ex09-calculo-preciso/target/classes/com/precisiontech/cp/entity/Usuario$TipoUsuario.class diff --git a/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/Usuario.class b/Ex09-calculo-preciso/target/classes/com/precisiontech/cp/entity/Usuario.class similarity index 100% rename from Ex08-calculo-preciso/target/classes/com/precisiontech/cp/entity/Usuario.class rename to Ex09-calculo-preciso/target/classes/com/precisiontech/cp/entity/Usuario.class diff --git a/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/repository/FormatoRepository.class b/Ex09-calculo-preciso/target/classes/com/precisiontech/cp/repository/FormatoRepository.class similarity index 100% rename from Ex08-calculo-preciso/target/classes/com/precisiontech/cp/repository/FormatoRepository.class rename to Ex09-calculo-preciso/target/classes/com/precisiontech/cp/repository/FormatoRepository.class diff --git a/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/repository/MaoDeObraRepository.class b/Ex09-calculo-preciso/target/classes/com/precisiontech/cp/repository/MaoDeObraRepository.class similarity index 100% rename from Ex08-calculo-preciso/target/classes/com/precisiontech/cp/repository/MaoDeObraRepository.class rename to Ex09-calculo-preciso/target/classes/com/precisiontech/cp/repository/MaoDeObraRepository.class diff --git a/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/repository/MaquinaRepository.class b/Ex09-calculo-preciso/target/classes/com/precisiontech/cp/repository/MaquinaRepository.class similarity index 100% rename from Ex08-calculo-preciso/target/classes/com/precisiontech/cp/repository/MaquinaRepository.class rename to Ex09-calculo-preciso/target/classes/com/precisiontech/cp/repository/MaquinaRepository.class diff --git a/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/repository/MaterialRepository.class b/Ex09-calculo-preciso/target/classes/com/precisiontech/cp/repository/MaterialRepository.class similarity index 100% rename from Ex08-calculo-preciso/target/classes/com/precisiontech/cp/repository/MaterialRepository.class rename to Ex09-calculo-preciso/target/classes/com/precisiontech/cp/repository/MaterialRepository.class diff --git a/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/repository/PecaRepository.class b/Ex09-calculo-preciso/target/classes/com/precisiontech/cp/repository/PecaRepository.class similarity index 100% rename from Ex08-calculo-preciso/target/classes/com/precisiontech/cp/repository/PecaRepository.class rename to Ex09-calculo-preciso/target/classes/com/precisiontech/cp/repository/PecaRepository.class diff --git a/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/repository/SubPecaRepository.class b/Ex09-calculo-preciso/target/classes/com/precisiontech/cp/repository/SubPecaRepository.class similarity index 100% rename from Ex08-calculo-preciso/target/classes/com/precisiontech/cp/repository/SubPecaRepository.class rename to Ex09-calculo-preciso/target/classes/com/precisiontech/cp/repository/SubPecaRepository.class diff --git a/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/repository/TurmaRepository.class b/Ex09-calculo-preciso/target/classes/com/precisiontech/cp/repository/TurmaRepository.class similarity index 100% rename from Ex08-calculo-preciso/target/classes/com/precisiontech/cp/repository/TurmaRepository.class rename to Ex09-calculo-preciso/target/classes/com/precisiontech/cp/repository/TurmaRepository.class diff --git a/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/repository/UsuarioRepository.class b/Ex09-calculo-preciso/target/classes/com/precisiontech/cp/repository/UsuarioRepository.class similarity index 100% rename from Ex08-calculo-preciso/target/classes/com/precisiontech/cp/repository/UsuarioRepository.class rename to Ex09-calculo-preciso/target/classes/com/precisiontech/cp/repository/UsuarioRepository.class diff --git a/Ex08-calculo-preciso/target/classes/com/precisiontech/cp/util/CPUtil.class b/Ex09-calculo-preciso/target/classes/com/precisiontech/cp/util/CPUtil.class similarity index 100% rename from Ex08-calculo-preciso/target/classes/com/precisiontech/cp/util/CPUtil.class rename to Ex09-calculo-preciso/target/classes/com/precisiontech/cp/util/CPUtil.class From 164408f71db881823cf0f3fa84c6630b69fddec3 Mon Sep 17 00:00:00 2001 From: vinnydsstos Date: Mon, 24 Feb 2025 15:01:53 -0300 Subject: [PATCH 56/56] adiciona exercicio de debug --- Ex10-debug/.gitattributes | 2 + Ex10-debug/.gitignore | 33 +++ .../.mvn/wrapper/maven-wrapper.properties | 19 ++ Ex10-debug/mvnw | 259 ++++++++++++++++++ Ex10-debug/mvnw.cmd | 149 ++++++++++ Ex10-debug/pom.xml | 85 ++++++ .../java/com/senai/mvc/MvcApplication.java | 13 + .../com/senai/mvc/banco/BancoDeClientes.java | 52 ++++ .../com/senai/mvc/banco/BancoDeProdutos.java | 49 ++++ .../com/senai/mvc/banco/BancoDeVendas.java | 51 ++++ .../mvc/controller/ClienteController.java | 19 ++ .../mvc/controller/ProdutoController.java | 22 ++ .../senai/mvc/controller/VendaController.java | 45 +++ .../java/com/senai/mvc/model/Cliente.java | 17 ++ .../java/com/senai/mvc/model/Produto.java | 17 ++ .../main/java/com/senai/mvc/model/Venda.java | 20 ++ .../java/com/senai/mvc/view/ClienteView.java | 27 ++ .../java/com/senai/mvc/view/ProdutoView.java | 28 ++ .../java/com/senai/mvc/view/VendaView.java | 28 ++ .../src/main/resources/application.properties | 1 + .../com/senai/mvc/MvcApplicationTests.java | 13 + 21 files changed, 949 insertions(+) create mode 100644 Ex10-debug/.gitattributes create mode 100644 Ex10-debug/.gitignore create mode 100644 Ex10-debug/.mvn/wrapper/maven-wrapper.properties create mode 100644 Ex10-debug/mvnw create mode 100644 Ex10-debug/mvnw.cmd create mode 100644 Ex10-debug/pom.xml create mode 100644 Ex10-debug/src/main/java/com/senai/mvc/MvcApplication.java create mode 100644 Ex10-debug/src/main/java/com/senai/mvc/banco/BancoDeClientes.java create mode 100644 Ex10-debug/src/main/java/com/senai/mvc/banco/BancoDeProdutos.java create mode 100644 Ex10-debug/src/main/java/com/senai/mvc/banco/BancoDeVendas.java create mode 100644 Ex10-debug/src/main/java/com/senai/mvc/controller/ClienteController.java create mode 100644 Ex10-debug/src/main/java/com/senai/mvc/controller/ProdutoController.java create mode 100644 Ex10-debug/src/main/java/com/senai/mvc/controller/VendaController.java create mode 100644 Ex10-debug/src/main/java/com/senai/mvc/model/Cliente.java create mode 100644 Ex10-debug/src/main/java/com/senai/mvc/model/Produto.java create mode 100644 Ex10-debug/src/main/java/com/senai/mvc/model/Venda.java create mode 100644 Ex10-debug/src/main/java/com/senai/mvc/view/ClienteView.java create mode 100644 Ex10-debug/src/main/java/com/senai/mvc/view/ProdutoView.java create mode 100644 Ex10-debug/src/main/java/com/senai/mvc/view/VendaView.java create mode 100644 Ex10-debug/src/main/resources/application.properties create mode 100644 Ex10-debug/src/test/java/com/senai/mvc/MvcApplicationTests.java diff --git a/Ex10-debug/.gitattributes b/Ex10-debug/.gitattributes new file mode 100644 index 0000000..3b41682 --- /dev/null +++ b/Ex10-debug/.gitattributes @@ -0,0 +1,2 @@ +/mvnw text eol=lf +*.cmd text eol=crlf diff --git a/Ex10-debug/.gitignore b/Ex10-debug/.gitignore new file mode 100644 index 0000000..549e00a --- /dev/null +++ b/Ex10-debug/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/Ex10-debug/.mvn/wrapper/maven-wrapper.properties b/Ex10-debug/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 0000000..d58dfb7 --- /dev/null +++ b/Ex10-debug/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1,19 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +wrapperVersion=3.3.2 +distributionType=only-script +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.9/apache-maven-3.9.9-bin.zip diff --git a/Ex10-debug/mvnw b/Ex10-debug/mvnw new file mode 100644 index 0000000..19529dd --- /dev/null +++ b/Ex10-debug/mvnw @@ -0,0 +1,259 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Apache Maven Wrapper startup batch script, version 3.3.2 +# +# Optional ENV vars +# ----------------- +# JAVA_HOME - location of a JDK home dir, required when download maven via java source +# MVNW_REPOURL - repo url base for downloading maven distribution +# MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven +# MVNW_VERBOSE - true: enable verbose log; debug: trace the mvnw script; others: silence the output +# ---------------------------------------------------------------------------- + +set -euf +[ "${MVNW_VERBOSE-}" != debug ] || set -x + +# OS specific support. +native_path() { printf %s\\n "$1"; } +case "$(uname)" in +CYGWIN* | MINGW*) + [ -z "${JAVA_HOME-}" ] || JAVA_HOME="$(cygpath --unix "$JAVA_HOME")" + native_path() { cygpath --path --windows "$1"; } + ;; +esac + +# set JAVACMD and JAVACCMD +set_java_home() { + # For Cygwin and MinGW, ensure paths are in Unix format before anything is touched + if [ -n "${JAVA_HOME-}" ]; then + if [ -x "$JAVA_HOME/jre/sh/java" ]; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + JAVACCMD="$JAVA_HOME/jre/sh/javac" + else + JAVACMD="$JAVA_HOME/bin/java" + JAVACCMD="$JAVA_HOME/bin/javac" + + if [ ! -x "$JAVACMD" ] || [ ! -x "$JAVACCMD" ]; then + echo "The JAVA_HOME environment variable is not defined correctly, so mvnw cannot run." >&2 + echo "JAVA_HOME is set to \"$JAVA_HOME\", but \"\$JAVA_HOME/bin/java\" or \"\$JAVA_HOME/bin/javac\" does not exist." >&2 + return 1 + fi + fi + else + JAVACMD="$( + 'set' +e + 'unset' -f command 2>/dev/null + 'command' -v java + )" || : + JAVACCMD="$( + 'set' +e + 'unset' -f command 2>/dev/null + 'command' -v javac + )" || : + + if [ ! -x "${JAVACMD-}" ] || [ ! -x "${JAVACCMD-}" ]; then + echo "The java/javac command does not exist in PATH nor is JAVA_HOME set, so mvnw cannot run." >&2 + return 1 + fi + fi +} + +# hash string like Java String::hashCode +hash_string() { + str="${1:-}" h=0 + while [ -n "$str" ]; do + char="${str%"${str#?}"}" + h=$(((h * 31 + $(LC_CTYPE=C printf %d "'$char")) % 4294967296)) + str="${str#?}" + done + printf %x\\n $h +} + +verbose() { :; } +[ "${MVNW_VERBOSE-}" != true ] || verbose() { printf %s\\n "${1-}"; } + +die() { + printf %s\\n "$1" >&2 + exit 1 +} + +trim() { + # MWRAPPER-139: + # Trims trailing and leading whitespace, carriage returns, tabs, and linefeeds. + # Needed for removing poorly interpreted newline sequences when running in more + # exotic environments such as mingw bash on Windows. + printf "%s" "${1}" | tr -d '[:space:]' +} + +# parse distributionUrl and optional distributionSha256Sum, requires .mvn/wrapper/maven-wrapper.properties +while IFS="=" read -r key value; do + case "${key-}" in + distributionUrl) distributionUrl=$(trim "${value-}") ;; + distributionSha256Sum) distributionSha256Sum=$(trim "${value-}") ;; + esac +done <"${0%/*}/.mvn/wrapper/maven-wrapper.properties" +[ -n "${distributionUrl-}" ] || die "cannot read distributionUrl property in ${0%/*}/.mvn/wrapper/maven-wrapper.properties" + +case "${distributionUrl##*/}" in +maven-mvnd-*bin.*) + MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ + case "${PROCESSOR_ARCHITECTURE-}${PROCESSOR_ARCHITEW6432-}:$(uname -a)" in + *AMD64:CYGWIN* | *AMD64:MINGW*) distributionPlatform=windows-amd64 ;; + :Darwin*x86_64) distributionPlatform=darwin-amd64 ;; + :Darwin*arm64) distributionPlatform=darwin-aarch64 ;; + :Linux*x86_64*) distributionPlatform=linux-amd64 ;; + *) + echo "Cannot detect native platform for mvnd on $(uname)-$(uname -m), use pure java version" >&2 + distributionPlatform=linux-amd64 + ;; + esac + distributionUrl="${distributionUrl%-bin.*}-$distributionPlatform.zip" + ;; +maven-mvnd-*) MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ ;; +*) MVN_CMD="mvn${0##*/mvnw}" _MVNW_REPO_PATTERN=/org/apache/maven/ ;; +esac + +# apply MVNW_REPOURL and calculate MAVEN_HOME +# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ +[ -z "${MVNW_REPOURL-}" ] || distributionUrl="$MVNW_REPOURL$_MVNW_REPO_PATTERN${distributionUrl#*"$_MVNW_REPO_PATTERN"}" +distributionUrlName="${distributionUrl##*/}" +distributionUrlNameMain="${distributionUrlName%.*}" +distributionUrlNameMain="${distributionUrlNameMain%-bin}" +MAVEN_USER_HOME="${MAVEN_USER_HOME:-${HOME}/.m2}" +MAVEN_HOME="${MAVEN_USER_HOME}/wrapper/dists/${distributionUrlNameMain-}/$(hash_string "$distributionUrl")" + +exec_maven() { + unset MVNW_VERBOSE MVNW_USERNAME MVNW_PASSWORD MVNW_REPOURL || : + exec "$MAVEN_HOME/bin/$MVN_CMD" "$@" || die "cannot exec $MAVEN_HOME/bin/$MVN_CMD" +} + +if [ -d "$MAVEN_HOME" ]; then + verbose "found existing MAVEN_HOME at $MAVEN_HOME" + exec_maven "$@" +fi + +case "${distributionUrl-}" in +*?-bin.zip | *?maven-mvnd-?*-?*.zip) ;; +*) die "distributionUrl is not valid, must match *-bin.zip or maven-mvnd-*.zip, but found '${distributionUrl-}'" ;; +esac + +# prepare tmp dir +if TMP_DOWNLOAD_DIR="$(mktemp -d)" && [ -d "$TMP_DOWNLOAD_DIR" ]; then + clean() { rm -rf -- "$TMP_DOWNLOAD_DIR"; } + trap clean HUP INT TERM EXIT +else + die "cannot create temp dir" +fi + +mkdir -p -- "${MAVEN_HOME%/*}" + +# Download and Install Apache Maven +verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." +verbose "Downloading from: $distributionUrl" +verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" + +# select .zip or .tar.gz +if ! command -v unzip >/dev/null; then + distributionUrl="${distributionUrl%.zip}.tar.gz" + distributionUrlName="${distributionUrl##*/}" +fi + +# verbose opt +__MVNW_QUIET_WGET=--quiet __MVNW_QUIET_CURL=--silent __MVNW_QUIET_UNZIP=-q __MVNW_QUIET_TAR='' +[ "${MVNW_VERBOSE-}" != true ] || __MVNW_QUIET_WGET='' __MVNW_QUIET_CURL='' __MVNW_QUIET_UNZIP='' __MVNW_QUIET_TAR=v + +# normalize http auth +case "${MVNW_PASSWORD:+has-password}" in +'') MVNW_USERNAME='' MVNW_PASSWORD='' ;; +has-password) [ -n "${MVNW_USERNAME-}" ] || MVNW_USERNAME='' MVNW_PASSWORD='' ;; +esac + +if [ -z "${MVNW_USERNAME-}" ] && command -v wget >/dev/null; then + verbose "Found wget ... using wget" + wget ${__MVNW_QUIET_WGET:+"$__MVNW_QUIET_WGET"} "$distributionUrl" -O "$TMP_DOWNLOAD_DIR/$distributionUrlName" || die "wget: Failed to fetch $distributionUrl" +elif [ -z "${MVNW_USERNAME-}" ] && command -v curl >/dev/null; then + verbose "Found curl ... using curl" + curl ${__MVNW_QUIET_CURL:+"$__MVNW_QUIET_CURL"} -f -L -o "$TMP_DOWNLOAD_DIR/$distributionUrlName" "$distributionUrl" || die "curl: Failed to fetch $distributionUrl" +elif set_java_home; then + verbose "Falling back to use Java to download" + javaSource="$TMP_DOWNLOAD_DIR/Downloader.java" + targetZip="$TMP_DOWNLOAD_DIR/$distributionUrlName" + cat >"$javaSource" <<-END + public class Downloader extends java.net.Authenticator + { + protected java.net.PasswordAuthentication getPasswordAuthentication() + { + return new java.net.PasswordAuthentication( System.getenv( "MVNW_USERNAME" ), System.getenv( "MVNW_PASSWORD" ).toCharArray() ); + } + public static void main( String[] args ) throws Exception + { + setDefault( new Downloader() ); + java.nio.file.Files.copy( java.net.URI.create( args[0] ).toURL().openStream(), java.nio.file.Paths.get( args[1] ).toAbsolutePath().normalize() ); + } + } + END + # For Cygwin/MinGW, switch paths to Windows format before running javac and java + verbose " - Compiling Downloader.java ..." + "$(native_path "$JAVACCMD")" "$(native_path "$javaSource")" || die "Failed to compile Downloader.java" + verbose " - Running Downloader.java ..." + "$(native_path "$JAVACMD")" -cp "$(native_path "$TMP_DOWNLOAD_DIR")" Downloader "$distributionUrl" "$(native_path "$targetZip")" +fi + +# If specified, validate the SHA-256 sum of the Maven distribution zip file +if [ -n "${distributionSha256Sum-}" ]; then + distributionSha256Result=false + if [ "$MVN_CMD" = mvnd.sh ]; then + echo "Checksum validation is not supported for maven-mvnd." >&2 + echo "Please disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 + exit 1 + elif command -v sha256sum >/dev/null; then + if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | sha256sum -c >/dev/null 2>&1; then + distributionSha256Result=true + fi + elif command -v shasum >/dev/null; then + if echo "$distributionSha256Sum $TMP_DOWNLOAD_DIR/$distributionUrlName" | shasum -a 256 -c >/dev/null 2>&1; then + distributionSha256Result=true + fi + else + echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." >&2 + echo "Please install either command, or disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2 + exit 1 + fi + if [ $distributionSha256Result = false ]; then + echo "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised." >&2 + echo "If you updated your Maven version, you need to update the specified distributionSha256Sum property." >&2 + exit 1 + fi +fi + +# unzip and move +if command -v unzip >/dev/null; then + unzip ${__MVNW_QUIET_UNZIP:+"$__MVNW_QUIET_UNZIP"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -d "$TMP_DOWNLOAD_DIR" || die "failed to unzip" +else + tar xzf${__MVNW_QUIET_TAR:+"$__MVNW_QUIET_TAR"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -C "$TMP_DOWNLOAD_DIR" || die "failed to untar" +fi +printf %s\\n "$distributionUrl" >"$TMP_DOWNLOAD_DIR/$distributionUrlNameMain/mvnw.url" +mv -- "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" "$MAVEN_HOME" || [ -d "$MAVEN_HOME" ] || die "fail to move MAVEN_HOME" + +clean || : +exec_maven "$@" diff --git a/Ex10-debug/mvnw.cmd b/Ex10-debug/mvnw.cmd new file mode 100644 index 0000000..249bdf3 --- /dev/null +++ b/Ex10-debug/mvnw.cmd @@ -0,0 +1,149 @@ +<# : batch portion +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM http://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Apache Maven Wrapper startup batch script, version 3.3.2 +@REM +@REM Optional ENV vars +@REM MVNW_REPOURL - repo url base for downloading maven distribution +@REM MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven +@REM MVNW_VERBOSE - true: enable verbose log; others: silence the output +@REM ---------------------------------------------------------------------------- + +@IF "%__MVNW_ARG0_NAME__%"=="" (SET __MVNW_ARG0_NAME__=%~nx0) +@SET __MVNW_CMD__= +@SET __MVNW_ERROR__= +@SET __MVNW_PSMODULEP_SAVE=%PSModulePath% +@SET PSModulePath= +@FOR /F "usebackq tokens=1* delims==" %%A IN (`powershell -noprofile "& {$scriptDir='%~dp0'; $script='%__MVNW_ARG0_NAME__%'; icm -ScriptBlock ([Scriptblock]::Create((Get-Content -Raw '%~f0'))) -NoNewScope}"`) DO @( + IF "%%A"=="MVN_CMD" (set __MVNW_CMD__=%%B) ELSE IF "%%B"=="" (echo %%A) ELSE (echo %%A=%%B) +) +@SET PSModulePath=%__MVNW_PSMODULEP_SAVE% +@SET __MVNW_PSMODULEP_SAVE= +@SET __MVNW_ARG0_NAME__= +@SET MVNW_USERNAME= +@SET MVNW_PASSWORD= +@IF NOT "%__MVNW_CMD__%"=="" (%__MVNW_CMD__% %*) +@echo Cannot start maven from wrapper >&2 && exit /b 1 +@GOTO :EOF +: end batch / begin powershell #> + +$ErrorActionPreference = "Stop" +if ($env:MVNW_VERBOSE -eq "true") { + $VerbosePreference = "Continue" +} + +# calculate distributionUrl, requires .mvn/wrapper/maven-wrapper.properties +$distributionUrl = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionUrl +if (!$distributionUrl) { + Write-Error "cannot read distributionUrl property in $scriptDir/.mvn/wrapper/maven-wrapper.properties" +} + +switch -wildcard -casesensitive ( $($distributionUrl -replace '^.*/','') ) { + "maven-mvnd-*" { + $USE_MVND = $true + $distributionUrl = $distributionUrl -replace '-bin\.[^.]*$',"-windows-amd64.zip" + $MVN_CMD = "mvnd.cmd" + break + } + default { + $USE_MVND = $false + $MVN_CMD = $script -replace '^mvnw','mvn' + break + } +} + +# apply MVNW_REPOURL and calculate MAVEN_HOME +# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-,maven-mvnd--}/ +if ($env:MVNW_REPOURL) { + $MVNW_REPO_PATTERN = if ($USE_MVND) { "/org/apache/maven/" } else { "/maven/mvnd/" } + $distributionUrl = "$env:MVNW_REPOURL$MVNW_REPO_PATTERN$($distributionUrl -replace '^.*'+$MVNW_REPO_PATTERN,'')" +} +$distributionUrlName = $distributionUrl -replace '^.*/','' +$distributionUrlNameMain = $distributionUrlName -replace '\.[^.]*$','' -replace '-bin$','' +$MAVEN_HOME_PARENT = "$HOME/.m2/wrapper/dists/$distributionUrlNameMain" +if ($env:MAVEN_USER_HOME) { + $MAVEN_HOME_PARENT = "$env:MAVEN_USER_HOME/wrapper/dists/$distributionUrlNameMain" +} +$MAVEN_HOME_NAME = ([System.Security.Cryptography.MD5]::Create().ComputeHash([byte[]][char[]]$distributionUrl) | ForEach-Object {$_.ToString("x2")}) -join '' +$MAVEN_HOME = "$MAVEN_HOME_PARENT/$MAVEN_HOME_NAME" + +if (Test-Path -Path "$MAVEN_HOME" -PathType Container) { + Write-Verbose "found existing MAVEN_HOME at $MAVEN_HOME" + Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" + exit $? +} + +if (! $distributionUrlNameMain -or ($distributionUrlName -eq $distributionUrlNameMain)) { + Write-Error "distributionUrl is not valid, must end with *-bin.zip, but found $distributionUrl" +} + +# prepare tmp dir +$TMP_DOWNLOAD_DIR_HOLDER = New-TemporaryFile +$TMP_DOWNLOAD_DIR = New-Item -Itemtype Directory -Path "$TMP_DOWNLOAD_DIR_HOLDER.dir" +$TMP_DOWNLOAD_DIR_HOLDER.Delete() | Out-Null +trap { + if ($TMP_DOWNLOAD_DIR.Exists) { + try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } + catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } + } +} + +New-Item -Itemtype Directory -Path "$MAVEN_HOME_PARENT" -Force | Out-Null + +# Download and Install Apache Maven +Write-Verbose "Couldn't find MAVEN_HOME, downloading and installing it ..." +Write-Verbose "Downloading from: $distributionUrl" +Write-Verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName" + +$webclient = New-Object System.Net.WebClient +if ($env:MVNW_USERNAME -and $env:MVNW_PASSWORD) { + $webclient.Credentials = New-Object System.Net.NetworkCredential($env:MVNW_USERNAME, $env:MVNW_PASSWORD) +} +[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 +$webclient.DownloadFile($distributionUrl, "$TMP_DOWNLOAD_DIR/$distributionUrlName") | Out-Null + +# If specified, validate the SHA-256 sum of the Maven distribution zip file +$distributionSha256Sum = (Get-Content -Raw "$scriptDir/.mvn/wrapper/maven-wrapper.properties" | ConvertFrom-StringData).distributionSha256Sum +if ($distributionSha256Sum) { + if ($USE_MVND) { + Write-Error "Checksum validation is not supported for maven-mvnd. `nPlease disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." + } + Import-Module $PSHOME\Modules\Microsoft.PowerShell.Utility -Function Get-FileHash + if ((Get-FileHash "$TMP_DOWNLOAD_DIR/$distributionUrlName" -Algorithm SHA256).Hash.ToLower() -ne $distributionSha256Sum) { + Write-Error "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised. If you updated your Maven version, you need to update the specified distributionSha256Sum property." + } +} + +# unzip and move +Expand-Archive "$TMP_DOWNLOAD_DIR/$distributionUrlName" -DestinationPath "$TMP_DOWNLOAD_DIR" | Out-Null +Rename-Item -Path "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" -NewName $MAVEN_HOME_NAME | Out-Null +try { + Move-Item -Path "$TMP_DOWNLOAD_DIR/$MAVEN_HOME_NAME" -Destination $MAVEN_HOME_PARENT | Out-Null +} catch { + if (! (Test-Path -Path "$MAVEN_HOME" -PathType Container)) { + Write-Error "fail to move MAVEN_HOME" + } +} finally { + try { Remove-Item $TMP_DOWNLOAD_DIR -Recurse -Force | Out-Null } + catch { Write-Warning "Cannot remove $TMP_DOWNLOAD_DIR" } +} + +Write-Output "MVN_CMD=$MAVEN_HOME/bin/$MVN_CMD" diff --git a/Ex10-debug/pom.xml b/Ex10-debug/pom.xml new file mode 100644 index 0000000..531c3c8 --- /dev/null +++ b/Ex10-debug/pom.xml @@ -0,0 +1,85 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 3.4.3 + + + com.senai + mvc + 0.0.1-SNAPSHOT + mvc + Demo project for Spring Boot + + + + + + + + + + + + + + + 17 + + + + org.springframework.boot + spring-boot-starter-web + + + + org.projectlombok + lombok + true + + + + org.springdoc + springdoc-openapi-starter-webmvc-ui + 2.5.0 + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + + + org.projectlombok + lombok + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.projectlombok + lombok + + + + + + + + diff --git a/Ex10-debug/src/main/java/com/senai/mvc/MvcApplication.java b/Ex10-debug/src/main/java/com/senai/mvc/MvcApplication.java new file mode 100644 index 0000000..b2c72c0 --- /dev/null +++ b/Ex10-debug/src/main/java/com/senai/mvc/MvcApplication.java @@ -0,0 +1,13 @@ +package com.senai.mvc; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class MvcApplication { + + public static void main(String[] args) { + SpringApplication.run(MvcApplication.class, args); + } + +} diff --git a/Ex10-debug/src/main/java/com/senai/mvc/banco/BancoDeClientes.java b/Ex10-debug/src/main/java/com/senai/mvc/banco/BancoDeClientes.java new file mode 100644 index 0000000..fde36d9 --- /dev/null +++ b/Ex10-debug/src/main/java/com/senai/mvc/banco/BancoDeClientes.java @@ -0,0 +1,52 @@ +package com.senai.mvc.banco; + + + +import com.senai.mvc.model.Cliente; + +import java.util.ArrayList; +import java.util.List; + +public class BancoDeClientes { + private List clientes; + + public BancoDeClientes() { + this.clientes = new ArrayList<>(); + } + + // Insere um novo produto na lista + public void insert(Cliente p) { + clientes.add(p); + } + + // Busca um produto pelo ID + public Cliente findOne(int id) { + for (Cliente p : clientes) { + if (p.getIdCliente() == id) { + return p; + } + } + return null; // Retorna null se não encontrar + } + + // Retorna todos os produtos cadastrados + public List findAll() { + return new ArrayList<>(clientes); + } + + // Atualiza um produto existente na lista + public boolean update(Cliente p) { + for (int i = 0; i < clientes.size(); i++) { + if (clientes.get(i).getIdCliente() == p.getIdCliente()) { + clientes.set(i, p); + return true; // Retorno indicando que a atualização foi feita + } + } + return false; // Retorna falso se o produto não foi encontrado + } + + // Remove um produto pelo ID + public boolean delete(int id) { + return clientes.removeIf(p -> p.getIdCliente() == id); + } +} diff --git a/Ex10-debug/src/main/java/com/senai/mvc/banco/BancoDeProdutos.java b/Ex10-debug/src/main/java/com/senai/mvc/banco/BancoDeProdutos.java new file mode 100644 index 0000000..65a9068 --- /dev/null +++ b/Ex10-debug/src/main/java/com/senai/mvc/banco/BancoDeProdutos.java @@ -0,0 +1,49 @@ +package com.senai.mvc.banco; + +import java.util.ArrayList; +import java.util.List; +import com.senai.mvc.model.Produto; + +public class BancoDeProdutos { + private List produtos; + + public BancoDeProdutos() { + this.produtos = new ArrayList<>(); + } + + // Insere um novo produto na lista + public void insert(Produto p) { + produtos.add(p); + } + + // Busca um produto pelo ID + public Produto findOne(int id) { + for (Produto p : produtos) { + if (p.getIdProduto() == id) { + return p; + } + } + return null; // Retorna null se não encontrar + } + + // Retorna todos os produtos cadastrados + public List findAll() { + return new ArrayList<>(produtos); + } + + // Atualiza um produto existente na lista + public boolean update(Produto p) { + for (int i = 0; i < produtos.size(); i++) { + if (produtos.get(i).getIdProduto() == p.getIdProduto()) { + produtos.set(i, p); + return true; // Retorno indicando que a atualização foi feita + } + } + return false; // Retorna falso se o produto não foi encontrado + } + + // Remove um produto pelo ID + public boolean delete(int id) { + return produtos.removeIf(p -> p.getIdProduto() == id); + } +} diff --git a/Ex10-debug/src/main/java/com/senai/mvc/banco/BancoDeVendas.java b/Ex10-debug/src/main/java/com/senai/mvc/banco/BancoDeVendas.java new file mode 100644 index 0000000..973754b --- /dev/null +++ b/Ex10-debug/src/main/java/com/senai/mvc/banco/BancoDeVendas.java @@ -0,0 +1,51 @@ +package com.senai.mvc.banco; + +import com.senai.mvc.model.Cliente; +import com.senai.mvc.model.Venda; + +import java.util.ArrayList; +import java.util.List; + +public class BancoDeVendas { + private List venda; + + public BancoDeVendas() { + this.venda = new ArrayList<>(); + } + + // Insere um novo produto na lista + public void insert(Venda p) { + venda.add(p); + } + + // Busca um produto pelo ID + public Venda findOne(int id) { + for (Venda p : venda) { + if (p.getIdVenda() == id) { + return p; + } + } + return null; // Retorna null se não encontrar + } + + // Retorna todos os produtos cadastrados + public List findAll() { + return new ArrayList<>(venda); + } + + // Atualiza um produto existente na lista + public boolean update(Venda p) { + for (int i = 0; i < venda.size(); i++) { + if (venda.get(i).getIdVenda() == p.getIdVenda()) { + venda.set(i, p); + return true; // Retorno indicando que a atualização foi feita + } + } + return false; // Retorna falso se o produto não foi encontrado + } + + // Remove um produto pelo ID + public boolean delete(int id) { + return venda.removeIf(p -> p.getIdVenda() == id); + } +} diff --git a/Ex10-debug/src/main/java/com/senai/mvc/controller/ClienteController.java b/Ex10-debug/src/main/java/com/senai/mvc/controller/ClienteController.java new file mode 100644 index 0000000..d495263 --- /dev/null +++ b/Ex10-debug/src/main/java/com/senai/mvc/controller/ClienteController.java @@ -0,0 +1,19 @@ +package com.senai.mvc.controller; + +import com.senai.mvc.banco.BancoDeClientes; +import com.senai.mvc.model.Cliente; + +import java.util.List; + +public class ClienteController { + + BancoDeClientes bc = new BancoDeClientes(); + public List getAllClientes() { + return bc.findAll(); + } + + public Boolean save(Cliente c) { + bc.insert(c); + return true; + } +} diff --git a/Ex10-debug/src/main/java/com/senai/mvc/controller/ProdutoController.java b/Ex10-debug/src/main/java/com/senai/mvc/controller/ProdutoController.java new file mode 100644 index 0000000..08a3538 --- /dev/null +++ b/Ex10-debug/src/main/java/com/senai/mvc/controller/ProdutoController.java @@ -0,0 +1,22 @@ +package com.senai.mvc.controller; + +import com.senai.mvc.banco.BancoDeClientes; +import com.senai.mvc.banco.BancoDeProdutos; +import com.senai.mvc.model.Cliente; +import com.senai.mvc.model.Produto; + +import java.util.List; + +public class ProdutoController { + + BancoDeProdutos bp = new BancoDeProdutos(); + + public List getAllProdutos() { + return bp.findAll(); + } + + public Boolean save(Produto p) { + bp.insert(p); + return true; + } +} diff --git a/Ex10-debug/src/main/java/com/senai/mvc/controller/VendaController.java b/Ex10-debug/src/main/java/com/senai/mvc/controller/VendaController.java new file mode 100644 index 0000000..26484a0 --- /dev/null +++ b/Ex10-debug/src/main/java/com/senai/mvc/controller/VendaController.java @@ -0,0 +1,45 @@ +package com.senai.mvc.controller; + +import com.senai.mvc.banco.BancoDeClientes; +import com.senai.mvc.banco.BancoDeProdutos; +import com.senai.mvc.banco.BancoDeVendas; +import com.senai.mvc.model.Cliente; +import com.senai.mvc.model.Produto; +import com.senai.mvc.model.Venda; + +import java.util.ArrayList; +import java.util.List; + +public class VendaController { + + BancoDeVendas bcoVendas = new BancoDeVendas(); + BancoDeClientes bcoClientes = new BancoDeClientes(); + BancoDeProdutos bcoProdutos = new BancoDeProdutos(); + + public List getAllVendas() { + return bcoVendas.findAll(); + } + + public Boolean save(Venda v) { + List clientesCadastrados = bcoClientes.findAll(); + List produtosCadastrados = bcoProdutos.findAll(); + + Cliente clienteEnviado = v.getCliente(); + List produtosEnviados = v.getProduto(); + + // verifica se o cliente está dentro da lista + if (bcoClientes.findOne(clienteEnviado.getIdCliente()) == null){ + return false; + } + + // verifica se os produtos enviados estão dentro da lista + for (Produto p : produtosEnviados){ + if (bcoProdutos.findOne(p.getIdProduto()) == null){ + return false; + } + } + + bcoVendas.insert(v); + return true; + } +} diff --git a/Ex10-debug/src/main/java/com/senai/mvc/model/Cliente.java b/Ex10-debug/src/main/java/com/senai/mvc/model/Cliente.java new file mode 100644 index 0000000..465691d --- /dev/null +++ b/Ex10-debug/src/main/java/com/senai/mvc/model/Cliente.java @@ -0,0 +1,17 @@ +package com.senai.mvc.model; + + +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@AllArgsConstructor +@NoArgsConstructor +public class Cliente { + private Integer idCliente; + private String nome; + private String CPF; +} diff --git a/Ex10-debug/src/main/java/com/senai/mvc/model/Produto.java b/Ex10-debug/src/main/java/com/senai/mvc/model/Produto.java new file mode 100644 index 0000000..892bef2 --- /dev/null +++ b/Ex10-debug/src/main/java/com/senai/mvc/model/Produto.java @@ -0,0 +1,17 @@ +package com.senai.mvc.model; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +@Getter +@Setter +@AllArgsConstructor +@NoArgsConstructor +public class Produto { + private Integer idProduto; + private String nome; + private Double preco; + private Integer quantidade; +} diff --git a/Ex10-debug/src/main/java/com/senai/mvc/model/Venda.java b/Ex10-debug/src/main/java/com/senai/mvc/model/Venda.java new file mode 100644 index 0000000..2560072 --- /dev/null +++ b/Ex10-debug/src/main/java/com/senai/mvc/model/Venda.java @@ -0,0 +1,20 @@ +package com.senai.mvc.model; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +import java.time.LocalDate; +import java.util.ArrayList; + +@Getter +@Setter +@AllArgsConstructor +@NoArgsConstructor +public class Venda { + private Integer idVenda; + private LocalDate dataDaVenda; + private ArrayList produto; + private Cliente cliente; +} diff --git a/Ex10-debug/src/main/java/com/senai/mvc/view/ClienteView.java b/Ex10-debug/src/main/java/com/senai/mvc/view/ClienteView.java new file mode 100644 index 0000000..2e1abee --- /dev/null +++ b/Ex10-debug/src/main/java/com/senai/mvc/view/ClienteView.java @@ -0,0 +1,27 @@ +package com.senai.mvc.view; + +import com.senai.mvc.controller.ClienteController; +import com.senai.mvc.model.Cliente; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +@RestController +public class ClienteView { + + ClienteController ct = new ClienteController(); + + @GetMapping("/cliente") + public List getAllClientes(){ + return ct.getAllClientes(); + } + + @PostMapping("/cliente") + public Boolean postCliente(@RequestBody Cliente c){ + return ct.save(c); + } +} diff --git a/Ex10-debug/src/main/java/com/senai/mvc/view/ProdutoView.java b/Ex10-debug/src/main/java/com/senai/mvc/view/ProdutoView.java new file mode 100644 index 0000000..4ce3507 --- /dev/null +++ b/Ex10-debug/src/main/java/com/senai/mvc/view/ProdutoView.java @@ -0,0 +1,28 @@ +package com.senai.mvc.view; + +import com.senai.mvc.controller.ClienteController; +import com.senai.mvc.controller.ProdutoController; +import com.senai.mvc.model.Cliente; +import com.senai.mvc.model.Produto; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@RestController +public class ProdutoView { + + ProdutoController pt = new ProdutoController(); + + @GetMapping("/produto") + public List getAllProdutos(){ + return pt.getAllProdutos(); + } + + @PostMapping("/produto") + public Boolean postProduto(@RequestBody Produto p){ + return pt.save(p); + } +} diff --git a/Ex10-debug/src/main/java/com/senai/mvc/view/VendaView.java b/Ex10-debug/src/main/java/com/senai/mvc/view/VendaView.java new file mode 100644 index 0000000..1d484b0 --- /dev/null +++ b/Ex10-debug/src/main/java/com/senai/mvc/view/VendaView.java @@ -0,0 +1,28 @@ +package com.senai.mvc.view; + +import com.senai.mvc.controller.ClienteController; +import com.senai.mvc.controller.VendaController; +import com.senai.mvc.model.Cliente; +import com.senai.mvc.model.Venda; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@RestController +public class VendaView { + + VendaController ct = new VendaController(); + + @GetMapping("/venda") + public List getAllVendas(){ + return ct.getAllVendas(); + } + + @PostMapping("/venda") + public Boolean postVendas(@RequestBody Venda v){ + return ct.save(v); + } +} diff --git a/Ex10-debug/src/main/resources/application.properties b/Ex10-debug/src/main/resources/application.properties new file mode 100644 index 0000000..6ab31e8 --- /dev/null +++ b/Ex10-debug/src/main/resources/application.properties @@ -0,0 +1 @@ +spring.application.name=mvc diff --git a/Ex10-debug/src/test/java/com/senai/mvc/MvcApplicationTests.java b/Ex10-debug/src/test/java/com/senai/mvc/MvcApplicationTests.java new file mode 100644 index 0000000..39f526b --- /dev/null +++ b/Ex10-debug/src/test/java/com/senai/mvc/MvcApplicationTests.java @@ -0,0 +1,13 @@ +package com.senai.mvc; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class MvcApplicationTests { + + @Test + void contextLoads() { + } + +}