Compare commits
12 Commits
13110641b3
..
4.0.0
| Author | SHA1 | Date | |
|---|---|---|---|
| 2ed9f81f75 | |||
| ebd76ab728 | |||
| c8b0ae911a | |||
| f192efda05 | |||
| 127c9d671b | |||
| 0634e8a13b | |||
| 15c935d6b7 | |||
| a6ea5890a1 | |||
| d19142da97 | |||
| ed76bab9a1 | |||
| f5c37241ad | |||
| 892b75b18f |
@@ -3,7 +3,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>fi.lpam.ruokamanageri</groupId>
|
||||
<artifactId>Ruokamanageri</artifactId>
|
||||
<version>3.2.1</version>
|
||||
<version>4.0.0</version>
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<maven.compiler.source>25</maven.compiler.source>
|
||||
|
||||
@@ -85,6 +85,7 @@ public class Kuljetus implements TietokantaOlio {
|
||||
* Hakee tietyn kierroksen kuljetukset
|
||||
* @param päivä kierroksen päivä
|
||||
* @param kuljetusKierros kierroksen numero
|
||||
* @param tyyppi kuljetuksen tyyppi
|
||||
* @return valitun päivän valitun kierroksen kuljetukset
|
||||
*/
|
||||
public static ArrayList<Kuljetus> haeKierroksenKuljetukset(LocalDate päivä, int kuljetusKierros, Tyyppi tyyppi) {
|
||||
|
||||
@@ -64,8 +64,8 @@ public class RaporttiRivi {
|
||||
kuljetukset.tyyppi
|
||||
from kuljetukset
|
||||
left join asiakkaat on kuljetukset.asiakasID=asiakkaat.id
|
||||
where kuljetusPäivämäärä between ? and ?
|
||||
order by kuljetukset.nimi, kuljetukset.kuljetusPäivämäärä, kuljetukset.tyyppi
|
||||
where (kuljetusPäivämäärä between ? and ?) and (kuljetukset.salaatit > 0 or kuljetukset.pääruoat > 0 or kuljetukset.jälkiruoat > 0 or LENGTH(kuljetukset.lisätieto) > 3)
|
||||
order by asiakkaat.yhteyshenkilönNimi DESC, kuljetukset.nimi, kuljetukset.kuljetusPäivämäärä, kuljetukset.tyyppi
|
||||
""");
|
||||
stmt.setDate(1, Date.valueOf(alkuPvm));
|
||||
stmt.setDate(2, Date.valueOf(loppuPvm));
|
||||
@@ -108,9 +108,9 @@ public class RaporttiRivi {
|
||||
kuljetukset.tyyppi
|
||||
from kuljetukset
|
||||
left join asiakkaat on kuljetukset.asiakasID=asiakkaat.id
|
||||
where kuljetusPäivämäärä between ? and ?
|
||||
group by kuljetukset.nimi, kuljetukset.tyyppi
|
||||
order by kuljetukset.nimi, kuljetukset.kuljetusPäivämäärä, kuljetukset.tyyppi
|
||||
where (kuljetusPäivämäärä between ? and ?) and (kuljetukset.salaatit > 0 or kuljetukset.pääruoat > 0 or kuljetukset.jälkiruoat > 0 or LENGTH(kuljetukset.lisätieto) > 3)
|
||||
group by kuljetukset.asiakasID, kuljetukset.tyyppi
|
||||
order by asiakkaat.yhteyshenkilönNimi DESC, kuljetukset.nimi, kuljetukset.kuljetusPäivämäärä, kuljetukset.tyyppi
|
||||
""");
|
||||
stmt.setString(1, "\n");
|
||||
stmt.setDate(2, Date.valueOf(alkuPvm));
|
||||
|
||||
@@ -330,8 +330,8 @@ public class AsiakasIkkuna extends Stage {
|
||||
alert.setTitle("Onnistuimme!");
|
||||
alert.setHeaderText("Asiakkaan tallentaminen onnistui!");
|
||||
//TODO tähän myös dinneri määrät...
|
||||
// alert.setContentText(String.format("%s saa jatkossa yhteensä \n%s salaattia, %s pääruokaa ja %s jälkiruokaa viikossa",
|
||||
// käsiteltäväAsiakas.getNimi(), käsiteltäväAsiakas.getSalaatit()*viikonKuljetukset, käsiteltäväAsiakas.getPääruoat()*viikonKuljetukset, käsiteltäväAsiakas.getPääruoat()*viikonKuljetukset));
|
||||
alert.setContentText(String.format("%s saa lounaalla yhteensä \n%s salaattia, %s pääruokaa ja %s jälkiruokaa viikossa",
|
||||
käsiteltäväAsiakas.getNimi(), käsiteltäväAsiakas.getSalaatit()*viikonKuljetukset, käsiteltäväAsiakas.getPääruoat()*viikonKuljetukset, käsiteltäväAsiakas.getPääruoat()*viikonKuljetukset));
|
||||
alert.showAndWait();
|
||||
this.close();
|
||||
}
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
package fi.lpam.gui;
|
||||
|
||||
import fi.lpam.Main;
|
||||
import fi.lpam.dataluokat.Asiakas;
|
||||
import fi.lpam.gui.elementit.FontLabel;
|
||||
import fi.lpam.gui.elementit.MaaraTableColumn;
|
||||
import fi.lpam.gui.elementit.TabPohja;
|
||||
import javafx.collections.FXCollections;
|
||||
import javafx.scene.control.*;
|
||||
@@ -56,31 +54,31 @@ public class Asiakashallinta extends TabPohja {
|
||||
tcOsoite.setCellValueFactory(new PropertyValueFactory<>("osoite"));
|
||||
|
||||
int minWidth = 40;
|
||||
TableColumn<Asiakas, MaaraTableColumn<Asiakas, Integer>> tcKuljetuspäivät = new TableColumn<>("Kuljetukset per päivä");
|
||||
MaaraTableColumn<Asiakas, Integer> tcMaanantaiKpl = new MaaraTableColumn<>("MA", minWidth);
|
||||
tcMaanantaiKpl.setCellValueFactory(new PropertyValueFactory<>("maanantaiKpl"));
|
||||
MaaraTableColumn<Asiakas, Integer> tcTiistaiKpl = new MaaraTableColumn<>("TI", minWidth);
|
||||
tcTiistaiKpl.setCellValueFactory(new PropertyValueFactory<>("tiistaiKpl"));
|
||||
MaaraTableColumn<Asiakas, Integer> tcKeskiviikkoKpl = new MaaraTableColumn<>("KE", minWidth);
|
||||
tcKeskiviikkoKpl.setCellValueFactory(new PropertyValueFactory<>("keskiviikkoKpl"));
|
||||
MaaraTableColumn<Asiakas, Integer> tcTorstaiKpl = new MaaraTableColumn<>("TO", minWidth);
|
||||
tcTorstaiKpl.setCellValueFactory(new PropertyValueFactory<>("torstaiKpl"));
|
||||
MaaraTableColumn<Asiakas, Integer> tcPerjantaiKpl = new MaaraTableColumn<>("PE", minWidth);
|
||||
tcPerjantaiKpl.setCellValueFactory(new PropertyValueFactory<>("perjantaiKpl"));
|
||||
MaaraTableColumn<Asiakas, Integer> tcLauantaiKpl = new MaaraTableColumn<>("LA", minWidth);
|
||||
tcLauantaiKpl.setCellValueFactory(new PropertyValueFactory<>("lauantaiKpl"));
|
||||
MaaraTableColumn<Asiakas, Integer> tcSunnuntaiKpl = new MaaraTableColumn<>("SU", minWidth);
|
||||
tcSunnuntaiKpl.setCellValueFactory(new PropertyValueFactory<>("sunnuntaiKpl"));
|
||||
tcKuljetuspäivät.getColumns().addAll(tcMaanantaiKpl, tcTiistaiKpl, tcKeskiviikkoKpl, tcTorstaiKpl, tcPerjantaiKpl, tcLauantaiKpl, tcSunnuntaiKpl);
|
||||
|
||||
TableColumn<Asiakas, MaaraTableColumn<Asiakas, Integer>> tcKuljetusmäärät = new TableColumn<>("Määrät per kuljetus");
|
||||
MaaraTableColumn<Asiakas, Integer> tcSalaatit = new MaaraTableColumn<>("Salaatit", minWidth, 150);
|
||||
tcSalaatit.setCellValueFactory(new PropertyValueFactory<>("salaatit"));
|
||||
MaaraTableColumn<Asiakas, Integer> tcPääruoat = new MaaraTableColumn<>("Pääruoat", minWidth, 150);
|
||||
tcPääruoat.setCellValueFactory(new PropertyValueFactory<>("pääruoat"));
|
||||
MaaraTableColumn<Asiakas, Integer> tcJälkiruoat = new MaaraTableColumn<>("Jälkiruoat", minWidth, 150);
|
||||
tcJälkiruoat.setCellValueFactory(new PropertyValueFactory<>("jälkiruoat"));
|
||||
tcKuljetusmäärät.getColumns().addAll(tcSalaatit, tcPääruoat, tcJälkiruoat);
|
||||
// TableColumn<Asiakas, MaaraTableColumn<Asiakas, Integer>> tcKuljetuspäivät = new TableColumn<>("Kuljetukset per päivä");
|
||||
// MaaraTableColumn<Asiakas, Integer> tcMaanantaiKpl = new MaaraTableColumn<>("MA", minWidth);
|
||||
// tcMaanantaiKpl.setCellValueFactory(new PropertyValueFactory<>("maanantaiKpl"));
|
||||
// MaaraTableColumn<Asiakas, Integer> tcTiistaiKpl = new MaaraTableColumn<>("TI", minWidth);
|
||||
// tcTiistaiKpl.setCellValueFactory(new PropertyValueFactory<>("tiistaiKpl"));
|
||||
// MaaraTableColumn<Asiakas, Integer> tcKeskiviikkoKpl = new MaaraTableColumn<>("KE", minWidth);
|
||||
// tcKeskiviikkoKpl.setCellValueFactory(new PropertyValueFactory<>("keskiviikkoKpl"));
|
||||
// MaaraTableColumn<Asiakas, Integer> tcTorstaiKpl = new MaaraTableColumn<>("TO", minWidth);
|
||||
// tcTorstaiKpl.setCellValueFactory(new PropertyValueFactory<>("torstaiKpl"));
|
||||
// MaaraTableColumn<Asiakas, Integer> tcPerjantaiKpl = new MaaraTableColumn<>("PE", minWidth);
|
||||
// tcPerjantaiKpl.setCellValueFactory(new PropertyValueFactory<>("perjantaiKpl"));
|
||||
// MaaraTableColumn<Asiakas, Integer> tcLauantaiKpl = new MaaraTableColumn<>("LA", minWidth);
|
||||
// tcLauantaiKpl.setCellValueFactory(new PropertyValueFactory<>("lauantaiKpl"));
|
||||
// MaaraTableColumn<Asiakas, Integer> tcSunnuntaiKpl = new MaaraTableColumn<>("SU", minWidth);
|
||||
// tcSunnuntaiKpl.setCellValueFactory(new PropertyValueFactory<>("sunnuntaiKpl"));
|
||||
// tcKuljetuspäivät.getColumns().addAll(tcMaanantaiKpl, tcTiistaiKpl, tcKeskiviikkoKpl, tcTorstaiKpl, tcPerjantaiKpl, tcLauantaiKpl, tcSunnuntaiKpl);
|
||||
//
|
||||
// TableColumn<Asiakas, MaaraTableColumn<Asiakas, Integer>> tcKuljetusmäärät = new TableColumn<>("Määrät per kuljetus");
|
||||
// MaaraTableColumn<Asiakas, Integer> tcSalaatit = new MaaraTableColumn<>("Salaatit", minWidth, 150);
|
||||
// tcSalaatit.setCellValueFactory(new PropertyValueFactory<>("salaatit"));
|
||||
// MaaraTableColumn<Asiakas, Integer> tcPääruoat = new MaaraTableColumn<>("Pääruoat", minWidth, 150);
|
||||
// tcPääruoat.setCellValueFactory(new PropertyValueFactory<>("pääruoat"));
|
||||
// MaaraTableColumn<Asiakas, Integer> tcJälkiruoat = new MaaraTableColumn<>("Jälkiruoat", minWidth, 150);
|
||||
// tcJälkiruoat.setCellValueFactory(new PropertyValueFactory<>("jälkiruoat"));
|
||||
// tcKuljetusmäärät.getColumns().addAll(tcSalaatit, tcPääruoat, tcJälkiruoat);
|
||||
|
||||
TableColumn<Asiakas, String> tcErityisruokavalio = new TableColumn<>("Ruokarajoitteet");
|
||||
tcErityisruokavalio.setCellValueFactory(new PropertyValueFactory<>("erityisruokavalio"));
|
||||
@@ -97,7 +95,7 @@ public class Asiakashallinta extends TabPohja {
|
||||
TableColumn<Asiakas, String> tcYhteyshenkilönSähköposti = new TableColumn<>("Yhteyshenkilön sähköposti");
|
||||
tcYhteyshenkilönSähköposti.setCellValueFactory(new PropertyValueFactory<>("yhteyshenkilönSähköposti"));
|
||||
|
||||
tvAsiakkaat.getColumns().addAll(tcId, tcNimi, tcOsoite, tcKuljetuspäivät, tcKuljetusmäärät, tcErityisruokavalio, tcAvainTieto, tcLisätiedot, tcYhteyshenkilönNimi, tcLaskutusOsoite, tcYhteyshenkilönPuhelinnumero, tcYhteyshenkilönSähköposti);
|
||||
tvAsiakkaat.getColumns().addAll(tcId, tcNimi, tcOsoite, tcErityisruokavalio, tcAvainTieto, tcLisätiedot, tcYhteyshenkilönNimi, tcLaskutusOsoite, tcYhteyshenkilönPuhelinnumero, tcYhteyshenkilönSähköposti);
|
||||
|
||||
for (TableColumn<Asiakas, ?> column : tvAsiakkaat.getColumns()) {
|
||||
column.getColumns().forEach(this::määritäColumn);
|
||||
@@ -191,10 +189,6 @@ public class Asiakashallinta extends TabPohja {
|
||||
column.setEditable(false);
|
||||
column.setReorderable(false);
|
||||
column.setResizable(true);
|
||||
column.setStyle(
|
||||
"-fx-alignment: CENTER;" +
|
||||
"-fx-font-size: " + Main.properties.getProperty("tekstiFonttiKoko") + "px;" +
|
||||
"-fx-font-family: " + Main.properties.getProperty("tekstiFontti")
|
||||
);
|
||||
column.setStyle(TV_COLUMN_STYLE);
|
||||
}
|
||||
}
|
||||
@@ -143,10 +143,7 @@ public class KuljetusListat extends TabPohja {
|
||||
sarake.setSortable(false);
|
||||
sarake.setEditable(true);
|
||||
sarake.setResizable(true);
|
||||
sarake.setStyle(
|
||||
"-fx-alignment: CENTER;" +
|
||||
"-fx-font-size: " + Main.properties.getProperty("tekstiFonttiKoko") + "px;" +
|
||||
"-fx-font-family: " + Main.properties.getProperty("tekstiFontti"));
|
||||
sarake.setStyle(TV_COLUMN_STYLE);
|
||||
}
|
||||
tcNimi.setEditable(false);
|
||||
}
|
||||
|
||||
@@ -121,13 +121,9 @@ public class KuljetusRaportit extends TabPohja {
|
||||
tableView.setPlaceholder(new FontLabel(BUTTON_FONT, "Hae raportti"));
|
||||
|
||||
for (TableColumn<RaporttiRivi, ?> sarake : tableView.getColumns()) {
|
||||
sarake.setSortable(false);
|
||||
sarake.setEditable(false);
|
||||
sarake.setResizable(true);
|
||||
sarake.setStyle(
|
||||
"-fx-alignment: CENTER;" +
|
||||
"-fx-font-size: " + Main.properties.getProperty("tekstiFonttiKoko") + "px;" +
|
||||
"-fx-font-family: " + Main.properties.getProperty("tekstiFontti"));
|
||||
sarake.setStyle(TV_COLUMN_STYLE);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -17,6 +17,7 @@ public class TabPohja extends Tab {
|
||||
public static Insets INSETS;
|
||||
public static Border BORDER = new Border(new BorderStroke(Color.BLACK, BorderStrokeStyle.SOLID, new CornerRadii(5), BorderWidths.DEFAULT));
|
||||
public static String STYLE;
|
||||
public static String TV_COLUMN_STYLE;
|
||||
public static Font BUTTON_FONT;
|
||||
public static Font TEKSTI_FONT;
|
||||
public static double SPACING;
|
||||
@@ -29,6 +30,10 @@ public class TabPohja extends Tab {
|
||||
INSETS = new Insets(Double.parseDouble(prop.getProperty("insets")));
|
||||
SPACING = Double.parseDouble(prop.getProperty("insets"));
|
||||
STYLE = "-fx-background-color: " + prop.getProperty("taustaVari");
|
||||
TV_COLUMN_STYLE =
|
||||
"-fx-alignment: CENTER;" +
|
||||
"-fx-font-size: " + Main.properties.getProperty("tekstiFonttiKoko") + "px;" +
|
||||
"-fx-font-family: " + Main.properties.getProperty("tekstiFontti");
|
||||
BUTTON_FONT = Font.font(prop.getProperty("buttonFontti"), FontWeight.BOLD, Double.parseDouble(prop.getProperty("buttonFonttiKoko")));
|
||||
TEKSTI_FONT = Font.font(prop.getProperty("tekstiFontti"), FontWeight.NORMAL, Double.parseDouble(prop.getProperty("tekstiFonttiKoko")));
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ public class KuljetusListaTulostaja extends Tulostaja{
|
||||
|
||||
public void luoKuljetusLista(ObservableList<Kuljetus> kuljetukset, int kierrosnumero) {
|
||||
try {
|
||||
sisältö.showText(kuljetukset.getFirst().getKuljetusPäivämäärä().format(DateTimeFormatter.ofPattern("dd/MM/yyyy")) + ", kierros: " + kierrosnumero);
|
||||
sisältö.showText(kuljetukset.getFirst().getKuljetusPäivämäärä().format(DateTimeFormatter.ofPattern("dd/MM/yyyy")) + ", kierros " + kierrosnumero + " " + kuljetukset.getFirst().getTyyppi());
|
||||
uusiRivi();
|
||||
|
||||
for (Kuljetus kuljetus : kuljetukset) {
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
# 4.0.0
|
||||
- Kuljetuslistoista luodaan lounas- ja päivällislistat erikseen
|
||||
- Kuljetuslistalla asiakkaan nimeä ei voi enään muokata
|
||||
|
||||
# 3.2.1
|
||||
- Asiakkaan erityisruokavalio osaksi raporttia
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@ alter table asiakkaat add lauantaiKpl int not null default 0;
|
||||
alter table asiakkaat add sunnuntaiKpl int not null default 0;
|
||||
|
||||
--3.x.x->4.0.0
|
||||
alter table kuljetukset add tyyppi varchar(50);
|
||||
alter table kuljetukset add tyyppi varchar(50) not null default 'Lounas';
|
||||
alter table asiakkaat add dinner_maanantaiKpl int not null default 0;
|
||||
alter table asiakkaat add dinner_tiistaiKpl int not null default 0;
|
||||
alter table asiakkaat add dinner_keskiviikkoKpl int not null default 0;
|
||||
|
||||
Reference in New Issue
Block a user