false, 'qrCodeHeight' => 75, 'qrCodeWidth' => 75, 'version' => -1, 'quietzoneSize' => 1 ]); $Epi = new Epirent(); if(UseDeliveredForCheckOutCompleted){ $result = $Epi->requestEpiApi('/v1/packingnote/open?isco=False&cl=' . Epirent_Mandant); }else{ $result = $Epi->requestEpiApi('/v1/packingnote/open?isci=False&cl=' . Epirent_Mandant); } $data_output = json_decode($result)->payload; if (SortCheckOut == 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_start / 1000; // Zeit in Sekunden $timeStartB = $b->time_start / 1000; // Kombiniere date_start mit time_start $datetimeA = strtotime($a->date_start) + $timeStartA; $datetimeB = strtotime($b->date_start) + $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) { $PackingNote_data_output; if($packingjob->is_archived != true && UseDeliveredForCheckOutCompleted){ $PackingNoteDetailResult = $Epi->requestEpiApi('/v1/packingnote/' . $packingjob->primary_key . '?cl=' . Epirent_Mandant); $PackingNote_data_output = json_decode($PackingNoteDetailResult)->payload[0]; } if ($packingjob->is_archived != true && (!UseDeliveredForCheckOutCompleted || ($PackingNote_data_output->date_delivered == "0000-00-00" && $PackingNote_data_output->time_delivered == 0))) { //get OrderDetails $result = $Epi->requestEpiApi('/v1/order/' . $packingjob->order_pk . '?cl=' . Epirent_Mandant); $orderdetail_output = json_decode($result)->payload[0]; // get PackingNote Details if(!UseDeliveredForCheckOutCompleted){ $PackingNoteDetailResult = $Epi->requestEpiApi('/v1/packingnote/' . $packingjob->primary_key . '?cl=' . Epirent_Mandant); $PackingNote_data_output = json_decode($PackingNoteDetailResult)->payload[0]; } $VorbereitungsTimeDetail; foreach ($orderdetail_output->order_schedule as $scheduledetail) { if (UsePackingNoteDateForCheckout) { $tempTimeObject = new stdClass(); $tempTimeObject->date_start = $PackingNote_data_output->date_packing; $tempTimeObject->time_start = $PackingNote_data_output->time_packing; $VorbereitungsTimeDetail = $tempTimeObject; } else { if ($scheduledetail->name == Vorbereitungs_Zeitvariable) { $VorbereitungsTimeDetail = $scheduledetail; } } } //End Of get Order Details if (CheckOut_UseDispoStartForRowMarking || ($VorbereitungsTimeDetail->date_start == null)) { $date = new DateTime($packingjob->date_start); } else if(UseDeliveredForCheckOutCompleted ){ { $date = new DateTime($PackingNote_data_output->date_delivery); } }else{ $date = new DateTime($VorbereitungsTimeDetail->date_start); } $date->setTime(0, 0, 0); $today = new DateTime(); $today->setTime(0, 0, 0); $todayFilter = new DateTime(); $todayFilter->setTime(0, 0, 0); if (CheckOut_FutureDays == -1 || $date <= ($todayFilter->modify('+' . CheckOut_FutureDays . ' day'))) { //prüfe, ob entweder unbegrenzte (-1) Anzeige Aktiv ist, oder das Datum kleiner oder Gleich heute + Zukunftsspanne ist if ($date == $today) { echo "