Berechnung Lagerbestands / Verfügbarkeitsprüfung

internet

Top Contributor
Hallo Community,

ich würde gerne mir eine Art Timeline erstellen für die Prüfung des Lagerbestands / Verfügbarkeitsprüfung.

Um es zu veranschaulichen in etwa so:
1611057228494.png

Ich habe hier ein Produkt (Martin JEM Nebelmaschine). Darunter wird mir der Lagerbestand aufgezeigt.
Ein Artikel kann 1....n Geräten haben. Geräte sind dann die tatsächlichen Gegenstände (incl. Seriennummer).

Der Invantar eines Artikels kann gezählt werden durch:
a) Anzahl an Geräten
b) Einfache Mengenangabe (bsp. bei einer Schraube etc. macht es keinen Sinn diese alle als ein Gerät zu erfassen).

Ein Artikel / Gerät ist nicht verfügbar, wenn es:
a) Bei einem Projekt gebucht wird
b) In Reparatur ist

Mein Vorhaben ist nun wie folgt:
a) Ich frage in der Datenbank ab, ob das bestimmte Produkt während einer bestimmten Zeit (hier 25.12.-03.01) gebucht in einem Projekt ist
-> List<Availability> projectList
b) Ich frage in der Datenbank ab, ob das bestimmte Produkt während einer bestimmten Zeit (hier 25.12.-03.01) in Reparatur ist.
-> List<Availability> repairList

Was ich nun gerne haben möchte:
- Eine Liste an <Availability>, die mir die Verfügbarkeit anzeigt (das ist die obere Linie).
-> In der ersten Hälfte gibt es für den Artikel keine Projektbuchungen oder Reparaturen (= keine Bestandsänderung). Danach kommt dann das Projekt "Soultrain Europatour".

Meine Idee ist es eine Liste an List<AvailabilityStatus> zu haben:

AvailabilityStatus
- Long productId;
- String status;
- LocalDateTime startDate;
- LocalDateTime endDate;
- List<AvailabilityStatus> subAvailabilityStatus;

Woran ich mich gerade schwer tue, ist bei der richtigen Zeitspanne für die jeweiligen AvailabilityStatus - Objekte

Im Moment erzeuge ich 2 Listen von AvailabilityStatus von a) und b), in denen jeweils die Projektbuchungen bzw. Reparaturen sind. Diese sind meine Basis für die Prüfung, ob der Artikel frei ist oder nicht...

Was ich nun noch benötige, ist eine Funktion, die mir die "tatsächliche Verfügbarkeit + Bestand" errechnet. Also mir Objekte von AvailabilityStatus erzeugt, egal ob der Artikel gebucht oder nicht gebucht ist. Der Unterschied ist dann eben der Status.

Meine Problem ist nun, wie ich die Bestandsänderung mitbekomme bzw. die Objekte mit der richtigen Zeit erstelle, denn es kann ja auch Überlappungen geben.
Ich glaube das ist jetzt mehr Text von mir, als die eigentliche Logik :)

Java:
// Result Liste
List<AvailabilityStatus> resultOverall = new ArrayList<>();

        // Sortieren der "Result Liste", die Projekte und Reparaturen enthält
        result.sort((AvailabilityStatus e1, AvailabilityStatus e2) -> e1.getStartDate().compareTo(e2.getStartDate()));

        // Mindestdatum bekommen für den Start
        LocalDateTime minDate = result.stream().map(AvailabilityStatus::getStartDate).min(LocalDateTime::compareTo)
                .get();

        // Wenn Datum gleich ist, dann dort starten
        if (startDate.equals(minDate)) {
            AvailabilityStatus availabilityStatus = result.get(0);
            resultOverall.add(availabilityStatus);
        } else {
            AvailabilityStatus availabilityStatus = new AvailabilityStatus();
            availabilityStatus.setStartDate(startDate);

            if (result != null && !result.isEmpty()) {
                availabilityStatus.setEndDate(result.get(0).getStartDate());
            }

            else {
                availabilityStatus.setEndDate(endDate);
            }

            resultOverall.add(availabilityStatus);  
        }

        for (AvailabilityStatus currentAvailabilityStatus : result) {
            // Nächste Bestandsänderung ermitteln??????
            // Bzw. wie errechne ich das, wenn zB die zweite Bestandsänderung nicht so lange geht, wie die erste? Dann änder sich ja auch das Endedatum. Also Überlappungen
        }

Kann mir hier jemand bitte helfen?
 

internet

Top Contributor
Ich habe das nochmal zur besseren Veranschaulichung skizziert.

a) Ich benötige eine Liste der Objekte die in Orange sind
b) Die blauen Objekte kommen aus der Liste, die ich zuvor erstelle (Projekte und Reparaturen).

Mein Problem ist, dass ich nicht weiß wie ich die Objekte in Orange erstelle.

1611074578126.png
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Zrebna Berechnung der Zeit funktioniert nicht wie erwartet: Date, GregorianCalendar Allgemeine Java-Themen 16
pkm Berechnung der Fakultät von Fließkommazahlen anhand von Stirlingformel Allgemeine Java-Themen 4
L RegEx für Teile einer Berechnung Allgemeine Java-Themen 14
L Korrektur nach der Berechnung vornehmen, aber wie? Allgemeine Java-Themen 11
D Berechnung des Cosinus Allgemeine Java-Themen 4
H float Berechnung: Ergebnis ohne wissenschaftliche Notation Allgemeine Java-Themen 5
A Fehlerhafte Nst Berechnung einer bestimmten Fkt. (Bisektion) Allgemeine Java-Themen 10
E Berechnung des Schnittpunktes von zwei Geraden Allgemeine Java-Themen 1
P Performate Zeiteiteiteilungs- Berechnung Allgemeine Java-Themen 4
B TileMap berechnung? Allgemeine Java-Themen 8
P jodaTime Berechnung Geburtstag Allgemeine Java-Themen 1
K Probleme bei Berechnung der Komplexität Allgemeine Java-Themen 7
S Welcher Schleifen type für eine Berechnung Allgemeine Java-Themen 7
B BlueJ Potenz Berechnung Allgemeine Java-Themen 16
W Berechnung Durchschnitt mit Schleife Allgemeine Java-Themen 9
M Berechnung verbessern Allgemeine Java-Themen 8
W OOP Berechnung des Skalarprodukts Allgemeine Java-Themen 9
H Demonstrationsprogramm zur CRC-Berechnung Allgemeine Java-Themen 2
D Berechnung von Sonnenauf und Sonnenuntergang Allgemeine Java-Themen 2
E Berechnung in Arraylist Allgemeine Java-Themen 10
R Eclipse Verschiedene Ergebnisse bei Berechnung eines double-Werts Allgemeine Java-Themen 5
E Falsche Ergebnisse bei PQ-Formel Berechnung Allgemeine Java-Themen 12
N Optimierung einer Berechnung Allgemeine Java-Themen 17
G java.sql Time Berechnung Allgemeine Java-Themen 6
Eldorado Berechnung von Koordinaten, die zufällig aussehen Allgemeine Java-Themen 5
B Berechnung eines sinh abbrechen, wenn 16. Nachkommastelle sich nicht mehr ändert Allgemeine Java-Themen 7
J Berechnung anhand einer XML-Datei Allgemeine Java-Themen 3
Private Void rekursive vs. iterative Lösung für Berechnung der Fakultät Allgemeine Java-Themen 12
S YUV to RGB (einfache Berechnung) Allgemeine Java-Themen 5
G Programm zur Berechnung von Summe, Median, Erwartungswert, usw von einem Array Allgemeine Java-Themen 7
C Bilder rotieren, Denkfehler in der Berechnung? Allgemeine Java-Themen 2
B Berechnung von Punkten/ If-else Strategie?! Allgemeine Java-Themen 51
T Berechnung in zweidimensionalem Array Allgemeine Java-Themen 3
X hashCode() Berechnung Allgemeine Java-Themen 5
R Tabelle - Berechnung der "Zeilenart" Allgemeine Java-Themen 2
L Berechnung mit Module bis bes.timme Zahl erreicht. Allgemeine Java-Themen 4
P CRC Berechnung Allgemeine Java-Themen 2
J berechnung von potenzen und wurzel-ziehen ohne klasse " Allgemeine Java-Themen 14
D Problem bei einer Berechnung (pow?) Allgemeine Java-Themen 3
P Java-Programm zur Berechnung globaler Minimas und Maximas-ff Allgemeine Java-Themen 4
B Primzahlen Berechnung optimieren Allgemeine Java-Themen 7
A Probleme bei der Berechnung von Pi! Java Problem Allgemeine Java-Themen 2
M Servlet --> Berechnung --> Timeout vom Proxy oder IE!? Allgemeine Java-Themen 7

Ähnliche Java Themen


Oben