Luotu enum Tyyppi {LOUNAS, PÄIVÄLLINEN}

Signed-off-by: laurimaaninka <lauri.maaninka@gmail.com>
This commit is contained in:
2026-05-29 23:30:51 +03:00
parent e4943d846c
commit 3bfa82610c
+40 -12
View File
@@ -8,11 +8,17 @@ import java.util.ArrayList;
@SuppressWarnings("DuplicatedCode")
public class Kuljetus implements TietokantaOlio {
public enum Tyyppi {
LOUNAS(),
PÄIVÄLLINEN();
}
private int id = -1;
private int asiakasID;
private String nimi;
private LocalDate kuljetusPäivämäärä;
private int kuljetusKierros;
private Tyyppi tyyppi;
private int salaatit, pääruoat, jälkiruoat;
private String osoite, lisätieto, avainTieto, ruokarajoite;
@@ -22,6 +28,7 @@ public class Kuljetus implements TietokantaOlio {
this.nimi = vanha.nimi;
this.kuljetusPäivämäärä = vanha.kuljetusPäivämäärä;
this.kuljetusKierros = vanha.kuljetusKierros;
this.tyyppi = vanha.tyyppi;
this.salaatit = vanha.salaatit;
this.pääruoat = vanha.pääruoat;
this.jälkiruoat = vanha.jälkiruoat;
@@ -31,11 +38,12 @@ public class Kuljetus implements TietokantaOlio {
this.ruokarajoite = vanha.ruokarajoite;
}
public Kuljetus(Asiakas asiakas, LocalDate pvm, int kuljetusKierros) {
public Kuljetus(Asiakas asiakas, LocalDate pvm, int kuljetusKierros, Tyyppi tyyppi) {
this.asiakasID = asiakas.getId();
this.nimi = asiakas.getNimi();
this.kuljetusPäivämäärä = pvm;
this.kuljetusKierros = kuljetusKierros;
this.tyyppi = tyyppi;
this.salaatit = asiakas.getPäivänSalaatit(pvm);
this.pääruoat = asiakas.getPäivänPääruoat(pvm);
this.jälkiruoat = asiakas.getPäivänJälkiruoat(pvm);
@@ -45,7 +53,19 @@ public class Kuljetus implements TietokantaOlio {
this.ruokarajoite = asiakas.getErityisruokavalio();
}
private Kuljetus(int id, int asiakasID, String nimi, LocalDate kuljetusPäivämäärä, int kuljetusKierros, int salaatit, int pääruoat, int jälkiruoat, String osoite, String lisätieto, String avainTieto, String ruokarajoite) {
private Kuljetus(int id,
int asiakasID,
String nimi,
LocalDate kuljetusPäivämäärä,
int kuljetusKierros,
int salaatit,
int pääruoat,
int jälkiruoat,
String osoite,
String lisätieto,
String avainTieto,
String ruokarajoite,
Tyyppi tyyppi) {
this.id = id;
this.asiakasID = asiakasID;
this.nimi = nimi;
@@ -118,19 +138,20 @@ public class Kuljetus implements TietokantaOlio {
@Override
public boolean päivitäTietokantaan() {
try (Connection tietokanta = Tietokanta.haeYhteys()) {
PreparedStatement stmt = tietokanta.prepareStatement("UPDATE kuljetukset set asiakasID = ?, nimi = ?, kuljetusPäivämäärä = ?, kuljetusKierros = ?, salaatit = ?, pääruoat = ?, jälkiruoat = ?, ruokarajoite = ?, osoite = ?, avainTieto = ?, lisätieto = ? WHERE id = ?");
PreparedStatement stmt = tietokanta.prepareStatement("UPDATE kuljetukset set asiakasID = ?, nimi = ?, kuljetusPäivämäärä = ?, kuljetusKierros = ?, tyyppi = ?, salaatit = ?, pääruoat = ?, jälkiruoat = ?, ruokarajoite = ?, osoite = ?, avainTieto = ?, lisätieto = ? WHERE id = ?");
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.setInt(12, id);
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);
stmt.setInt(13, id);
stmt.executeUpdate();
return true;
} catch (SQLException e) {
@@ -169,6 +190,12 @@ public class Kuljetus implements TietokantaOlio {
try {
while (rs.next()) {
Tyyppi kuljetusTyyppi = Tyyppi.LOUNAS;
switch (rs.getString("tyyppi")) {
case "LOUNAS": kuljetusTyyppi = Tyyppi.LOUNAS; break;
case "PÄIVÄLLINEN": kuljetusTyyppi = Tyyppi.PÄIVÄLLINEN; break;
}
Kuljetus uusi = new Kuljetus(
rs.getInt("id"),
rs.getInt("asiakasID"),
@@ -181,7 +208,8 @@ public class Kuljetus implements TietokantaOlio {
rs.getString("osoite"),
rs.getString("lisätieto"),
rs.getString("avainTieto"),
rs.getString("ruokarajoite")
rs.getString("ruokarajoite"),
kuljetusTyyppi
);
kuljetukset.add(uusi);
}