@@ -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