#include"JWI_Klassen_Bestellung.h" #include"JWI_Klassen_Lieferschein.h" #include"JWI_Klassen_Geschaeftspartner.h" #include"JWI_Klassen_Produkt.h" class Verwaltung { // Attribute int zaeler_knr; // zuletzt vergebene Kundennummer int zaeler_bnr; // zuletzt vergebene Kunden- oder Nachbestellungsnummer int zaeler_lnr; // zuletzt vergebene Lieferantennummer int zaeler_pnr; // zuletzt vergebene Produktnummer int zaeler_lsnr; // zuletzt vergebene Lieferscheinnummer KundenbestellungenKartei kundenbestellungen;// Liste aller aktuellen Kundenbestellungen NachbestellungenKartei nachbestellungen; // Liste aller aktuellen Nachbestellungen LieferKartei liefer_kartei; // aktuelle Lieferkartei WarteKartei warte_kartei; // aktuelle Wartekartei KundenKartei kunden; // Liste aller Kunden LieferantenKartei lieferanten; // Liste aller Lieferanten ProduktKartei produkte; // Liste aller lieferbaren Produkte LieferscheinListe lieferscheine; // Liste aller Lieferscheine // Operationen: public: // Konstruktor - initialisiert das System bei jedem Programmstart Verwaltung(void): zaeler_knr(0), zaeler_bnr(0), zaeler_pnr(0), zaeler_lsnr(0) { // Listen werden durch die Aufzählung unter Attributen initialisiert } // Destruktor ~Verwaltung(void) { // speichert erst alle mit dem Konstructor erzeugten Listen DatenSpeichern(); // Lösche alle durch den Konstructor erzeugten Listen } // speichert die Inhalte sämtlicher Listen und Karteien der Klasse Verwaltung // und das aktuelle Datum void DatenSpeichern(void); // läd die Daten sämtlicher Listen und Karteien die von der Klasse Verwaltung // benötigt werden; am Schluß wird das Datum der Datenspeicherung angegeben void DatenLaden(void); // alle use-cases bzw. Funktionen des Programmes haben eine Operation in dieser Klasse // Annahme einer neuen Kundenbestellung und direkte anschließende Bearbeitung void BestellungAnnehmenUndBearbeiten(void); // Bestellt die Fehlbestände zu einem bestimmten Zeitpunkt nach void FehlbestaendeNachbestellen(void); // Erstellen der Lieferscheine für die Auslieferung der Bestellungen void LieferscheineErstellen(void); // Bearbeitung des Einganges von Lieferungen, d.h.Lageranpassung void WareneingangBearbeiten(void); // Bearbeitung von Rücklauf einer Auslieferung, d.h. Anpassung der Lieferkartei void RuecklaufBearbeiten(void); // Hinzufügen eines neuen Kunden zur Kunden-Liste void NeuerKunde(void); // Hinzufügen eines neuen Lieferanten zur Lieferanten-Liste void NeuerLieferant(void); // Hinzufügen eines neuen Produktes zur Produkt-Liste void NeuesProdukt(void); // Ändern der Daten bereits existierender Kunden void KundendatenAendern(void); // Ändern der Daten bereits existierender Lieferanten void LieferantendatenAendern(void); // Ändern der Daten bereits existierender Produkte // darüber können auch minimale und maximale Lagerbestände geändert werden void ProduktdatenAendern(void); // Ändern einer Nachbestellung, d.h. derjenigen Daten, // die nicht durch das System vorgegeben werden - wie Bestellungsnummer ect. // darüber können auch Bestellposten geändert werden void NachbestellungAendern(void); // Ändern einer Kundenbestellung, d.h. derjenigen Daten, // die nicht durch das System vorgegeben werden - wie Bestellungsnummer ect. // darüber können auch Bestellposten geändert werden void KundenbestellungAendern(void); // löscht die schon bearbeiteten Nachbestellungen void BearbeiteteNachbestellungenLoeschen(void); // löscht die schon bearbeiteten Kundenbestellungen void BearbeiteteKundenbestellungenLoeschen(void); // Hilfsoperationen private: // sucht in der Kundenbestellungs-Kartei zu einer gegebenen Bestellungsnummer // die zugehörige Kundenbestellung // wird die Kundenbestellung nicht gefunden, so wird ein Objekt Kundenbestellung zurückgegeben, // dessen Bestellungsnummer bnr=0 ist! Kundenbestellung SucheKundenbestellung(int bestellnr); // sucht in der Nachbestellungs-Kartei zu einer gegebenen Lieferantennummer // die zugehörige Nachbestellung // wird die Kundenbestellung nicht gefunden, so wird ein Objekt Nachbestellung zurückgegeben, // dessen Bestellungsnummer bnr=0 ist! Nachbestellung SucheNachbestellungLieferantenNr(int lieferantennr); // sucht zuerst in der Liefer-Kartei und dann in der Warte-Kartei // zu einer gegebenen laufenden Bestllpostennummer den zugehörigen Bestellposten // wird der Bestellposten nicht gefunden, so wird ein Objekt Bestellposten zurückgegeben, // dessen laufende Bestellpostennummer lfdnr=0 ist! Bestellposten SucheBestellposten(int laufendenr); // sucht in der Kundenkartei zu einer gegebenen Kundennummer den zugehörigen Kunden // wird der Kunde nicht gefunden, so wird ein Objekt Kunde zurückgegeben, // dessen Kundennummer knr=0 ist! Kunde SucheKunden(int kundennr); // sucht in der Lieferantenkartei zu einer gegebenen Lieferantennummer // den zugehörigen Lieferanten // wird der Lieferant nicht gefunden, so wird ein Objekt Lieferant zurückgegeben, // dessen Lieferantennummer lnr=0 ist! Lieferant SucheLieferanten(int lieferantennr); // sucht in der Produktkartei zu einer gegebenen Produktnummer das zugehörige Produkt // wird das Produkt nicht gefunden, so wird ein Objekt Produkt zurückgegeben, // dessen Produktnummer pnr=0 ist! Produkt SucheProdukt(int produktnr); // sucht in der Lieferschein Liste zu einer gegebenen Bestellpostennummer // den zugehörigen Lieferschein // wird der Lieferschein nicht gefunden, so wird ein Objekt lieferschein zurückgegeben, // dessen Lieferscheinnummer lsnr=0 ist! Lieferschein SucheLieferscheinBestellungsNr(int bestellungsnr); // Algorithmus, der einem Lieferschein einen Lieferwagen zuordnet int BestimmeLieferwagenNummer(Lieferschein liefers); };