false, 'qrCodeHeight' => 75, 'qrCodeWidth' => 75, 'version' => -1, 'quietzoneSize' => 1 ]); $Epi = new Epirent(); $result = $Epi->requestEpiApi('/v1/packingnote/open?isco=False&cl=' . Epirent_Mandant); $data_output = json_decode($result)->payload; if (SortCheckIn == 2) { // Prüfen, ob $data_output ein Array ist if (is_array($data_output)) { usort($data_output, function ($a, $b) { // Konvertiere time_start von Millisekunden in Sekunden $timeStartA = $a->time_end / 1000; // Zeit in Sekunden $timeStartB = $b->time_end / 1000; // Kombiniere date_start mit time_start $datetimeA = strtotime($a->date_end) + $timeStartA; $datetimeB = strtotime($b->date_end) + $timeStartB; // Vergleich für die Sortierung return $datetimeA <=> $datetimeB; }); // Sortierte Daten ausgeben oder weiterverarbeiten // print_r($data_output); } else { echo "Daten konnten nicht verarbeitet werden."; } } foreach ($data_output as $packingjob) { if ($packingjob->is_archived != true) { //get OrderDetails $result = $Epi->requestEpiApi('/v1/order/' . $packingjob->order_pk . '?cl=' . Epirent_Mandant); $orderdetail_output = json_decode($result)->payload[0]; $NachbereitungsTimeDetail; foreach ($orderdetail_output->order_schedule as $scheduledetail) { if ($scheduledetail->name == Rueckpacken_Zeitvariable) { $NachbereitungsTimeDetail = $scheduledetail; } } //End Of get Order Details if (CheckIn_UseDispoEndForRowMarking || ($NachbereitungsTimeDetail->date_start == null)) { $date = new DateTime($packingjob->date_end); } else { $date = new DateTime($NachbereitungsTimeDetail->date_start); } $date->setTime(0, 0, 0); $today = new DateTime(); $today->setTime(0, 0, 0); $todayFilter = new DateTime(); $todayFilter->setTime(0, 0, 0); if (CheckIn_FutureDays == -1 || $date <= ($todayFilter->modify('+' . CheckIn_FutureDays . ' day'))) { //prüfe, ob entweder unbegrenzte (-1) Anzeige Aktiv ist, oder das Datum kleiner oder Gleich heute + Zukunftsspanne ist if ($date == $today) { echo "