Compare commits
4 Commits
4.0.0
...
bc92197541
| Author | SHA1 | Date | |
|---|---|---|---|
| bc92197541 | |||
| ede75c8692 | |||
| 00267ebe72 | |||
| 05d124ac55 |
@@ -3,7 +3,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>fi.lpam.ruokamanageri</groupId>
|
<groupId>fi.lpam.ruokamanageri</groupId>
|
||||||
<artifactId>Ruokamanageri</artifactId>
|
<artifactId>Ruokamanageri</artifactId>
|
||||||
<version>4.0.0</version>
|
<version>4.1.0</version>
|
||||||
<properties>
|
<properties>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
<maven.compiler.source>25</maven.compiler.source>
|
<maven.compiler.source>25</maven.compiler.source>
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package fi.lpam.dataluokat;
|
package fi.lpam.dataluokat;
|
||||||
|
|
||||||
import fi.lpam.gui.virheDialogit.SiirtoVirhe;
|
import fi.lpam.gui.virheDialogit.SiirtoVirhe;
|
||||||
|
import javafx.scene.control.Alert;
|
||||||
|
|
||||||
import java.sql.*;
|
import java.sql.*;
|
||||||
import java.time.DayOfWeek;
|
import java.time.DayOfWeek;
|
||||||
@@ -29,7 +30,6 @@ public class Asiakas implements TietokantaOlio {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Vain MultiColumnListViewin käyttöön
|
|
||||||
* @param nimi Asiakkaan nimi
|
* @param nimi Asiakkaan nimi
|
||||||
*/
|
*/
|
||||||
public Asiakas(String nimi) {
|
public Asiakas(String nimi) {
|
||||||
@@ -40,65 +40,9 @@ public class Asiakas implements TietokantaOlio {
|
|||||||
* Kun luetaan asiakas tietokannasta
|
* Kun luetaan asiakas tietokannasta
|
||||||
*/
|
*/
|
||||||
private Asiakas(int id,
|
private Asiakas(int id,
|
||||||
String nimi,
|
String nimi) {
|
||||||
String osoite,
|
|
||||||
int maanantaiKpl,
|
|
||||||
int tiistaiKpl,
|
|
||||||
int keskiviikkoKpl,
|
|
||||||
int torstaiKpl,
|
|
||||||
int perjantaiKpl,
|
|
||||||
int salaatit,
|
|
||||||
int pääruoat,
|
|
||||||
int jälkiruoat,
|
|
||||||
String erityisruokavalio,
|
|
||||||
String avainTieto,
|
|
||||||
String lisätiedot,
|
|
||||||
String laskutusOsoite,
|
|
||||||
String yhteyshenkilönNimi,
|
|
||||||
String yhteyshenkilönPuhelinnumero,
|
|
||||||
String yhteyshenkilönSähköposti,
|
|
||||||
int lauantaiKpl,
|
|
||||||
int sunnuntaiKpl,
|
|
||||||
int dinnerMaanantaiKpl,
|
|
||||||
int dinnerTiistaiKpl,
|
|
||||||
int dinnerKeskiviikkoKpl,
|
|
||||||
int dinnerTorstaiKpl,
|
|
||||||
int dinnerPerjantaiKpl,
|
|
||||||
int dinnerLauantaiKpl,
|
|
||||||
int dinnerSunnuntaiKpl,
|
|
||||||
int dinnerSalaatit,
|
|
||||||
int dinnerPääruoat,
|
|
||||||
int dinnerJälkiruoat) {
|
|
||||||
this.id = id;
|
this.id = id;
|
||||||
this.nimi = nimi;
|
this.nimi = nimi;
|
||||||
this.osoite = osoite;
|
|
||||||
this.maanantaiKpl = maanantaiKpl;
|
|
||||||
this.tiistaiKpl = tiistaiKpl;
|
|
||||||
this.keskiviikkoKpl = keskiviikkoKpl;
|
|
||||||
this.torstaiKpl = torstaiKpl;
|
|
||||||
this.perjantaiKpl = perjantaiKpl;
|
|
||||||
this.lauantaiKpl = lauantaiKpl;
|
|
||||||
this.sunnuntaiKpl = sunnuntaiKpl;
|
|
||||||
this.salaatit = salaatit;
|
|
||||||
this.pääruoat = pääruoat;
|
|
||||||
this.jälkiruoat = jälkiruoat;
|
|
||||||
this.erityisruokavalio = erityisruokavalio;
|
|
||||||
this.avainTieto = avainTieto;
|
|
||||||
this.lisätiedot = lisätiedot;
|
|
||||||
this.laskutusOsoite = laskutusOsoite;
|
|
||||||
this.yhteyshenkilönNimi = yhteyshenkilönNimi;
|
|
||||||
this.yhteyshenkilönPuhelinnumero = yhteyshenkilönPuhelinnumero;
|
|
||||||
this.yhteyshenkilönSähköposti = yhteyshenkilönSähköposti;
|
|
||||||
this.dinnerMaanantaiKpl = dinnerMaanantaiKpl;
|
|
||||||
this.dinnerTiistaiKpl = dinnerTiistaiKpl;
|
|
||||||
this.dinnerKeskiviikkoKpl = dinnerKeskiviikkoKpl;
|
|
||||||
this.dinnerTorstaiKpl = dinnerTorstaiKpl;
|
|
||||||
this.dinnerPerjantaiKpl = dinnerPerjantaiKpl;
|
|
||||||
this.dinnerLauantaiKpl = dinnerLauantaiKpl;
|
|
||||||
this.dinnerSunnuntaiKpl = dinnerSunnuntaiKpl;
|
|
||||||
this.dinnerSalaatit = dinnerSalaatit;
|
|
||||||
this.dinnerPääruoat = dinnerPääruoat;
|
|
||||||
this.dinnerJälkiruoat = dinnerJälkiruoat;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -106,15 +50,16 @@ public class Asiakas implements TietokantaOlio {
|
|||||||
* @return ArrayList<Asiakas>
|
* @return ArrayList<Asiakas>
|
||||||
*/
|
*/
|
||||||
public static ArrayList<Asiakas> haeKaikki() {
|
public static ArrayList<Asiakas> haeKaikki() {
|
||||||
|
ArrayList<Asiakas> asiakkaat = new ArrayList<>();
|
||||||
try (Connection tietokanta = Tietokanta.haeYhteys()) {
|
try (Connection tietokanta = Tietokanta.haeYhteys()) {
|
||||||
Statement stmt = tietokanta.createStatement();
|
Statement stmt = tietokanta.createStatement();
|
||||||
ResultSet rs = stmt.executeQuery("select * from asiakkaat");
|
ResultSet rs = stmt.executeQuery("select id, nimi from asiakkaat");
|
||||||
return parsiResultSet(rs);
|
asiakkaat = parsiResultSet(rs);
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
SiirtoVirhe alert = new SiirtoVirhe(e);
|
SiirtoVirhe alert = new SiirtoVirhe(e);
|
||||||
alert.showAndWait();
|
alert.showAndWait();
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
return asiakkaat;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -129,7 +74,7 @@ public class Asiakas implements TietokantaOlio {
|
|||||||
sbIDt.append(", ").append(IDt[i]);
|
sbIDt.append(", ").append(IDt[i]);
|
||||||
}
|
}
|
||||||
try (Connection tietokanta = Tietokanta.haeYhteys()) {
|
try (Connection tietokanta = Tietokanta.haeYhteys()) {
|
||||||
String sql = "select * from asiakkaat where id in (" + sbIDt + ")";
|
String sql = "select id, nimi from asiakkaat where id in (" + sbIDt + ")";
|
||||||
Statement stmt = tietokanta.createStatement();
|
Statement stmt = tietokanta.createStatement();
|
||||||
ResultSet rs = stmt.executeQuery(sql);
|
ResultSet rs = stmt.executeQuery(sql);
|
||||||
|
|
||||||
@@ -149,49 +94,15 @@ public class Asiakas implements TietokantaOlio {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Käsittelee ResultSettiä
|
* Olettaa resultsetin sisältävän id:n ja nimen
|
||||||
* @param rs saatu ResultSet
|
* @param rs saatu ResultSet
|
||||||
* @return ArrayList<Asiakas>
|
* @return ArrayList<Asiakas>
|
||||||
*/
|
*/
|
||||||
private static ArrayList<Asiakas> parsiResultSet(ResultSet rs) {
|
private static ArrayList<Asiakas> parsiResultSet(ResultSet rs) {
|
||||||
ArrayList<Asiakas> asiakkaat = new ArrayList<>();
|
ArrayList<Asiakas> asiakkaat = new ArrayList<>();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
while (rs.next()) {
|
while (rs.next()) {
|
||||||
int i = 1;
|
asiakkaat.add(new Asiakas(rs.getInt("id"), rs.getString("nimi")));
|
||||||
Asiakas uusi = new Asiakas(
|
|
||||||
rs.getInt(i++),
|
|
||||||
rs.getString(i++),
|
|
||||||
rs.getString(i++),
|
|
||||||
rs.getInt(i++),
|
|
||||||
rs.getInt(i++),
|
|
||||||
rs.getInt(i++),
|
|
||||||
rs.getInt(i++),
|
|
||||||
rs.getInt(i++),
|
|
||||||
rs.getInt(i++),
|
|
||||||
rs.getInt(i++),
|
|
||||||
rs.getInt(i++),
|
|
||||||
rs.getString(i++),
|
|
||||||
rs.getString(i++),
|
|
||||||
rs.getString(i++),
|
|
||||||
rs.getString(i++),
|
|
||||||
rs.getString(i++),
|
|
||||||
rs.getString(i++),
|
|
||||||
rs.getString(i++),
|
|
||||||
rs.getInt(i++),
|
|
||||||
rs.getInt(i++),
|
|
||||||
rs.getInt(i++),
|
|
||||||
rs.getInt(i++),
|
|
||||||
rs.getInt(i++),
|
|
||||||
rs.getInt(i++),
|
|
||||||
rs.getInt(i++),
|
|
||||||
rs.getInt(i++),
|
|
||||||
rs.getInt(i++),
|
|
||||||
rs.getInt(i++),
|
|
||||||
rs.getInt(i++),
|
|
||||||
rs.getInt(i++)
|
|
||||||
);
|
|
||||||
asiakkaat.add(uusi);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (SQLException e) {
|
catch (SQLException e) {
|
||||||
@@ -203,10 +114,8 @@ public class Asiakas implements TietokantaOlio {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Tallentaa uuden asiakkaan tietokantaan. Tietokanta luo automaattisesti id:n asiakkaalle.
|
* Tallentaa uuden asiakkaan tietokantaan. Tietokanta luo automaattisesti id:n asiakkaalle.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
@Override
|
private boolean tallennaUusi() {
|
||||||
public boolean tallennaUusi() {
|
|
||||||
try (Connection tietokanta = Tietokanta.haeYhteys()) {
|
try (Connection tietokanta = Tietokanta.haeYhteys()) {
|
||||||
PreparedStatement stmt = tietokanta.prepareStatement("INSERT INTO asiakkaat (nimi, osoite, " +
|
PreparedStatement stmt = tietokanta.prepareStatement("INSERT INTO asiakkaat (nimi, osoite, " +
|
||||||
"maanantaiKpl, tiistaiKpl, keskiviikkoKpl, torstaiKpl, perjantaiKpl, lauantaiKpl, sunnuntaiKpl, salaatit, pääruoat, jälkiruoat, " +
|
"maanantaiKpl, tiistaiKpl, keskiviikkoKpl, torstaiKpl, perjantaiKpl, lauantaiKpl, sunnuntaiKpl, salaatit, pääruoat, jälkiruoat, " +
|
||||||
@@ -268,8 +177,7 @@ public class Asiakas implements TietokantaOlio {
|
|||||||
/**
|
/**
|
||||||
* Päivittää kutsuvan asiakkaan tiedot tietokantaan
|
* Päivittää kutsuvan asiakkaan tiedot tietokantaan
|
||||||
*/
|
*/
|
||||||
@Override
|
private boolean päivitäTietokantaan() {
|
||||||
public boolean päivitäTietokantaan() {
|
|
||||||
try (Connection tietokanta = Tietokanta.haeYhteys()) {
|
try (Connection tietokanta = Tietokanta.haeYhteys()) {
|
||||||
PreparedStatement stmt = tietokanta.prepareStatement("UPDATE asiakkaat set nimi = ?, osoite = ?, " +
|
PreparedStatement stmt = tietokanta.prepareStatement("UPDATE asiakkaat set nimi = ?, osoite = ?, " +
|
||||||
"maanantaiKpl = ?, tiistaiKpl = ?, keskiviikkoKpl = ?, torstaiKpl = ?, perjantaiKpl = ?, lauantaiKpl = ?, sunnuntaiKpl = ?, salaatit = ?, pääruoat = ?, jälkiruoat = ?, " +
|
"maanantaiKpl = ?, tiistaiKpl = ?, keskiviikkoKpl = ?, torstaiKpl = ?, perjantaiKpl = ?, lauantaiKpl = ?, sunnuntaiKpl = ?, salaatit = ?, pääruoat = ?, jälkiruoat = ?, " +
|
||||||
@@ -395,6 +303,53 @@ public class Asiakas implements TietokantaOlio {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String haeString(String sarake) {
|
||||||
|
try (Connection conn = Tietokanta.haeYhteys()) {
|
||||||
|
PreparedStatement stmt = conn.prepareStatement("select ? from asiakkaat where id = ?");
|
||||||
|
stmt.setString(1, sarake);
|
||||||
|
stmt.setInt(2, this.id);
|
||||||
|
ResultSet rs = stmt.executeQuery();
|
||||||
|
rs.next();
|
||||||
|
return rs.getString(1);
|
||||||
|
}
|
||||||
|
catch (Exception e) {
|
||||||
|
Alert alert = new SiirtoVirhe(e);
|
||||||
|
alert.showAndWait();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private int haeInt(String sarake) {
|
||||||
|
try (Connection conn = Tietokanta.haeYhteys()) {
|
||||||
|
PreparedStatement stmt = conn.prepareStatement("select ? from asiakkaat where id = ?");
|
||||||
|
stmt.setString(1, sarake);
|
||||||
|
stmt.setInt(2, this.id);
|
||||||
|
ResultSet rs = stmt.executeQuery();
|
||||||
|
rs.next();
|
||||||
|
return rs.getInt(1);
|
||||||
|
}
|
||||||
|
catch (Exception e) {
|
||||||
|
Alert alert = new SiirtoVirhe(e);
|
||||||
|
alert.showAndWait();
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
private Date haeDate(String sarake) {
|
||||||
|
try (Connection conn = Tietokanta.haeYhteys()) {
|
||||||
|
PreparedStatement stmt = conn.prepareStatement("select ? from asiakkaat where id = ?");
|
||||||
|
stmt.setString(1, sarake);
|
||||||
|
stmt.setInt(2, this.id);
|
||||||
|
ResultSet rs = stmt.executeQuery();
|
||||||
|
rs.next();
|
||||||
|
return rs.getDate(1);
|
||||||
|
}
|
||||||
|
catch (Exception e) {
|
||||||
|
Alert alert = new SiirtoVirhe(e);
|
||||||
|
alert.showAndWait();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
public int getId() {
|
public int getId() {
|
||||||
return id;
|
return id;
|
||||||
@@ -413,6 +368,9 @@ public class Asiakas implements TietokantaOlio {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public String getOsoite() {
|
public String getOsoite() {
|
||||||
|
if (osoite == null) {
|
||||||
|
osoite = haeString("osoite");
|
||||||
|
}
|
||||||
return osoite;
|
return osoite;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -421,6 +379,9 @@ public class Asiakas implements TietokantaOlio {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public int getMaanantaiKpl() {
|
public int getMaanantaiKpl() {
|
||||||
|
if (maanantaiKpl == 0) {
|
||||||
|
maanantaiKpl = haeInt("maanantaiKpl");
|
||||||
|
}
|
||||||
return maanantaiKpl;
|
return maanantaiKpl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -86,8 +86,7 @@ public class Kierros implements TietokantaOlio {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
private boolean tallennaUusi() {
|
||||||
public boolean tallennaUusi() {
|
|
||||||
try (Connection tietokanta = Tietokanta.haeYhteys()) {
|
try (Connection tietokanta = Tietokanta.haeYhteys()) {
|
||||||
PreparedStatement stmt = tietokanta.prepareStatement("insert into kierrokset (kierrosNumero, asiakkaat) values (?, ?)", Statement.RETURN_GENERATED_KEYS);
|
PreparedStatement stmt = tietokanta.prepareStatement("insert into kierrokset (kierrosNumero, asiakkaat) values (?, ?)", Statement.RETURN_GENERATED_KEYS);
|
||||||
stmt.setInt(1, kierrosNumero);
|
stmt.setInt(1, kierrosNumero);
|
||||||
@@ -114,8 +113,7 @@ public class Kierros implements TietokantaOlio {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
private boolean päivitäTietokantaan() {
|
||||||
public boolean päivitäTietokantaan() {
|
|
||||||
try (Connection tietokanta = Tietokanta.haeYhteys()) {
|
try (Connection tietokanta = Tietokanta.haeYhteys()) {
|
||||||
PreparedStatement stmt = tietokanta.prepareStatement("update kierrokset set asiakkaat = ?, kierrosnumero = ? where id = ?");
|
PreparedStatement stmt = tietokanta.prepareStatement("update kierrokset set asiakkaat = ?, kierrosnumero = ? where id = ?");
|
||||||
stmt.setString(1, muutaAsiakkaatMerkkijonoksi());
|
stmt.setString(1, muutaAsiakkaatMerkkijonoksi());
|
||||||
|
|||||||
@@ -103,8 +103,7 @@ public class Kuljetus implements TietokantaOlio {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
private boolean tallennaUusi() {
|
||||||
public boolean tallennaUusi() {
|
|
||||||
try (Connection tietokanta = Tietokanta.haeYhteys()) {
|
try (Connection tietokanta = Tietokanta.haeYhteys()) {
|
||||||
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);
|
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.setInt(1, asiakasID);
|
||||||
@@ -139,8 +138,7 @@ public class Kuljetus implements TietokantaOlio {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
private 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 = ?, tyyppi = ?, 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);
|
||||||
|
|||||||
@@ -1,12 +1,16 @@
|
|||||||
package fi.lpam.dataluokat;
|
package fi.lpam.dataluokat;
|
||||||
|
|
||||||
public interface TietokantaOlio {
|
public interface TietokantaOlio {
|
||||||
|
/**
|
||||||
|
* Tallentaa joko uuden, tai päivittää olemassa olevaa riviä
|
||||||
|
* @return onnistuiko operaatio
|
||||||
|
*/
|
||||||
|
boolean tallenna();
|
||||||
|
|
||||||
boolean tallennaUusi();
|
/**
|
||||||
|
* Poistaa kutsuvan olion rivin tietokannasta
|
||||||
boolean päivitäTietokantaan();
|
* @return onnistuiko operaatio
|
||||||
|
*/
|
||||||
boolean poista();
|
boolean poista();
|
||||||
|
|
||||||
boolean tallenna();
|
|
||||||
}
|
}
|
||||||
@@ -7,7 +7,6 @@ import fi.lpam.gui.elementit.TabPohja;
|
|||||||
import fi.lpam.Main;
|
import fi.lpam.Main;
|
||||||
import javafx.geometry.Insets;
|
import javafx.geometry.Insets;
|
||||||
import javafx.geometry.Pos;
|
import javafx.geometry.Pos;
|
||||||
import javafx.geometry.Side;
|
|
||||||
import javafx.scene.Scene;
|
import javafx.scene.Scene;
|
||||||
import javafx.scene.control.*;
|
import javafx.scene.control.*;
|
||||||
import javafx.scene.image.Image;
|
import javafx.scene.image.Image;
|
||||||
@@ -38,31 +37,19 @@ public class AsiakasIkkuna extends Stage {
|
|||||||
this.setTitle("Uusi asiakas");
|
this.setTitle("Uusi asiakas");
|
||||||
}
|
}
|
||||||
|
|
||||||
TabPane tabPane = new TabPane();
|
HBox hbTiedot = new HBox();
|
||||||
tabPane.setSide(Side.LEFT);
|
hbTiedot.setOnKeyPressed(e -> {
|
||||||
int korkeus = 150;
|
|
||||||
tabPane.setTabMinWidth(korkeus);
|
|
||||||
tabPane.setTabMinWidth(korkeus);
|
|
||||||
tabPane.setTabMinHeight(35);
|
|
||||||
tabPane.setTabMaxHeight(35);
|
|
||||||
tabPane.setOnKeyPressed(e -> {
|
|
||||||
switch (e.getCode()) {
|
switch (e.getCode()) {
|
||||||
case ENTER: tallenna(); break;
|
case ENTER: tallenna(); break;
|
||||||
case ESCAPE: close(); break;
|
case ESCAPE: close(); break;
|
||||||
default: break;
|
default: break;
|
||||||
}});
|
}});
|
||||||
|
|
||||||
Tab tabLounastiedot, tabPäivällistiedot, tabAsiakastiedot;
|
|
||||||
tabLounastiedot = new TabPohja("Kuljetustiedot");
|
|
||||||
tabPäivällistiedot = new TabPohja("Päivällistiedot");
|
|
||||||
tabAsiakastiedot = new TabPohja("Asiakastiedot");
|
|
||||||
tabPane.getTabs().addAll(tabLounastiedot, tabPäivällistiedot, tabAsiakastiedot);
|
|
||||||
|
|
||||||
GridPane lounasTiedot = new GridPane();
|
GridPane lounasTiedot = new GridPane();
|
||||||
lounasTiedot.setPadding(new Insets(15));
|
lounasTiedot.setPadding(new Insets(15));
|
||||||
lounasTiedot.setHgap(10);
|
lounasTiedot.setHgap(10);
|
||||||
lounasTiedot.setVgap(10);
|
lounasTiedot.setVgap(10);
|
||||||
tabLounastiedot.setContent(lounasTiedot);
|
|
||||||
|
|
||||||
lounasTiedot.addRow(lounasTiedot.getRowCount(), new Label("Lounaat per kuljetus"));
|
lounasTiedot.addRow(lounasTiedot.getRowCount(), new Label("Lounaat per kuljetus"));
|
||||||
|
|
||||||
@@ -106,27 +93,16 @@ public class AsiakasIkkuna extends Stage {
|
|||||||
tfSunnuntai = new IntegerSpinner();
|
tfSunnuntai = new IntegerSpinner();
|
||||||
lounasTiedot.addRow(lounasTiedot.getRowCount(), new Label("Sunnuntai"), tfSunnuntai);
|
lounasTiedot.addRow(lounasTiedot.getRowCount(), new Label("Sunnuntai"), tfSunnuntai);
|
||||||
|
|
||||||
Label ruokarajoitteet = new Label("Ruokarajoitteet");
|
|
||||||
tfRuokarajoitteet = new TextField();
|
|
||||||
lounasTiedot.addRow(lounasTiedot.getRowCount(), ruokarajoitteet, tfRuokarajoitteet);
|
|
||||||
|
|
||||||
Label avainTieto = new Label("Avaintieto");
|
|
||||||
tfAvainTieto = new TextField();
|
|
||||||
lounasTiedot.addRow(lounasTiedot.getRowCount(), avainTieto, tfAvainTieto);
|
|
||||||
|
|
||||||
Label lisätiedot = new Label("Kuljetuksen lisätiedot");
|
|
||||||
tfLisätiedot = new TextField();
|
|
||||||
tfLisätiedot.setPromptText("Näkyy raporteilla");
|
|
||||||
lounasTiedot.addRow(lounasTiedot.getRowCount(), lisätiedot, tfLisätiedot);
|
|
||||||
|
|
||||||
|
|
||||||
GridPane päivällisTiedot = new GridPane();
|
GridPane päivällisTiedot = new GridPane();
|
||||||
päivällisTiedot.setPadding(new Insets(15));
|
päivällisTiedot.setPadding(new Insets(15));
|
||||||
päivällisTiedot.setHgap(10);
|
päivällisTiedot.setHgap(10);
|
||||||
päivällisTiedot.setVgap(10);
|
päivällisTiedot.setVgap(10);
|
||||||
tabPäivällistiedot.setContent(päivällisTiedot);
|
|
||||||
|
|
||||||
päivällisTiedot.addRow(päivällisTiedot.getRowCount(), new Label("Päivälliset per kuljetus"));
|
Button kopioiLounasPäivälliseen = new Button("Kopioi lounasmäärät");
|
||||||
|
kopioiLounasPäivälliseen.setOnAction(_->kopioiLounasmäärätPäivälliselle());
|
||||||
|
päivällisTiedot.addRow(päivällisTiedot.getRowCount(), new Label("Päivälliset per kuljetus"), kopioiLounasPäivälliseen);
|
||||||
|
|
||||||
tfDinnerSalaatit = new IntegerSpinner();
|
tfDinnerSalaatit = new IntegerSpinner();
|
||||||
päivällisTiedot.addRow(päivällisTiedot.getRowCount(), new Label("Salaatit"), tfDinnerSalaatit);
|
päivällisTiedot.addRow(päivällisTiedot.getRowCount(), new Label("Salaatit"), tfDinnerSalaatit);
|
||||||
@@ -160,11 +136,12 @@ public class AsiakasIkkuna extends Stage {
|
|||||||
tfDinnerSunnuntai = new IntegerSpinner();
|
tfDinnerSunnuntai = new IntegerSpinner();
|
||||||
päivällisTiedot.addRow(päivällisTiedot.getRowCount(), new Label("Sunnuntai"), tfDinnerSunnuntai);
|
päivällisTiedot.addRow(päivällisTiedot.getRowCount(), new Label("Sunnuntai"), tfDinnerSunnuntai);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
GridPane asiakasTiedot = new GridPane();
|
GridPane asiakasTiedot = new GridPane();
|
||||||
asiakasTiedot.setPadding(new Insets(15));
|
asiakasTiedot.setPadding(new Insets(15));
|
||||||
asiakasTiedot.setHgap(10);
|
asiakasTiedot.setHgap(10);
|
||||||
asiakasTiedot.setVgap(10);
|
asiakasTiedot.setVgap(10);
|
||||||
tabAsiakastiedot.setContent(asiakasTiedot);
|
|
||||||
|
|
||||||
Label nimi = new Label("Asiakkaan etu- ja sukunimi");
|
Label nimi = new Label("Asiakkaan etu- ja sukunimi");
|
||||||
nimi.setStyle("-fx-font-weight: bold;");
|
nimi.setStyle("-fx-font-weight: bold;");
|
||||||
@@ -194,6 +171,22 @@ public class AsiakasIkkuna extends Stage {
|
|||||||
tfYhteyshenkilönSähköposti = new TextField();
|
tfYhteyshenkilönSähköposti = new TextField();
|
||||||
asiakasTiedot.addRow(asiakasTiedot.getRowCount(), yhteyshenkilönSähköposti, tfYhteyshenkilönSähköposti);
|
asiakasTiedot.addRow(asiakasTiedot.getRowCount(), yhteyshenkilönSähköposti, tfYhteyshenkilönSähköposti);
|
||||||
|
|
||||||
|
Label ruokarajoitteet = new Label("Ruokarajoitteet");
|
||||||
|
tfRuokarajoitteet = new TextField();
|
||||||
|
asiakasTiedot.addRow(asiakasTiedot.getRowCount(), ruokarajoitteet, tfRuokarajoitteet);
|
||||||
|
|
||||||
|
Label avainTieto = new Label("Avaintieto");
|
||||||
|
tfAvainTieto = new TextField();
|
||||||
|
asiakasTiedot.addRow(asiakasTiedot.getRowCount(), avainTieto, tfAvainTieto);
|
||||||
|
|
||||||
|
Label lisätiedot = new Label("Kuljetuksen lisätiedot");
|
||||||
|
tfLisätiedot = new TextField();
|
||||||
|
tfLisätiedot.setPromptText("Näkyy raporteilla");
|
||||||
|
asiakasTiedot.addRow(asiakasTiedot.getRowCount(), lisätiedot, tfLisätiedot);
|
||||||
|
|
||||||
|
hbTiedot.getChildren().addAll(asiakasTiedot, lounasTiedot, päivällisTiedot);
|
||||||
|
|
||||||
|
|
||||||
HBox napit = new HBox();
|
HBox napit = new HBox();
|
||||||
Button peruuta = new Button("Peruuta");
|
Button peruuta = new Button("Peruuta");
|
||||||
peruuta.setFont(TabPohja.BUTTON_FONT);
|
peruuta.setFont(TabPohja.BUTTON_FONT);
|
||||||
@@ -208,7 +201,7 @@ public class AsiakasIkkuna extends Stage {
|
|||||||
|
|
||||||
|
|
||||||
VBox root = new VBox();
|
VBox root = new VBox();
|
||||||
root.getChildren().addAll(tabPane, napit);
|
root.getChildren().addAll(hbTiedot, napit);
|
||||||
this.setScene(new Scene(root));
|
this.setScene(new Scene(root));
|
||||||
this.getIcons().add(new Image(Objects.requireNonNull(Main.class.getClassLoader().getResourceAsStream("kuljetusruokalaatikko.jpg"))));
|
this.getIcons().add(new Image(Objects.requireNonNull(Main.class.getClassLoader().getResourceAsStream("kuljetusruokalaatikko.jpg"))));
|
||||||
this.setAlwaysOnTop(true);
|
this.setAlwaysOnTop(true);
|
||||||
@@ -304,12 +297,7 @@ public class AsiakasIkkuna extends Stage {
|
|||||||
int maxYritykset = 3;
|
int maxYritykset = 3;
|
||||||
int yritykset = 0;
|
int yritykset = 0;
|
||||||
while (!läpi) {
|
while (!läpi) {
|
||||||
if (käsiteltäväAsiakas.getId() > 0) {
|
läpi = käsiteltäväAsiakas.tallenna();
|
||||||
läpi = käsiteltäväAsiakas.päivitäTietokantaan();
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
läpi = käsiteltäväAsiakas.tallennaUusi();
|
|
||||||
}
|
|
||||||
yritykset++;
|
yritykset++;
|
||||||
if (yritykset > maxYritykset) {
|
if (yritykset > maxYritykset) {
|
||||||
break;
|
break;
|
||||||
@@ -337,4 +325,17 @@ public class AsiakasIkkuna extends Stage {
|
|||||||
}
|
}
|
||||||
this.setAlwaysOnTop(true);
|
this.setAlwaysOnTop(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void kopioiLounasmäärätPäivälliselle() {
|
||||||
|
tfDinnerMaanantai.getValueFactory().setValue(tfMaanantai.getValue());
|
||||||
|
tfDinnerTiistai.getValueFactory().setValue(tfTiistai.getValue());
|
||||||
|
tfDinnerKeskiviikko.getValueFactory().setValue(tfKeskiviikko.getValue());
|
||||||
|
tfDinnerTorstai.getValueFactory().setValue(tfTorstai.getValue());
|
||||||
|
tfDinnerPerjantai.getValueFactory().setValue(tfPerjantai.getValue());
|
||||||
|
tfDinnerLauantai.getValueFactory().setValue(tfLauantai.getValue());
|
||||||
|
tfDinnerSunnuntai.getValueFactory().setValue(tfSunnuntai.getValue());
|
||||||
|
tfDinnerSalaatit.getValueFactory().setValue(tfSalaatit.getValue());
|
||||||
|
tfDinnerPääruoat.getValueFactory().setValue(tfPääruoat.getValue());
|
||||||
|
tfDinnerJälkiruoat.getValueFactory().setValue(tfJälkiruoat.getValue());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -192,11 +192,7 @@ public class KuljetusListat extends TabPohja {
|
|||||||
private void tallennaKierros() {
|
private void tallennaKierros() {
|
||||||
try {
|
try {
|
||||||
for (Kuljetus kuljetus : tableView.getItems()) {
|
for (Kuljetus kuljetus : tableView.getItems()) {
|
||||||
if (kuljetus.getId() > 0) {
|
kuljetus.tallenna();
|
||||||
kuljetus.päivitäTietokantaan();
|
|
||||||
} else {
|
|
||||||
kuljetus.tallennaUusi();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
tallennusStatus.setText("Tallennettu: Kyllä");
|
tallennusStatus.setText("Tallennettu: Kyllä");
|
||||||
btnTulosta.setDisable(false);
|
btnTulosta.setDisable(false);
|
||||||
|
|||||||
@@ -1,3 +1,7 @@
|
|||||||
|
# 4.1.0
|
||||||
|
- Asiakasikkunaan nappi, jolla voi kopioida lounasmäärät päivälliselle
|
||||||
|
- Asiakasikkunan uudelleenjärjestely
|
||||||
|
|
||||||
# 4.0.0
|
# 4.0.0
|
||||||
- Kuljetuslistoista luodaan lounas- ja päivällislistat erikseen
|
- Kuljetuslistoista luodaan lounas- ja päivällislistat erikseen
|
||||||
- Kuljetuslistalla asiakkaan nimeä ei voi enään muokata
|
- Kuljetuslistalla asiakkaan nimeä ei voi enään muokata
|
||||||
|
|||||||
Reference in New Issue
Block a user