From f4e1012d69503d2d4bfdd43c968530f1ac161da8 Mon Sep 17 00:00:00 2001 From: Antonio Date: Thu, 11 Dec 2025 11:37:59 +0100 Subject: [PATCH] lololol --- src/main/java/de/antco/projekt/ConsoleUi.java | 353 ++++++++++-------- .../classes/de/antco/projekt/ConsoleUi.class | Bin 11887 -> 10783 bytes .../antco/projekt/Exporters/IExporter.class | Bin 126 -> 0 bytes .../antco/projekt/Importers/IImporter.class | Bin 126 -> 0 bytes 4 files changed, 194 insertions(+), 159 deletions(-) delete mode 100644 target/classes/de/antco/projekt/Exporters/IExporter.class delete mode 100644 target/classes/de/antco/projekt/Importers/IImporter.class diff --git a/src/main/java/de/antco/projekt/ConsoleUi.java b/src/main/java/de/antco/projekt/ConsoleUi.java index 6fbda8f..da620e3 100644 --- a/src/main/java/de/antco/projekt/ConsoleUi.java +++ b/src/main/java/de/antco/projekt/ConsoleUi.java @@ -6,18 +6,12 @@ import de.antco.projekt.model.Vehicle; import de.antco.projekt.model.WorkOrderDetails; import de.antco.projekt.model.WorkOrderItem; import de.antco.projekt.service.WorkshopService; -import de.antco.projekt.importers.IImporter; -import de.antco.projekt.importers.CsvPersonImporter; -import de.antco.projekt.exporters.IExporter; -import de.antco.projekt.exporters.CsvPersonExporter; import java.sql.SQLException; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.Scanner; +import java.util.*; public class ConsoleUi { + private final WorkshopService service; private final Scanner scanner = new Scanner(System.in); @@ -27,202 +21,243 @@ public class ConsoleUi { public void start() { boolean running = true; + while (running) { - printMenu(); - String input = scanner.nextLine(); + showMenu(); + String choice = scanner.nextLine().trim(); + try { - switch (input) { + switch (choice) { case "1" -> addPerson(); - case "2" -> listPersons(); + case "2" -> showPersons(); case "3" -> addVehicle(); - case "4" -> listVehiclesOfPerson(); + case "4" -> showVehiclesOfPerson(); case "5" -> createWorkOrder(); - case "6" -> listWorkOrders(); - case "7" -> importPersons(); - case "8" -> exportPersons(); + case "6" -> showWorkOrders(); case "0" -> running = false; - default -> System.out.println("Unbekannte Auswahl"); + default -> System.out.println("Ungültige Eingabe."); } } catch (SQLException e) { - System.out.println("Fehler: " + e.getMessage()); + System.out.println("Ein Fehler ist aufgetreten: " + e.getMessage()); } } - System.out.println("Bis dann"); + + System.out.println("Programm beendet."); } - private void printMenu() { - System.out.println(); - System.out.println("==== Werkstatt Menü ===="); + private void showMenu() { + System.out.println("\n=== Werkstatt Menü ==="); System.out.println("1) Kunde anlegen"); System.out.println("2) Kunden anzeigen"); System.out.println("3) Fahrzeug anlegen"); - System.out.println("4) Fahrzeuge einer Person"); + System.out.println("4) Fahrzeuge einer Person anzeigen"); System.out.println("5) Werkstattvorgang anlegen"); System.out.println("6) Vorgänge anzeigen"); - System.out.println("7) Personen importieren (CSV)"); - System.out.println("8) Personen exportieren (CSV)"); - System.out.println("0) Ende"); + System.out.println("0) Beenden"); System.out.print("Auswahl: "); } - private void addPerson() throws SQLException { - System.out.print("Name: "); - String name = scanner.nextLine(); - System.out.print("Telefon: "); - String phone = scanner.nextLine(); - Person person = service.createPerson(name, phone); - System.out.println("Kunde gespeichert mit ID " + person.getId()); - } + // ---------------- Eingabe-Hilfen ---------------- - private void listPersons() throws SQLException { - List persons = service.listPersons(); - if (persons.isEmpty()) { - System.out.println("Keine Personen da"); - return; - } - persons.forEach(p -> System.out.println(p.toString())); - } - - private void addVehicle() throws SQLException { - System.out.print("Personen ID: "); - int personId = parseInt(scanner.nextLine()); - Person owner = service.findPerson(personId); - if (owner == null) { - System.out.println("Person nicht gefunden"); - return; - } - System.out.print("Hersteller: "); - String brand = scanner.nextLine(); - System.out.print("Modell: "); - String model = scanner.nextLine(); - System.out.print("Kennzeichen: "); - String plate = scanner.nextLine(); - Vehicle vehicle = service.createVehicle(personId, brand, model, plate); - System.out.println("Fahrzeug gespeichert mit ID " + vehicle.getId()); - } - - private void listVehiclesOfPerson() throws SQLException { - System.out.print("Personen ID: "); - int personId = parseInt(scanner.nextLine()); - Person owner = service.findPerson(personId); - if (owner == null) { - System.out.println("Person nicht gefunden"); - return; - } - List vehicles = service.listVehicles(personId); - System.out.println("Fahrzeuge von " + owner.getName() + ":"); - if (vehicles.isEmpty()) { - System.out.println("Keine Einträge"); - return; - } - vehicles.forEach(v -> System.out.println(v.toString())); - } - - private void createWorkOrder() throws SQLException { - System.out.print("Fahrzeug ID: "); - int vehicleId = parseInt(scanner.nextLine()); - Vehicle vehicle = service.findVehicle(vehicleId); - if (vehicle == null) { - System.out.println("Fahrzeug nicht gefunden"); - return; - } - System.out.print("Notiz: "); - String note = scanner.nextLine(); - List catalog = service.listServiceItems(); - Map selected = new LinkedHashMap<>(); - boolean adding = true; - while (adding) { - showCatalog(catalog); - System.out.print("Service ID (leer = fertig): "); + private int readInt(String text) { + while (true) { + System.out.print(text); String input = scanner.nextLine(); - if (input.isBlank()) { - adding = false; - } else { - int serviceId = parseInt(input); - ServiceItem item = catalog.stream().filter(s -> s.getId() == serviceId).findFirst().orElse(null); - if (item == null) { - System.out.println("Service gibt es nicht"); - continue; - } - System.out.print("Menge: "); - int qty = parseInt(scanner.nextLine()); - if (qty <= 0) { - System.out.println("Menge muss > 0 sein"); - continue; - } - selected.put(serviceId, selected.getOrDefault(serviceId, 0) + qty); + + try { + return Integer.parseInt(input.trim()); + } catch (NumberFormatException e) { + System.out.println("Bitte eine gültige Zahl eingeben."); } } - if (selected.isEmpty()) { - System.out.println("Keine Positionen gespeichert"); + } + + private String readNonEmpty(String text) { + while (true) { + System.out.print(text); + String value = scanner.nextLine().trim(); + + if (!value.isEmpty()) { + return value; + } + + System.out.println("Eingabe darf nicht leer sein."); + } + } + + private String readValidName(String text) { + while (true) { + String name = readNonEmpty(text); + + if (name.matches("[a-zA-ZäöüÄÖÜß ]+")) { + return name; + } + + System.out.println("Der Name darf nur Buchstaben enthalten."); + } + } + + private String readPhoneNumber(String text) { + while (true) { + System.out.print(text); + String phone = scanner.nextLine().trim(); + + if (phone.matches("\\d+")) { + return phone; + } + + System.out.println("Telefonnummer darf nur Zahlen enthalten."); + } + } + + // ---------------- Personen ---------------- + + private void addPerson() throws SQLException { + String name = readValidName("Name: "); + String phone = readPhoneNumber("Telefonnummer: "); + + Person person = service.createPerson(name, phone); + System.out.println("Kunde gespeichert (ID: " + person.getId() + ")"); + } + + private void showPersons() throws SQLException { + List persons = service.listPersons(); + + if (persons.isEmpty()) { + System.out.println("Keine Kunden vorhanden."); return; } - int orderId = service.createWorkOrder(vehicleId, note, selected); - System.out.println("Vorgang angelegt mit ID " + orderId); + + System.out.println("\n--- Kundenliste ---"); + persons.forEach(System.out::println); } - private void showCatalog(List items) { - System.out.println("Katalog:"); - items.forEach(item -> System.out.println(item.toString())); + // ---------------- Fahrzeuge ---------------- + + private void addVehicle() throws SQLException { + int personId = readInt("Personen-ID: "); + Person person = service.findPerson(personId); + + if (person == null) { + System.out.println("Person wurde nicht gefunden."); + return; + } + + String brand = readNonEmpty("Hersteller: "); + String model = readNonEmpty("Modell: "); + String plate = readNonEmpty("Kennzeichen: "); + + Vehicle vehicle = service.createVehicle(personId, brand, model, plate); + System.out.println("Fahrzeug angelegt (ID: " + vehicle.getId() + ")"); } - private void listWorkOrders() throws SQLException { + private void showVehiclesOfPerson() throws SQLException { + int personId = readInt("Personen-ID: "); + Person person = service.findPerson(personId); + + if (person == null) { + System.out.println("Person nicht gefunden."); + return; + } + + List vehicles = service.listVehicles(personId); + + System.out.println("Fahrzeuge von " + person.getName() + ":"); + if (vehicles.isEmpty()) { + System.out.println("Keine Fahrzeuge vorhanden."); + } else { + vehicles.forEach(System.out::println); + } + } + + // ---------------- Werkstattvorgänge ---------------- + + private void createWorkOrder() throws SQLException { + int vehicleId = readInt("Fahrzeug-ID: "); + Vehicle vehicle = service.findVehicle(vehicleId); + + if (vehicle == null) { + System.out.println("Fahrzeug nicht gefunden."); + return; + } + + String note = readNonEmpty("Notiz: "); + + List catalog = service.listServiceItems(); + Map selectedItems = new LinkedHashMap<>(); + + while (true) { + System.out.println("\n--- Service-Katalog ---"); + catalog.forEach(System.out::println); + + System.out.print("Service-ID (leer = fertig): "); + String input = scanner.nextLine().trim(); + + if (input.isEmpty()) { + break; + } + + int serviceId; + try { + serviceId = Integer.parseInt(input); + } catch (NumberFormatException e) { + System.out.println("Bitte eine gültige ID eingeben."); + continue; + } + + ServiceItem item = catalog.stream() + .filter(s -> s.getId() == serviceId) + .findFirst() + .orElse(null); + + if (item == null) { + System.out.println("Service nicht gefunden."); + continue; + } + + int qty = readInt("Menge: "); + if (qty <= 0) { + System.out.println("Menge muss größer als 0 sein."); + continue; + } + + selectedItems.merge(serviceId, qty, Integer::sum); + } + + if (selectedItems.isEmpty()) { + System.out.println("Keine Positionen ausgewählt."); + return; + } + + int orderId = service.createWorkOrder(vehicleId, note, selectedItems); + System.out.println("Vorgang wurde angelegt (ID: " + orderId + ")"); + } + + private void showWorkOrders() throws SQLException { List orders = service.listWorkOrders(); + if (orders.isEmpty()) { - System.out.println("Keine Vorgänge gespeichert"); + System.out.println("Keine Vorgänge vorhanden."); return; } + for (WorkOrderDetails order : orders) { - System.out.println("--- Vorgang " + order.getOrderId() + " ---"); + System.out.println("\n--- Vorgang " + order.getOrderId() + " ---"); System.out.println("Kunde: " + order.getPersonName()); System.out.println("Fahrzeug: " + order.getVehicleText()); System.out.println("Datum: " + order.getCreatedAt()); + if (order.getNote() != null && !order.getNote().isBlank()) { System.out.println("Notiz: " + order.getNote()); } + for (WorkOrderItem item : order.getItems()) { - System.out.println(" * " + item.getServiceItem().getTitle() + " x" + item.getQuantity() + + System.out.println(" - " + item.getServiceItem().getTitle() + + " x" + item.getQuantity() + " = " + item.getTotalPrice() + " €"); } - System.out.println("Summe: " + order.getTotal() + " €"); - } - } - private void importPersons() { - System.out.print("Pfad zur CSV-Datei: "); - String path = scanner.nextLine(); - IImporter importer = new CsvPersonImporter(); - try { - List imported = importer.importData(path); - int count = 0; - for (Person p : imported) { - service.createPerson(p.getName(), p.getPhone()); - count++; - } - System.out.println(count + " Personen erfolgreich importiert."); - } catch (Exception e) { - System.out.println("Fehler beim Import: " + e.getMessage()); - } - } - - private void exportPersons() { - System.out.print("Pfad zur Ziel-Datei: "); - String path = scanner.nextLine(); - try { - List persons = service.listPersons(); - IExporter exporter = new CsvPersonExporter(); - exporter.exportData(persons, path); - System.out.println(persons.size() + " Personen exportiert."); - } catch (Exception e) { - System.out.println("Fehler beim Export: " + e.getMessage()); - } - } - - private int parseInt(String input) { - try { - return Integer.parseInt(input.trim()); - } catch (NumberFormatException e) { - return -1; + System.out.println("Gesamtsumme: " + order.getTotal() + " €"); } } } diff --git a/target/classes/de/antco/projekt/ConsoleUi.class b/target/classes/de/antco/projekt/ConsoleUi.class index ef101c3ccd954af54f84c41ef0d4216e4baaba7e..fa07774099dbfb23a54f35cc587632172eeb77bc 100644 GIT binary patch literal 10783 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 S|M`UQ0I|>K^ZRnB=>Gt=PeOwL literal 11887 zcmcIqd0890at=3x8Ds2^IfM8o&>sq_l*4jn8Z(r@cXi@q*_q~~ULnhYmk1z0+yPbRP z@2vN}dHS`{FA&jMZF!J1D$yxmQYn=&RqcxIi8jQeiQa}SJ9k+zhpB9hov@uVnMxMc zb?Ia<{;@*CG$^WnzpcLm%6TUnoLu4sy1mVox(J|+iHj=oLI79FqPb8^*aqM$wWFC zx6Zej^t8(r(`1*LpVeleRAbU~njt-{)E+x#G1a$?q3E?WY)_{8(|yUoPPZ@kolG-L znk9IZ52oyd({3e(WEEkPX44!dBVk?PwAl&JowBgbn<{ADMl@Mtus36C=jT7$a$~UOR8H zO3C0YCT*3ri846XqNaPZNuAO(!5$b)ru>YYZ&H_Pv99p7h-zM7(uH&ppiB-yq4Qd} zRfOkhp+Rq93Z0+WY4t;;9V>j!Q2O#{Upz>c(q%gBFeyqqp;1{4_Kk%eDK&_TiuNb7HDJCV^Xi^O|aL3E~V4aUMmFiv`yMY{Y<9}MEfo1 zcP#2`w;iZOBJDu=A^Z8oW*e(-2EhW2b#^-3jkU>&lCqpKgLX63ti@k=y9Fh8qK*@W zGC%roSSk&|6jjUW!kdQ@-Bvi7h+Dl@!k{4lwcM*spn9)mtNP0U&x*S6#%Nz^uQk-0 zA8;jRIX&NCg)P`dD(vclLHn3ytgOqkuqT=7g$K%ye=ERitP6Lc{?WS=y~0X%&a0Vb zo>AwKvJzoeD{L!;_k}H;U3CUsgD$IlU0n4j=<;@maA{q51D0vfJ7CtH@SDN{*1Jr4 zx5&O!N!g(H!umR*16EVmp!cEkHY;xRBooqkKfPb4518~p`ViB?H|kQDOxFlpM3^=d zk?UBo){XU918^Df2A2%n%#C!DP9HJpW^pq!$FSq?jpaf6TDwEUG%SjDt0;48QSY^% zJ}S=OcIZLYy(t&l25W7upgZVJojz{TUGxcRLtWhfK=QVOVgF zo$!1n(;R{CbwO`7=qSj#bB7altj`JeT41tU?CcoyViWwYW5wfEO0@0sV5eO~9GB7; z!S-e=A+`|fvpoI#l1X2tN73SHl;?SwE?n3;R)gM1&A3bONJGsY6E%CBY1TN4^?HV= zgoXvJr%Za9zKYfPV*{K=PTlg_Bs%;xlfEwQQHO$x-GwMXwn5)Q>~Ixl1KfD((YwWK zmePnp-^KECUdWZ_e)^tC->2sgzeGeiSmwTtjIs+f=y^Ed9Kn;t^doTAk#y|6t^@dq zNiT?LRLSDJoS_vtP+F&-f{foB68%>9CItHS=wOguq!LlPUzqeu`W4tj%5iy1)QQHE zy#kFZsyr~Fx4&UJ)tdoo8(tW<;8oX#d#sdW_tptJwe&laelKK2 z`WL-iu<8QhV4=s3J64KmwSR?0D0+@a0Z>3g&Gm1Sj?=5~#Uk8|Hf)AzYQdtmsAwCF zLtRe*4Q7)yE`bNj3nbeGT)}z7(@4Gw0<4=6H~U?pSEX|)%zYf~_vwJaI?O#QvR-?q z6SmT>-5XpEwh(-KC9ZG0Kr(HMSBE3+wbFyiv!xt3 z4W5I1k>@ha8{d&B<-j7E>smud$A=A`kGVIyM${A{gGPi>on)7{8@vdL@6MXfEPRu~ zQaEDr5^j(MKuM!c68ILX6)aoT1Jz}`T;~-gpDyO+Q>$zjhz41G2et;%x6$M?77kwt=${Rk-b&Om5{jx$4oPGWPCsz<17bIQD?m(3Xrve*;On z2DytbH2EUF*j=X2FonT!1D&s5bC3gkiOH7=Z^FVh+rfSZgm;)673eEadEOAxbKAL6 z>SHE%GdzjFzAXuNj*WwCIHzU3(?HbeYglLZuD4?L0Q^%3JLp~{VBD8?ivG=GkudJ} zNFI%wb|6≪N()jPW}eZv}pbuM$h70(_;( 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 diff --git a/target/classes/de/antco/projekt/Exporters/IExporter.class b/target/classes/de/antco/projekt/Exporters/IExporter.class deleted file mode 100644 index 06482d172eb73885ee2017295ed4520c30812e0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126 zcmX^0Z`VEs1_oOOc6J6PMh2CXRQ<%flH`2-f};Ga)a(*{*NTGtqLS32Vtr2-lbwNu zkwG9Uu`E$PCowNw-#;lUHMxY5fh#z_v?w{%Ei)&Tk%14cTo0s@jgf(off;BM2rx3R J0!bzYHUOL^A!Psn diff --git a/target/classes/de/antco/projekt/Importers/IImporter.class b/target/classes/de/antco/projekt/Importers/IImporter.class deleted file mode 100644 index 12168a7963e7f93dadb6eca4af7206b456599c2d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 126 zcmX^0Z`VEs1_oOOc6J6PMh2CXRQ<%flH`2-f};Ga)a(*{&)kCiqLS32Vtr2-lbwNu zkwG9Uu`E$PCowNw-#;lUHMxY5fh#z_v?w{%Ei)&Tk%14cTo0s@jgf(off;BM2rx3R J0!bzYHUO51Ay5DS