From da30703af67a7220161d201078fee6079318707a Mon Sep 17 00:00:00 2001 From: laurimaaninka Date: Sat, 30 May 2026 00:35:13 +0300 Subject: [PATCH] =?UTF-8?q?Asiakasikkunaan=20p=C3=A4iv=C3=A4llism=C3=A4?= =?UTF-8?q?=C3=A4rien=20muokkaus?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: laurimaaninka --- src/main/java/fi/lpam/gui/AsiakasIkkuna.java | 116 ++++++++++++++----- 1 file changed, 90 insertions(+), 26 deletions(-) diff --git a/src/main/java/fi/lpam/gui/AsiakasIkkuna.java b/src/main/java/fi/lpam/gui/AsiakasIkkuna.java index 0cc6461..efe3058 100644 --- a/src/main/java/fi/lpam/gui/AsiakasIkkuna.java +++ b/src/main/java/fi/lpam/gui/AsiakasIkkuna.java @@ -23,6 +23,7 @@ public class AsiakasIkkuna extends Stage { final Asiakas käsiteltäväAsiakas; final TextField tfNimi, tfOsoite, tfRuokarajoitteet, tfAvainTieto, tfLisätiedot, tfYhteyshenkilönNimi, tfLaskutusOsoite, tfYhteyshenkilönPuhelinnumero, tfYhteyshenkilönSähköposti; final IntegerSpinner tfMaanantai, tfTiistai, tfKeskiviikko, tfTorstai, tfPerjantai, tfLauantai, tfSunnuntai, tfSalaatit, tfPääruoat, tfJälkiruoat; + final IntegerSpinner tfDinnerMaanantai, tfDinnerTiistai, tfDinnerKeskiviikko, tfDinnerTorstai, tfDinnerPerjantai, tfDinnerLauantai, tfDinnerSunnuntai, tfDinnerSalaatit, tfDinnerPääruoat, tfDinnerJälkiruoat; /** * Luo ikkunan jossa muokataan saatua asiakasta @@ -51,73 +52,114 @@ public class AsiakasIkkuna extends Stage { default: break; }}); - Tab tabKuljetusTiedot, tabAsiakastiedot; - tabKuljetusTiedot = new TabPohja("Kuljetustiedot"); + 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(tabKuljetusTiedot, tabAsiakastiedot); + tabPane.getTabs().addAll(tabLounastiedot, tabPäivällistiedot, tabAsiakastiedot); - GridPane kuljetusTiedot = new GridPane(); - kuljetusTiedot.setPadding(new Insets(15)); - kuljetusTiedot.setHgap(10); - kuljetusTiedot.setVgap(10); - tabKuljetusTiedot.setContent(kuljetusTiedot); + GridPane lounasTiedot = new GridPane(); + lounasTiedot.setPadding(new Insets(15)); + lounasTiedot.setHgap(10); + lounasTiedot.setVgap(10); + tabLounastiedot.setContent(lounasTiedot); - kuljetusTiedot.addRow(kuljetusTiedot.getRowCount(), new Label("Määrät per kuljetus")); + lounasTiedot.addRow(lounasTiedot.getRowCount(), new Label("Lounaat per kuljetus")); Label salaatit = new Label("Salaatit"); tfSalaatit = new IntegerSpinner(); - kuljetusTiedot.addRow(kuljetusTiedot.getRowCount(), salaatit, tfSalaatit); + lounasTiedot.addRow(lounasTiedot.getRowCount(), salaatit, tfSalaatit); Label pääruoat = new Label("Pääruoat"); tfPääruoat = new IntegerSpinner(); - kuljetusTiedot.addRow(kuljetusTiedot.getRowCount(), pääruoat, tfPääruoat); + lounasTiedot.addRow(lounasTiedot.getRowCount(), pääruoat, tfPääruoat); Label jälkiruoat = new Label("Jälkiruoat"); tfJälkiruoat = new IntegerSpinner(); - kuljetusTiedot.addRow(kuljetusTiedot.getRowCount(), jälkiruoat, tfJälkiruoat); + lounasTiedot.addRow(lounasTiedot.getRowCount(), jälkiruoat, tfJälkiruoat); - kuljetusTiedot.addRow(kuljetusTiedot.getRowCount(), new Label("Kuljetukset per päivä")); + lounasTiedot.addRow(lounasTiedot.getRowCount(), new Label("Kuljetukset per päivä")); Label maanantai = new Label("Maanantai"); tfMaanantai = new IntegerSpinner(); - kuljetusTiedot.addRow(kuljetusTiedot.getRowCount(), maanantai, tfMaanantai); + lounasTiedot.addRow(lounasTiedot.getRowCount(), maanantai, tfMaanantai); Label tiistai = new Label("Tiistai"); tfTiistai = new IntegerSpinner(); - kuljetusTiedot.addRow(kuljetusTiedot.getRowCount(), tiistai, tfTiistai); + lounasTiedot.addRow(lounasTiedot.getRowCount(), tiistai, tfTiistai); Label keskiviikko = new Label("Keskiviikko"); tfKeskiviikko = new IntegerSpinner(); - kuljetusTiedot.addRow(kuljetusTiedot.getRowCount(), keskiviikko, tfKeskiviikko); + lounasTiedot.addRow(lounasTiedot.getRowCount(), keskiviikko, tfKeskiviikko); Label torstai = new Label("Torstai"); tfTorstai = new IntegerSpinner(); - kuljetusTiedot.addRow(kuljetusTiedot.getRowCount(), torstai, tfTorstai); + lounasTiedot.addRow(lounasTiedot.getRowCount(), torstai, tfTorstai); Label perjantai = new Label("Perjantai"); tfPerjantai = new IntegerSpinner(); - kuljetusTiedot.addRow(kuljetusTiedot.getRowCount(), perjantai, tfPerjantai); + lounasTiedot.addRow(lounasTiedot.getRowCount(), perjantai, tfPerjantai); tfLauantai = new IntegerSpinner(); - kuljetusTiedot.addRow(kuljetusTiedot.getRowCount(), new Label("Lauantai"), tfLauantai); + lounasTiedot.addRow(lounasTiedot.getRowCount(), new Label("Lauantai"), tfLauantai); tfSunnuntai = new IntegerSpinner(); - kuljetusTiedot.addRow(kuljetusTiedot.getRowCount(), new Label("Sunnuntai"), tfSunnuntai); + lounasTiedot.addRow(lounasTiedot.getRowCount(), new Label("Sunnuntai"), tfSunnuntai); Label ruokarajoitteet = new Label("Ruokarajoitteet"); tfRuokarajoitteet = new TextField(); - kuljetusTiedot.addRow(kuljetusTiedot.getRowCount(), ruokarajoitteet, tfRuokarajoitteet); + lounasTiedot.addRow(lounasTiedot.getRowCount(), ruokarajoitteet, tfRuokarajoitteet); Label avainTieto = new Label("Avaintieto"); tfAvainTieto = new TextField(); - kuljetusTiedot.addRow(kuljetusTiedot.getRowCount(), avainTieto, tfAvainTieto); + lounasTiedot.addRow(lounasTiedot.getRowCount(), avainTieto, tfAvainTieto); Label lisätiedot = new Label("Kuljetuksen lisätiedot"); tfLisätiedot = new TextField(); tfLisätiedot.setPromptText("Näkyy raporteilla"); - kuljetusTiedot.addRow(kuljetusTiedot.getRowCount(), lisätiedot, tfLisätiedot); + lounasTiedot.addRow(lounasTiedot.getRowCount(), lisätiedot, tfLisätiedot); + GridPane päivällisTiedot = new GridPane(); + päivällisTiedot.setPadding(new Insets(15)); + päivällisTiedot.setHgap(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")); + + tfDinnerSalaatit = new IntegerSpinner(); + päivällisTiedot.addRow(päivällisTiedot.getRowCount(), new Label("Salaatit"), tfDinnerSalaatit); + + tfDinnerPääruoat = new IntegerSpinner(); + päivällisTiedot.addRow(päivällisTiedot.getRowCount(), new Label("Pääruoat"), tfDinnerPääruoat); + + tfDinnerJälkiruoat = new IntegerSpinner(); + päivällisTiedot.addRow(päivällisTiedot.getRowCount(), new Label("Jälkiruoat"), tfDinnerJälkiruoat); + + päivällisTiedot.addRow(päivällisTiedot.getRowCount(), new Label("Kuljetukset per päivä")); + + tfDinnerMaanantai = new IntegerSpinner(); + päivällisTiedot.addRow(päivällisTiedot.getRowCount(), new Label("Maanantai"), tfDinnerMaanantai); + + tfDinnerTiistai = new IntegerSpinner(); + päivällisTiedot.addRow(päivällisTiedot.getRowCount(), new Label("Tiistai"), tfDinnerTiistai); + + tfDinnerKeskiviikko = new IntegerSpinner(); + päivällisTiedot.addRow(päivällisTiedot.getRowCount(), new Label("Keskiviikko"), tfDinnerKeskiviikko); + + tfDinnerTorstai = new IntegerSpinner(); + päivällisTiedot.addRow(päivällisTiedot.getRowCount(), new Label("Torstai"), tfDinnerTorstai); + + tfDinnerPerjantai = new IntegerSpinner(); + päivällisTiedot.addRow(päivällisTiedot.getRowCount(), new Label("Perjantai"), tfDinnerPerjantai); + + tfDinnerLauantai = new IntegerSpinner(); + päivällisTiedot.addRow(päivällisTiedot.getRowCount(), new Label("Lauantai"), tfDinnerLauantai); + + tfDinnerSunnuntai = new IntegerSpinner(); + päivällisTiedot.addRow(päivällisTiedot.getRowCount(), new Label("Sunnuntai"), tfDinnerSunnuntai); + GridPane asiakasTiedot = new GridPane(); asiakasTiedot.setPadding(new Insets(15)); asiakasTiedot.setHgap(10); @@ -195,6 +237,16 @@ public class AsiakasIkkuna extends Stage { tfSalaatit.getValueFactory().setValue(käsiteltäväAsiakas.getSalaatit()); tfPääruoat.getValueFactory().setValue(käsiteltäväAsiakas.getPääruoat()); tfJälkiruoat.getValueFactory().setValue(käsiteltäväAsiakas.getJälkiruoat()); + tfDinnerMaanantai.getValueFactory().setValue(käsiteltäväAsiakas.getDinnerMaanantaiKpl()); + tfDinnerTiistai.getValueFactory().setValue(käsiteltäväAsiakas.getDinnerTiistaiKpl()); + tfDinnerKeskiviikko.getValueFactory().setValue(käsiteltäväAsiakas.getDinnerKeskiviikkoKpl()); + tfDinnerTorstai.getValueFactory().setValue(käsiteltäväAsiakas.getDinnerTorstaiKpl()); + tfDinnerPerjantai.getValueFactory().setValue(käsiteltäväAsiakas.getDinnerPerjantaiKpl()); + tfDinnerLauantai.getValueFactory().setValue(käsiteltäväAsiakas.getDinnerLauantaiKpl()); + tfDinnerSunnuntai.getValueFactory().setValue(käsiteltäväAsiakas.getDinnerSunnuntaiKpl()); + tfDinnerSalaatit.getValueFactory().setValue(käsiteltäväAsiakas.getDinnerSalaatit()); + tfDinnerPääruoat.getValueFactory().setValue(käsiteltäväAsiakas.getDinnerPääruoat()); + tfDinnerJälkiruoat.getValueFactory().setValue(käsiteltäväAsiakas.getDinnerJälkiruoat()); tfRuokarajoitteet.setText(käsiteltäväAsiakas.getErityisruokavalio()); tfAvainTieto.setText(käsiteltäväAsiakas.getAvainTieto()); tfLisätiedot.setText(käsiteltäväAsiakas.getLisätiedot()); @@ -230,6 +282,16 @@ public class AsiakasIkkuna extends Stage { käsiteltäväAsiakas.setSalaatit(tfSalaatit.getValue()); käsiteltäväAsiakas.setPääruoat(tfPääruoat.getValue()); käsiteltäväAsiakas.setJälkiruoat(tfJälkiruoat.getValue()); + käsiteltäväAsiakas.setDinnerMaanantaiKpl(tfDinnerMaanantai.getValue()); + käsiteltäväAsiakas.setDinnerTiistaiKpl(tfDinnerTiistai.getValue()); + käsiteltäväAsiakas.setDinnerKeskiviikkoKpl(tfDinnerKeskiviikko.getValue()); + käsiteltäväAsiakas.setDinnerTorstaiKpl(tfDinnerTorstai.getValue()); + käsiteltäväAsiakas.setDinnerPerjantaiKpl(tfDinnerPerjantai.getValue()); + käsiteltäväAsiakas.setDinnerLauantaiKpl(tfDinnerLauantai.getValue()); + käsiteltäväAsiakas.setDinnerSunnuntaiKpl(tfDinnerSunnuntai.getValue()); + käsiteltäväAsiakas.setDinnerSalaatit(tfDinnerSalaatit.getValue()); + käsiteltäväAsiakas.setDinnerPääruoat(tfDinnerPääruoat.getValue()); + käsiteltäväAsiakas.setDinnerJälkiruoat(tfDinnerJälkiruoat.getValue()); käsiteltäväAsiakas.setErityisruokavalio(tfRuokarajoitteet.getText()); käsiteltäväAsiakas.setAvainTieto(tfAvainTieto.getText()); käsiteltäväAsiakas.setLisätiedot(tfLisätiedot.getText()); @@ -255,7 +317,8 @@ public class AsiakasIkkuna extends Stage { } if (läpi) { - int viikonKuljetukset = käsiteltäväAsiakas.getMaanantaiKpl() + + int viikonKuljetukset = + käsiteltäväAsiakas.getMaanantaiKpl() + käsiteltäväAsiakas.getTiistaiKpl() + käsiteltäväAsiakas.getKeskiviikkoKpl() + käsiteltäväAsiakas.getTorstaiKpl() + @@ -266,8 +329,9 @@ public class AsiakasIkkuna extends Stage { Alert alert = new Alert(Alert.AlertType.INFORMATION); alert.setTitle("Onnistuimme!"); alert.setHeaderText("Asiakkaan tallentaminen onnistui!"); - alert.setContentText(String.format("%s saa jatkossa yhteensä \n%s salaattia, %s pääruokaa ja %s jälkiruokaa viikossa", - käsiteltäväAsiakas.getNimi(), käsiteltäväAsiakas.getSalaatit()*viikonKuljetukset, käsiteltäväAsiakas.getPääruoat()*viikonKuljetukset, käsiteltäväAsiakas.getPääruoat()*viikonKuljetukset)); + //TODO tähän myös dinneri määrät... +// alert.setContentText(String.format("%s saa jatkossa yhteensä \n%s salaattia, %s pääruokaa ja %s jälkiruokaa viikossa", +// käsiteltäväAsiakas.getNimi(), käsiteltäväAsiakas.getSalaatit()*viikonKuljetukset, käsiteltäväAsiakas.getPääruoat()*viikonKuljetukset, käsiteltäväAsiakas.getPääruoat()*viikonKuljetukset)); alert.showAndWait(); this.close(); }