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 <?php
require('config.php'); require('config.php');
require('EpiApi.php'); require('EpiApi.php');
require('vendor/autoload.php'); require('vendor/autoload.php');
$Epi = new Epirent(); $Epi = new Epirent();
?> ?>
@@ -21,42 +19,47 @@ $Epi = new Epirent();
<!-- Bootstrap --> <!-- Bootstrap -->
<link rel="stylesheet" href="vendor/twbs/bootstrap/dist/css/bootstrap.min.css" > <link rel="stylesheet" href="vendor/twbs/bootstrap/dist/css/bootstrap.min.css" >
<script src="scripts/jquery-3.5.1.min.js"></script> <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 --> <!-- 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:// --> <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]> <!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]--> <![endif]-->
<script type="text/javascript">
$(document).ready(function(){
refreshCheckOutTable();
refreshCheckInTable();
});
function refreshCheckOutTable(){ <script type="text/javascript">
$('#getCheckOutTableHolder').load('sources/getCheckOutTable.php', function(){ $(document).ready(function () {
setTimeout(refreshCheckOutTable, 5000); refreshCheckOutTable();
}); refreshCheckInTable();
} });
function refreshCheckInTable(){
$('#getCheckInTableHolder').load('sources/getCheckInTable.php', function(){ function refreshCheckOutTable() {
setTimeout(refreshCheckInTable, 5000); $('#getCheckOutTableHolder').load('sources/getCheckOutTable.php', function () {
}); setTimeout(refreshCheckOutTable, 5000);
} });
}
function refreshCheckInTable() {
$('#getCheckInTableHolder').load('sources/getCheckInTable.php', function () {
</script> setTimeout(refreshCheckInTable, 5000);
});
}
</script>
</head> </head>
<body style="background-color: black;"> <body style="background-color: black;">
<div class="container-fluid"> <div class="container-fluid">
<div class="row"> <div class="row">
<div class="col-lg"> <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"> <table class="table table-dark">
<thead> <thead>
<tr> <tr>
@@ -68,7 +71,7 @@ $Epi = new Epirent();
</tr> </tr>
</thead> </thead>
<tbody id="getCheckOutTableHolder"> <tbody id="getCheckOutTableHolder">
</tbody> </tbody>
</table> </table>
@@ -77,7 +80,12 @@ $Epi = new Epirent();
</div> </div>
<div class="col-lg"> <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"> <table class="table table-dark">
<thead> <thead>
<tr> <tr>
@@ -88,8 +96,8 @@ $Epi = new Epirent();
<th scope="col">Dispo-Ende<br><i>RP-Ende</i></th> <th scope="col">Dispo-Ende<br><i>RP-Ende</i></th>
</tr> </tr>
</thead> </thead>
<tbody id="getCheckInTableHolder"> <tbody id="getCheckInTableHolder">
</tbody> </tbody>
</table> </table>
</div> </div>

View File

@@ -1,20 +1,29 @@
<?php <?php
//EPIRENT CONNECTION EINSTELLUNGEN//
define('Epirent_Server', '10.10.18.12'); define('Epirent_Server', '10.10.18.12');
define('Epirent_Connectionprotocol', 'http'); define('Epirent_Connectionprotocol', 'http');
define('Epirent_Port', '8080'); define('Epirent_Port', '8080');
define('Epirent_Token', 'BCEF15F4DC1F2F448BA07E5364EDDAE3'); 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_Username', 'l.strobl');
define('CrewBrain_password', '14032015'); define('CrewBrain_password', '14032015');
define('CrewBrain_Server', 'vt-media.crewbrain.com'); define('CrewBrain_Server', 'vt-media.crewbrain.com');
define('CrewBrain_Connectionprotocol', 'https'); define('CrewBrain_Connectionprotocol', 'https');
define('CrewBrain_TaskListID', 6); define('CrewBrain_TaskListID', 6);
//CREWBRAIN SPEZIFISCHE EINSTELLUNGEN (AUFGABENLISTE)//
define('Enable_QR_Code_CrewBrainAufgaben', true); define('Enable_QR_Code_CrewBrainAufgaben', true);
define('Enable_QR_Code_CheckOut', true);
define('Enable_QR_Code_CheckIn', true); //EPIRENT SPEZIFISCHE EINSTELLUNGEN (CHECK IN & CHECK OUT)
define('Vorbereitungs_Zeitvariable', 'Vorbereitung'); define('Enable_QR_Code_CheckOut', true); //Zeigt statt der Packscheinnummer einen Scanbaren QR Code für den CheckOut an
define('Rueckpacken_Zeitvariable', 'Rückpacken'); define('Enable_QR_Code_CheckIn', true); //Zeigt statt der Packscheinnummer einen Scanbaren QR Code für den CheckIn an
define('CheckOut_UseDispoStartForRowMarking', true); //else: Use Same Variable as "Vorbereitung Zeitvariable" define('Vorbereitungs_Zeitvariable', 'Vorbereitung'); //Name des zu verwendenden Zeitabschnitts, der Zusätzlich zur DispoZeit beim Check Out Angezeigt werden soll
define('CheckIn_UseDispoEndForRowMarking', true); //else: Use Same Variable as "Rueckpacken Zeitvariable" 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'); require('../vendor/autoload.php');
$options = new QROptions([ $options = new QROptions([
'imageBase64' => false, 'imageBase64' => false,
'qrCodeHeight' => 75, 'qrCodeHeight' => 75,
@@ -50,7 +52,9 @@ foreach ($data_output as $packingjob) {
//End Of get Order Details //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); $date = new DateTime($packingjob->date_end);
} else { } else {
$date = new DateTime($NachbereitungsTimeDetail->date_start); $date = new DateTime($NachbereitungsTimeDetail->date_start);
@@ -58,32 +62,38 @@ foreach ($data_output as $packingjob) {
$date->setTime(0, 0, 0); $date->setTime(0, 0, 0);
$today = new DateTime(); $today = new DateTime();
$today->setTime(0, 0, 0); $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
if ($date == $today) {
echo "<tr class='text-dark bg-warning'>"; echo "<tr class='text-dark bg-warning'>";
} else if ($date < $today) { } else if ($date < $today) {
echo "<tr class=' bg-danger'>"; echo "<tr class=' bg-danger'>";
} else { } else {
echo "<tr>"; 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; $VorbereitungsTimeDetail = $scheduledetail;
} }
} }
//End Of get Order Details //End Of get Order Details
if (CheckOut_UseDispoStartForRowMarking || ($VorbereitungsTimeDetail->date_start == null)) { if (CheckOut_UseDispoStartForRowMarking || ($VorbereitungsTimeDetail->date_start == null)) {
$date = new DateTime($packingjob->date_start); $date = new DateTime($packingjob->date_start);
} else { } else {
$date = new DateTime($VorbereitungsTimeDetail->date_start); $date = new DateTime($VorbereitungsTimeDetail->date_start);
} }
$date->setTime(0, 0, 0); $date->setTime(0, 0, 0);
$today = new DateTime(); $today = new DateTime();
$today->setTime(0, 0, 0); $today->setTime(0, 0, 0);
if ($date == $today) {
echo "<tr class='text-dark bg-warning'>"; $todayFilter = new DateTime();
} else if ($date < $today) { $todayFilter->setTime(0, 0, 0);
echo "<tr class=' bg-danger'>"; if (CheckOut_FutureDays == -1 || $date <= ($todayFilter->modify('+' . CheckOut_FutureDays . ' day'))) {
} else { //prüfe, ob entweder unbegrenzte (-1) Anzeige Aktiv ist, oder das Datum kleiner oder Gleich heute + Zukunftsspanne ist
echo "<tr>"; if ($date == $today) {
}
if (Enable_QR_Code_CheckOut) { echo "<tr class='text-dark bg-warning'>";
echo "<td>" . '<div style="width: 5vb;">' . (new QRCode($options))->render($packingjob->packingnote_no) . "</div></td>"; } else if ($date < $today) {
} else { echo "<tr class=' bg-danger'>";
echo "<td>" . $packingjob->packingnote_no . "</td>"; } 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>";
} }
} }