Schleife um nächstes Datum zu finden

Hallo,

ich habe da ein etwas komplexeres Problem, bei dem ich nicht so recht weiterkomme. Und zwar haben wir einen Datastore mit Daten zu unseren Produkten, wie z.B. Bestand, verfügbarer Bestand, Reservierungen, nächstes Eingangsdatum, Eingangsmenge, Wiederauffüllzeit.
Die Daten kommen aus unserem ERP und werden dann in unser Shopware geschrieben um so die bestmögliche Verfügbarkeit und Wiederauffüllzeit für die Kunden zu gewährleisten.

Die Daten aus dem ERP werden über die API in ein Spreadsheet geschrieben, aufbereitet und dann in den Datastore geschrieben.
Jetzt habe ich folgendes Problem: Ich schreibe immer das nächste Eingangsdatum, das in der Zukunft liegt (also das Datum, wann die Ware wieder im Lager ist) mit der dazugehörigen Menge in den Datastore und errechne die Wiederauffüllzeit. Wenn jetzt aber mehr Reservationen als Eingangsmenge für ein Produkt vorliegen, soll nicht das nächstmögliche Eingangsdatum/Menge herangezogen werden sondern, sofern vorhanden, das Übernächste (es gibt meistens mehrere Eingangsdaten pro Produkt). So sollen die Kunden die Wiederauffüllzeit für den übernächsten Eingang angezeigt bekommen und nicht zum nächsten Datum, da diese Waren theoretisch auch schon vergriffen ist.
Da weiß ich jetzt allerdings nicht, wie ich das ermitteln kann und ob ich das überhaupt so in Synesty abgebildet bekomme.

Viele Grüße,
Patrick

Hallo Patrick,

ich bin mir nicht sicher, ob ich das Problem schon vollständig verstanden habe. Mit der Freemarker <#list> Anweisung könntest du über die nächstmöglichen Eingangsdatum/Mengen laufen und so die gesamte Eingangsmenge berechnen. Wenn die berechnete Anzahl die Anzahl der Reservationen überschreitet, dann hast du das gesuchte Datum.

Ein (vereinfachtes) Beispiel:

<#assign gesamtEingang = 0>
<#list result['Eingangsdatum_Menge']?split(";") as datumMenge >
  <#assign gesamtEingang += datumMenge?split("=")[1]?number />
  <#if (gesamtEingang >= result['Reservationen']?number)>${datumMenge?split('=')[0]}<#break></#if>
</#list>

Link zum ausprobieren: Transformy

Viele Grüße
Torsten

1 Like

Hallo @synesty-Torsten,

das ist perfekt, genau was ich gesucht habe!

Vielen Dank dir!

Grüße,
Patrick

1 Like