Systemdesign\Wareneingangsverbuchung (Julian Linus) - notrautmann/TINF23CS1 GitHub Wiki
Requirements
Lesezugriff auf Daten im System
- Zutaten mit EAN
- Annahme: Jedes Produkt hat eine EAN und damit automatisch eine Mengeneinheit, da verschiedene Packungsgrößen unterschiedliche EANs haben
- Jede EAN darf nur einmal vergeben sein
- Bestellungen (erwartete Ware)
- Einem Lieferanten zugewiesen
- Zutaten inklusive Menge
Schreibzugriff auf Daten im System
- Bestellung: ausstehende Ware aktualisieren
- Lagerbestand: pro Zutat erhöhen
Extern
- Bluetooth Barcode Scanner 150€ https://www.barcodescanner.de/Barcodescanner-Casper-BCS200/101528
- günstigster gefundener kabelloser Barcode Scanner
- Computer mit Tastatur (IT-Dienstleister)
UI Funktionen
-
Auswahl Lieferant / Bestellung
- Lieferant / Bestellung soll auf Basis des Namen des Lieferanten, Bestell-Nr. oder der EAN eines gelieferten Produktes gesucht und ausgewählt werden, damit die Wareneingänge der korrekten Bestellung zugeordnet werden.
-
Manuelle Buchung
- Suche & Auswahl der Ware (Zutat) in der Bestellung über Name des Artikels, EAN oder aus Liste der gesamten Bestellung
- Option Ware zu akzeptieren / abzulehnen, wenn beschädigt, falsch geliefert o.ä.
Workflow
flowchart TD;
start[Warenanlieferung];
vendor[Auswahl Bestellung im UI];
check{Barcode mit EAN auf Ware vorhanden und lesbar?}
scan[Scan];
manual[Manuelle Eingabe UI];
scanInterface[Schnittstelle Applikation];
checkAPI{Produkt in Bestellung und Bestellmenge noch nicht komplett verbucht?};
accept[Ware einbuchen];
deny[Ware ablehnen];
checkManual{Ware einbuchen?};
stock[Bestand aktualisieren];
order[Ausstehende Menge reduzieren];
start-->vendor;
vendor-->check;
check-->|Ja| scan;
check-->|Nein| manual;
scan-->|Übertragung EAN| scanInterface;
scanInterface-->checkAPI;
checkAPI-->|Ja| accept;
checkAPI-->|Nein| manual;
manual-->checkManual;
checkManual-->|Ja| accept;
checkManual-->|Nein| deny;
accept-->stock;
accept-->order;