/** * Metodilla haetaan käyttäjän ostoslistoja, joiden ostokset on tehty annetussa kaupassa. * * @param hakukauppa kauppa, jossa ostokset on tehty. * @param kayttaja ostoslistan luoneen käyttäjän id tietokannassa. * @throws Exception * @return palauttaa listan ostoslistoista, jotka löytyvät hakuehdoilla. */ public static List<OstoslistaKuitattu> haeOstoslistaKuitattuKaupalla(int hakukauppa, int kayttaja) throws Exception { Connection yhteys = null; PreparedStatement kysely = null; ResultSet tulokset = null; List<OstoslistaKuitattu> ostoslistat = new ArrayList<OstoslistaKuitattu>(); try { String sql = "SELECT * FROM shoppinglistchecked WHERE shop_id = ? AND account_id = ? ORDER BY time_checked"; yhteys = Yhteys.getYhteys(); kysely = yhteys.prepareStatement(sql); kysely.setInt(1, hakukauppa); kysely.setInt(2, kayttaja); tulokset = kysely.executeQuery(); if (tulokset.next()) { while (tulokset.next()) { OstoslistaKuitattu o = new OstoslistaKuitattu( tulokset.getInt("shoppinglistchecked_id"), tulokset.getInt("shoppinglist_id"), tulokset.getString("name"), tulokset.getDouble("sum"), tulokset.getDouble("weight"), tulokset.getTimestamp("time_checked"), Kauppa.haeKauppa(tulokset.getInt("shop_id")), tulokset.getInt("account_id"), Maksutapa.haeMaksutapa(tulokset.getInt("payment_id")), Bonus.haeBonus(tulokset.getInt("bonus_id"))); ostoslistat.add(o); } } else { return null; } return ostoslistat; } finally { try { tulokset.close(); } catch (Exception e) { } try { kysely.close(); } catch (Exception e) { } try { yhteys.close(); } catch (Exception e) { } } }
private OstoslistaKuitattu(ResultSet tulos) throws SQLException, Exception { OstoslistaKuitattu o = new OstoslistaKuitattu( tulos.getInt("shoppinglistchecked_id"), tulos.getInt("shoppinglist_id"), tulos.getString("name"), tulos.getDouble("sum"), tulos.getDouble("weight"), tulos.getTimestamp("time_checked"), Kauppa.haeKauppa(tulos.getInt("shop_id")), tulos.getInt("account_id"), Maksutapa.haeMaksutapa(tulos.getInt("payment_id")), Bonus.haeBonus(tulos.getInt("bonus_id"))); }
/** * Metodilla haetaan ostoslista sen id:llä. * * @param id ostoslistan id tietokannassa. * @throws Exception * @return palauttaa id:tä vastaavan ostoslistan. */ public static OstoslistaKuitattu haeOstoslistaKuitattu(int id) throws Exception { Connection yhteys = null; PreparedStatement kysely = null; ResultSet tulokset = null; try { String sql = "SELECT * FROM shoppinglistchecked WHERE shoppinglistchecked_id = ?"; yhteys = Yhteys.getYhteys(); kysely = yhteys.prepareStatement(sql); kysely.setInt(1, id); tulokset = kysely.executeQuery(); if (tulokset.next()) { OstoslistaKuitattu o = new OstoslistaKuitattu( tulokset.getInt("shoppinglistchecked_id"), tulokset.getInt("shoppinglist_id"), tulokset.getString("name"), tulokset.getDouble("sum"), tulokset.getDouble("weight"), tulokset.getTimestamp("time_checked"), Kauppa.haeKauppa(tulokset.getInt("shop_id")), tulokset.getInt("account_id"), Maksutapa.haeMaksutapa(tulokset.getInt("payment_id")), Bonus.haeBonus(tulokset.getInt("bonus_id"))); return o; } else { return null; } } finally { try { tulokset.close(); } catch (Exception e) { } try { kysely.close(); } catch (Exception e) { } try { yhteys.close(); } catch (Exception e) { } } }
/** * Metodilla tallennetaan Ostoslista - olio. * * @throws Exception * @return palauttaa true, jos tallennus onnistui. */ public boolean tallenna() throws Exception { Connection yhteys = null; PreparedStatement kysely = null; ResultSet tulokset = null; try { String sql = "INSERT INTO shoppinglistchecked(shoppinglist_id, name, sum, weight, time_checked, " + "shop_id, account_id, payment_id, bonus_id) VALUES(?,?,?,?,?,?,?,?,?) RETURNING shoppinglistchecked_id"; yhteys = Yhteys.getYhteys(); kysely = yhteys.prepareStatement(sql); kysely.setInt(1, listaid); kysely.setString(2, nimi); kysely.setDouble(3, summa); kysely.setDouble(4, paino); kysely.setTimestamp(5, paivays); kysely.setInt(6, kauppa.getId()); kysely.setInt(7, kayttajaId); kysely.setInt(8, maksutapa.getId()); kysely.setInt(9, bonus.getId()); tulokset = kysely.executeQuery(); if (tulokset.next()) { id = tulokset.getInt("shoppinglistchecked_id"); return true; } else { return false; } } finally { try { tulokset.close(); } catch (Exception e) { } try { kysely.close(); } catch (Exception e) { } try { yhteys.close(); } catch (Exception e) { } } }
/** * Metodilla haetaan kaikki käyttäjän ostoslistat. * * @param hakukayttaja käyttäjän id tietokannassa. * @throws SQLException * @throws NamingException * @return palauttaa listana käyttäjän kaikki ostoslistat. */ public static List<OstoslistaKuitattu> haeKaikkiOstoslistaKuitattu(int hakukayttaja) throws SQLException, NamingException, Exception { String sql = "SELECT shoppinglistchecked_id, shoppinglist_id, name, sum, weight, to_char(time_checked, 'YYYY-MM-DD HH24:MI:SS') as time_checked," + " shop_id, account_id, payment_id, bonus_id FROM shoppinglistchecked WHERE account_id = ? ORDER BY time_checked"; Connection yhteys = Yhteys.getYhteys(); PreparedStatement kysely = yhteys.prepareStatement(sql); kysely.setInt(1, hakukayttaja); ResultSet tulokset = kysely.executeQuery(); ArrayList<OstoslistaKuitattu> ostoslistat = new ArrayList<OstoslistaKuitattu>(); while (tulokset.next()) { OstoslistaKuitattu o = new OstoslistaKuitattu( tulokset.getInt("shoppinglistchecked_id"), tulokset.getInt("shoppinglist_id"), tulokset.getString("name"), tulokset.getDouble("sum"), tulokset.getDouble("weight"), tulokset.getTimestamp("time_checked"), Kauppa.haeKauppa(tulokset.getInt("shop_id")), tulokset.getInt("account_id"), Maksutapa.haeMaksutapa(tulokset.getInt("payment_id")), Bonus.haeBonus(tulokset.getInt("bonus_id"))); ostoslistat.add(o); } try { tulokset.close(); } catch (Exception e) { } try { kysely.close(); } catch (Exception e) { } try { yhteys.close(); } catch (Exception e) { } return ostoslistat; }