Asiakasikkunaan nappi, jolla kopioidaan lounasmäärät päivälliselle

Signed-off-by: laurimaaninka <lauri.maaninka@gmail.com>
This commit is contained in:
2026-05-31 17:55:42 +03:00
parent 2ed9f81f75
commit 05d124ac55
+35 -30
View File
@@ -38,31 +38,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 +94,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 +137,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 +172,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 +202,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);
@@ -337,4 +331,15 @@ public class AsiakasIkkuna extends Stage {
} }
this.setAlwaysOnTop(true); this.setAlwaysOnTop(true);
} }
private void kopioiLounasmäärätPäivälliselle() {
tfDinnerMaanantai.getValueFactory().setValue(käsiteltäväAsiakas.getMaanantaiKpl());
tfDinnerTiistai.getValueFactory().setValue(käsiteltäväAsiakas.getTiistaiKpl());
tfDinnerKeskiviikko.getValueFactory().setValue(käsiteltäväAsiakas.getKeskiviikkoKpl());
tfDinnerTorstai.getValueFactory().setValue(käsiteltäväAsiakas.getTorstaiKpl());
tfDinnerPerjantai.getValueFactory().setValue(käsiteltäväAsiakas.getPerjantaiKpl());
tfDinnerSalaatit.getValueFactory().setValue(käsiteltäväAsiakas.getSalaatit());
tfDinnerPääruoat.getValueFactory().setValue(käsiteltäväAsiakas.getPääruoat());
tfDinnerJälkiruoat.getValueFactory().setValue(käsiteltäväAsiakas.getJälkiruoat());
}
} }