Compare commits
16 Commits
3.0.0
..
6fb81c27aa
| Author | SHA1 | Date | |
|---|---|---|---|
| 6fb81c27aa | |||
| 2eb3b4e18d | |||
| 235b07763b | |||
| 68eb4e3be4 | |||
| a29fb6d0f5 | |||
| c52dbcd716 | |||
| fe078f9fb8 | |||
| c2942a7455 | |||
| 69243d9cb2 | |||
| 1d4056bc99 | |||
| c676ae8400 | |||
| deb2f49fb6 | |||
| ded6accd29 | |||
| f9e868918c | |||
| f76d4413d4 | |||
| 65b4a7ef9b |
Generated
+2
-2
@@ -1,11 +1,11 @@
|
|||||||
<component name="ProjectRunConfigurationManager">
|
<component name="ProjectRunConfigurationManager">
|
||||||
<configuration default="false" name="Main" type="Application" factoryName="Application" nameIsGenerated="true">
|
<configuration default="false" name="Main" type="Application" factoryName="Application" nameIsGenerated="true">
|
||||||
<option name="MAIN_CLASS_NAME" value="fi.lpam.ruokamanageri.Main" />
|
<option name="MAIN_CLASS_NAME" value="fi.lpam.Main" />
|
||||||
<module name="Ruokamanageri" />
|
<module name="Ruokamanageri" />
|
||||||
<option name="PROGRAM_PARAMETERS" value="DEV" />
|
<option name="PROGRAM_PARAMETERS" value="DEV" />
|
||||||
<extension name="coverage">
|
<extension name="coverage">
|
||||||
<pattern>
|
<pattern>
|
||||||
<option name="PATTERN" value="fi.lpam.ruokamanageri.*" />
|
<option name="PATTERN" value="fi.lpam.*" />
|
||||||
<option name="ENABLED" value="true" />
|
<option name="ENABLED" value="true" />
|
||||||
</pattern>
|
</pattern>
|
||||||
</extension>
|
</extension>
|
||||||
|
|||||||
Generated
-6
@@ -1,6 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="SqlDialectMappings">
|
|
||||||
<file url="PROJECT" dialect="SQLite" />
|
|
||||||
</component>
|
|
||||||
</project>
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
# [LICENSE](LICENSE)
|
# [LICENSE](LICENSE)
|
||||||
|
|
||||||
# [Versiohistoria](CHANGELOG.md)
|
# [Versiohistoria](src/main/resources/CHANGELOG.md)
|
||||||
|
|
||||||
# Kuvaus
|
# Kuvaus
|
||||||
Pienen kotiateriapalvelun käyttöön rakennettu ohjelma sisältäen seuraavat ominaisuudet
|
Pienen kotiateriapalvelun käyttöön rakennettu ohjelma sisältäen seuraavat ominaisuudet
|
||||||
@@ -9,19 +9,18 @@ Pienen kotiateriapalvelun käyttöön rakennettu ohjelma sisältäen seuraavat o
|
|||||||
- Kuljetuslistojen luominen
|
- Kuljetuslistojen luominen
|
||||||
- Kuljetettujen määrien raportointi
|
- Kuljetettujen määrien raportointi
|
||||||
|
|
||||||
## Toteutus
|
# Toteutus
|
||||||
- SQLite tietokanta
|
- SQLite tietokanta
|
||||||
- JavaFX GUI
|
- JavaFX GUI
|
||||||
- Java 25
|
- Java 25
|
||||||
- Maven
|
- Maven
|
||||||
|
|
||||||
## Käyttöönotto
|
# Käyttöönotto
|
||||||
- Vaatimukset
|
- Vaatimukset
|
||||||
- Windows
|
- Windows
|
||||||
- Java 25+
|
- Java 25+
|
||||||
- Usean tietokoneen käyttöön OneDrive -tili (samanaikaisuus ei tuettu)
|
- Usean tietokoneen käyttöön OneDrive -tili (samanaikaisuus ei tuettu)
|
||||||
- Lataa haluamasi julkaisuversio lähdekoodista
|
- Lataa haluamasi ohjelmaversio julkaisuista
|
||||||
- Maven `package` komennolla projektista luodaan .jar tiedosto
|
- Aja .JAR tiedosto
|
||||||
- .jar tiedosto sisältää kaikki riippuvuudet
|
- Tietokanta sijaitsee osoitteessa `~/OneDrive/Kuljetusruokasovellus/tietokanta.db`
|
||||||
- Tietokantatiedosto asuu osoitteessa `$KOTIKANSIO/OneDrive/Kuljetusruokasovellus/tietokanta.db`
|
|
||||||
- Ohjelma luo tietokannan, mikäli sitä ei löydy.
|
- Ohjelma luo tietokannan, mikäli sitä ei löydy.
|
||||||
@@ -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>3.0.0</version>
|
<version>3.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>
|
||||||
@@ -43,26 +43,31 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.dlsc.gemsfx</groupId>
|
<groupId>com.dlsc.gemsfx</groupId>
|
||||||
<artifactId>gemsfx</artifactId>
|
<artifactId>gemsfx</artifactId>
|
||||||
<version>3.10.1</version>
|
<version>4.0.5</version>
|
||||||
<scope>compile</scope>
|
<scope>compile</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.pdfbox</groupId>
|
<groupId>org.apache.pdfbox</groupId>
|
||||||
<artifactId>pdfbox</artifactId>
|
<artifactId>pdfbox</artifactId>
|
||||||
<version>3.0.6</version>
|
<version>3.0.7</version>
|
||||||
<scope>compile</scope>
|
<scope>compile</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>commons-logging</groupId>
|
<groupId>commons-logging</groupId>
|
||||||
<artifactId>commons-logging</artifactId>
|
<artifactId>commons-logging</artifactId>
|
||||||
<version>1.3.5</version>
|
<version>1.3.6</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.xerial</groupId>
|
<groupId>org.xerial</groupId>
|
||||||
<artifactId>sqlite-jdbc</artifactId>
|
<artifactId>sqlite-jdbc</artifactId>
|
||||||
<version>3.51.2.0</version>
|
<version>3.53.1.0</version>
|
||||||
<scope>compile</scope>
|
<scope>compile</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>one.jpro.platform</groupId>
|
||||||
|
<artifactId>jpro-mdfx</artifactId>
|
||||||
|
<version>0.6.2</version>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
@@ -92,7 +97,7 @@
|
|||||||
<!-- Usage: mvn clean javafx:run -->
|
<!-- Usage: mvn clean javafx:run -->
|
||||||
<id>default-cli</id>
|
<id>default-cli</id>
|
||||||
<configuration>
|
<configuration>
|
||||||
<mainClass>fi.lpam.ruokamanageri.Main</mainClass>
|
<mainClass>fi.lpam.Main</mainClass>
|
||||||
</configuration>
|
</configuration>
|
||||||
</execution>
|
</execution>
|
||||||
</executions>
|
</executions>
|
||||||
@@ -114,7 +119,7 @@
|
|||||||
<transformers>
|
<transformers>
|
||||||
<transformer implementation=
|
<transformer implementation=
|
||||||
"org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
|
"org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
|
||||||
<mainClass>fi.lpam.ruokamanageri.Main</mainClass>
|
<mainClass>fi.lpam.Main</mainClass>
|
||||||
</transformer>
|
</transformer>
|
||||||
</transformers>
|
</transformers>
|
||||||
</configuration>
|
</configuration>
|
||||||
|
|||||||
@@ -1,12 +1,11 @@
|
|||||||
package fi.lpam.ruokamanageri;
|
package fi.lpam;
|
||||||
import fi.lpam.ruokamanageri.dataluokat.Tietokanta;
|
import fi.lpam.dataluokat.Tietokanta;
|
||||||
import fi.lpam.ruokamanageri.gui.Asiakashallinta;
|
import fi.lpam.gui.*;
|
||||||
import fi.lpam.ruokamanageri.gui.Kierroshallinta;
|
import fi.lpam.gui.elementit.MuutosIlmoitus;
|
||||||
import fi.lpam.ruokamanageri.gui.KuljetusRaportit;
|
|
||||||
import fi.lpam.ruokamanageri.gui.KuljetusListat;
|
|
||||||
import javafx.application.Application;
|
import javafx.application.Application;
|
||||||
import javafx.geometry.Side;
|
import javafx.geometry.Side;
|
||||||
import javafx.scene.Scene;
|
import javafx.scene.Scene;
|
||||||
|
import javafx.scene.control.Alert;
|
||||||
import javafx.scene.control.Tab;
|
import javafx.scene.control.Tab;
|
||||||
import javafx.scene.control.TabPane;
|
import javafx.scene.control.TabPane;
|
||||||
import javafx.scene.image.Image;
|
import javafx.scene.image.Image;
|
||||||
@@ -30,12 +29,13 @@ public class App extends Application {
|
|||||||
root.setTabMinHeight(35);
|
root.setTabMinHeight(35);
|
||||||
root.setTabMaxHeight(50);
|
root.setTabMaxHeight(50);
|
||||||
|
|
||||||
Tab asiakasHallinta, kierrostenHallinta, kuljetusListat, kuljetetut;
|
Tab asiakasHallinta, kierrostenHallinta, kuljetusListat, kuljetetut, asetukset;
|
||||||
asiakasHallinta = new Tab("Asiakashallinta", new Asiakashallinta());
|
asiakasHallinta = new Tab("Asiakashallinta", new Asiakashallinta());
|
||||||
kierrostenHallinta = new Tab("Kierrostenhallinta");
|
kierrostenHallinta = new Tab("Kierrostenhallinta");
|
||||||
kuljetusListat = new Tab("Kuljetuslistat");
|
kuljetusListat = new Tab("Kuljetuslistat");
|
||||||
kuljetetut = new Tab("Kuljetetut");
|
kuljetetut = new Tab("Kuljetetut");
|
||||||
root.getTabs().addAll(asiakasHallinta, kierrostenHallinta, kuljetusListat, kuljetetut);
|
asetukset = new Tab("Asetukset");
|
||||||
|
root.getTabs().addAll(asiakasHallinta, kierrostenHallinta, kuljetusListat, kuljetetut, asetukset);
|
||||||
|
|
||||||
root.getSelectionModel().selectedItemProperty().addListener((_, _, newValue) -> {
|
root.getSelectionModel().selectedItemProperty().addListener((_, _, newValue) -> {
|
||||||
switch (newValue.getText()) {
|
switch (newValue.getText()) {
|
||||||
@@ -43,6 +43,7 @@ public class App extends Application {
|
|||||||
case "Kierrostenhallinta": newValue.setContent(new Kierroshallinta()); break;
|
case "Kierrostenhallinta": newValue.setContent(new Kierroshallinta()); break;
|
||||||
case "Kuljetuslistat": newValue.setContent(new KuljetusListat()); break;
|
case "Kuljetuslistat": newValue.setContent(new KuljetusListat()); break;
|
||||||
case "Kuljetetut": newValue.setContent(new KuljetusRaportit()); break;
|
case "Kuljetetut": newValue.setContent(new KuljetusRaportit()); break;
|
||||||
|
case "Asetukset": newValue.setContent(new Asetukset()); break;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -63,5 +64,7 @@ public class App extends Application {
|
|||||||
primaryStage.setMaximized(true);
|
primaryStage.setMaximized(true);
|
||||||
primaryStage.show();
|
primaryStage.show();
|
||||||
primaryStage.getIcons().add(new Image(Objects.requireNonNull(Main.class.getClassLoader().getResourceAsStream("kuljetusruokalaatikko.jpg"))));
|
primaryStage.getIcons().add(new Image(Objects.requireNonNull(Main.class.getClassLoader().getResourceAsStream("kuljetusruokalaatikko.jpg"))));
|
||||||
|
|
||||||
|
if (!Main.properties.getProperty("version").equals(Main.properties.getProperty("viimeisinVersio"))) new MuutosIlmoitus();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
package fi.lpam;
|
||||||
|
|
||||||
|
import org.apache.commons.lang3.SystemUtils;
|
||||||
|
|
||||||
|
import java.io.*;
|
||||||
|
import java.nio.file.Path;
|
||||||
|
import java.util.Properties;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
public static boolean dev;
|
||||||
|
public static Properties properties;
|
||||||
|
|
||||||
|
public static final File asetustiedosto = Path.of(SystemUtils.getUserHome().getAbsolutePath(), "OneDrive", "Kuljetusruokasovellus", "asetukset.properties").toFile();
|
||||||
|
|
||||||
|
static void main(String[] args) {
|
||||||
|
//noinspection RedundantIfStatement
|
||||||
|
if (args.length > 0) {
|
||||||
|
dev = true;
|
||||||
|
} else {
|
||||||
|
dev = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
Properties defaults = new Properties();
|
||||||
|
defaults.load(Main.class.getClassLoader().getResourceAsStream("defaults.properties"));
|
||||||
|
properties = new Properties(defaults);
|
||||||
|
properties.load(new FileInputStream(asetustiedosto));
|
||||||
|
}
|
||||||
|
catch (IOException e) {
|
||||||
|
//noinspection CallToPrintStackTrace
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
App.main();
|
||||||
|
|
||||||
|
try (OutputStream os = new FileOutputStream(asetustiedosto)) {
|
||||||
|
properties.store(os, "");
|
||||||
|
} catch (IOException e) {
|
||||||
|
//noinspection CallToPrintStackTrace
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
package fi.lpam.ruokamanageri.dataluokat;
|
package fi.lpam.dataluokat;
|
||||||
|
|
||||||
import fi.lpam.ruokamanageri.gui.virheDialogit.SiirtoVirhe;
|
import fi.lpam.gui.virheDialogit.SiirtoVirhe;
|
||||||
|
|
||||||
import java.sql.*;
|
import java.sql.*;
|
||||||
import java.time.DayOfWeek;
|
import java.time.DayOfWeek;
|
||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
package fi.lpam.ruokamanageri.dataluokat;
|
package fi.lpam.dataluokat;
|
||||||
|
|
||||||
import fi.lpam.ruokamanageri.gui.virheDialogit.SiirtoVirhe;
|
import fi.lpam.gui.virheDialogit.SiirtoVirhe;
|
||||||
import javafx.collections.FXCollections;
|
import javafx.collections.FXCollections;
|
||||||
import javafx.collections.ObservableList;
|
import javafx.collections.ObservableList;
|
||||||
|
|
||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
package fi.lpam.ruokamanageri.dataluokat;
|
package fi.lpam.dataluokat;
|
||||||
|
|
||||||
import fi.lpam.ruokamanageri.gui.virheDialogit.SiirtoVirhe;
|
import fi.lpam.gui.virheDialogit.SiirtoVirhe;
|
||||||
|
|
||||||
import java.sql.*;
|
import java.sql.*;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
package fi.lpam.ruokamanageri.dataluokat;
|
package fi.lpam.dataluokat;
|
||||||
|
|
||||||
import fi.lpam.ruokamanageri.gui.virheDialogit.SiirtoVirhe;
|
import fi.lpam.gui.virheDialogit.SiirtoVirhe;
|
||||||
|
|
||||||
import java.sql.*;
|
import java.sql.*;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
+9
-9
@@ -1,28 +1,28 @@
|
|||||||
package fi.lpam.ruokamanageri.dataluokat;
|
package fi.lpam.dataluokat;
|
||||||
|
|
||||||
import fi.lpam.ruokamanageri.gui.virheDialogit.SiirtoVirhe;
|
import fi.lpam.gui.virheDialogit.SiirtoVirhe;
|
||||||
|
|
||||||
import fi.lpam.ruokamanageri.Main;
|
import fi.lpam.Main;
|
||||||
import org.apache.commons.lang3.SystemUtils;
|
import org.apache.commons.lang3.SystemUtils;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
|
import java.nio.file.Path;
|
||||||
import java.sql.*;
|
import java.sql.*;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
public class Tietokanta {
|
public class Tietokanta {
|
||||||
private static String osoite;
|
private static String osoite;
|
||||||
private static String dbPath = SystemUtils.getUserHome().getAbsolutePath() + "\\OneDrive\\Kuljetusruokasovellus\\tietokanta.db";
|
private static File tietokantatiedosto = Path.of(SystemUtils.getUserHome().getAbsolutePath(), "OneDrive", "Kuljetusruokasovellus", "tietokanta.db").toFile();
|
||||||
|
|
||||||
public Tietokanta(boolean dev) {
|
public Tietokanta(boolean dev) {
|
||||||
if (dev) dbPath = "testikanta.db";
|
if (dev) tietokantatiedosto = new File("testikanta.db");
|
||||||
File file = new File(dbPath);
|
|
||||||
try {
|
try {
|
||||||
boolean _ = file.getParentFile().mkdirs();
|
boolean _ = tietokantatiedosto.getParentFile().mkdirs();
|
||||||
boolean _ = file.createNewFile();
|
boolean _ = tietokantatiedosto.createNewFile();
|
||||||
}
|
}
|
||||||
catch (Exception _) {}
|
catch (Exception _) {}
|
||||||
|
|
||||||
osoite = "jdbc:sqlite:" + file.getAbsolutePath();
|
osoite = "jdbc:sqlite:" + tietokantatiedosto.getAbsolutePath();
|
||||||
|
|
||||||
|
|
||||||
try (Connection conn = haeYhteys()) {
|
try (Connection conn = haeYhteys()) {
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package fi.lpam.ruokamanageri.dataluokat;
|
package fi.lpam.dataluokat;
|
||||||
|
|
||||||
public interface TietokantaOlio {
|
public interface TietokantaOlio {
|
||||||
|
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
package fi.lpam.gui;
|
||||||
|
|
||||||
|
import fi.lpam.gui.elementit.TabPohja;
|
||||||
|
import javafx.geometry.Pos;
|
||||||
|
import javafx.scene.control.Button;
|
||||||
|
import javafx.scene.control.Label;
|
||||||
|
import javafx.scene.layout.BorderPane;
|
||||||
|
import javafx.scene.layout.HBox;
|
||||||
|
|
||||||
|
|
||||||
|
public class Asetukset extends TabPohja {
|
||||||
|
public Asetukset() {
|
||||||
|
BorderPane root = new BorderPane();
|
||||||
|
root.setPadding(oletusInsets);
|
||||||
|
|
||||||
|
HBox yläpalkki = new HBox();
|
||||||
|
yläpalkki.setSpacing(5);
|
||||||
|
yläpalkki.setAlignment(Pos.CENTER_RIGHT);
|
||||||
|
Button btnTallenna = new Button("Tallenna");
|
||||||
|
btnTallenna.setFont(buttonFont);
|
||||||
|
btnTallenna.setOnAction(e -> tallennaAsetukset());
|
||||||
|
yläpalkki.getChildren().add(btnTallenna);
|
||||||
|
root.setTop(yläpalkki);
|
||||||
|
|
||||||
|
|
||||||
|
root.setCenter(new Label("Asetukset"));
|
||||||
|
|
||||||
|
this.getChildren().add(root);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void tallennaAsetukset() {
|
||||||
|
throw new RuntimeException("Not implemented");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void näytäAsetukset() {
|
||||||
|
throw new RuntimeException("Not implemented");
|
||||||
|
}
|
||||||
|
}
|
||||||
+11
-6
@@ -1,10 +1,10 @@
|
|||||||
package fi.lpam.ruokamanageri.gui;
|
package fi.lpam.gui;
|
||||||
|
|
||||||
import fi.lpam.ruokamanageri.dataluokat.Asiakas;
|
import fi.lpam.dataluokat.Asiakas;
|
||||||
|
|
||||||
import fi.lpam.ruokamanageri.gui.elementit.IntegerSpinner;
|
import fi.lpam.gui.elementit.IntegerSpinner;
|
||||||
import fi.lpam.ruokamanageri.gui.elementit.TabPohja;
|
import fi.lpam.gui.elementit.TabPohja;
|
||||||
import fi.lpam.ruokamanageri.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.geometry.Side;
|
||||||
@@ -30,7 +30,12 @@ public class AsiakasIkkuna extends Stage {
|
|||||||
*/
|
*/
|
||||||
public AsiakasIkkuna(Asiakas käsiteltäväAsiakas) {
|
public AsiakasIkkuna(Asiakas käsiteltäväAsiakas) {
|
||||||
this.käsiteltäväAsiakas = käsiteltäväAsiakas;
|
this.käsiteltäväAsiakas = käsiteltäväAsiakas;
|
||||||
this.setTitle("Asiakasikkuna");
|
if (käsiteltäväAsiakas.getNimi() != null) {
|
||||||
|
this.setTitle(käsiteltäväAsiakas.getNimi());
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
this.setTitle("Uusi asiakas");
|
||||||
|
}
|
||||||
|
|
||||||
TabPane tabPane = new TabPane();
|
TabPane tabPane = new TabPane();
|
||||||
tabPane.setSide(Side.LEFT);
|
tabPane.setSide(Side.LEFT);
|
||||||
+18
-19
@@ -1,8 +1,8 @@
|
|||||||
package fi.lpam.ruokamanageri.gui;
|
package fi.lpam.gui;
|
||||||
|
|
||||||
import fi.lpam.ruokamanageri.dataluokat.Asiakas;
|
import fi.lpam.dataluokat.Asiakas;
|
||||||
import fi.lpam.ruokamanageri.gui.elementit.MaaraTableColumn;
|
import fi.lpam.gui.elementit.MaaraTableColumn;
|
||||||
import fi.lpam.ruokamanageri.gui.elementit.TabPohja;
|
import fi.lpam.gui.elementit.TabPohja;
|
||||||
import javafx.collections.FXCollections;
|
import javafx.collections.FXCollections;
|
||||||
import javafx.scene.control.*;
|
import javafx.scene.control.*;
|
||||||
import javafx.scene.control.Button;
|
import javafx.scene.control.Button;
|
||||||
@@ -13,7 +13,6 @@ import javafx.scene.input.MouseEvent;
|
|||||||
import javafx.scene.layout.*;
|
import javafx.scene.layout.*;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.io.File;
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.URI;
|
import java.net.URI;
|
||||||
import java.net.URISyntaxException;
|
import java.net.URISyntaxException;
|
||||||
@@ -83,11 +82,11 @@ public class Asiakashallinta extends TabPohja {
|
|||||||
});
|
});
|
||||||
root.setCenter(tvAsiakkaat);
|
root.setCenter(tvAsiakkaat);
|
||||||
|
|
||||||
|
TableColumn<Asiakas, String> tcId = new TableColumn<>("Id");
|
||||||
|
tcId.setCellValueFactory(new PropertyValueFactory<>("id"));
|
||||||
TableColumn<Asiakas, String> tcNimi = new TableColumn<>("Nimi");
|
TableColumn<Asiakas, String> tcNimi = new TableColumn<>("Nimi");
|
||||||
tcNimi.setMinWidth(180);
|
|
||||||
tcNimi.setCellValueFactory(new PropertyValueFactory<>("nimi"));
|
tcNimi.setCellValueFactory(new PropertyValueFactory<>("nimi"));
|
||||||
TableColumn<Asiakas, String> tcOsoite = new TableColumn<>("Osoite");
|
TableColumn<Asiakas, String> tcOsoite = new TableColumn<>("Osoite");
|
||||||
tcOsoite.setMinWidth(250);
|
|
||||||
tcOsoite.setCellValueFactory(new PropertyValueFactory<>("osoite"));
|
tcOsoite.setCellValueFactory(new PropertyValueFactory<>("osoite"));
|
||||||
|
|
||||||
int minWidth = 40;
|
int minWidth = 40;
|
||||||
@@ -109,42 +108,42 @@ public class Asiakashallinta extends TabPohja {
|
|||||||
tcKuljetuspäivät.getColumns().addAll(tcMaanantaiKpl, tcTiistaiKpl, tcKeskiviikkoKpl, tcTorstaiKpl, tcPerjantaiKpl, tcLauantaiKpl, tcSunnuntaiKpl);
|
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");
|
TableColumn<Asiakas, MaaraTableColumn<Asiakas, Integer>> tcKuljetusmäärät = new TableColumn<>("Määrät per kuljetus");
|
||||||
MaaraTableColumn<Asiakas, Integer> tcSalaatit = new MaaraTableColumn<>("Salaatit", 80);
|
MaaraTableColumn<Asiakas, Integer> tcSalaatit = new MaaraTableColumn<>("Salaatit", minWidth, 150);
|
||||||
tcSalaatit.setCellValueFactory(new PropertyValueFactory<>("salaatit"));
|
tcSalaatit.setCellValueFactory(new PropertyValueFactory<>("salaatit"));
|
||||||
MaaraTableColumn<Asiakas, Integer> tcPääruoat = new MaaraTableColumn<>("Pääruoat", 80);
|
MaaraTableColumn<Asiakas, Integer> tcPääruoat = new MaaraTableColumn<>("Pääruoat", minWidth, 150);
|
||||||
tcPääruoat.setCellValueFactory(new PropertyValueFactory<>("pääruoat"));
|
tcPääruoat.setCellValueFactory(new PropertyValueFactory<>("pääruoat"));
|
||||||
MaaraTableColumn<Asiakas, Integer> tcJälkiruoat = new MaaraTableColumn<>("Jälkiruoat", 80);
|
MaaraTableColumn<Asiakas, Integer> tcJälkiruoat = new MaaraTableColumn<>("Jälkiruoat", minWidth, 150);
|
||||||
tcJälkiruoat.setCellValueFactory(new PropertyValueFactory<>("jälkiruoat"));
|
tcJälkiruoat.setCellValueFactory(new PropertyValueFactory<>("jälkiruoat"));
|
||||||
tcKuljetusmäärät.getColumns().addAll(tcSalaatit, tcPääruoat, tcJälkiruoat);
|
tcKuljetusmäärät.getColumns().addAll(tcSalaatit, tcPääruoat, tcJälkiruoat);
|
||||||
|
|
||||||
TableColumn<Asiakas, String> tcErityisruokavalio = new TableColumn<>("Ruokarajoitteet");
|
TableColumn<Asiakas, String> tcErityisruokavalio = new TableColumn<>("Ruokarajoitteet");
|
||||||
tcErityisruokavalio.setMinWidth(150);
|
// tcErityisruokavalio.setMinWidth(150);
|
||||||
tcErityisruokavalio.setCellValueFactory(new PropertyValueFactory<>("erityisruokavalio"));
|
tcErityisruokavalio.setCellValueFactory(new PropertyValueFactory<>("erityisruokavalio"));
|
||||||
TableColumn<Asiakas, String> tcAvainTieto = new TableColumn<>("Avaintieto");
|
TableColumn<Asiakas, String> tcAvainTieto = new TableColumn<>("Avaintieto");
|
||||||
tcAvainTieto.setMinWidth(150);
|
// tcAvainTieto.setMinWidth(150);
|
||||||
tcAvainTieto.setCellValueFactory(new PropertyValueFactory<>("avainTieto"));
|
tcAvainTieto.setCellValueFactory(new PropertyValueFactory<>("avainTieto"));
|
||||||
TableColumn<Asiakas, String> tcLisätiedot = new TableColumn<>("Lisätieto kuljetukselle");
|
TableColumn<Asiakas, String> tcLisätiedot = new TableColumn<>("Lisätieto kuljetukselle");
|
||||||
tcLisätiedot.setMinWidth(250);
|
// tcLisätiedot.setMinWidth(250);
|
||||||
tcLisätiedot.setCellValueFactory(new PropertyValueFactory<>("lisätiedot"));
|
tcLisätiedot.setCellValueFactory(new PropertyValueFactory<>("lisätiedot"));
|
||||||
TableColumn<Asiakas, String> tcYhteyshenkilönNimi = new TableColumn<>("Yhteyshenkilö");
|
TableColumn<Asiakas, String> tcYhteyshenkilönNimi = new TableColumn<>("Yhteyshenkilö");
|
||||||
tcYhteyshenkilönNimi.setMinWidth(250);
|
// tcYhteyshenkilönNimi.setMinWidth(250);
|
||||||
tcYhteyshenkilönNimi.setCellValueFactory(new PropertyValueFactory<>("yhteyshenkilönNimi"));
|
tcYhteyshenkilönNimi.setCellValueFactory(new PropertyValueFactory<>("yhteyshenkilönNimi"));
|
||||||
TableColumn<Asiakas, String> tcLaskutusOsoite = new TableColumn<>("Laskutusosoite");
|
TableColumn<Asiakas, String> tcLaskutusOsoite = new TableColumn<>("Laskutusosoite");
|
||||||
tcLaskutusOsoite.setMinWidth(250);
|
// tcLaskutusOsoite.setMinWidth(250);
|
||||||
tcLaskutusOsoite.setCellValueFactory(new PropertyValueFactory<>("laskutusOsoite"));
|
tcLaskutusOsoite.setCellValueFactory(new PropertyValueFactory<>("laskutusOsoite"));
|
||||||
TableColumn<Asiakas, String> tcYhteyshenkilönPuhelinnumero = new TableColumn<>("Yhteyshenkilön puhelinnumero");
|
TableColumn<Asiakas, String> tcYhteyshenkilönPuhelinnumero = new TableColumn<>("Yhteyshenkilön puhelinnumero");
|
||||||
tcYhteyshenkilönPuhelinnumero.setMinWidth(250);
|
// tcYhteyshenkilönPuhelinnumero.setMinWidth(250);
|
||||||
tcYhteyshenkilönPuhelinnumero.setCellValueFactory(new PropertyValueFactory<>("yhteyshenkilönPuhelinnumero"));
|
tcYhteyshenkilönPuhelinnumero.setCellValueFactory(new PropertyValueFactory<>("yhteyshenkilönPuhelinnumero"));
|
||||||
TableColumn<Asiakas, String> tcYhteyshenkilönSähköposti = new TableColumn<>("Yhteyshenkilön sähköposti");
|
TableColumn<Asiakas, String> tcYhteyshenkilönSähköposti = new TableColumn<>("Yhteyshenkilön sähköposti");
|
||||||
tcYhteyshenkilönSähköposti.setMinWidth(250);
|
// tcYhteyshenkilönSähköposti.setMinWidth(250);
|
||||||
tcYhteyshenkilönSähköposti.setCellValueFactory(new PropertyValueFactory<>("yhteyshenkilönSähköposti"));
|
tcYhteyshenkilönSähköposti.setCellValueFactory(new PropertyValueFactory<>("yhteyshenkilönSähköposti"));
|
||||||
|
|
||||||
tvAsiakkaat.getColumns().addAll(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, tcKuljetuspäivät, tcKuljetusmäärät, tcErityisruokavalio, tcAvainTieto, tcLisätiedot, tcYhteyshenkilönNimi, tcLaskutusOsoite, tcYhteyshenkilönPuhelinnumero, tcYhteyshenkilönSähköposti);
|
||||||
|
|
||||||
for (TableColumn<Asiakas, ?> column : tvAsiakkaat.getColumns()) {
|
for (TableColumn<Asiakas, ?> column : tvAsiakkaat.getColumns()) {
|
||||||
column.setEditable(false);
|
column.setEditable(false);
|
||||||
column.setReorderable(false);
|
column.setReorderable(false);
|
||||||
column.setResizable(false);
|
column.setResizable(true);
|
||||||
column.setStyle("-fx-alignment: CENTER; -fx-font-size: 16px;");
|
column.setStyle("-fx-alignment: CENTER; -fx-font-size: 16px;");
|
||||||
|
|
||||||
}
|
}
|
||||||
+17
-19
@@ -1,11 +1,11 @@
|
|||||||
package fi.lpam.ruokamanageri.gui;
|
package fi.lpam.gui;
|
||||||
|
|
||||||
import com.dlsc.gemsfx.MultiColumnListView;
|
import com.dlsc.gemsfx.MultiColumnListView;
|
||||||
|
|
||||||
import fi.lpam.ruokamanageri.dataluokat.Asiakas;
|
import fi.lpam.dataluokat.Asiakas;
|
||||||
import fi.lpam.ruokamanageri.dataluokat.Kierros;
|
import fi.lpam.dataluokat.Kierros;
|
||||||
import fi.lpam.ruokamanageri.gui.elementit.AsiakasListCell;
|
import fi.lpam.gui.elementit.AsiakasListCell;
|
||||||
import fi.lpam.ruokamanageri.gui.elementit.TabPohja;
|
import fi.lpam.gui.elementit.TabPohja;
|
||||||
|
|
||||||
import javafx.collections.FXCollections;
|
import javafx.collections.FXCollections;
|
||||||
import javafx.collections.ObservableList;
|
import javafx.collections.ObservableList;
|
||||||
@@ -47,7 +47,10 @@ public class Kierroshallinta extends TabPohja {
|
|||||||
yläpalkki.setRight(yläpalkinNapit);
|
yläpalkki.setRight(yläpalkinNapit);
|
||||||
|
|
||||||
Button lisääKierros = new Button("Lisää uusi kierros");
|
Button lisääKierros = new Button("Lisää uusi kierros");
|
||||||
lisääKierros.setOnAction(_ -> lisaaKierros());
|
lisääKierros.setOnAction(_ -> {
|
||||||
|
int uudenKierroksenNumero = mclv.getColumns().size();
|
||||||
|
lisaaKierros(new Kierros(uudenKierroksenNumero, FXCollections.observableArrayList(new ArrayList<>())));
|
||||||
|
});
|
||||||
lisääKierros.setFont(TabPohja.buttonFont);
|
lisääKierros.setFont(TabPohja.buttonFont);
|
||||||
yläpalkinNapit.getChildren().add(lisääKierros);
|
yläpalkinNapit.getChildren().add(lisääKierros);
|
||||||
|
|
||||||
@@ -67,14 +70,11 @@ public class Kierroshallinta extends TabPohja {
|
|||||||
HashSet<Integer> kierroksellaOlevatAsiakasIDt = new HashSet<>();
|
HashSet<Integer> kierroksellaOlevatAsiakasIDt = new HashSet<>();
|
||||||
|
|
||||||
if (!kierrokset.isEmpty()) {
|
if (!kierrokset.isEmpty()) {
|
||||||
for (Kierros k : kierrokset) {
|
for (Kierros kierros : kierrokset) {
|
||||||
MultiColumnListView.ListViewColumn<Asiakas> sarake = new MultiColumnListView.ListViewColumn<>();
|
lisaaKierros(kierros);
|
||||||
sarake.setHeader(new Label("Kierros " + k.getKierrosNumero()));
|
for (Asiakas asiakas : kierros.getAsiakkaat()) {
|
||||||
sarake.setItems(k.getAsiakkaat());
|
|
||||||
for (Asiakas asiakas : k.getAsiakkaat()) {
|
|
||||||
kierroksellaOlevatAsiakasIDt.add(asiakas.getId());
|
kierroksellaOlevatAsiakasIDt.add(asiakas.getId());
|
||||||
}
|
}
|
||||||
mclv.getColumns().add(sarake);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -89,14 +89,12 @@ public class Kierroshallinta extends TabPohja {
|
|||||||
mclv.getColumns().add(colEiKierroksella);
|
mclv.getColumns().add(colEiKierroksella);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void lisaaKierros() {
|
private void lisaaKierros(Kierros kierros) {
|
||||||
int uudenKierroksenNumero = mclv.getColumns().size();
|
if (kierros.getId() == -1) kierrokset.add(kierros);
|
||||||
Kierros lisättäväKierros = new Kierros(uudenKierroksenNumero, FXCollections.observableArrayList(new ArrayList<>()));
|
|
||||||
kierrokset.add(lisättäväKierros);
|
|
||||||
MultiColumnListView.ListViewColumn<Asiakas> uusiSarake = new MultiColumnListView.ListViewColumn<>();
|
MultiColumnListView.ListViewColumn<Asiakas> uusiSarake = new MultiColumnListView.ListViewColumn<>();
|
||||||
uusiSarake.setHeader(new Label("Kierros " + uudenKierroksenNumero));
|
uusiSarake.setHeader(new Label("Kierros " + kierros.getKierrosNumero()));
|
||||||
uusiSarake.setItems(lisättäväKierros.getAsiakkaat());
|
uusiSarake.setItems(kierros.getAsiakkaat());
|
||||||
mclv.getColumns().add(uudenKierroksenNumero-1, uusiSarake);
|
mclv.getColumns().add(kierros.getKierrosNumero()-1, uusiSarake);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void tallennaKierrokset() {
|
private void tallennaKierrokset() {
|
||||||
+9
-9
@@ -1,13 +1,13 @@
|
|||||||
package fi.lpam.ruokamanageri.gui;
|
package fi.lpam.gui;
|
||||||
|
|
||||||
import fi.lpam.ruokamanageri.dataluokat.Asiakas;
|
import fi.lpam.dataluokat.Asiakas;
|
||||||
import fi.lpam.ruokamanageri.dataluokat.Kierros;
|
import fi.lpam.dataluokat.Kierros;
|
||||||
import fi.lpam.ruokamanageri.dataluokat.Kuljetus;
|
import fi.lpam.dataluokat.Kuljetus;
|
||||||
import fi.lpam.ruokamanageri.gui.tableCell.IntegerFieldTableCellFactory;
|
import fi.lpam.gui.tableCell.IntegerFieldTableCellFactory;
|
||||||
import fi.lpam.ruokamanageri.gui.tableCell.KuljetaTableCell;
|
import fi.lpam.gui.tableCell.KuljetaTableCell;
|
||||||
import fi.lpam.ruokamanageri.tulostajat.KuljetusListaTulostaja;
|
import fi.lpam.tulostajat.KuljetusListaTulostaja;
|
||||||
import fi.lpam.ruokamanageri.gui.elementit.MaaraTableColumn;
|
import fi.lpam.gui.elementit.MaaraTableColumn;
|
||||||
import fi.lpam.ruokamanageri.gui.elementit.TabPohja;
|
import fi.lpam.gui.elementit.TabPohja;
|
||||||
|
|
||||||
import javafx.beans.property.SimpleBooleanProperty;
|
import javafx.beans.property.SimpleBooleanProperty;
|
||||||
import javafx.collections.FXCollections;
|
import javafx.collections.FXCollections;
|
||||||
+5
-5
@@ -1,9 +1,9 @@
|
|||||||
package fi.lpam.ruokamanageri.gui;
|
package fi.lpam.gui;
|
||||||
|
|
||||||
import fi.lpam.ruokamanageri.dataluokat.RaporttiRivi;
|
import fi.lpam.dataluokat.RaporttiRivi;
|
||||||
import fi.lpam.ruokamanageri.tulostajat.KuljetusRaporttiTulostaja;
|
import fi.lpam.tulostajat.KuljetusRaporttiTulostaja;
|
||||||
import fi.lpam.ruokamanageri.gui.tableCell.PaivamaaraTableCell;
|
import fi.lpam.gui.tableCell.PaivamaaraTableCell;
|
||||||
import fi.lpam.ruokamanageri.gui.elementit.TabPohja;
|
import fi.lpam.gui.elementit.TabPohja;
|
||||||
import javafx.collections.FXCollections;
|
import javafx.collections.FXCollections;
|
||||||
import javafx.geometry.Pos;
|
import javafx.geometry.Pos;
|
||||||
import javafx.scene.control.*;
|
import javafx.scene.control.*;
|
||||||
+9
-8
@@ -1,9 +1,10 @@
|
|||||||
package fi.lpam.ruokamanageri.gui.elementit;
|
package fi.lpam.gui.elementit;
|
||||||
|
|
||||||
import com.dlsc.gemsfx.MultiColumnListView;
|
import com.dlsc.gemsfx.MultiColumnListView;
|
||||||
import fi.lpam.ruokamanageri.dataluokat.Asiakas;
|
import fi.lpam.dataluokat.Asiakas;
|
||||||
import javafx.beans.property.BooleanProperty;
|
import javafx.beans.property.BooleanProperty;
|
||||||
import javafx.beans.property.SimpleBooleanProperty;
|
import javafx.beans.property.SimpleBooleanProperty;
|
||||||
|
import javafx.geometry.Pos;
|
||||||
import javafx.scene.Node;
|
import javafx.scene.Node;
|
||||||
import javafx.scene.control.ContentDisplay;
|
import javafx.scene.control.ContentDisplay;
|
||||||
import javafx.scene.control.Label;
|
import javafx.scene.control.Label;
|
||||||
@@ -14,12 +15,10 @@ import javafx.scene.layout.VBox;
|
|||||||
public class AsiakasListCell extends MultiColumnListView.ColumnListCell<Asiakas> {
|
public class AsiakasListCell extends MultiColumnListView.ColumnListCell<Asiakas> {
|
||||||
private final StackPane wrapper;
|
private final StackPane wrapper;
|
||||||
|
|
||||||
public AsiakasListCell(MultiColumnListView multiColumnListView) {
|
public AsiakasListCell(MultiColumnListView<Asiakas> multiColumnListView) {
|
||||||
//noinspection unchecked
|
|
||||||
super(multiColumnListView);
|
super(multiColumnListView);
|
||||||
this.setHeight(150);
|
this.setMinHeight(60);
|
||||||
this.setPrefHeight(50);
|
this.setMaxHeight(60);
|
||||||
|
|
||||||
|
|
||||||
VBox content = new VBox();
|
VBox content = new VBox();
|
||||||
content.visibleProperty().bind(placeholder.not().and(emptyProperty().not()));
|
content.visibleProperty().bind(placeholder.not().and(emptyProperty().not()));
|
||||||
@@ -30,9 +29,11 @@ public class AsiakasListCell extends MultiColumnListView.ColumnListCell<Asiakas>
|
|||||||
contentPlaceholder.managedProperty().bind(placeholder);
|
contentPlaceholder.managedProperty().bind(placeholder);
|
||||||
|
|
||||||
Label label = new Label();
|
Label label = new Label();
|
||||||
|
label.setFont(TabPohja.tekstiFont);
|
||||||
label.textProperty().bind(textProperty());
|
label.textProperty().bind(textProperty());
|
||||||
|
|
||||||
wrapper = new StackPane(content, contentPlaceholder, label);
|
wrapper = new StackPane(content, contentPlaceholder, label);
|
||||||
|
wrapper.setAlignment(Pos.CENTER_LEFT);
|
||||||
setGraphic(wrapper);
|
setGraphic(wrapper);
|
||||||
setContentDisplay(ContentDisplay.GRAPHIC_ONLY);
|
setContentDisplay(ContentDisplay.GRAPHIC_ONLY);
|
||||||
}
|
}
|
||||||
@@ -59,7 +60,7 @@ public class AsiakasListCell extends MultiColumnListView.ColumnListCell<Asiakas>
|
|||||||
placeholder.set(true);
|
placeholder.set(true);
|
||||||
setText("");
|
setText("");
|
||||||
} else {
|
} else {
|
||||||
setText(asiakas.getNimi() + ": " + asiakas.getOsoite());
|
setText(asiakas.getNimi() + "\n" + asiakas.getOsoite());
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
setText("");
|
setText("");
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package fi.lpam.ruokamanageri.gui.elementit;
|
package fi.lpam.gui.elementit;
|
||||||
|
|
||||||
import javafx.scene.control.Spinner;
|
import javafx.scene.control.Spinner;
|
||||||
import javafx.scene.control.SpinnerValueFactory;
|
import javafx.scene.control.SpinnerValueFactory;
|
||||||
+8
-10
@@ -1,21 +1,19 @@
|
|||||||
package fi.lpam.ruokamanageri.gui.elementit;
|
package fi.lpam.gui.elementit;
|
||||||
|
|
||||||
import javafx.scene.control.TableColumn;
|
import javafx.scene.control.TableColumn;
|
||||||
|
|
||||||
public class MaaraTableColumn<Asiakas, Integer> extends TableColumn<Asiakas, Integer> {
|
public class MaaraTableColumn<Asiakas, Integer> extends TableColumn<Asiakas, Integer> {
|
||||||
public MaaraTableColumn(String columnLabel, int width) {
|
|
||||||
super(columnLabel);
|
|
||||||
this.setResizable(false);
|
|
||||||
this.setReorderable(false);
|
|
||||||
this.setMinWidth(width);
|
|
||||||
this.setMaxWidth(width);
|
|
||||||
}
|
|
||||||
|
|
||||||
public MaaraTableColumn(String columnLabel, int minWidth, int maxWidth) {
|
public MaaraTableColumn(String columnLabel, int minWidth, int maxWidth) {
|
||||||
super(columnLabel);
|
super(columnLabel);
|
||||||
this.setResizable(false);
|
this.setResizable(true);
|
||||||
this.setReorderable(false);
|
this.setReorderable(false);
|
||||||
this.setMinWidth(minWidth);
|
this.setMinWidth(minWidth);
|
||||||
this.setMaxWidth(maxWidth);
|
this.setMaxWidth(maxWidth);
|
||||||
|
this.setStyle("-fx-alignment: CENTER; -fx-font-size: 16px;");
|
||||||
|
}
|
||||||
|
|
||||||
|
public MaaraTableColumn(String columnLabel, int width) {
|
||||||
|
this(columnLabel, width, width);
|
||||||
|
this.setResizable(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,54 @@
|
|||||||
|
package fi.lpam.gui.elementit;
|
||||||
|
|
||||||
|
import fi.lpam.Main;
|
||||||
|
import javafx.geometry.Pos;
|
||||||
|
import javafx.scene.Scene;
|
||||||
|
import javafx.scene.control.Button;
|
||||||
|
import javafx.scene.layout.*;
|
||||||
|
import javafx.scene.paint.Color;
|
||||||
|
import javafx.stage.Stage;
|
||||||
|
import one.jpro.platform.mdfx.MarkdownView;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
public class MuutosIlmoitus extends Stage {
|
||||||
|
public MuutosIlmoitus() {
|
||||||
|
super();
|
||||||
|
VBox root = new VBox();
|
||||||
|
root.setBorder(TabPohja.oletusBorder);
|
||||||
|
root.setPadding(TabPohja.oletusInsets);
|
||||||
|
root.setAlignment(Pos.CENTER);
|
||||||
|
root.setSpacing(10);
|
||||||
|
|
||||||
|
String md;
|
||||||
|
try (InputStreamReader isr = new InputStreamReader(Objects.requireNonNull(Main.class.getClassLoader().getResourceAsStream("CHANGELOG.md")))) {
|
||||||
|
md = isr.readAllAsString();
|
||||||
|
int toinenMerkintä = md.indexOf("# ", 1);
|
||||||
|
int kolmasMerkintä = md.indexOf("# ", toinenMerkintä + 1);
|
||||||
|
int endIndex = md.indexOf("# ", kolmasMerkintä + 1);
|
||||||
|
md = md.substring(0, endIndex);
|
||||||
|
}
|
||||||
|
catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
md = "# Virhe versiolokin haussa";
|
||||||
|
}
|
||||||
|
|
||||||
|
MarkdownView markdownView = new MarkdownView(md);
|
||||||
|
root.getChildren().add(markdownView);
|
||||||
|
|
||||||
|
Button ok = new Button("OK");
|
||||||
|
ok.setFont(TabPohja.buttonFont);
|
||||||
|
ok.setOnAction(e -> this.close());
|
||||||
|
root.getChildren().add(ok);
|
||||||
|
|
||||||
|
Scene scene = new Scene(root);
|
||||||
|
this.setScene(scene);
|
||||||
|
this.setTitle("Uusi versio, katso muutokset alta!");
|
||||||
|
this.setResizable(false);
|
||||||
|
this.show();
|
||||||
|
|
||||||
|
Main.properties.setProperty("viimeisinVersio", Main.properties.getProperty("version"));
|
||||||
|
}
|
||||||
|
}
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package fi.lpam.ruokamanageri.gui.elementit;
|
package fi.lpam.gui.elementit;
|
||||||
|
|
||||||
import javafx.geometry.Insets;
|
import javafx.geometry.Insets;
|
||||||
import javafx.scene.layout.*;
|
import javafx.scene.layout.*;
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package fi.lpam.ruokamanageri.gui.tableCell;
|
package fi.lpam.gui.tableCell;
|
||||||
|
|
||||||
import javafx.scene.control.TableCell;
|
import javafx.scene.control.TableCell;
|
||||||
import javafx.scene.control.TableColumn;
|
import javafx.scene.control.TableColumn;
|
||||||
+4
-4
@@ -1,8 +1,8 @@
|
|||||||
package fi.lpam.ruokamanageri.gui.tableCell;
|
package fi.lpam.gui.tableCell;
|
||||||
|
|
||||||
import fi.lpam.ruokamanageri.dataluokat.Asiakas;
|
import fi.lpam.dataluokat.Asiakas;
|
||||||
import fi.lpam.ruokamanageri.dataluokat.Kuljetus;
|
import fi.lpam.dataluokat.Kuljetus;
|
||||||
import fi.lpam.ruokamanageri.gui.KuljetusListat;
|
import fi.lpam.gui.KuljetusListat;
|
||||||
import javafx.geometry.Insets;
|
import javafx.geometry.Insets;
|
||||||
import javafx.scene.control.Button;
|
import javafx.scene.control.Button;
|
||||||
import javafx.scene.control.ContentDisplay;
|
import javafx.scene.control.ContentDisplay;
|
||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
package fi.lpam.ruokamanageri.gui.tableCell;
|
package fi.lpam.gui.tableCell;
|
||||||
|
|
||||||
import fi.lpam.ruokamanageri.dataluokat.RaporttiRivi;
|
import fi.lpam.dataluokat.RaporttiRivi;
|
||||||
import javafx.scene.control.TableCell;
|
import javafx.scene.control.TableCell;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package fi.lpam.ruokamanageri.gui.virheDialogit;
|
package fi.lpam.gui.virheDialogit;
|
||||||
|
|
||||||
public class SiirtoVirhe extends TietokantaVirhe{
|
public class SiirtoVirhe extends TietokantaVirhe{
|
||||||
public SiirtoVirhe(Exception e){
|
public SiirtoVirhe(Exception e){
|
||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
package fi.lpam.ruokamanageri.gui.virheDialogit;
|
package fi.lpam.gui.virheDialogit;
|
||||||
|
|
||||||
import fi.lpam.ruokamanageri.Main;
|
import fi.lpam.Main;
|
||||||
import javafx.scene.control.Alert;
|
import javafx.scene.control.Alert;
|
||||||
import javafx.scene.image.Image;
|
import javafx.scene.image.Image;
|
||||||
import javafx.scene.image.ImageView;
|
import javafx.scene.image.ImageView;
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
package fi.lpam.ruokamanageri;
|
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.util.Properties;
|
|
||||||
|
|
||||||
public class Main {
|
|
||||||
public static boolean dev;
|
|
||||||
public static Properties properties;
|
|
||||||
|
|
||||||
static void main(String[] args) {
|
|
||||||
//noinspection RedundantIfStatement
|
|
||||||
if (args.length > 0) {
|
|
||||||
dev = true;
|
|
||||||
} else {
|
|
||||||
dev = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
properties = new Properties();
|
|
||||||
properties.load(Main.class.getClassLoader().getResourceAsStream("app.properties"));
|
|
||||||
}
|
|
||||||
catch (IOException e) {
|
|
||||||
//noinspection CallToPrintStackTrace
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
|
|
||||||
App.main();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
package fi.lpam.ruokamanageri.tulostajat;
|
package fi.lpam.tulostajat;
|
||||||
|
|
||||||
import fi.lpam.ruokamanageri.dataluokat.Kuljetus;
|
import fi.lpam.dataluokat.Kuljetus;
|
||||||
import javafx.collections.ObservableList;
|
import javafx.collections.ObservableList;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
package fi.lpam.ruokamanageri.tulostajat;
|
package fi.lpam.tulostajat;
|
||||||
|
|
||||||
import fi.lpam.ruokamanageri.dataluokat.RaporttiRivi;
|
import fi.lpam.dataluokat.RaporttiRivi;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
+2
-2
@@ -1,6 +1,6 @@
|
|||||||
package fi.lpam.ruokamanageri.tulostajat;
|
package fi.lpam.tulostajat;
|
||||||
|
|
||||||
import fi.lpam.ruokamanageri.gui.virheDialogit.SiirtoVirhe;
|
import fi.lpam.gui.virheDialogit.SiirtoVirhe;
|
||||||
import org.apache.pdfbox.pdmodel.PDDocument;
|
import org.apache.pdfbox.pdmodel.PDDocument;
|
||||||
import org.apache.pdfbox.pdmodel.PDPage;
|
import org.apache.pdfbox.pdmodel.PDPage;
|
||||||
import org.apache.pdfbox.pdmodel.PDPageContentStream;
|
import org.apache.pdfbox.pdmodel.PDPageContentStream;
|
||||||
@@ -8,7 +8,8 @@ module fi.lpam.ruokamanageri {
|
|||||||
requires java.desktop;
|
requires java.desktop;
|
||||||
requires org.apache.pdfbox;
|
requires org.apache.pdfbox;
|
||||||
requires org.apache.commons.lang3;
|
requires org.apache.commons.lang3;
|
||||||
|
requires one.jpro.platform.mdfx;
|
||||||
|
|
||||||
opens fi.lpam.ruokamanageri.dataluokat to javafx.base;
|
opens fi.lpam.dataluokat to javafx.base;
|
||||||
exports fi.lpam.ruokamanageri;
|
exports fi.lpam;
|
||||||
}
|
}
|
||||||
@@ -1,3 +1,12 @@
|
|||||||
|
# 3.1.0
|
||||||
|
- Muutosloki näkyy käynnistäessä uutta versiota ensimmäistä kertaa
|
||||||
|
- Ohjelman taustariippuvuuksia päivitetty
|
||||||
|
- Yleistä huoltoa
|
||||||
|
|
||||||
|
# 3.0.1
|
||||||
|
- Kierroshallinnan muokkaus tukemaan paremmin useampaa kierrosta
|
||||||
|
- Kosmeettisia viilauksia muuallekin
|
||||||
|
|
||||||
# 3.0.0
|
# 3.0.0
|
||||||
- Lisätty lauantai ja sunnuntai mahdollisiksi kuljetuspäiviksi
|
- Lisätty lauantai ja sunnuntai mahdollisiksi kuljetuspäiviksi
|
||||||
- Mahdollisuus kuljettaa (ja muokata listaa) yli 10 ateriaa per asiakas
|
- Mahdollisuus kuljettaa (ja muokata listaa) yli 10 ateriaa per asiakas
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
Manifest-Version: 1.0
|
|
||||||
Main-Class: fi.lpam.ruokamanageri.Main
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
version=${project.version}
|
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
version=${project.version}
|
||||||
|
viimeisinVersio=0.0.0
|
||||||
Reference in New Issue
Block a user