From b4eecb3d67717df9c9274f18986404ad5fa39149 Mon Sep 17 00:00:00 2001 From: laurimaaninka Date: Sat, 30 May 2026 00:52:52 +0300 Subject: [PATCH] =?UTF-8?q?Kuljetus=20ymm=C3=A4rt=C3=A4m=C3=A4=C3=A4n=20ty?= =?UTF-8?q?yppi=C3=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: laurimaaninka --- .../java/fi/lpam/dataluokat/Kuljetus.java | 38 +++++++++++++------ src/main/java/fi/lpam/gui/KuljetusListat.java | 2 +- 2 files changed, 28 insertions(+), 12 deletions(-) diff --git a/src/main/java/fi/lpam/dataluokat/Kuljetus.java b/src/main/java/fi/lpam/dataluokat/Kuljetus.java index 5dad57f..dc402cb 100644 --- a/src/main/java/fi/lpam/dataluokat/Kuljetus.java +++ b/src/main/java/fi/lpam/dataluokat/Kuljetus.java @@ -71,6 +71,7 @@ public class Kuljetus implements TietokantaOlio { this.nimi = nimi; this.kuljetusPäivämäärä = kuljetusPäivämäärä; this.kuljetusKierros = kuljetusKierros; + this.tyyppi = tyyppi; this.salaatit = salaatit; this.pääruoat = pääruoat; this.jälkiruoat = jälkiruoat; @@ -86,11 +87,12 @@ public class Kuljetus implements TietokantaOlio { * @param kuljetusKierros kierroksen numero * @return valitun päivän valitun kierroksen kuljetukset */ - public static ArrayList haePäivänKuljetuksetKierroksella(LocalDate päivä, int kuljetusKierros) { + public static ArrayList haeKierroksenKuljetukset(LocalDate päivä, int kuljetusKierros, Tyyppi tyyppi) { try (Connection tietokanta = Tietokanta.haeYhteys()) { - PreparedStatement stmt = tietokanta.prepareStatement("SELECT * FROM kuljetukset WHERE kuljetusKierros = ? and kuljetusPäivämäärä = ?"); + PreparedStatement stmt = tietokanta.prepareStatement("SELECT * FROM kuljetukset WHERE kuljetusKierros = ? and kuljetusPäivämäärä = ? and tyyppi = ?"); stmt.setInt(1, kuljetusKierros); stmt.setDate(2, Date.valueOf(päivä)); + stmt.setString(3, tyyppi.toString()); ResultSet rs = stmt.executeQuery(); return parsiResultSet(rs); } catch (SQLException e) { @@ -103,18 +105,19 @@ public class Kuljetus implements TietokantaOlio { @Override public boolean tallennaUusi() { try (Connection tietokanta = Tietokanta.haeYhteys()) { - PreparedStatement stmt = tietokanta.prepareStatement("INSERT INTO kuljetukset (asiakasID, nimi, kuljetusPäivämäärä, kuljetusKierros, salaatit, pääruoat, jälkiruoat, ruokarajoite, osoite, avainTieto, lisätieto) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", Statement.RETURN_GENERATED_KEYS); + PreparedStatement stmt = tietokanta.prepareStatement("INSERT INTO kuljetukset (asiakasID, nimi, kuljetusPäivämäärä, kuljetusKierros, tyyppi, salaatit, pääruoat, jälkiruoat, ruokarajoite, osoite, avainTieto, lisätieto) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", Statement.RETURN_GENERATED_KEYS); stmt.setInt(1, asiakasID); stmt.setString(2, nimi); stmt.setDate(3, Date.valueOf(kuljetusPäivämäärä)); stmt.setInt(4, kuljetusKierros); - stmt.setInt(5, salaatit); - stmt.setInt(6, pääruoat); - stmt.setInt(7, jälkiruoat); - stmt.setString(8, ruokarajoite); - stmt.setString(9, osoite); - stmt.setString(10, avainTieto); - stmt.setString(11, lisätieto); + stmt.setString(5, tyyppi.toString()); + stmt.setInt(6, salaatit); + stmt.setInt(7, pääruoat); + stmt.setInt(8, jälkiruoat); + stmt.setString(9, ruokarajoite); + stmt.setString(10, osoite); + stmt.setString(11, avainTieto); + stmt.setString(12, lisätieto); int muokatutRivit = stmt.executeUpdate(); if (muokatutRivit == 0) { @@ -203,8 +206,12 @@ public class Kuljetus implements TietokantaOlio { rs.getString("lisätieto"), rs.getString("avainTieto"), rs.getString("ruokarajoite"), - Tyyppi.valueOf(rs.getString("tyyppi")) + Tyyppi.valueOf(rs.getString("tyyppi").strip()) ); + System.out.println(rs.getString("tyyppi").equals(Tyyppi.LOUNAS.toString())); + System.out.println(Tyyppi.LOUNAS); + System.out.println(uusi.getTyyppi()); + System.out.println(Tyyppi.valueOf(rs.getString("tyyppi"))); kuljetukset.add(uusi); } } catch (SQLException e) { @@ -222,6 +229,7 @@ public class Kuljetus implements TietokantaOlio { ", nimi='" + nimi + '\'' + ", kuljetusPäivämäärä=" + kuljetusPäivämäärä + ", kuljetusKierros=" + kuljetusKierros + + ", tyyppi =" + tyyppi + ", salaatit=" + salaatit + ", pääruoat=" + pääruoat + ", jälkiruoat=" + jälkiruoat + @@ -345,4 +353,12 @@ public class Kuljetus implements TietokantaOlio { public void setRuokarajoite(String ruokarajoite) { this.ruokarajoite = ruokarajoite; } + + public Tyyppi getTyyppi() { + return tyyppi; + } + + public void setTyyppi(Tyyppi tyyppi) { + this.tyyppi = tyyppi; + } } \ No newline at end of file diff --git a/src/main/java/fi/lpam/gui/KuljetusListat.java b/src/main/java/fi/lpam/gui/KuljetusListat.java index d73b9c8..e7fc3ce 100644 --- a/src/main/java/fi/lpam/gui/KuljetusListat.java +++ b/src/main/java/fi/lpam/gui/KuljetusListat.java @@ -156,7 +156,7 @@ public class KuljetusListat extends TabPohja { int valittuKierros = kierrosValinta.getValue(); Kuljetus.Tyyppi kuljetusTyyppi = tyyppiValinta.getValue(); - ArrayList luetutKuljetuksetKierrokselle = Kuljetus.haePäivänKuljetuksetKierroksella(valittuPäivä, valittuKierros); + ArrayList luetutKuljetuksetKierrokselle = Kuljetus.haeKierroksenKuljetukset(valittuPäivä, valittuKierros, kuljetusTyyppi); ObservableList kierroksenAsiakkaat = Objects.requireNonNull(Kierros.haeKierros(valittuKierros)).getAsiakkaat(); ArrayList näytettävätKuljetukset = new ArrayList<>(); HashSet näytettävätAsiakasIDt = new HashSet<>();