Skip to content

Commit 112f1aa

Browse files
committed
add construtor com classe Veiculos
1 parent 477c319 commit 112f1aa

1 file changed

Lines changed: 273 additions & 15 deletions

File tree

‎src/classroom_21/controllers/VendasController.java‎

Lines changed: 273 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -60,16 +60,37 @@ public static Vendas cadastra() {
6060
public static ArrayList<Vendas> getAll() {
6161
Connection conn = BancoDados.conecta();
6262
ArrayList<Vendas> lista = new ArrayList<Vendas>();
63+
6364
try {
64-
String sql = "SELECT * FROM vendas";
65+
String sql = "SELECT vendas.id AS idVenda,"
66+
+ " vendas.idVeiculo AS idVeiculo,"
67+
+ " vendas.dataHora AS dataHora,"
68+
+ " veiculo.modelo AS modelo,"
69+
+ " veiculo.fabricante AS fabricante,"
70+
+ " veiculo.cor AS cor,"
71+
+ " veiculo.ano AS ano,"
72+
+ " veiculo.preco AS preco,"
73+
+ " veiculo.vendido AS vendido"
74+
+ " FROM vendas INNER JOIN veiculo"
75+
+ " ON veiculo.id = vendas.idVeiculo";
76+
6577
Statement statement = conn.createStatement();
6678
ResultSet resultados = statement.executeQuery(sql);
6779

6880
while (resultados.next()) {
6981
lista.add(new Vendas(
70-
resultados.getInt("id"),
82+
resultados.getInt("idVenda"),
7183
resultados.getInt("idVeiculo"),
72-
resultados.getTimestamp("dataHora")
84+
resultados.getDate("dataHora"),
85+
new Veiculo(
86+
resultados.getInt("idVeiculo"),
87+
resultados.getString("modelo"),
88+
resultados.getString("fabricante"),
89+
resultados.getString("cor"),
90+
resultados.getInt("ano"),
91+
resultados.getDouble("preco"),
92+
resultados.getBoolean("vendido")
93+
)
7394
));
7495
}
7596
BancoDados.fecha(conn);
@@ -81,20 +102,41 @@ public static ArrayList<Vendas> getAll() {
81102
BancoDados.fecha(conn);
82103
return null;
83104
}
84-
85-
public static ArrayList<Vendas> getPorModelo(String modelo) {
105+
public static ArrayList<Vendas> getVendasPorDia(String data) {
86106
Connection conn = BancoDados.conecta();
87107
ArrayList<Vendas> lista = new ArrayList<Vendas>();
88108
try {
89-
String sql = "SELECT * FROM vendas Where '%" + modelo + "%'";
109+
110+
String sql = "SELECT vendas.id AS idVenda,"
111+
+ " vendas.idVeiculo AS idVeiculo,"
112+
+ " vendas.dataHora AS dataHora,"
113+
+ " veiculo.modelo AS modelo,"
114+
+ " veiculo.fabricante AS fabricante,"
115+
+ " veiculo.cor AS cor,"
116+
+ " veiculo.ano AS ano,"
117+
+ " veiculo.preco AS preco,"
118+
+ " veiculo.vendido AS vendido"
119+
+ " FROM vendas INNER JOIN veiculo"
120+
+ " ON veiculo.id = vendas.idVeiculo"
121+
+ " WHERE dataHora LIKE '%" + data + "%'";
122+
90123
Statement statement = conn.createStatement();
91124
ResultSet resultados = statement.executeQuery(sql);
92125

93126
while (resultados.next()) {
94127
lista.add(new Vendas(
95-
resultados.getInt("id"),
128+
resultados.getInt("idVenda"),
96129
resultados.getInt("idVeiculo"),
97-
resultados.getTimestamp("dataHora")
130+
resultados.getDate("dataHora"),
131+
new Veiculo(
132+
resultados.getInt("idVeiculo"),
133+
resultados.getString("modelo"),
134+
resultados.getString("fabricante"),
135+
resultados.getString("cor"),
136+
resultados.getInt("ano"),
137+
resultados.getDouble("preco"),
138+
resultados.getBoolean("vendido")
139+
)
98140
));
99141
}
100142
BancoDados.fecha(conn);
@@ -106,20 +148,41 @@ public static ArrayList<Vendas> getPorModelo(String modelo) {
106148
BancoDados.fecha(conn);
107149
return null;
108150
}
109-
110-
public static ArrayList<Vendas> getVendasPorDia(String data) {
151+
152+
public static ArrayList<Vendas> getPorModelo(String modelo) {
111153
Connection conn = BancoDados.conecta();
112154
ArrayList<Vendas> lista = new ArrayList<Vendas>();
113155
try {
114-
String sql = "SELECT * FROM vendas WHERE dataHora Like '%" + data + "%';";
156+
String sql = "SELECT vendas.id AS idVenda,"
157+
+ " vendas.idVeiculo AS idVeiculo,"
158+
+ " vendas.dataHora AS dataHora,"
159+
+ " veiculo.modelo AS modelo,"
160+
+ " veiculo.fabricante AS fabricante,"
161+
+ " veiculo.cor AS cor,"
162+
+ " veiculo.ano AS ano,"
163+
+ " veiculo.preco AS preco,"
164+
+ " veiculo.vendido AS vendido"
165+
+ " FROM vendas INNER JOIN veiculo"
166+
+ " ON veiculo.id = vendas.idVeiculo"
167+
+ " WHERE modelo LIKE '%" + modelo + "%'";
168+
115169
Statement statement = conn.createStatement();
116170
ResultSet resultados = statement.executeQuery(sql);
117171

118172
while (resultados.next()) {
119173
lista.add(new Vendas(
120-
resultados.getInt("id"),
174+
resultados.getInt("idVenda"),
121175
resultados.getInt("idVeiculo"),
122-
resultados.getTimestamp("dataHora")
176+
resultados.getDate("dataHora"),
177+
new Veiculo(
178+
resultados.getInt("idVeiculo"),
179+
resultados.getString("modelo"),
180+
resultados.getString("fabricante"),
181+
resultados.getString("cor"),
182+
resultados.getInt("ano"),
183+
resultados.getDouble("preco"),
184+
resultados.getBoolean("vendido")
185+
)
123186
));
124187
}
125188
BancoDados.fecha(conn);
@@ -132,10 +195,206 @@ public static ArrayList<Vendas> getVendasPorDia(String data) {
132195
return null;
133196
}
134197

198+
public static ArrayList<Vendas> getPorFabricante(String fabricante) {
199+
Connection conn = BancoDados.conecta();
200+
201+
try {
202+
String sql = "SELECT vendas.id AS idVenda,"
203+
+ " vendas.idVeiculo AS idVeiculo,"
204+
+ " vendas.dataHora AS dataHora,"
205+
+ " veiculo.modelo AS modelo,"
206+
+ " veiculo.fabricante AS fabricante,"
207+
+ " veiculo.cor AS cor,"
208+
+ " veiculo.ano AS ano,"
209+
+ " veiculo.preco AS preco,"
210+
+ " veiculo.vendido AS vendido"
211+
+ " FROM vendas INNER JOIN veiculo"
212+
+ " ON veiculo.id = vendas.idVeiculo"
213+
+ " WHERE fabricante LIKE '%" + fabricante + "%'";
214+
215+
Statement statement = conn.createStatement();
216+
217+
ResultSet resultados = statement.executeQuery(sql);
218+
219+
ArrayList<Vendas> lista = new ArrayList<Vendas>();
220+
221+
while (resultados.next()) {
222+
lista.add(new Vendas(
223+
resultados.getInt("idVenda"),
224+
resultados.getInt("idVeiculo"),
225+
resultados.getDate("dataHora"),
226+
new Veiculo(
227+
resultados.getInt("idVeiculo"),
228+
resultados.getString("modelo"),
229+
resultados.getString("fabricante"),
230+
resultados.getString("cor"),
231+
resultados.getInt("ano"),
232+
resultados.getDouble("preco"),
233+
resultados.getBoolean("vendido")
234+
)
235+
));
236+
}
237+
BancoDados.fecha(conn);
238+
return lista;
239+
} catch (SQLException e) {
240+
System.err.println(e);
241+
}
242+
243+
BancoDados.fecha(conn);
244+
return null;
245+
}
246+
247+
public static ArrayList<Vendas> getPorPrecoMaximo(double preco) {
248+
Connection conn = BancoDados.conecta();
249+
250+
try {
251+
String sql = "SELECT vendas.id AS idVenda,"
252+
+ " vendas.idVeiculo AS idVeiculo,"
253+
+ " vendas.dataHora AS dataHora,"
254+
+ " veiculo.modelo AS modelo,"
255+
+ " veiculo.fabricante AS fabricante,"
256+
+ " veiculo.cor AS cor,"
257+
+ " veiculo.ano AS ano,"
258+
+ " veiculo.preco AS preco,"
259+
+ " veiculo.vendido AS vendido"
260+
+ " FROM vendas INNER JOIN veiculo"
261+
+ " ON veiculo.id = vendas.idVeiculo"
262+
+ " WHERE preco <= " + preco;
263+
Statement statement = conn.createStatement();
264+
265+
ResultSet resultados = statement.executeQuery(sql);
266+
267+
268+
ArrayList<Vendas> lista = new ArrayList<Vendas>();
269+
270+
while (resultados.next()) {
271+
lista.add(new Vendas(
272+
resultados.getInt("idVenda"),
273+
resultados.getInt("idVeiculo"),
274+
resultados.getDate("dataHora"),
275+
new Veiculo(
276+
resultados.getInt("idVeiculo"),
277+
resultados.getString("modelo"),
278+
resultados.getString("fabricante"),
279+
resultados.getString("cor"),
280+
resultados.getInt("ano"),
281+
resultados.getDouble("preco"),
282+
resultados.getBoolean("vendido")
283+
)
284+
));
285+
}
286+
BancoDados.fecha(conn);
287+
return lista;
288+
} catch (SQLException e) {
289+
System.err.println(e);
290+
}
291+
BancoDados.fecha(conn);
292+
return null;
293+
}
294+
295+
public static ArrayList<Vendas> getPorCor(String cor) {
296+
Connection conn = BancoDados.conecta();
297+
298+
try {
299+
String sql = "SELECT vendas.id AS idVenda,"
300+
+ " vendas.idVeiculo AS idVeiculo,"
301+
+ " vendas.dataHora AS dataHora,"
302+
+ " veiculo.modelo AS modelo,"
303+
+ " veiculo.fabricante AS fabricante,"
304+
+ " veiculo.cor AS cor,"
305+
+ " veiculo.ano AS ano,"
306+
+ " veiculo.preco AS preco,"
307+
+ " veiculo.vendido AS vendido"
308+
+ " FROM vendas INNER JOIN veiculo"
309+
+ " ON veiculo.id = vendas.idVeiculo"
310+
+ " WHERE cor LIKE '%" + cor + "%'";
311+
Statement statement = conn.createStatement();
312+
313+
ResultSet resultados = statement.executeQuery(sql);
314+
315+
316+
ArrayList<Vendas> lista = new ArrayList<Vendas>();
317+
318+
while (resultados.next()) {
319+
lista.add(new Vendas(
320+
resultados.getInt("idVenda"),
321+
resultados.getInt("idVeiculo"),
322+
resultados.getDate("dataHora"),
323+
new Veiculo(
324+
resultados.getInt("idVeiculo"),
325+
resultados.getString("modelo"),
326+
resultados.getString("fabricante"),
327+
resultados.getString("cor"),
328+
resultados.getInt("ano"),
329+
resultados.getDouble("preco"),
330+
resultados.getBoolean("vendido")
331+
)
332+
));
333+
}
334+
BancoDados.fecha(conn);
335+
return lista;
336+
} catch (SQLException e) {
337+
System.err.println(e);
338+
}
339+
340+
BancoDados.fecha(conn);
341+
return null;
342+
}
343+
344+
public static ArrayList<Vendas> getPorFaixaDePreco(double menor, double maior) {
345+
Connection conn = BancoDados.conecta();
346+
347+
try {
348+
String sql = "SELECT vendas.id AS idVenda,"
349+
+ " vendas.idVeiculo AS idVeiculo,"
350+
+ " vendas.dataHora AS dataHora,"
351+
+ " veiculo.modelo AS modelo,"
352+
+ " veiculo.fabricante AS fabricante,"
353+
+ " veiculo.cor AS cor,"
354+
+ " veiculo.ano AS ano,"
355+
+ " veiculo.preco AS preco,"
356+
+ " veiculo.vendido AS vendido"
357+
+ " FROM vendas INNER JOIN veiculo"
358+
+ " ON veiculo.id = vendas.idVeiculo"
359+
+ " WHERE preco >= " + menor + "AND preco <= " + maior;
360+
Statement statement = conn.createStatement();
361+
362+
ResultSet resultados = statement.executeQuery(sql);
363+
364+
365+
ArrayList<Vendas> lista = new ArrayList<Vendas>();
366+
367+
while (resultados.next()) {
368+
lista.add(new Vendas(
369+
resultados.getInt("idVenda"),
370+
resultados.getInt("idVeiculo"),
371+
resultados.getDate("dataHora"),
372+
new Veiculo(
373+
resultados.getInt("idVeiculo"),
374+
resultados.getString("modelo"),
375+
resultados.getString("fabricante"),
376+
resultados.getString("cor"),
377+
resultados.getInt("ano"),
378+
resultados.getDouble("preco"),
379+
resultados.getBoolean("vendido")
380+
)
381+
));
382+
}
383+
BancoDados.fecha(conn);
384+
return lista;
385+
} catch (SQLException e) {
386+
System.err.println(e);
387+
}
388+
389+
BancoDados.fecha(conn);
390+
return null;
391+
}
392+
135393
public static void imprime(Vendas v) {
136394
System.out.println("ID da Venda: " + v.getId());
137-
System.out.println("ID do Veiculo: " + v.getIdVeiculo());
138395
System.out.println("Data da Venda: " + v.getDataHora());
396+
VeiculoController.imprime(v.getVeiculo());
397+
System.out.println("--------------------------");
139398

140399
}
141400

@@ -146,7 +405,6 @@ private static boolean consultarVeiculosVendidos(int idVeiculoP) {
146405
if (v.getIdVeiculo() == idVeiculoP) {
147406
vendido = true;
148407
}
149-
150408
}
151409
return vendido;
152410
}

0 commit comments

Comments
 (0)