Lounas-päivällinen erottelu kuljetuksiin #34
@@ -8,11 +8,17 @@ import java.util.ArrayList;
|
|||||||
|
|
||||||
@SuppressWarnings("DuplicatedCode")
|
@SuppressWarnings("DuplicatedCode")
|
||||||
public class Kuljetus implements TietokantaOlio {
|
public class Kuljetus implements TietokantaOlio {
|
||||||
|
public enum Tyyppi {
|
||||||
|
LOUNAS(),
|
||||||
|
PÄIVÄLLINEN();
|
||||||
|
}
|
||||||
|
|
||||||
private int id = -1;
|
private int id = -1;
|
||||||
private int asiakasID;
|
private int asiakasID;
|
||||||
private String nimi;
|
private String nimi;
|
||||||
private LocalDate kuljetusPäivämäärä;
|
private LocalDate kuljetusPäivämäärä;
|
||||||
private int kuljetusKierros;
|
private int kuljetusKierros;
|
||||||
|
private Tyyppi tyyppi;
|
||||||
private int salaatit, pääruoat, jälkiruoat;
|
private int salaatit, pääruoat, jälkiruoat;
|
||||||
private String osoite, lisätieto, avainTieto, ruokarajoite;
|
private String osoite, lisätieto, avainTieto, ruokarajoite;
|
||||||
|
|
||||||
@@ -22,6 +28,7 @@ public class Kuljetus implements TietokantaOlio {
|
|||||||
this.nimi = vanha.nimi;
|
this.nimi = vanha.nimi;
|
||||||
this.kuljetusPäivämäärä = vanha.kuljetusPäivämäärä;
|
this.kuljetusPäivämäärä = vanha.kuljetusPäivämäärä;
|
||||||
this.kuljetusKierros = vanha.kuljetusKierros;
|
this.kuljetusKierros = vanha.kuljetusKierros;
|
||||||
|
this.tyyppi = vanha.tyyppi;
|
||||||
this.salaatit = vanha.salaatit;
|
this.salaatit = vanha.salaatit;
|
||||||
this.pääruoat = vanha.pääruoat;
|
this.pääruoat = vanha.pääruoat;
|
||||||
this.jälkiruoat = vanha.jälkiruoat;
|
this.jälkiruoat = vanha.jälkiruoat;
|
||||||
@@ -31,11 +38,12 @@ public class Kuljetus implements TietokantaOlio {
|
|||||||
this.ruokarajoite = vanha.ruokarajoite;
|
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.asiakasID = asiakas.getId();
|
||||||
this.nimi = asiakas.getNimi();
|
this.nimi = asiakas.getNimi();
|
||||||
this.kuljetusPäivämäärä = pvm;
|
this.kuljetusPäivämäärä = pvm;
|
||||||
this.kuljetusKierros = kuljetusKierros;
|
this.kuljetusKierros = kuljetusKierros;
|
||||||
|
this.tyyppi = tyyppi;
|
||||||
this.salaatit = asiakas.getPäivänSalaatit(pvm);
|
this.salaatit = asiakas.getPäivänSalaatit(pvm);
|
||||||
this.pääruoat = asiakas.getPäivänPääruoat(pvm);
|
this.pääruoat = asiakas.getPäivänPääruoat(pvm);
|
||||||
this.jälkiruoat = asiakas.getPäivänJälkiruoat(pvm);
|
this.jälkiruoat = asiakas.getPäivänJälkiruoat(pvm);
|
||||||
@@ -45,7 +53,19 @@ public class Kuljetus implements TietokantaOlio {
|
|||||||
this.ruokarajoite = asiakas.getErityisruokavalio();
|
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.id = id;
|
||||||
this.asiakasID = asiakasID;
|
this.asiakasID = asiakasID;
|
||||||
this.nimi = nimi;
|
this.nimi = nimi;
|
||||||
@@ -118,19 +138,20 @@ public class Kuljetus implements TietokantaOlio {
|
|||||||
@Override
|
@Override
|
||||||
public boolean päivitäTietokantaan() {
|
public boolean päivitäTietokantaan() {
|
||||||
try (Connection tietokanta = Tietokanta.haeYhteys()) {
|
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.setInt(1, asiakasID);
|
||||||
stmt.setString(2, nimi);
|
stmt.setString(2, nimi);
|
||||||
stmt.setDate(3, Date.valueOf(kuljetusPäivämäärä));
|
stmt.setDate(3, Date.valueOf(kuljetusPäivämäärä));
|
||||||
stmt.setInt(4, kuljetusKierros);
|
stmt.setInt(4, kuljetusKierros);
|
||||||
stmt.setInt(5, salaatit);
|
stmt.setString(5, tyyppi.toString());
|
||||||
stmt.setInt(6, pääruoat);
|
stmt.setInt(6, salaatit);
|
||||||
stmt.setInt(7, jälkiruoat);
|
stmt.setInt(7, pääruoat);
|
||||||
stmt.setString(8, ruokarajoite);
|
stmt.setInt(8, jälkiruoat);
|
||||||
stmt.setString(9, osoite);
|
stmt.setString(9, ruokarajoite);
|
||||||
stmt.setString(10, avainTieto);
|
stmt.setString(10, osoite);
|
||||||
stmt.setString(11, lisätieto);
|
stmt.setString(11, avainTieto);
|
||||||
stmt.setInt(12, id);
|
stmt.setString(12, lisätieto);
|
||||||
|
stmt.setInt(13, id);
|
||||||
stmt.executeUpdate();
|
stmt.executeUpdate();
|
||||||
return true;
|
return true;
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
@@ -169,6 +190,12 @@ public class Kuljetus implements TietokantaOlio {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
while (rs.next()) {
|
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(
|
Kuljetus uusi = new Kuljetus(
|
||||||
rs.getInt("id"),
|
rs.getInt("id"),
|
||||||
rs.getInt("asiakasID"),
|
rs.getInt("asiakasID"),
|
||||||
@@ -181,7 +208,8 @@ public class Kuljetus implements TietokantaOlio {
|
|||||||
rs.getString("osoite"),
|
rs.getString("osoite"),
|
||||||
rs.getString("lisätieto"),
|
rs.getString("lisätieto"),
|
||||||
rs.getString("avainTieto"),
|
rs.getString("avainTieto"),
|
||||||
rs.getString("ruokarajoite")
|
rs.getString("ruokarajoite"),
|
||||||
|
kuljetusTyyppi
|
||||||
);
|
);
|
||||||
kuljetukset.add(uusi);
|
kuljetukset.add(uusi);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user