This repository was archived by the owner on Feb 20, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMesa.java
More file actions
157 lines (116 loc) · 3.08 KB
/
Mesa.java
File metadata and controls
157 lines (116 loc) · 3.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
package br.com.infsolution.restaurante.model;
public class Mesa {
public final static String DISPONÍVEL = "Disponível";
public final static String OCUPADA = "Ocupada";
public final static String RESERVADA = "Reservada";
private static final int MAX_PEDIDOS = 4;
public static final String MASTER = "Master";
public static final String SLAVE = "Slave";
public static final String SOZINHA="Sozinha";
public static final String JUNTA="Junta";
private int numero;
private String status;
private Pedido[] pedidos;
private int qtdMaximaDePedidosAtual = MAX_PEDIDOS;
private int contadorDePedido = 0;
private boolean comTaxa;
private int rateio;
private String situacao;
private String tipo;
private int numeMesaIrma;
private double saldo;
public Mesa(int numero) {
this.numero = numero;
this.status = Mesa.DISPONÍVEL;
this.pedidos = new Pedido[qtdMaximaDePedidosAtual];
this.comTaxa = true;
this.tipo = Mesa.MASTER;
this.situacao=Mesa.SOZINHA;
}
public void adicionarPedido(Pedido pedido){
if (this.status != Mesa.OCUPADA){
System.out.println("Favor abrir mesa primeiro");
return;
}
pedidos[contadorDePedido++] = pedido;
if (contadorDePedido == qtdMaximaDePedidosAtual){
qtdMaximaDePedidosAtual += MAX_PEDIDOS;
Pedido[] temp = this.pedidos;
this.pedidos = new Pedido[qtdMaximaDePedidosAtual];
for (int i = 0; i < temp.length; i++) {
this.pedidos[i] = temp[i];
}
}
}
public double conta(){
double valor = 0;
for (Pedido pedido : this.getPedidos()) {
if (pedido == null) break;
valor += pedido.getValor();
}
if (comTaxa)
valor *= 1.1;
return valor;
}
public void setPedidos(Pedido[] pedidos) {
this.pedidos = pedidos;
}
public double getSaldo() {
return saldo;
}
public void setSaldo(double saldo) {
this.saldo = saldo;
}
public int getNumeMesaIrma() {
return numeMesaIrma;
}
public void setNumeMesaIrma(int numeMesaIrma) {
this.numeMesaIrma = numeMesaIrma;
}
public String getSituacao() {
return situacao;
}
public void setSituacao(String situacao) {
this.situacao = situacao;
}
public String getTipo() {
return tipo;
}
public void setTipo(String tipo) {
this.tipo = tipo;
}
public int getNumero() {
return numero;
}
public void setStatus(String status) {
this.status = status;
}
public String getStatus() {
return status;
}
public Pedido[] getPedidos() {
return pedidos;
}
public void setComTaxa(boolean comTaxa) {
this.comTaxa = comTaxa;
}
public void setRateio(int rateio) {
this.rateio = rateio;
}
@Override
public String toString() {
String str = "\n\nMesa " +numero
+ " - Pedidos Realizados: " + this.contadorDePedido + "\n"
+ " Descricao \t\t Valor \n ------------------------- \n";
for (Pedido pedido : pedidos) {
if (pedido==null) break;
str+=pedido.getDescricao()+"\t\t"+pedido.getValor()+"\n";
}
str += "-------------------------\n";
str += "Valor Conta R$ " + conta();
if (this.rateio > 1){
str += "\nRateio R$ " + conta()/rateio;
}
return str;
}
}