Kuljetustyyppi raporteille
Signed-off-by: laurimaaninka <lauri.maaninka@gmail.com>
This commit is contained in:
@@ -1,7 +1,6 @@
|
|||||||
package fi.lpam.dataluokat;
|
package fi.lpam.dataluokat;
|
||||||
|
|
||||||
import fi.lpam.gui.virheDialogit.SiirtoVirhe;
|
import fi.lpam.gui.virheDialogit.SiirtoVirhe;
|
||||||
import org.apache.commons.lang3.NotImplementedException;
|
|
||||||
|
|
||||||
import java.sql.*;
|
import java.sql.*;
|
||||||
import java.time.DayOfWeek;
|
import java.time.DayOfWeek;
|
||||||
@@ -353,22 +352,22 @@ public class Asiakas implements TietokantaOlio {
|
|||||||
|
|
||||||
public int getKuljetuksenSalaatit(LocalDate päivä, Kuljetus.Tyyppi tyyppi) {
|
public int getKuljetuksenSalaatit(LocalDate päivä, Kuljetus.Tyyppi tyyppi) {
|
||||||
return switch (tyyppi) {
|
return switch (tyyppi) {
|
||||||
case Kuljetus.Tyyppi.LOUNAS -> getLounasKuljetusKerroin(päivä) * getSalaatit();
|
case Kuljetus.Tyyppi.Lounas -> getLounasKuljetusKerroin(päivä) * getSalaatit();
|
||||||
case Kuljetus.Tyyppi.PÄIVÄLLINEN -> getPäivällisKuljetusKerroin(päivä) * getDinnerSalaatit();
|
case Kuljetus.Tyyppi.Päivällinen -> getPäivällisKuljetusKerroin(päivä) * getDinnerSalaatit();
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getKuljetuksenPääruoat(LocalDate päivä, Kuljetus.Tyyppi tyyppi) {
|
public int getKuljetuksenPääruoat(LocalDate päivä, Kuljetus.Tyyppi tyyppi) {
|
||||||
return switch (tyyppi) {
|
return switch (tyyppi) {
|
||||||
case Kuljetus.Tyyppi.LOUNAS -> getLounasKuljetusKerroin(päivä) * getPääruoat();
|
case Kuljetus.Tyyppi.Lounas -> getLounasKuljetusKerroin(päivä) * getPääruoat();
|
||||||
case Kuljetus.Tyyppi.PÄIVÄLLINEN -> getPäivällisKuljetusKerroin(päivä) * getDinnerPääruoat();
|
case Kuljetus.Tyyppi.Päivällinen -> getPäivällisKuljetusKerroin(päivä) * getDinnerPääruoat();
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getKuljetuksenJälkiruoat(LocalDate päivä, Kuljetus.Tyyppi tyyppi) {
|
public int getKuljetuksenJälkiruoat(LocalDate päivä, Kuljetus.Tyyppi tyyppi) {
|
||||||
return switch (tyyppi) {
|
return switch (tyyppi) {
|
||||||
case Kuljetus.Tyyppi.LOUNAS -> getLounasKuljetusKerroin(päivä) * getJälkiruoat();
|
case Kuljetus.Tyyppi.Lounas -> getLounasKuljetusKerroin(päivä) * getJälkiruoat();
|
||||||
case Kuljetus.Tyyppi.PÄIVÄLLINEN -> getPäivällisKuljetusKerroin(päivä) * getDinnerJälkiruoat();
|
case Kuljetus.Tyyppi.Päivällinen -> getPäivällisKuljetusKerroin(päivä) * getDinnerJälkiruoat();
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -9,8 +9,8 @@ import java.util.ArrayList;
|
|||||||
@SuppressWarnings("DuplicatedCode")
|
@SuppressWarnings("DuplicatedCode")
|
||||||
public class Kuljetus implements TietokantaOlio {
|
public class Kuljetus implements TietokantaOlio {
|
||||||
public enum Tyyppi {
|
public enum Tyyppi {
|
||||||
LOUNAS(),
|
Lounas,
|
||||||
PÄIVÄLLINEN();
|
Päivällinen;
|
||||||
}
|
}
|
||||||
|
|
||||||
private int id = -1;
|
private int id = -1;
|
||||||
@@ -208,8 +208,8 @@ public class Kuljetus implements TietokantaOlio {
|
|||||||
rs.getString("ruokarajoite"),
|
rs.getString("ruokarajoite"),
|
||||||
Tyyppi.valueOf(rs.getString("tyyppi").strip())
|
Tyyppi.valueOf(rs.getString("tyyppi").strip())
|
||||||
);
|
);
|
||||||
System.out.println(rs.getString("tyyppi").equals(Tyyppi.LOUNAS.toString()));
|
System.out.println(rs.getString("tyyppi").equals(Tyyppi.Lounas.toString()));
|
||||||
System.out.println(Tyyppi.LOUNAS);
|
System.out.println(Tyyppi.Lounas);
|
||||||
System.out.println(uusi.getTyyppi());
|
System.out.println(uusi.getTyyppi());
|
||||||
System.out.println(Tyyppi.valueOf(rs.getString("tyyppi")));
|
System.out.println(Tyyppi.valueOf(rs.getString("tyyppi")));
|
||||||
kuljetukset.add(uusi);
|
kuljetukset.add(uusi);
|
||||||
|
|||||||
@@ -10,12 +10,13 @@ import java.util.ArrayList;
|
|||||||
public class RaporttiRivi {
|
public class RaporttiRivi {
|
||||||
private final String nimi;
|
private final String nimi;
|
||||||
private final LocalDate pvm;
|
private final LocalDate pvm;
|
||||||
|
private final Kuljetus.Tyyppi tyyppi;
|
||||||
private final int salaatit, pääruoat, jälkiruoat;
|
private final int salaatit, pääruoat, jälkiruoat;
|
||||||
private final String erva;
|
private final String erva;
|
||||||
private final String lisätiedot;
|
private final String lisätiedot;
|
||||||
private final String yhteyshenkilönNimi, laskutusOsoite, yhteyshenkilönPuhelinnumero, yhteyshenkilönSähköposti;
|
private final String yhteyshenkilönNimi, laskutusOsoite, yhteyshenkilönPuhelinnumero, yhteyshenkilönSähköposti;
|
||||||
|
|
||||||
public RaporttiRivi(String nimi,
|
private RaporttiRivi(String nimi,
|
||||||
LocalDate pvm,
|
LocalDate pvm,
|
||||||
int salaatit,
|
int salaatit,
|
||||||
int pääruoat,
|
int pääruoat,
|
||||||
@@ -25,9 +26,11 @@ public class RaporttiRivi {
|
|||||||
String laskutusOsoite,
|
String laskutusOsoite,
|
||||||
String yhteyshenkilönPuhelinnumero,
|
String yhteyshenkilönPuhelinnumero,
|
||||||
String yhteyshenkilönSähköposti,
|
String yhteyshenkilönSähköposti,
|
||||||
String erva) {
|
String erva,
|
||||||
|
Kuljetus.Tyyppi tyyppi) {
|
||||||
this.nimi = nimi;
|
this.nimi = nimi;
|
||||||
this.pvm = pvm;
|
this.pvm = pvm;
|
||||||
|
this.tyyppi = tyyppi;
|
||||||
this.salaatit = salaatit;
|
this.salaatit = salaatit;
|
||||||
this.pääruoat = pääruoat;
|
this.pääruoat = pääruoat;
|
||||||
this.jälkiruoat = jälkiruoat;
|
this.jälkiruoat = jälkiruoat;
|
||||||
@@ -57,11 +60,12 @@ public class RaporttiRivi {
|
|||||||
asiakkaat.laskutusosoite,
|
asiakkaat.laskutusosoite,
|
||||||
asiakkaat.yhteyshenkilönPuhelinnumero,
|
asiakkaat.yhteyshenkilönPuhelinnumero,
|
||||||
asiakkaat.yhteyshenkilönSähköposti,
|
asiakkaat.yhteyshenkilönSähköposti,
|
||||||
asiakkaat.erityisruokavalio
|
asiakkaat.erityisruokavalio,
|
||||||
|
kuljetukset.tyyppi
|
||||||
from kuljetukset
|
from kuljetukset
|
||||||
left join asiakkaat on kuljetukset.asiakasID=asiakkaat.id
|
left join asiakkaat on kuljetukset.asiakasID=asiakkaat.id
|
||||||
where kuljetusPäivämäärä between ? and ?
|
where kuljetusPäivämäärä between ? and ?
|
||||||
order by kuljetukset.nimi
|
order by kuljetukset.nimi, kuljetukset.kuljetusPäivämäärä, kuljetukset.tyyppi
|
||||||
""");
|
""");
|
||||||
stmt.setDate(1, Date.valueOf(alkuPvm));
|
stmt.setDate(1, Date.valueOf(alkuPvm));
|
||||||
stmt.setDate(2, Date.valueOf(loppuPvm));
|
stmt.setDate(2, Date.valueOf(loppuPvm));
|
||||||
@@ -80,7 +84,8 @@ public class RaporttiRivi {
|
|||||||
rs.getString(i++),
|
rs.getString(i++),
|
||||||
rs.getString(i++),
|
rs.getString(i++),
|
||||||
rs.getString(i++),
|
rs.getString(i++),
|
||||||
rs.getString(i++)
|
rs.getString(i++),
|
||||||
|
Kuljetus.Tyyppi.valueOf(rs.getString(i++))
|
||||||
);
|
);
|
||||||
raportti.add(uusi);
|
raportti.add(uusi);
|
||||||
}
|
}
|
||||||
@@ -99,12 +104,13 @@ public class RaporttiRivi {
|
|||||||
asiakkaat.laskutusosoite,
|
asiakkaat.laskutusosoite,
|
||||||
asiakkaat.yhteyshenkilönPuhelinnumero,
|
asiakkaat.yhteyshenkilönPuhelinnumero,
|
||||||
asiakkaat.yhteyshenkilönSähköposti,
|
asiakkaat.yhteyshenkilönSähköposti,
|
||||||
asiakkaat.erityisruokavalio
|
asiakkaat.erityisruokavalio,
|
||||||
|
kuljetukset.tyyppi
|
||||||
from kuljetukset
|
from kuljetukset
|
||||||
left join asiakkaat on kuljetukset.asiakasID=asiakkaat.id
|
left join asiakkaat on kuljetukset.asiakasID=asiakkaat.id
|
||||||
where kuljetusPäivämäärä between ? and ?
|
where kuljetusPäivämäärä between ? and ?
|
||||||
group by kuljetukset.nimi
|
group by kuljetukset.nimi, kuljetukset.tyyppi
|
||||||
order by kuljetukset.nimi
|
order by kuljetukset.nimi, kuljetukset.kuljetusPäivämäärä, kuljetukset.tyyppi
|
||||||
""");
|
""");
|
||||||
stmt.setString(1, "\n");
|
stmt.setString(1, "\n");
|
||||||
stmt.setDate(2, Date.valueOf(alkuPvm));
|
stmt.setDate(2, Date.valueOf(alkuPvm));
|
||||||
@@ -124,7 +130,8 @@ public class RaporttiRivi {
|
|||||||
rs.getString(i++),
|
rs.getString(i++),
|
||||||
rs.getString(i++),
|
rs.getString(i++),
|
||||||
rs.getString(i++),
|
rs.getString(i++),
|
||||||
rs.getString(i++)
|
rs.getString(i++),
|
||||||
|
Kuljetus.Tyyppi.valueOf(rs.getString(i++))
|
||||||
);
|
);
|
||||||
raportti.add(uusi);
|
raportti.add(uusi);
|
||||||
}
|
}
|
||||||
@@ -145,7 +152,7 @@ public class RaporttiRivi {
|
|||||||
"\n" + yhteyshenkilönSähköposti;
|
"\n" + yhteyshenkilönSähköposti;
|
||||||
|
|
||||||
return nimi + " " + erva +
|
return nimi + " " + erva +
|
||||||
"\nSal: " + salaatit + ", Pr: " + pääruoat + ", Jr: " + jälkiruoat +
|
"\n" + tyyppi + " Sal: " + salaatit + ", Pr: " + pääruoat + ", Jr: " + jälkiruoat +
|
||||||
"\nLisätiedot:\n" +
|
"\nLisätiedot:\n" +
|
||||||
getLisätiedot() +
|
getLisätiedot() +
|
||||||
laskutustiedot.replace("\nnull", "").strip();
|
laskutustiedot.replace("\nnull", "").strip();
|
||||||
@@ -195,4 +202,8 @@ public class RaporttiRivi {
|
|||||||
public String getErva() {
|
public String getErva() {
|
||||||
return erva;
|
return erva;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Kuljetus.Tyyppi getTyyppi() {
|
||||||
|
return tyyppi;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
package fi.lpam.gui;
|
package fi.lpam.gui;
|
||||||
|
|
||||||
import fi.lpam.Main;
|
import fi.lpam.Main;
|
||||||
|
import fi.lpam.dataluokat.Kuljetus;
|
||||||
import fi.lpam.dataluokat.RaporttiRivi;
|
import fi.lpam.dataluokat.RaporttiRivi;
|
||||||
import fi.lpam.gui.elementit.FontLabel;
|
import fi.lpam.gui.elementit.FontLabel;
|
||||||
import fi.lpam.tulostajat.KuljetusRaporttiTulostaja;
|
import fi.lpam.tulostajat.KuljetusRaporttiTulostaja;
|
||||||
@@ -75,6 +76,10 @@ public class KuljetusRaportit extends TabPohja {
|
|||||||
tcPvm.setCellFactory(_ ->new PaivamaaraTableCell());
|
tcPvm.setCellFactory(_ ->new PaivamaaraTableCell());
|
||||||
tcPvm.setCellValueFactory(new PropertyValueFactory<>("pvm"));
|
tcPvm.setCellValueFactory(new PropertyValueFactory<>("pvm"));
|
||||||
|
|
||||||
|
TableColumn<RaporttiRivi, Kuljetus.Tyyppi> tcTyyppi = new TableColumn<>("Tyyppi");
|
||||||
|
tcTyyppi.setMinWidth(150);
|
||||||
|
tcTyyppi.setCellValueFactory(new PropertyValueFactory<>("tyyppi"));
|
||||||
|
|
||||||
TableColumn<RaporttiRivi, Integer> tcSalaatit = new TableColumn<>("Salaatit");
|
TableColumn<RaporttiRivi, Integer> tcSalaatit = new TableColumn<>("Salaatit");
|
||||||
tcSalaatit.setMinWidth(100);
|
tcSalaatit.setMinWidth(100);
|
||||||
tcSalaatit.setCellValueFactory(new PropertyValueFactory<>("salaatit"));
|
tcSalaatit.setCellValueFactory(new PropertyValueFactory<>("salaatit"));
|
||||||
@@ -111,9 +116,10 @@ public class KuljetusRaportit extends TabPohja {
|
|||||||
tcYhteyshenkilönSähköposti.setMinWidth(200);
|
tcYhteyshenkilönSähköposti.setMinWidth(200);
|
||||||
tcYhteyshenkilönSähköposti.setCellValueFactory(new PropertyValueFactory<>("yhteyshenkilönSähköposti"));
|
tcYhteyshenkilönSähköposti.setCellValueFactory(new PropertyValueFactory<>("yhteyshenkilönSähköposti"));
|
||||||
|
|
||||||
tableView.getColumns().addAll(tcNimi, tcPvm, tcSalaatit, tcPääruoat, tcJälkiruoat, tcErva, tcLisätiedot,
|
tableView.getColumns().addAll(tcNimi, tcPvm, tcTyyppi, tcSalaatit, tcPääruoat, tcJälkiruoat, tcErva, tcLisätiedot,
|
||||||
tcYhteyshenkilönNimi, tcLaskutusOsoite, tcYhteyshenkilönPuhelinnumero, tcYhteyshenkilönSähköposti);
|
tcYhteyshenkilönNimi, tcLaskutusOsoite, tcYhteyshenkilönPuhelinnumero, tcYhteyshenkilönSähköposti);
|
||||||
tableView.setPlaceholder(new FontLabel(BUTTON_FONT, "Hae raportti"));
|
tableView.setPlaceholder(new FontLabel(BUTTON_FONT, "Hae raportti"));
|
||||||
|
|
||||||
for (TableColumn<RaporttiRivi, ?> sarake : tableView.getColumns()) {
|
for (TableColumn<RaporttiRivi, ?> sarake : tableView.getColumns()) {
|
||||||
sarake.setSortable(false);
|
sarake.setSortable(false);
|
||||||
sarake.setEditable(false);
|
sarake.setEditable(false);
|
||||||
|
|||||||
Reference in New Issue
Block a user