Hallo an alle,
ich habe ein kleines konzeptionelles Problem bei der Erstellung einer Lagerverwaltung.
Es geht um folgenden Sachverhalt:
Wir sollen eine Lagerverwaltung für ein Lager mit einer festen Anzahl Slots als Lagerfläche für bestimmte Artikel erstellen. Mit dieser Verwaltung soll man aus verschiedenen Artikeln Produktionen erstellen (Produktionen entfernen die verwendeten Artikel aus dem Lager) und für die Artikel Bestellungen erzeugen, falls nicht genügend Artikel im Lager für Produktionen vorhanden sind. In dem Lager liegen nur die Artikel, die Produktionen sollen nicht berücksichtigt werden.
Mein Problem liegt bei der Bestellung der Artikel. Jeder Artikel hat eine Menge Slots, die er im Lager belegt, und eine Lieferzeit. Ich hänge momentan an der Stelle, wie man am besten überprüfen könnte, ob zu einem bestimmten Lieferdatum genug Slots für den Artikel im Lager vorhanden ist.
Hier mal ein Beispiel für das Problem:
Nehmen wir an das Lager hat 100 freie Slots.
Es wurde eine Bestellung (Bestellung1) für eine Menge von Artikeln aufgegeben, die insgesamt 50 Slots verbrauchen. Das Lieferdatum ist der 17.05.2011.
Nach Bestellung1 wurde eine zweite Bestellung (Bestellung2) mit dem Lieferdatum 20.05.2011 aufgegeben, die 40 Slots benötigen würde. Bis hier hin gibt es noch keine Probleme, da erst 90 Slots verbraucht werden würden und noch 10 Slots frei wären.
Nach diesen beiden Bestellungen wird eine neue Bestellung (Bestellung3) mit Artikeln aufgegeben, bei der das Lieferdatum zufällig auf den 18.05.2011 fällt, also zwischen die beiden oben stehenden Bestellungen. Durch diese Bestellung würden 30 Slots verbraucht werden.
Bestellung3 darf aber nicht ausgeführt werden, da sie Bestellung2 (die vor Bestellung3 durchgeführt wurde) behindern würde.
Man kann es sich auch ungefähr so vorstellen:
Bestellung------Lieferdatum------SlotsderBestellung------freieSlotsimLagernachBestellung
Bestellung1-----17.05.2011------------50-------------------------50
Bestellung2-----20.05.2011------------40-------------------------10
Um sicherzustellen, dass Bestellung2 nicht durch eine spätere Bestellung, wie hier Bestellung3, behindert wird, müsste man für den 18.05 und 19.05 die freien Slots im Lager auch auf 10 setzen. Somit wären am 18.05. noch 10 Slots frei und Bestellung3 würde abgelehnt werden, weil sie 30 Slots benötigt.
Ich hoffe man konnte verstehen, auf was ich hinaus will.
Da wir das ganze mit einer Datenbank realisieren wollten, habe ich mir erst eine Lösung überlegt, die die DB mit einbezieht. Der Überprüfungsprozess, so wie ich ihn mir überlegt hatte, wäre aber ziemlich kompliziert geworden.
Habe deshalb meinen Prof gefragt und er meinte, dass man intern einen Kalender erstellen und man den einzelnen Tagen die freien Slots zuordnen könnte. Bei Bestellungen wird dann die Anzahl freier Slots verringert und bei Produktionen entsprechend wieder erhöht.
Ich habe leider keinen blassen Schimmer, wie man das umsetzen könnte. Hat vllt jemand einen Tipp oder Anregungen, wie ich die Überprüfung realisieren könnte?
Grüße
PS: Ich habe es bestimmt ziemlich verwirrend beschrieben. Falls es Fragen gibt, dann fragt einfach und ich werde versuchen esverständlicher zu formulieren.
ich habe ein kleines konzeptionelles Problem bei der Erstellung einer Lagerverwaltung.
Es geht um folgenden Sachverhalt:
Wir sollen eine Lagerverwaltung für ein Lager mit einer festen Anzahl Slots als Lagerfläche für bestimmte Artikel erstellen. Mit dieser Verwaltung soll man aus verschiedenen Artikeln Produktionen erstellen (Produktionen entfernen die verwendeten Artikel aus dem Lager) und für die Artikel Bestellungen erzeugen, falls nicht genügend Artikel im Lager für Produktionen vorhanden sind. In dem Lager liegen nur die Artikel, die Produktionen sollen nicht berücksichtigt werden.
Mein Problem liegt bei der Bestellung der Artikel. Jeder Artikel hat eine Menge Slots, die er im Lager belegt, und eine Lieferzeit. Ich hänge momentan an der Stelle, wie man am besten überprüfen könnte, ob zu einem bestimmten Lieferdatum genug Slots für den Artikel im Lager vorhanden ist.
Hier mal ein Beispiel für das Problem:
Nehmen wir an das Lager hat 100 freie Slots.
Es wurde eine Bestellung (Bestellung1) für eine Menge von Artikeln aufgegeben, die insgesamt 50 Slots verbrauchen. Das Lieferdatum ist der 17.05.2011.
Nach Bestellung1 wurde eine zweite Bestellung (Bestellung2) mit dem Lieferdatum 20.05.2011 aufgegeben, die 40 Slots benötigen würde. Bis hier hin gibt es noch keine Probleme, da erst 90 Slots verbraucht werden würden und noch 10 Slots frei wären.
Nach diesen beiden Bestellungen wird eine neue Bestellung (Bestellung3) mit Artikeln aufgegeben, bei der das Lieferdatum zufällig auf den 18.05.2011 fällt, also zwischen die beiden oben stehenden Bestellungen. Durch diese Bestellung würden 30 Slots verbraucht werden.
Bestellung3 darf aber nicht ausgeführt werden, da sie Bestellung2 (die vor Bestellung3 durchgeführt wurde) behindern würde.
Man kann es sich auch ungefähr so vorstellen:
Bestellung------Lieferdatum------SlotsderBestellung------freieSlotsimLagernachBestellung
Bestellung1-----17.05.2011------------50-------------------------50
Bestellung2-----20.05.2011------------40-------------------------10
Um sicherzustellen, dass Bestellung2 nicht durch eine spätere Bestellung, wie hier Bestellung3, behindert wird, müsste man für den 18.05 und 19.05 die freien Slots im Lager auch auf 10 setzen. Somit wären am 18.05. noch 10 Slots frei und Bestellung3 würde abgelehnt werden, weil sie 30 Slots benötigt.
Ich hoffe man konnte verstehen, auf was ich hinaus will.
Da wir das ganze mit einer Datenbank realisieren wollten, habe ich mir erst eine Lösung überlegt, die die DB mit einbezieht. Der Überprüfungsprozess, so wie ich ihn mir überlegt hatte, wäre aber ziemlich kompliziert geworden.
Habe deshalb meinen Prof gefragt und er meinte, dass man intern einen Kalender erstellen und man den einzelnen Tagen die freien Slots zuordnen könnte. Bei Bestellungen wird dann die Anzahl freier Slots verringert und bei Produktionen entsprechend wieder erhöht.
Ich habe leider keinen blassen Schimmer, wie man das umsetzen könnte. Hat vllt jemand einen Tipp oder Anregungen, wie ich die Überprüfung realisieren könnte?
Grüße
PS: Ich habe es bestimmt ziemlich verwirrend beschrieben. Falls es Fragen gibt, dann fragt einfach und ich werde versuchen esverständlicher zu formulieren.