Feature: Filter, wie viele Tage zukünftig Check In / Check Out Angezeigt werden soll
This commit is contained in:
2024-02-29 11:48:04 +01:00
parent 3bc9208c65
commit 8e4bbf130f
4 changed files with 120 additions and 91 deletions

View File

@@ -1,11 +1,9 @@
<?php
require('config.php');
require('EpiApi.php');
require('vendor/autoload.php');
$Epi = new Epirent();
?>
@@ -21,7 +19,7 @@ $Epi = new Epirent();
<!-- Bootstrap -->
<link rel="stylesheet" href="vendor/twbs/bootstrap/dist/css/bootstrap.min.css" >
<script src="scripts/jquery-3.5.1.min.js"></script>
<link href="css/sticky-footer.css" rel="stylesheet">
<link href="css/sticky-footer.css" rel="stylesheet">
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
@@ -30,25 +28,25 @@ $Epi = new Epirent();
<![endif]-->
<script type="text/javascript">
$(document).ready(function(){
refreshCheckOutTable();
refreshCheckInTable();
});
$(document).ready(function () {
refreshCheckOutTable();
refreshCheckInTable();
});
function refreshCheckOutTable(){
$('#getCheckOutTableHolder').load('sources/getCheckOutTable.php', function(){
setTimeout(refreshCheckOutTable, 5000);
});
}
function refreshCheckInTable(){
$('#getCheckInTableHolder').load('sources/getCheckInTable.php', function(){
setTimeout(refreshCheckInTable, 5000);
});
}
function refreshCheckOutTable() {
$('#getCheckOutTableHolder').load('sources/getCheckOutTable.php', function () {
setTimeout(refreshCheckOutTable, 5000);
});
}
function refreshCheckInTable() {
$('#getCheckInTableHolder').load('sources/getCheckInTable.php', function () {
setTimeout(refreshCheckInTable, 5000);
});
}
</script>
</script>
</head>
<body style="background-color: black;">
@@ -56,7 +54,12 @@ $Epi = new Epirent();
<div class="container-fluid">
<div class="row">
<div class="col-lg">
<h2 class="text-light">Check-Out</h2>
<h2 class="text-light">Check-Out
<?php
if (CheckOut_FutureDays != -1) {
echo "in den nächsten " . CheckOut_FutureDays . " Tagen";
}
?></h2>
<table class="table table-dark">
<thead>
<tr>
@@ -77,7 +80,12 @@ $Epi = new Epirent();
</div>
<div class="col-lg">
<h2 class="text-light">Check-In</h2>
<h2 class="text-light">Check-In
<?php
if (CheckIn_FutureDays != -1) {
echo "in den nächsten " . CheckIn_FutureDays . " Tagen";
}
?></h2>
<table class="table table-dark">
<thead>
<tr>
@@ -88,7 +96,7 @@ $Epi = new Epirent();
<th scope="col">Dispo-Ende<br><i>RP-Ende</i></th>
</tr>
</thead>
<tbody id="getCheckInTableHolder">
<tbody id="getCheckInTableHolder">
</tbody>
</table>

View File

@@ -1,20 +1,29 @@
<?php
//EPIRENT CONNECTION EINSTELLUNGEN//
define('Epirent_Server', '10.10.18.12');
define('Epirent_Connectionprotocol', 'http');
define('Epirent_Port', '8080');
define('Epirent_Token', 'BCEF15F4DC1F2F448BA07E5364EDDAE3');
define('Epirent_Mandant', '2');
define('Epirent_Mandant', '2'); //NORMALERWEISE 0
//CREWBRAIN CONNECTION EINSTELLUNGEN-NUR AUSFÜLLEN WENN GEWÜNSCHT//
define('CrewBrain_Username', 'l.strobl');
define('CrewBrain_password', '14032015');
define('CrewBrain_Server', 'vt-media.crewbrain.com');
define('CrewBrain_Connectionprotocol', 'https');
define('CrewBrain_TaskListID', 6);
//CREWBRAIN SPEZIFISCHE EINSTELLUNGEN (AUFGABENLISTE)//
define('Enable_QR_Code_CrewBrainAufgaben', true);
define('Enable_QR_Code_CheckOut', true);
define('Enable_QR_Code_CheckIn', true);
define('Vorbereitungs_Zeitvariable', 'Vorbereitung');
define('Rueckpacken_Zeitvariable', 'Rückpacken');
define('CheckOut_UseDispoStartForRowMarking', true); //else: Use Same Variable as "Vorbereitung Zeitvariable"
define('CheckIn_UseDispoEndForRowMarking', true); //else: Use Same Variable as "Rueckpacken Zeitvariable"
//EPIRENT SPEZIFISCHE EINSTELLUNGEN (CHECK IN & CHECK OUT)
define('Enable_QR_Code_CheckOut', true); //Zeigt statt der Packscheinnummer einen Scanbaren QR Code für den CheckOut an
define('Enable_QR_Code_CheckIn', true); //Zeigt statt der Packscheinnummer einen Scanbaren QR Code für den CheckIn an
define('Vorbereitungs_Zeitvariable', 'Vorbereitung'); //Name des zu verwendenden Zeitabschnitts, der Zusätzlich zur DispoZeit beim Check Out Angezeigt werden soll
define('Rueckpacken_Zeitvariable', 'Rückpacken'); //Name des zu verwendenden Zeitabschnitts, der Zusätzlich zur DispoZeit beim Check In Angezeigt werden soll
define('CheckOut_UseDispoStartForRowMarking', true); //else: Use Same Variable as "Vorbereitung Zeitvariable" | Konfiguration, welche Zeit für die Zeilenmarkierung beim CheckOut Verwendet werden soll
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
?>

View File

@@ -10,6 +10,8 @@ use chillerlan\QRCode\{
require('../vendor/autoload.php');
$options = new QROptions([
'imageBase64' => false,
'qrCodeHeight' => 75,
@@ -50,7 +52,9 @@ foreach ($data_output as $packingjob) {
//End Of get Order Details
if (CheckIn_UseDispoEndForRowMarking || ($NachbereitungsTimeDetail->date_start==null)) {
if (CheckIn_UseDispoEndForRowMarking || ($NachbereitungsTimeDetail->date_start == null)) {
$date = new DateTime($packingjob->date_end);
} else {
$date = new DateTime($NachbereitungsTimeDetail->date_start);
@@ -58,32 +62,38 @@ foreach ($data_output as $packingjob) {
$date->setTime(0, 0, 0);
$today = new DateTime();
$today->setTime(0, 0, 0);
if ($date == $today) {
$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
echo "<tr class='text-dark bg-warning'>";
} else if ($date < $today) {
echo "<tr class=' bg-danger'>";
} else {
echo "<tr>";
if ($date == $today) {
echo "<tr class='text-dark bg-warning'>";
} else if ($date < $today) {
echo "<tr class=' bg-danger'>";
} else {
echo "<tr>";
}
if (Enable_QR_Code_CheckIn) {
echo "<td>" . '<div style="width: 5vb;">' . (new QRCode($options))->render($packingjob->packingnote_no) . "</div></td>";
} else {
echo "<td>" . $packingjob->packingnote_no . "</td>";
}
echo "<td>" . $packingjob->contact->name . "</td>";
echo "<td>" . $packingjob->event . "</td>";
if ($NachbereitungsTimeDetail->date_start != null) {
echo "<td><small>" . date_format(new \DateTime($packingjob->date_start), 'd.m.Y') . " " . getTimeFromSeconds($packingjob->time_start) . "</small><br><i>" . date_format(new \DateTime($NachbereitungsTimeDetail->date_start), 'd.m.Y') . " " . getTimeFromSeconds($NachbereitungsTimeDetail->time_start) . "</i></td>";
} else {
echo "<td>" . date_format(new \DateTime($packingjob->date_start), 'd.m.Y') . " " . getTimeFromSeconds($packingjob->time_start) . "</td>";
}
if ($NachbereitungsTimeDetail->date_end != null) {
echo "<td><small>" . date_format(new \DateTime($packingjob->date_end), 'd.m.Y') . " " . getTimeFromSeconds($packingjob->time_end) . "</small><br><i>" . date_format(new \DateTime($NachbereitungsTimeDetail->date_end), 'd.m.Y') . " " . getTimeFromSeconds($NachbereitungsTimeDetail->time_end) . "</i></td>";
} else {
echo "<td>" . date_format(new \DateTime($packingjob->date_end), 'd.m.Y') . " " . getTimeFromSeconds($packingjob->time_end) . "</td>";
}
echo "</tr>";
}
if (Enable_QR_Code_CheckIn) {
echo "<td>" . '<div style="width: 5vb;">' . (new QRCode($options))->render($packingjob->packingnote_no) . "</div></td>";
} else {
echo "<td>" . $packingjob->packingnote_no . "</td>";
}
echo "<td>" . $packingjob->contact->name . "</td>";
echo "<td>" . $packingjob->event . "</td>";
if ($NachbereitungsTimeDetail->date_start != null) {
echo "<td><small>" . date_format(new \DateTime($packingjob->date_start), 'd.m.Y') . " " . getTimeFromSeconds($packingjob->time_start) . "</small><br><i>" . date_format(new \DateTime($NachbereitungsTimeDetail->date_start), 'd.m.Y') . " " . getTimeFromSeconds($NachbereitungsTimeDetail->time_start) . "</i></td>";
} else {
echo "<td>" . date_format(new \DateTime($packingjob->date_start), 'd.m.Y') . " " . getTimeFromSeconds($packingjob->time_start) . "</td>";
}
if ($NachbereitungsTimeDetail->date_end != null) {
echo "<td><small>" . date_format(new \DateTime($packingjob->date_end), 'd.m.Y') . " " . getTimeFromSeconds($packingjob->time_end) . "</small><br><i>" . date_format(new \DateTime($NachbereitungsTimeDetail->date_end), 'd.m.Y') . " " . getTimeFromSeconds($NachbereitungsTimeDetail->time_end) . "</i></td>";
} else {
echo "<td>" . date_format(new \DateTime($packingjob->date_end), 'd.m.Y') . " " . getTimeFromSeconds($packingjob->time_end) . "</td>";
}
echo "</tr>";
}
}

View File

@@ -49,48 +49,50 @@ foreach ($data_output as $packingjob) {
$VorbereitungsTimeDetail = $scheduledetail;
}
}
//End Of get Order Details
if (CheckOut_UseDispoStartForRowMarking || ($VorbereitungsTimeDetail->date_start == null)) {
$date = new DateTime($packingjob->date_start);
} else {
$date = new DateTime($VorbereitungsTimeDetail->date_start);
}
$date->setTime(0, 0, 0);
$today = new DateTime();
$today->setTime(0, 0, 0);
if ($date == $today) {
echo "<tr class='text-dark bg-warning'>";
} else if ($date < $today) {
echo "<tr class=' bg-danger'>";
} else {
echo "<tr>";
}
$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) {
if (Enable_QR_Code_CheckOut) {
echo "<td>" . '<div style="width: 5vb;">' . (new QRCode($options))->render($packingjob->packingnote_no) . "</div></td>";
} else {
echo "<td>" . $packingjob->packingnote_no . "</td>";
echo "<tr class='text-dark bg-warning'>";
} else if ($date < $today) {
echo "<tr class=' bg-danger'>";
} else {
echo "<tr>";
}
if (Enable_QR_Code_CheckOut) {
echo "<td>" . '<div style="width: 5vb;">' . (new QRCode($options))->render($packingjob->packingnote_no) . "</div></td>";
} else {
echo "<td>" . $packingjob->packingnote_no . "</td>";
}
echo "<td>" . $packingjob->contact->name . "</td>";
echo "<td>" . $packingjob->event . "</td>";
if ($VorbereitungsTimeDetail->date_start != null) {
echo "<td><small>" . date_format(new \DateTime($packingjob->date_start), 'd.m.Y') . " " . getTimeFromSeconds($packingjob->time_start) . "</small><br><i>" . date_format(new \DateTime($VorbereitungsTimeDetail->date_start), 'd.m.Y') . " " . getTimeFromSeconds($VorbereitungsTimeDetail->time_start) . "</i></td>";
} else {
echo "<td>" . date_format(new \DateTime($packingjob->date_start), 'd.m.Y') . " " . getTimeFromSeconds($packingjob->time_start) . "</td>";
}
if ($VorbereitungsTimeDetail->date_end != null) {
echo "<td><small>" . date_format(new \DateTime($packingjob->date_end), 'd.m.Y') . " " . getTimeFromSeconds($packingjob->time_end) . "</small><br><i>" . date_format(new \DateTime($VorbereitungsTimeDetail->date_end), 'd.m.Y') . " " . getTimeFromSeconds($VorbereitungsTimeDetail->time_end) . "</i></td>";
} else {
echo "<td>" . date_format(new \DateTime($packingjob->date_end), 'd.m.Y') . " " . getTimeFromSeconds($packingjob->time_end) . "</td>";
}
echo "</tr>";
}
echo "<td>" . $packingjob->contact->name . "</td>";
echo "<td>" . $packingjob->event . "</td>";
if ($VorbereitungsTimeDetail->date_start != null) {
echo "<td><small>" . date_format(new \DateTime($packingjob->date_start), 'd.m.Y') . " " . getTimeFromSeconds($packingjob->time_start) . "</small><br><i>" . date_format(new \DateTime($VorbereitungsTimeDetail->date_start), 'd.m.Y') . " " . getTimeFromSeconds($VorbereitungsTimeDetail->time_start) . "</i></td>";
} else {
echo "<td>" . date_format(new \DateTime($packingjob->date_start), 'd.m.Y') . " " . getTimeFromSeconds($packingjob->time_start) . "</td>";
}
if ($VorbereitungsTimeDetail->date_end != null) {
echo "<td><small>" . date_format(new \DateTime($packingjob->date_end), 'd.m.Y') . " " . getTimeFromSeconds($packingjob->time_end) . "</small><br><i>" . date_format(new \DateTime($VorbereitungsTimeDetail->date_end), 'd.m.Y') . " " . getTimeFromSeconds($VorbereitungsTimeDetail->time_end) . "</i></td>";
} else {
echo "<td>" . date_format(new \DateTime($packingjob->date_end), 'd.m.Y') . " " . getTimeFromSeconds($packingjob->time_end) . "</td>";
}
echo "</tr>";
}
}