From f5106d83eab48af12d1b8ce1f815ecd53f895b0d Mon Sep 17 00:00:00 2001 From: Leopold Strobl Date: Thu, 19 Dec 2024 13:09:43 +0100 Subject: [PATCH] =?UTF-8?q?v1.4.5:=20Feature:=20CheckIn=20CheckOut=20Sorti?= =?UTF-8?q?erung=20jetzt=20=C3=BCber=20Config=20l=C3=B6sbar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config.php | 4 +++- sources/getAufgabenTable.php | 6 +++--- sources/getCheckInTable.php | 34 +++++++++++++++++++++++++++++--- sources/getCheckOutTable.php | 38 ++++++++++++++++++++++++++++++------ 4 files changed, 69 insertions(+), 13 deletions(-) diff --git a/config.php b/config.php index 22ad038..b951955 100644 --- a/config.php +++ b/config.php @@ -25,5 +25,7 @@ define('CheckOut_UseDispoStartForRowMarking', true); //else: Use Same Variable a define('CheckIn_UseDispoEndForRowMarking', true); //else: Use Same Variable as "Rueckpacken Zeitvariable" | Konfiguration, welche Zeit für die Zeilenmarkierung beim Check In Verwendet werden soll define('CheckOut_FutureDays', -1); // Konfiguration, wie viele Tage in der Zukunft der CheckOut angezeigt werden soll. '-1' zeigt alle an. Abhängig von der Variablen CheckOut_UseDispoStartForRowMarking define('CheckIn_FutureDays', -1); // Konfiguration, wie viele Tage in der Zukunft der CheckIn angezeigt werden soll. '-1' zeigt alle an. Abhängig von der Variablen CheckIn_UseDispoEndForRowMarking +define('SortCheckOut', 2); // Konfiguration, welcher Datensatz für die Sortierung Verwendet werden soll. Möglichkeiten '1': Packscheinnummer / '2': Dispostart +define('SortCheckIn', 2); // Konfiguration, welcher Datensatz für die Sortierung Verwendet werden soll. Möglichkeiten '1': Packscheinnummer / '2': Dispoende -?> + ?> diff --git a/sources/getAufgabenTable.php b/sources/getAufgabenTable.php index a8db572..64d9813 100644 --- a/sources/getAufgabenTable.php +++ b/sources/getAufgabenTable.php @@ -1,5 +1,5 @@ Normal'; break; case 1: - ' Höher'; + echo ' Höher'; break; case 2: - ' Hoch'; + echo ' Hoch'; break; } echo ""; diff --git a/sources/getCheckInTable.php b/sources/getCheckInTable.php index a3e86b9..cfc8df9 100644 --- a/sources/getCheckInTable.php +++ b/sources/getCheckInTable.php @@ -29,6 +29,34 @@ $result = $Epi->requestEpiApi('/v1/packingnote/open?isco=False&cl=' . Epirent_Ma $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) { @@ -96,16 +124,16 @@ foreach ($data_output as $packingjob) { - if ($orderdetail_output->amount_open_checkin==0) { + if ($packingjob->is_all_in ==0) { echo ""; } else { - echo '
'; + echo '
'; echo ""; } - echo ($orderdetail_output->amount_checkout - $orderdetail_output->amount_open_checkin) . "/" . $orderdetail_output->amount_checkout; + echo ( $packingjob->pieces_sum_total - abs($packingjob->is_all_out) - abs($packingjob->is_all_in)) . "/" . ($packingjob->pieces_sum_total - $packingjob ->is_all_out) . " (" . $packingjob->pieces_sum_total.")"; echo ""; echo ""; diff --git a/sources/getCheckOutTable.php b/sources/getCheckOutTable.php index 604ce82..fe8d93f 100644 --- a/sources/getCheckOutTable.php +++ b/sources/getCheckOutTable.php @@ -1,4 +1,5 @@ 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) { @@ -92,18 +118,18 @@ foreach ($data_output as $packingjob) { echo "" . date_format(new \DateTime($packingjob->date_end), 'd.m.Y') . " " . getTimeFromSeconds($packingjob->time_end) . ""; } echo ""; - - if ($orderdetail_output->amount_open_checkout==0) { + + if ($packingjob->is_all_out == 0) { echo ""; } else { - - echo '
'; + + echo '
'; echo ""; } - - echo ($orderdetail_output->amount_packagingnote - $orderdetail_output->amount_open_checkout) . "/" . $orderdetail_output->amount_packagingnote; + + echo ($packingjob->pieces_sum_total - abs($packingjob->is_all_out)) . "/" . $packingjob->pieces_sum_total; echo ""; echo ""; }