Komplett AC Lager
warehouse: "aachen"
reason: "all_items_available_in_aachen"
EXPORT ÜBERSPRUNGEN
Status bleibt:
OFFEN
FL: SKIPPED
customFields.custom_order_status: "open"
customFields.custom_order_status_intern: STATUS_OPEN (0)
isCompletelyACWarehouse() = true
return: "skipped"
Export wird übersprungen, Status bleibt unverändert
ENDE
Bestellung bleibt offen
Final Status:
customFields.custom_order_status: "open"
customFields.custom_order_status_intern: STATUS_OPEN (0)
stateMachineState.technicalName: "open"
Verarbeitung beendet, Status bleibt OFFEN
Mindestens 1 AC Artikel
hasAachenItems() = true
isCompletelyWUWarehouse() = false
EXPORT WIRD DURCHGEFÜHRT
DAT-Datei erstellt
Status bleibt OFFEN
Dateityp: .DAT
Format: ORD_XXXXX.DAT
ExportEngine::exportOrder()
hasAachenItems() = true
DAT-Datei wird erstellt, Status bleibt OFFEN
WARTE AUF MANUELLE ÄNDERUNG
Status muss manuell auf
IN BEARBEITUNG gesetzt werden
customFields.custom_order_status: "open"
customFields.custom_order_status_intern: STATUS_OPEN (0)
Warten auf manuelle Änderung zu:
custom_order_status_intern: STATUS_EXPORTED (1)
Warten auf manuelle Statusänderung
Entscheidung: Welche XML-Datei kommt an?
WARTE AUF XML-DATEI
OK_ oder ERR_ Datei
Dateityp: .xml
Format: OK_XXXXX.xml | ERR_XXXXX.xml
ImportedXMLParser::processFile()
Warten auf SAP-Antwort nach manueller Änderung
OK Datei
status === 'OK'
Status prüfen:
IN BEARBEITUNG?
OrderStatusManager::getCurrentOrderStatus()
Prüfung: custom_order_status_intern === STATUS_EXPORTED (1)?
isInBearbeitung = (currentStatus === STATUS_EXPORTED)
Prüfung ob Status IN BEARBEITUNG ist (nach manueller Änderung)
Status: "pending" → "finished"
STATUS_EXPORTED (1) → STATUS_SUCCESS (2)
STATUS UPDATE
Bestellung wird gesetzt auf:
ABGESCHLOSSEN
FINISHED
customFields.custom_order_status: "finished"
customFields.custom_order_status_intern: STATUS_SUCCESS (2)
OrderStatusManager::updateOrderStatus(STATUS_SUCCESS)
Status wird auf ABGESCHLOSSEN gesetzt
ERFOLGREICH ABGESCHLOSSEN
Final Status:
customFields.custom_order_status: "finished"
customFields.custom_order_status_intern: STATUS_SUCCESS (2)
Verarbeitung erfolgreich abgeschlossen
ERR Datei
status === 'ERR'
STATUS UPDATE
Bestellung wird gesetzt auf:
ABGEBROCHEN
FAILED
customFields.custom_order_status: "failed"
customFields.custom_order_status_intern: STATUS_FAILED (3)
OrderStatusManager::updateOrderStatus(STATUS_FAILED)
Status wird auf ABGEBROCHEN gesetzt
Status: "pending" → "failed"
STATUS_EXPORTED (1) → STATUS_FAILED (3)
FEHLER VERARBEITET
Final Status:
customFields.custom_order_status: "failed"
customFields.custom_order_status_intern: STATUS_FAILED (3)
Fehler wurde verarbeitet und protokolliert
FEHLER PROTOKOLLIERT
Fehlerdetails wurden gespeichert
Manuelle Nachbearbeitung möglich
Fehlerprotokoll erstellt
Status: ABGEBROCHEN (FAILED)
Nächste Schritte: Manuelle Prüfung erforderlich
Fehler wurde protokolliert
Komplett WÜ Lager
warehouse: "external"
reason: "all_items_available_in_wuerzburg"
isCompletelyWUWarehouse() = true
EXPORT WIRD DURCHGEFÜHRT
DAT-Datei erstellt
Dateityp: .DAT
Format: ORD_XXXXX.DAT
ExportEngine::exportOrder()
DAT-Datei wird erstellt und an SAP gesendet
STATUS UPDATE
Bestellung wird gesetzt auf:
IN BEARBEITUNG
PENDING
Zahlung: BEZAHLT
customFields.custom_order_status: "pending"
customFields.custom_order_status_intern: STATUS_EXPORTED (1)
OrderStatusManager::updateOrderStatus(STATUS_EXPORTED)
Nur wenn isCompletelyWUWarehouse() = true
Status wird auf IN BEARBEITUNG gesetzt
Status: "open" → "pending"
STATUS_OPEN (0) → STATUS_EXPORTED (1)
Entscheidung: Welche XML-Datei kommt an?
WARTE AUF XML-DATEI
OK_ oder ERR_ Datei
Dateityp: .xml
Format: OK_XXXXX.xml
Format: ERR_XXXXX.xml
ImportedXMLParser::processFile()
Warten auf SAP-Antwort (OK oder ERR Datei)
OK Datei
status === 'OK'
Status prüfen:
IN BEARBEITUNG?
OrderStatusManager::getCurrentOrderStatus()
Prüfung: custom_order_status_intern === STATUS_EXPORTED (1)?
isInBearbeitung = (currentStatus === STATUS_EXPORTED)
Prüfung ob Status IN BEARBEITUNG ist
Status: "pending" → "finished"
STATUS_EXPORTED (1) → STATUS_SUCCESS (2)
STATUS UPDATE
Bestellung wird gesetzt auf:
ABGESCHLOSSEN
FINISHED
customFields.custom_order_status: "finished"
customFields.custom_order_status_intern: STATUS_SUCCESS (2)
OrderStatusManager::updateOrderStatus(STATUS_SUCCESS)
Nur wenn isInBearbeitung = true
Status wird auf ABGESCHLOSSEN gesetzt
ERFOLGREICH ABGESCHLOSSEN
Final Status:
customFields.custom_order_status: "finished"
customFields.custom_order_status_intern: STATUS_SUCCESS (2)
Verarbeitung erfolgreich abgeschlossen
ERR Datei
status === 'ERR'
STATUS UPDATE
Bestellung wird gesetzt auf:
ABGEBROCHEN
FAILED
customFields.custom_order_status: "failed"
customFields.custom_order_status_intern: STATUS_FAILED (3)
OrderStatusManager::updateOrderStatus(STATUS_FAILED)
Status wird auf ABGEBROCHEN gesetzt
Status: "pending" → "failed"
STATUS_EXPORTED (1) → STATUS_FAILED (3)
FEHLER VERARBEITET
Final Status:
customFields.custom_order_status: "failed"
customFields.custom_order_status_intern: STATUS_FAILED (3)
Fehler wurde verarbeitet und protokolliert
FEHLER PROTOKOLLIERT
Fehlerdetails wurden gespeichert
Manuelle Nachbearbeitung möglich
Fehlerprotokoll erstellt
Status: ABGEBROCHEN (FAILED)
Nächste Schritte: Manuelle Prüfung erforderlich
Fehler wurde protokolliert