Compare commits
10 Commits
3.0.0
..
fe078f9fb8
| Author | SHA1 | Date | |
|---|---|---|---|
| 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>
|
||||||
|
|||||||
@@ -1,3 +1,7 @@
|
|||||||
|
# 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
|
||||||
|
|||||||
@@ -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.0.1</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,24 +43,24 @@
|
|||||||
<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>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
@@ -92,7 +92,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 +114,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,9 +1,9 @@
|
|||||||
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.Asiakashallinta;
|
||||||
import fi.lpam.ruokamanageri.gui.Kierroshallinta;
|
import fi.lpam.gui.Kierroshallinta;
|
||||||
import fi.lpam.ruokamanageri.gui.KuljetusRaportit;
|
import fi.lpam.gui.KuljetusRaportit;
|
||||||
import fi.lpam.ruokamanageri.gui.KuljetusListat;
|
import fi.lpam.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;
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package fi.lpam.ruokamanageri;
|
package fi.lpam;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
+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;
|
||||||
+3
-3
@@ -1,8 +1,8 @@
|
|||||||
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.*;
|
||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
package fi.lpam.ruokamanageri.dataluokat;
|
package fi.lpam.dataluokat;
|
||||||
|
|
||||||
public interface TietokantaOlio {
|
public interface TietokantaOlio {
|
||||||
|
|
||||||
+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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+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;
|
||||||
+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;
|
||||||
@@ -9,6 +9,6 @@ module fi.lpam.ruokamanageri {
|
|||||||
requires org.apache.pdfbox;
|
requires org.apache.pdfbox;
|
||||||
requires org.apache.commons.lang3;
|
requires org.apache.commons.lang3;
|
||||||
|
|
||||||
opens fi.lpam.ruokamanageri.dataluokat to javafx.base;
|
opens fi.lpam.dataluokat to javafx.base;
|
||||||
exports fi.lpam.ruokamanageri;
|
exports fi.lpam;
|
||||||
}
|
}
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
Manifest-Version: 1.0
|
|
||||||
Main-Class: fi.lpam.ruokamanageri.Main
|
|
||||||
Reference in New Issue
Block a user