v1.4.5: Feature: CheckIn CheckOut Sortierung jetzt über Config lösbar

This commit is contained in:
2024-12-19 13:09:43 +01:00
parent b56007aae2
commit f5106d83ea
4 changed files with 69 additions and 13 deletions

View File

@@ -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
?>
?>

View File

@@ -1,5 +1,5 @@
<?php
error_reporting(E_ALL);
require('../config.php');
require('../CrewbrainApi.php');
@@ -83,10 +83,10 @@ foreach ($data_output as $aufgabe) {
echo '<td> <span class="badge badge-success">Normal</span></td>';
break;
case 1:
'<td> <span class="badge badge-warning">Höher</span></td>';
echo '<td> <span class="badge badge-warning">Höher</span></td>';
break;
case 2:
'<td> <span class="badge badge-danger">Hoch</span></td>';
echo '<td> <span class="badge badge-danger">Hoch</span></td>';
break;
}
echo "</tr>";

View File

@@ -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 "<span class='badge badge-success'>";
} else {
echo '<div class="progress"><div class="progress-bar progress-bar-striped progress-bar-animated" role="progressbar" style="width: '.(($orderdetail_output->amount_checkout - $orderdetail_output->amount_open_checkin)/$orderdetail_output->amount_checkout) *100 .'%" aria-valuenow="' . ($orderdetail_output->amount_checkout - $orderdetail_output->amount_open_checkin) . '" aria-valuemin="0" aria-valuemax="' . $orderdetail_output->amount_checkout . '"></div></div>';
echo '<div class="progress"><div class="progress-bar progress-bar-striped progress-bar-animated" role="progressbar" style="width: '.(( $packingjob->pieces_sum_total - abs($packingjob->is_all_out) - abs($packingjob->is_all_in)) / ($packingjob->pieces_sum_total - $packingjob ->is_all_out)) *100 .'%" aria-valuenow="' .( $packingjob->pieces_sum_total - abs($packingjob->is_all_out) - abs($packingjob->is_all_in)) . '" aria-valuemin="0" aria-valuemax="' . ($packingjob->pieces_sum_total - $packingjob ->is_all_out). '"></div></div>';
echo "<span class='badge badge-info'>";
}
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 "</span><td>";
echo "</tr>";

View File

@@ -1,4 +1,5 @@
<?php
error_reporting(E_ALL);
require('../config.php');
require('../EpiApi.php');
@@ -28,6 +29,31 @@ $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) {
@@ -92,18 +118,18 @@ foreach ($data_output as $packingjob) {
echo "<td>" . date_format(new \DateTime($packingjob->date_end), 'd.m.Y') . " " . getTimeFromSeconds($packingjob->time_end) . "</td>";
}
echo "<td>";
if ($orderdetail_output->amount_open_checkout==0) {
if ($packingjob->is_all_out == 0) {
echo "<span class='badge badge-success'>";
} else {
echo '<div class="progress"><div class="progress-bar progress-bar-striped progress-bar-animated" role="progressbar" style="width: '.(($orderdetail_output->amount_packagingnote - $orderdetail_output->amount_open_checkout)/$orderdetail_output->amount_packagingnote) *100 .'%" aria-valuenow="' . ($orderdetail_output->amount_packagingnote - $orderdetail_output->amount_open_checkout) . '" aria-valuemin="0" aria-valuemax="' . $orderdetail_output->amount_packingnote . '"></div></div>';
echo '<div class="progress"><div class="progress-bar progress-bar-striped progress-bar-animated" role="progressbar" style="width: ' . (($packingjob->pieces_sum_total - abs($packingjob->is_all_out)) / $packingjob->pieces_sum_total) * 100 . '%" aria-valuenow="' . ($packingjob->pieces_sum_total - abs($packingjob->is_all_out)) . '" aria-valuemin="0" aria-valuemax="' . $packingjob->pieces_sum_total . '"></div></div>';
echo "<span class='badge badge-info'>";
}
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 "</span><td>";
echo "</tr>";
}