GUI hinzugefügt

master
denis 2024-06-30 19:26:16 +02:00
parent d7e7731e5b
commit a1b87b7ac8
4 changed files with 331 additions and 6 deletions

View File

@ -2,10 +2,12 @@
<Firmenstammdaten> <Firmenstammdaten>
<Firmenname>Denis</Firmenname> <Firmenname>Denis</Firmenname>
<Inhaber>Denis</Inhaber> <Inhaber>Denis</Inhaber>
<Strasse>Musterweg 1</Strasse> <Adresse>
<PLZ>83636</PLZ> <Strasse>Musterweg 1</Strasse>
<Stadt>Mannheim</Stadt> <PLZ>83636</PLZ>
<Land>Deutschland</Land> <Stadt>Mannheim</Stadt>
<Land>Deutschland</Land>
</Adresse>
<Telefon>026373344</Telefon> <Telefon>026373344</Telefon>
<Mobilnummer>02237353353</Mobilnummer> <Mobilnummer>02237353353</Mobilnummer>
<Telefax>03736376363533</Telefax> <Telefax>03736376363533</Telefax>

View File

@ -41,7 +41,7 @@ public class ArtikelController {
} }
// Methode zur Generierung einer neuen, eindeutigen Artikelnummer // Methode zur Generierung einer neuen, eindeutigen Artikelnummer
private int generiereNeueArtikelnummer() { public int generiereNeueArtikelnummer() {
int neueArtikelnummer = 1; int neueArtikelnummer = 1;
while (artikelnummerExistiert(neueArtikelnummer)) { while (artikelnummerExistiert(neueArtikelnummer)) {
neueArtikelnummer++; neueArtikelnummer++;

View File

@ -42,7 +42,7 @@ public class KundenController {
} }
// Methode zur Generierung einer neuen, eindeutigen Kundennummer // Methode zur Generierung einer neuen, eindeutigen Kundennummer
private int generiereNeueKundennummer() { public int generiereNeueKundennummer() {
int neueKundennummer = 1; int neueKundennummer = 1;
while (kundennummerExistiert(neueKundennummer)) { while (kundennummerExistiert(neueKundennummer)) {
neueKundennummer++; neueKundennummer++;

View File

@ -0,0 +1,323 @@
package view;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import controller.AuftragsbestaetigungController;
import controller.FirmenstammdatenController;
import controller.LieferscheinController;
import controller.MainController;
import controller.RechnungController;
import model.Angebot;
import model.Artikel;
import model.Firmenstammdaten;
import model.Kunde;
import model.Wertschoepfungskette;
import model.Anschrift;
public class StartUpMenueGUI extends JFrame {
private MainController mainController;
public StartUpMenueGUI(MainController mainController) {
this.mainController = mainController;
this.setTitle("Kunden- und Artikelverwaltungssystem");
this.setSize(600, 400);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.initComponents();
}
private void initComponents() {
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
JButton kundeAnlegenButton = new JButton("Kunde anlegen");
kundeAnlegenButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
kundeAnlegen();
}
});
JButton kundenstammdatenAnsehenButton = new JButton("Kundenstammdaten ansehen");
kundenstammdatenAnsehenButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
kundenstammdatenAnsehen();
}
});
JButton artikelAnlegenButton = new JButton("Artikel anlegen");
artikelAnlegenButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
artikelAnlegen();
}
});
JButton artikelstammdatenAnsehenButton = new JButton("Artikelstammdaten ansehen");
artikelstammdatenAnsehenButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
artikelstammdatenAnsehen();
}
});
JButton angebotErstellenButton = new JButton("Angebot erstellen");
angebotErstellenButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
angebotErstellen();
}
});
JButton wertschoepfungsketteAnsehenButton = new JButton("Angebot/Wertschöpfungskette anzeigen");
wertschoepfungsketteAnsehenButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
wertschoepfungsketteAnsehen();
}
});
JButton programmBeendenButton = new JButton("Programm beenden");
programmBeendenButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
panel.add(kundeAnlegenButton);
panel.add(kundenstammdatenAnsehenButton);
panel.add(artikelAnlegenButton);
panel.add(artikelstammdatenAnsehenButton);
panel.add(angebotErstellenButton);
panel.add(wertschoepfungsketteAnsehenButton);
panel.add(programmBeendenButton);
this.add(panel);
}
private void kundeAnlegen() {
JTextField nameField = new JTextField(20);
JTextField strasseField = new JTextField(20);
JTextField plzField = new JTextField(5);
JTextField ortField = new JTextField(20);
JTextField emailField = new JTextField(20);
JTextField telefonnummerField = new JTextField(20);
JCheckBox istKleinunternehmerBox = new JCheckBox();
JTextField ansprechpartnerField = new JTextField(20);
JPanel panel = new JPanel(new GridLayout(0, 2));
panel.add(new JLabel("Name:"));
panel.add(nameField);
panel.add(new JLabel("Straße:"));
panel.add(strasseField);
panel.add(new JLabel("PLZ:"));
panel.add(plzField);
panel.add(new JLabel("Ort:"));
panel.add(ortField);
panel.add(new JLabel("Email:"));
panel.add(emailField);
panel.add(new JLabel("Telefonnummer:"));
panel.add(telefonnummerField);
panel.add(new JLabel("Ist Kleinunternehmer:"));
panel.add(istKleinunternehmerBox);
panel.add(new JLabel("Ansprechpartner:"));
panel.add(ansprechpartnerField);
int result = JOptionPane.showConfirmDialog(null, panel, "Kunde anlegen", JOptionPane.OK_CANCEL_OPTION);
if (result == JOptionPane.OK_OPTION) {
Anschrift anschrift = new Anschrift(strasseField.getText(), plzField.getText(), ortField.getText());
Kunde kunde = new Kunde(nameField.getText(), anschrift, emailField.getText(), telefonnummerField.getText(), istKleinunternehmerBox.isSelected(), ansprechpartnerField.getText());
// // Überprüfen, ob die Kundennummer bereits existiert
// while (mainController.getKundenController().leseAusXML(kunde.getKundennummer()) != null) {
// kunde.setKundennummer(mainController.getKundenController().generiereNeueKundennummer());
// }
mainController.getKundenController().speichereAlsXML(kunde);
JOptionPane.showMessageDialog(this, "Kunde erfolgreich angelegt.", "Erfolg", JOptionPane.INFORMATION_MESSAGE);
}
}
private void kundenstammdatenAnsehen() {
String kundennummerStr = JOptionPane.showInputDialog("Kundennummer eingeben:");
if (kundennummerStr != null) {
int kundennummer = Integer.parseInt(kundennummerStr);
Kunde kunde = this.mainController.getKundenController().leseAusXML(kundennummer);
if (kunde != null) {
kunde.anzeigen();
} else {
JOptionPane.showMessageDialog(this, "Kunde nicht gefunden.", "Fehler", JOptionPane.ERROR_MESSAGE);
}
}
}
private void artikelAnlegen() {
JTextField bezeichnungField = new JTextField(20);
JTextField einheitField = new JTextField(20);
JTextField nettopreisField = new JTextField(20);
JTextField mehrwertsteuersatzField = new JTextField(20);
JPanel panel = new JPanel(new GridLayout(0, 2));
panel.add(new JLabel("Bezeichnung:"));
panel.add(bezeichnungField);
panel.add(new JLabel("Einheit:"));
panel.add(einheitField);
panel.add(new JLabel("Nettopreis:"));
panel.add(nettopreisField);
panel.add(new JLabel("Mehrwertsteuersatz:"));
panel.add(mehrwertsteuersatzField);
int result = JOptionPane.showConfirmDialog(null, panel, "Artikel anlegen", JOptionPane.OK_CANCEL_OPTION);
if (result == JOptionPane.OK_OPTION) {
Artikel artikel = new Artikel(einheitField.getText(), bezeichnungField.getText(), Double.parseDouble(nettopreisField.getText()), Double.parseDouble(mehrwertsteuersatzField.getText()));
// Überprüfen, ob die Artikelnummer bereits existiert
while (mainController.getArtikelController().leseAusXML(artikel.getArtikelnummer()) != null) {
artikel.setArtikelnummer(mainController.getArtikelController().generiereNeueArtikelnummer());
}
mainController.getArtikelController().speichereAlsXML(artikel);
JOptionPane.showMessageDialog(this, "Artikel erfolgreich angelegt.", "Erfolg", JOptionPane.INFORMATION_MESSAGE);
}
}
private void artikelstammdatenAnsehen() {
String artikelnummerStr = JOptionPane.showInputDialog("Artikelnummer eingeben:");
if (artikelnummerStr != null) {
int artikelnummer = Integer.parseInt(artikelnummerStr);
Artikel artikel = this.mainController.getArtikelController().leseAusXML(artikelnummer);
if (artikel != null) {
artikel.anzeigen();
} else {
JOptionPane.showMessageDialog(this, "Artikel nicht gefunden.", "Fehler", JOptionPane.ERROR_MESSAGE);
}
}
}
private void angebotErstellen() {
Angebot angebot = this.mainController.getAngebotController().erstelleAngebot();
this.mainController.getWertschoepfungsketteController().erstelleWertschoepfungskette(angebot);
}
private void wertschoepfungsketteAnsehen() {
String angebotsnummerStr = JOptionPane.showInputDialog("Angebotsnummer eingeben:");
if (angebotsnummerStr != null) {
int angebotsnummer = Integer.parseInt(angebotsnummerStr);
Wertschoepfungskette wertschoepfungskette = this.mainController.getWertschoepfungsketteController().leseAusXML(angebotsnummer);
if (wertschoepfungskette != null) {
wertschoepfungskette.zeigeStatus();
wertschoepfungsketteDialog(wertschoepfungskette);
} else {
JOptionPane.showMessageDialog(this, "Angebot nicht gefunden.", "Fehler", JOptionPane.ERROR_MESSAGE);
}
}
}
private void wertschoepfungsketteDialog(Wertschoepfungskette wertschoepfungskette) {
JFrame frame = new JFrame("Wertschöpfungskette anzeigen");
frame.setSize(600, 400);
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
JButton angebotAnzeigenButton = new JButton("Angebot anzeigen");
angebotAnzeigenButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
wertschoepfungskette.getAngebot().anzeigen();
}
});
JButton auftragsbestaetigungButton;
if (wertschoepfungskette.getAuftragsbestaetigung() != null) {
auftragsbestaetigungButton = new JButton("Auftragsbestätigung ansehen");
auftragsbestaetigungButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
wertschoepfungskette.getAuftragsbestaetigung().anzeigen();
}
});
} else {
auftragsbestaetigungButton = new JButton("Auftragsbestätigung anlegen");
auftragsbestaetigungButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
AuftragsbestaetigungController auftragsbestaetigungController = new AuftragsbestaetigungController();
wertschoepfungskette.setAuftragsbestaetigung(auftragsbestaetigungController.erstelleAuftragsbestaetigung(wertschoepfungskette.getAngebot()));
mainController.getWertschoepfungsketteController().speichereAlsXML(wertschoepfungskette);
}
});
}
JButton lieferscheinButton;
if (wertschoepfungskette.getLieferschein() != null) {
lieferscheinButton = new JButton("Lieferschein ansehen");
lieferscheinButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
wertschoepfungskette.getLieferschein().anzeigen();
}
});
} else {
lieferscheinButton = new JButton("Lieferschein anlegen");
lieferscheinButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
LieferscheinController lieferscheinController = new LieferscheinController();
FirmenstammdatenController firmenstammdaten = new FirmenstammdatenController();
wertschoepfungskette.setLieferschein(lieferscheinController.erstelleLieferschein(wertschoepfungskette.getAngebot(), firmenstammdaten.leseAusXML()));
mainController.getWertschoepfungsketteController().speichereAlsXML(wertschoepfungskette);
}
});
}
JButton rechnungButton;
if (wertschoepfungskette.getRechnung() != null) {
rechnungButton = new JButton("Rechnung ansehen");
rechnungButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
wertschoepfungskette.getRechnung().anzeigen();
}
});
} else {
rechnungButton = new JButton("Rechnung anlegen");
rechnungButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
RechnungController rechnungController = new RechnungController();
FirmenstammdatenController firmenstammdaten = new FirmenstammdatenController();
wertschoepfungskette.setRechnung(rechnungController.erstelleRechnung(wertschoepfungskette.getAngebot(), firmenstammdaten.leseAusXML()));
mainController.getWertschoepfungsketteController().speichereAlsXML(wertschoepfungskette);
}
});
}
JButton zurueckButton = new JButton("Zurück zum Hauptmenü");
zurueckButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
frame.dispose();
}
});
panel.add(angebotAnzeigenButton);
panel.add(auftragsbestaetigungButton);
panel.add(lieferscheinButton);
panel.add(rechnungButton);
panel.add(zurueckButton);
frame.add(panel);
frame.setVisible(true);
}
public static void main(String[] args) {
MainController mainController = new MainController();
StartUpMenueGUI gui = new StartUpMenueGUI(mainController);
gui.setVisible(true);
}
}