diff --git a/Ohj2HT/src/Luokat/Kalenteri.java b/Ohj2HT/src/Luokat/Kalenteri.java index bc673b02fb70168631ecbd3c505330f3478342e0..34525d3a0710b8ade590a9bb12b3c98faef27a61 100644 --- a/Ohj2HT/src/Luokat/Kalenteri.java +++ b/Ohj2HT/src/Luokat/Kalenteri.java @@ -1,5 +1,7 @@ package Luokat; +import fi.jyu.mit.fxgui.Dialogs; + /** * Pääluokka sisältää kaikki reissut ja samalla kaikki saaliit ja vieheet sekä laskurit */ @@ -37,4 +39,34 @@ public class Kalenteri { public Tulkki getVieheTulkki() { return vieheTulkki; } public Tulkki getKokoTulkki() { return kokoTulkki; } + + public boolean tallenna(int aluksi, int reissumaara) { + TiedostonHiplailija reissu = new TiedostonHiplailija(System.getProperty("user.dir") + "/../reissut.dat"); + TiedostonHiplailija saalis = new TiedostonHiplailija(System.getProperty("user.dir")+ "/../saaliit.dat"); + TiedostonHiplailija saalisLaskuri = new TiedostonHiplailija(System.getProperty("user.dir")+ "/../kalaLaskuri.dat"); + TiedostonHiplailija vieheet = new TiedostonHiplailija(System.getProperty("user.dir")+ "/../vieheLaskuri.dat"); + System.out.println(System.getProperty("user.dir")); + Tulkki lajit = new Tulkki(System.getProperty("user.dir") + "/../lajit.dat"); + Tulkki vieheTulkki = new Tulkki(System.getProperty("user.dir") + "/../vieheTyypit.dat"); + Tulkki kokoTulkki = new Tulkki(System.getProperty("user.dir") + "/../koot.dat"); + for (int i = aluksi; i < reissumaara; i++){ + System.out.println(reissut.getReissut().get(i)); + reissu.kirjoita(reissut.getReissut().get(i).toString()); + + for (Saalis s : reissut.getReissut().get(i).getSaaliit()) { + saalis.kirjoita(s.tiedotTallenusMuodossa(lajit,vieheTulkki,kokoTulkki)); + } + } + for (String s : kalaLaskuri.tallennusTiedot()){ + saalisLaskuri.kirjoita(s); + } + for (String s : vieheLaskuri.tallennusTiedot()){ + vieheet.kirjoita(s); + } + reissu.sulje(); + saalis.sulje(); + saalisLaskuri.sulje(); + vieheet.sulje(); + return true; + } } diff --git a/Ohj2HT/src/Luokat/Laskuri.java b/Ohj2HT/src/Luokat/Laskuri.java index 27200ea45ef3f27955e4cb046b0eed473918010d..3566abe0e18d3edb366e4da474a2f631af86c055 100644 --- a/Ohj2HT/src/Luokat/Laskuri.java +++ b/Ohj2HT/src/Luokat/Laskuri.java @@ -19,6 +19,17 @@ public class Laskuri { public Laskuri(String osoite, Tulkki tulkki) { this.tulkki = tulkki; + TiedostonHiplailija th = new TiedostonHiplailija(osoite); + List<String> tiedot = th.lueRivit(); + th.sulje(); + for(String t: tiedot) { + int id = Integer.parseInt(t.split("\\|")[0]); + int maara = Integer.parseInt(t.split("\\|")[1]); + if (maara != 0){ + arvot.put(id,maara); + } + + } } public Laskuri(String[] tiedot,Tulkki tulkki) { @@ -107,6 +118,12 @@ public class Laskuri { return arvot.get(id); } + public List<String> tallennusTiedot(){ + List<String> tiedot = new ArrayList<>(); + arvot.forEach((k,v) -> tiedot.add(k + "|" + v) ); + return tiedot; + } + public static void main(String[] args) { String[] tiedot = new String[] {"1|2", "2|4", "3|1", "4|5"}; Tulkki lajit = new Tulkki(System.getProperty("user.dir") + "/../lajit.dat"); diff --git a/Ohj2HT/src/Luokat/Reissu.java b/Ohj2HT/src/Luokat/Reissu.java index 2574e9f6eba0be5b17e64f30cee970968f688f6a..27e989863899d3fcfbef93862ba945c0e3f8812e 100644 --- a/Ohj2HT/src/Luokat/Reissu.java +++ b/Ohj2HT/src/Luokat/Reissu.java @@ -33,7 +33,6 @@ private boolean poistetaanko; public int getTag() { - return reissunTag; } @@ -44,17 +43,12 @@ private boolean poistetaanko; DateTimeFormatter date = DateTimeFormatter.ofPattern("dd-MM-yyyy"); return Pvm.format(date); } - - public String getSijainti() { return sijainti; } - - public List<Saalis> getSaaliit() { return saaliit; } - public String getKeli() { return keli; } @@ -113,16 +107,23 @@ private boolean poistetaanko; public String toString() { String tag = Integer.toString(reissunTag); - return tag + "|" + Pvm + "|" + sijainti + "|" + keli; + String pvm = Pvm.format(DateTimeFormatter.ofPattern("dd-MM-yyyy")).replace('-', '.'); + return tag + "|" + pvm + "|" + sijainti + "|" + keli; } //helppo testi public static void main(String[] args) { - Reissu testi = new Reissu( sToDate("12-12-2025"), "Jyväskylä", "lumisade", new ArrayList<>(), false); - System.out.println(testi); - + Reissu testi = new Reissu( sToDate("01.12.2025"), "Jyväskylä", "lumisade", new ArrayList<>(), false); + System.out.println(testi); + LocalDate date = LocalDate.parse("01-12-2025", DateTimeFormatter.ofPattern("dd-MM-yyyy")); + LocalDate nyt = LocalDate.now(); + if (nyt.isBefore(date)) { + System.out.println(nyt + " on myöhemmin kuin " + date); + } + + } } diff --git a/Ohj2HT/src/Luokat/Saalis.java b/Ohj2HT/src/Luokat/Saalis.java index 8050dead7a08ff2155621b9a597bcba28d669e66..1a5faaea38facf5590b38b1f1cdace42eacd09cb 100644 --- a/Ohj2HT/src/Luokat/Saalis.java +++ b/Ohj2HT/src/Luokat/Saalis.java @@ -9,7 +9,7 @@ public class Saalis { private final String koko; private final String laji; private int reissunTagi; - private Viehe viehe; + private final Viehe viehe; /** * muodostin merkkijono taulukosta, tarvitaan saaliin muodostamiseen tiedostosta * @param rivi mitä tietoja saaliin muodostamiseen tarvitaan diff --git a/Ohj2HT/src/fxKalenteri/KalenteriGUIController.java b/Ohj2HT/src/fxKalenteri/KalenteriGUIController.java index 569bb8f9cd864144de57ac7ea2ed30e2cfa0c44f..5a425315e684cff840656c76813b486e623f97ae 100644 --- a/Ohj2HT/src/fxKalenteri/KalenteriGUIController.java +++ b/Ohj2HT/src/fxKalenteri/KalenteriGUIController.java @@ -86,11 +86,15 @@ public class KalenteriGUIController implements Initializable { Saaliisi.setItems(FXCollections.observableArrayList(kalenteri.getKalaLaskuri().getArvotAsList())); reissumaara.set(kalenteri.getReissut().getReissut().size()); saalismaara.set(kalenteri.getKalaLaskuri().getSumma()); - parasViehe.set(kalenteri.getVieheTulkki().getValueFromId(kalenteri.getVieheLaskuri().getSuurinId())); + int paras = kalenteri.getVieheLaskuri().getSuurinId(); + if (paras != -1){ + parasViehe.set(kalenteri.getVieheTulkki().getValueFromId(paras)); + } } private void tallenna() { +<<<<<<< HEAD Dialogs.showMessageDialog("Tallennetetaan! Mutta ei toimi vielä"); kalenteri.getReissut().sort(); if ( reissumaara.get() - aluksi > 0){ @@ -110,12 +114,14 @@ public class KalenteriGUIController implements Initializable { sa.kirjoita(s.tiedotTallenusMuodossa(lajit,vieheTulkki,kokoTulkki)); } +======= + if ( reissumaara.get() - aluksi > 0){ + if (kalenteri.tallenna(aluksi, reissumaara.get())) { + Dialogs.showMessageDialog("Tallennus onnistui!"); + aluksi = reissumaara.get(); +>>>>>>> 221eff0ca0b5d6fe1d360c1fa8c1591c4d1554d8 } - t.sulje(); - sa.sulje(); - aluksi = reissumaara.get(); } - } @@ -195,16 +201,11 @@ public class KalenteriGUIController implements Initializable { reissutLista.add(reissu.getPaivamaara() +" " + reissu.getSijainti(),reissu); } } - reissumaara.set(kalenteri.getReissut().getReissut().size()); - saalismaara.set(kalenteri.getKalaLaskuri().getSumma()); - int paras = kalenteri.getVieheLaskuri().getSuurinId(); - if (paras != -1){ - parasViehe.set(kalenteri.getVieheTulkki().getValueFromId(paras)); - } this.reissuLkm.textProperty().bind(reissumaara.asString()); this.saalisLkm.textProperty().bind(saalismaara.asString()); this.lempiViehe.textProperty().bind(parasViehe); Saaliisi.setItems(FXCollections.observableArrayList(kalenteri.getKalaLaskuri().getArvotAsList())); + tekstienPaivitys(); } diff --git a/Ohj2HT/src/fxKalenteri/KalenteriGUIView.fxml b/Ohj2HT/src/fxKalenteri/KalenteriGUIView.fxml index 1a41f563cb50b74577233f1d6e1faa7bc369dd07..0da7fdb73c06e41332b31840518017ccadbd5ffc 100644 --- a/Ohj2HT/src/fxKalenteri/KalenteriGUIView.fxml +++ b/Ohj2HT/src/fxKalenteri/KalenteriGUIView.fxml @@ -56,7 +56,7 @@ <center> <ImageView fitHeight="409.0" fitWidth="330.0" pickOnBounds="true" preserveRatio="true" BorderPane.alignment="TOP_LEFT"> <image> - <Image url="@../media/Kartta.png" /> + <Image url="@../media/UusiKartta.png" /> </image> </ImageView> </center> diff --git a/kalaLaskuri.dat b/kalaLaskuri.dat new file mode 100644 index 0000000000000000000000000000000000000000..bed0e998a9958facc6d3b4804e9f6c93129f318a --- /dev/null +++ b/kalaLaskuri.dat @@ -0,0 +1,12 @@ +; saatujen kalalajien määrä, kenttien järjestys seuraava +; lajinId|määrä + +1|3 +2|2 +4|1 +5|1 +1|3 +2|2 +3|1 +4|1 +5|1 diff --git a/reissut.dat b/reissut.dat index de35b58d77a772a5cd7de1faa5357803b026a20d..c5e60e549fb30cc2c48317fa0e8a19d264b09564 100644 --- a/reissut.dat +++ b/reissut.dat @@ -6,3 +6,4 @@ 3|12.03.2024|Laukaa|Pilvinen 4|17.11.2025|Vuontee|aurinkoinen 5|16.11.2025|Tikkakoski|sateinen +6|18.03.2025|Muurame|Aurinkoinen diff --git a/saaliit.dat b/saaliit.dat index 4fede98183678cd0123476eb3d66b7393f9ab4c9..41cbf295668bc1406e47fedae4d9a7f55e464c18 100644 --- a/saaliit.dat +++ b/saaliit.dat @@ -8,3 +8,4 @@ 5|1|3|4|3|sininen 6|2|1|4|1|hopea 7|5|1|5|1|kupari +8|3|2|6|1|hopeinen diff --git a/vieheLaskuri.dat b/vieheLaskuri.dat new file mode 100644 index 0000000000000000000000000000000000000000..1e2f2948c3312d9a6247344bca73301e39938370 --- /dev/null +++ b/vieheLaskuri.dat @@ -0,0 +1,9 @@ +; Kenttien järjestys tiedostossa seuraava +; Id|määrä + +1|5 +2|2 +3|1 +1|6 +2|2 +3|1