Modul mit Lieferzeitberechnung für produzierte Artikel

Hallo zusammen,
kennt jemand ein Modul, oder hat es selbst erstellt welches bei der Lieferzeit im Warenkorb die Auslastung von Maschinen und Produktionszeiten eines Artikels berücksichtigt?
Toll wäre weiterhin wenn man an einer Bestellposition die dies erfordert eine oder mehrere Dateien hochladen könnte.

Beispiel, ich habe 3 Fräsmaschinen.
Auf Maschine 1 - 3 kann ich Artikel 1-5 herstellen, Artikel 6 geht nur auf Maschine 3.
Wenn jetzt also 2 bezahlte Bestellungen da sind für 1x Artikel 4 und 1x Artikel 6 ist Artikel 6 erst lieferbar wenn die Produktion auf Maschine 3 fertig ist.
Die Maschinen könnten dabei ihren Status und Fertigungszeit in eine Shop Tabelle schreiben, jeder Artikel hat eine Maschinenzuordnung und eine Produktionszeit. Das lässt sich ja mit Attributen abbilden, oder auch einer Zuordnungstabelle.
Aus Performancegründen müsste die genaue Berechnung nur im Warenkorb stattfinden.

Danke schon mal und Grüße

ne, das ist schon extrem speziell.

Danke.
Aber Upload an eine Bestellposition? Einfaches Beispiel T-Shirts bedrucken.
Und evtl. eine Idee wie man das am besten umsetzt?

Upload-Modul kaufen. 39,00 EUR.

Für Upload gibts definitiv ein Modul von D3, habe es schon in einigen Shops installiert. Aber auch von anderen Anbietern.

Zur Umsetzung… puh, das ist sehr abstakt.
CNCs habe ich noch keine, aber 3D Drucker und wenn CNCs annähernd so funktionieren, wie Drucker dann weiß das Gerät selbst nicht, was auf ihn nach dem aktuellen Job zukommt, richtig?
D.h. vom Gerät selbst bekommst du bestenfalls die Info, wie lange es für den aktuellen Job braucht. Für die gesamte dauer Auslastung brauchst du eine Software zum Managen der Job Queue. Sowas weiß bei mir der Printserver, aber der Printserver weiß ebenfalls, wie lange der Drucker noch für den aktuellen Job braucht. D.h. wenn es sowas wie einen Printserver gibt, wäre der Printserver derjenige, der die gesamte Restdauer an den Shop meldet. Am Anfang von jedem Job schreibt der Printserver in die DB, wie lange er noch bis ende der Queue braucht (am Anfang, weil ein Job fehlschlagen könnte und wenn den Job neustartest, hast du wieder aktuelle Info in der DB)
Wenn es keine solche Software gibt, könnte man ein einfaches Gantt / Projektmanagement Tool indas Shopbackend einbauen, das für jeden Artikel ein Prozess anlegt und es an die entsprechende Maschine anhängt. Und die CNC melden über die API o.ä. wenn ein Job angefangen oder fertiggestellt wurde.

Und wenn du die restliche verbleibende “Beschäftigungsdauer” aller Maschinen weiß, würde ich den Rest über versteckte Kategorien lösen. Kategorie 1 = Maschine 1 etc und die Lieferzeit in diesen Kategorien hinterlegen. Dann nimmst du nur noch die Lieferzeiten der einzelnen Kategorien und addierst die Herstellungszeiten aus der Bestellung. Wenn du verschiedene Kategorien in einer Bestellung hast, nimmst du die längste Liefer+Herstellungszeit.

Irgendwie sowas.

finde nur welche ab 149€, wie ist der Name genau für 39€?

den unteren Absatz habe ich noch nicht ganz verstanden. Aber ja bei 3D Print könnte z.B. Octoprint Start, Ende und Druckzeit in den Shop updaten :slight_smile:

Wenn es nichts fertiges gibt, dann wäre der Weg aus meiner Sicht ein Tabelle MACHINE: ID;NAME,STATE,PRODUCTION_TIME

Am Artikel Spalten ergänzen PRODUCTION_TIME, MACHINES

Damit wären die Daten zusammen, jetzt muss das nur noch in die Warenkorbansicht.

Du hast praktisch 3 Kategorien und in jeder Kategorie steht, wie lange die Queue ist:

  • Maschine 1: 21h
  • Maschine 2: 14h
  • Maschine 3: 14h

Im Warenkorb befinden sich Artikel 1, 2 und 6. Nehmen wir mal kurz an, dass Artikel 1-5 jeweils 3 Stunden brauchen und Artikel 6 ca 5 Stunden.
Zunächst musst du ausrechnen, welcher Artikel bei der Produktion die meisten Einschränkungen hat, in dem Fall wäre es die Maschine, auf der er produziert werden kann.
Dieser Artikel sollte zuerst verarbeitet werden.

Die Logik wäre etwa so:

  • auf welchen Maschinen kann das Produkt hergestellt werden?
    Artikel 1: alle 3.
    Artikel 2: alle 3.
    Artikel 6: nur Maschine 3.
    Die Reihenfolge der Berechnung wäre also: Artikel 6, dann Artikel 1 und Artikel 2.

  • hänge die Produktionszeit an die passende Maschine mit der geringsten Beschäftigung:
    Artikel 6: Maschine 3: 14h + 5h = 19h
    Artikel 1: Maschine 2: 14h + 3h = 17h
    Artikel 2: Maschine 2: 17h + 3h = 20h.
    Hättest du zuerst Artikel 1 und 2 verarbeitet, hättest du den Artikel 2 auf die Maschine 3 angerechnet und dann noch den Artikel 6 oben drauf und wärst bei 22h für Maschine 3.

  • nimm die längste Produktionszeit von allen beteiligten Maschinen (2+3) => 20h.
    Das wäre dann die Lieferzeit.

Die Anordnung wäre ja statisch wegen der Kategorien. Die Unbekannte, nämlich vielleicht vorhandene Bestand, muss auch mit rein. Das geht aber auch mit nem Modul und einer zu importierenden Tabelle, XML etc…

danke für die Anregungen, das mit den Kategorien glaube ich verstanden zu haben, gut gefallen will mir das aber nicht.
Einbindung eines Gant Diagramms mit Vorgängern und Endezeit wäre sicher cool aber overkill. Nur nach Dsgvo müssen ja die Lieferzeiten recht präzise angegeben werden.

Im Warenkorb kann man das ja nur bedingt, da es ja so ist das die Artikel auf Kundenwunsch gefertigt werden und per FIFO gefertigt werden, wer zuerst zahlt und alle Dateien bereitgestellt hat, dessen Bestellung startet mit allen verfügbaren Maschinen. Alle anderen müssen warten auch wenn sie eher bestellt haben.

mit DSGVO hat das sicherlich nichts zu tun, sondern mit EGBGB.

In fremden AGBs habe ich sowas gesehen “die Lieferfristen beginngen, wenn der Kunde alle Unterlagen eingereicht hat”.
Im Endeffekt ist es eine etwas längere mathematische Formel, vielelicht sowas:
( Bearbeitungszeit + Fertigungszeit + Nachebarbeitung + Puffer) / 8 stunden/tag = n bis (n+2) Werktage
(6 + 24 + 5 + 5 ) / 8 = 5-7 Werktage. (aber eben ab Bereitstellung alle Vorlagen etc).
Kennst du online Shops, die sowas ähnlichen machen, wie du? Wie geben sie die Liefer-/Leistuingsfristen an?

kenne auch keinen Shop der das macht (keinen mit Oxid). habe aber auch noch nicht viel geschaut, dachte es muss ein Modul geben was wenigstens 50% kann.

Ein gutes Beispiel wäre T-Shirts drucken, der Prozess sollte ähnlich sein, oder dein Ansatz mit 3d Druck, Lasern Fräsen, alles das gleiche. Du hast 5-6 Grundartikel Templates sozusagen und Gravierst, Fräst, Druckst da was drauf.

Für den Anfang werde ich denke eine Näherungsformel annehmen.
So auf die Art, sum(alle Artikel mit Fertigungszeit) / count(alle Artikel mit Fertigungszeit) ergibt die durchschnittliche Fertigungszeit
dann alle offenen Bestellpositionen (Artikel mit Fertigungszeit) * Durchschnittliche Fertigungszeit / Anz. Maschinen + Puffer ergibt minimale Lieferzeit.

Was es dazu denn noch braucht ist ein Bestellstatus, bei dem auch eine Mail gesendet wird “In Produktion” ab da kann die Bestellung nicht mehr storniert werden, bzw. nur mit Preisabschlag. Gibt nur Vorkasse.

Bei deinen Formeln hast Du dann aber die tägliche Arbeitszeit, das Wochenende ect nicht berücksichtigt.

Gruss
Marcel

entre13, wenn man im lokalen Netzwerk alle Geräte prüfen und die Daten abfragen kann, dann könnte man die z.B. mit einer kleinen golang Anwendung lokal erfassen, berechnen und dem Shop senden. Diese könnte mit einer Passwort geschützten PHP Datei die Daten dann verarbeiten.

Der Aufwand liegt hier nicht in der Programmierung sondern beim testen.

Mit der Lösung wäre es aber möglich in sehr kurzen Abständen im lokalen Netzwerk den Status der Auslastung zu prüfen und an den Shop zu senden. Die wenigen Werte belasten den Shop auch nicht, ein Abgleich wäre also alle z.B. 60 Sekunden durchaus möglich, sofern nötig.

Das Modul im Shop zeigt ja dann nur noch die berechneten Werte an, dies könnte man z.B. mit AJAX realisieren.
Der Kunde würde dann z.B. den Hinweis erhalten,

Ihr Auftrag hätte die Nr 122 in der Warteschlange, mögliche Lieferzeit 3 Tage