This commit is contained in:
113
Aufgabenmonitor.php
Normal file
113
Aufgabenmonitor.php
Normal file
@@ -0,0 +1,113 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
require('config.php');
|
||||||
|
|
||||||
|
require('vendor/autoload.php');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
|
||||||
|
<title>Aufgabenmonitor</title>
|
||||||
|
|
||||||
|
<!-- 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">
|
||||||
|
<!-- 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]>
|
||||||
|
<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>
|
||||||
|
<![endif]-->
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(document).ready(function(){
|
||||||
|
refreshAufgabenTable();
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
function refreshAufgabenTable(){
|
||||||
|
$('#AufgabenTableHolder').load('sources/getAufgabenTable.php', function(){
|
||||||
|
setTimeout(refreshAufgabenTable, 5000);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// function refreshCheckInTable(){
|
||||||
|
// $('#getCheckInTableHolder').load('sources/getCheckInTable.php', function(){
|
||||||
|
// setTimeout(refreshCheckInTable, 5000);
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body style="background-color: black;">
|
||||||
|
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg">
|
||||||
|
<h2 class="text-light">Aufgaben</h2>
|
||||||
|
<table class="table table-dark">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th scope="col">#</th>
|
||||||
|
<th scope="col">Bearbeiter</th>
|
||||||
|
<th scope="col">Aufgabe</th>
|
||||||
|
<th scope="col">Zieldatum</th>
|
||||||
|
<th scope="col">Priorität</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody id="AufgabenTableHolder">
|
||||||
|
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
|
||||||
|
<script src="https://code.jquery.com/jquery-1.12.4.min.js" integrity="sha384-nvAa0+6Qg9clwYCGGPpDQLVpLNn0fRaROjHqs13t4Ggj3Ez50XnGQqc/r8MhnRDZ" crossorigin="anonymous"></script>
|
||||||
|
<!-- Include all compiled plugins (below), or include individual files as needed -->
|
||||||
|
<script src="vendor/twbs/bootstrap/dist/js/bootstrap.min.js" integrity="sha384-aJ21OjlMXNL5UyIl/XNwTMqvzeRMZH2w8c5cRVpzpU8Y5bApTppSuUkhZXN0VxHd" crossorigin="anonymous"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
|
||||||
|
<?php
|
||||||
|
|
||||||
|
function getTimeFromSeconds(string $timestring) {
|
||||||
|
|
||||||
|
$hours = floor($timestring / 3600);
|
||||||
|
$mins = floor($timestring / 60 % 60);
|
||||||
|
$secs = floor($timestring % 60);
|
||||||
|
|
||||||
|
$timeFormat = sprintf('%02d:%02d', $hours, $mins);
|
||||||
|
|
||||||
|
return $timeFormat;
|
||||||
|
}
|
||||||
|
?>
|
||||||
@@ -8,13 +8,15 @@ class CrewBrain{
|
|||||||
|
|
||||||
|
|
||||||
public function requestCrewBrainApi(string $requestString){
|
public function requestCrewBrainApi(string $requestString){
|
||||||
$client = new GuzzleHttp\Client();
|
$client = new GuzzleHttp\Client([
|
||||||
|
'auth' => [CrewBrain_Username, CrewBrain_password]
|
||||||
|
]);
|
||||||
$requestUrl = CrewBrain_Connectionprotocol."://". CrewBrain_Server."/".$requestString;
|
$requestUrl = CrewBrain_Connectionprotocol."://". CrewBrain_Server."/".$requestString;
|
||||||
$response = $client->request('GET', $requestUrl,[
|
$response = $client->request('GET', $requestUrl,[
|
||||||
'headers' =>[
|
// 'headers' =>[
|
||||||
|
//
|
||||||
'X-API-KEY' => CrewBrain_Token
|
// 'X-API-KEY' => CrewBrain_Token
|
||||||
]
|
// ]
|
||||||
]);
|
]);
|
||||||
|
|
||||||
// $json = json_decode($response->getBody());
|
// $json = json_decode($response->getBody());
|
||||||
|
|||||||
@@ -63,8 +63,8 @@ $Epi = new Epirent();
|
|||||||
<th scope="col">#</th>
|
<th scope="col">#</th>
|
||||||
<th scope="col">Kunde</th>
|
<th scope="col">Kunde</th>
|
||||||
<th scope="col">Event</th>
|
<th scope="col">Event</th>
|
||||||
<th scope="col">Dispo-Start</th>
|
<th scope="col">Dispo-Start<br><i>VB-Start</i></th>
|
||||||
<th scope="col">Dispo-Ende</th>
|
<th scope="col">Dispo-Ende<br><i>VB-Ende</i></th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody id="getCheckOutTableHolder">
|
<tbody id="getCheckOutTableHolder">
|
||||||
@@ -84,8 +84,8 @@ $Epi = new Epirent();
|
|||||||
<th scope="col">#</th>
|
<th scope="col">#</th>
|
||||||
<th scope="col">Kunde</th>
|
<th scope="col">Kunde</th>
|
||||||
<th scope="col">Event</th>
|
<th scope="col">Event</th>
|
||||||
<th scope="col">Dispo-Start</th>
|
<th scope="col">Dispo-Start<br><i>RP-Start</i></th>
|
||||||
<th scope="col">Dispo-Ende</th>
|
<th scope="col">Dispo-Ende<br><i>RP-Ende</i></th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody id="getCheckInTableHolder">
|
<tbody id="getCheckInTableHolder">
|
||||||
|
|||||||
@@ -5,9 +5,16 @@ 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');
|
||||||
define('CrewBrain_Token', '1bd5a96db84d62e52544204651735136');
|
define('CrewBrain_Username', 'l.strobl');
|
||||||
|
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('Enable_QR_Code_CrewBrainAufgaben', true);
|
||||||
define('Enable_QR_Code_CheckOut', true);
|
define('Enable_QR_Code_CheckOut', true);
|
||||||
define('Enable_QR_Code_CheckIn', 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"
|
||||||
?>
|
?>
|
||||||
|
|||||||
@@ -3,18 +3,46 @@
|
|||||||
require('../config.php');
|
require('../config.php');
|
||||||
|
|
||||||
require('../CrewbrainApi.php');
|
require('../CrewbrainApi.php');
|
||||||
|
|
||||||
|
use chillerlan\QRCode\{
|
||||||
|
QRCode,
|
||||||
|
QROptions
|
||||||
|
};
|
||||||
|
|
||||||
require('../vendor/autoload.php');
|
require('../vendor/autoload.php');
|
||||||
|
|
||||||
|
$options = new QROptions([
|
||||||
|
'imageBase64' => false,
|
||||||
|
'qrCodeHeight' => 75,
|
||||||
|
'qrCodeWidth' => 75,
|
||||||
|
'version' => -1,
|
||||||
|
'quietzoneSize' => 1
|
||||||
|
]);
|
||||||
|
|
||||||
|
|
||||||
$CrewBrain = new CrewBrain();
|
$CrewBrain = new CrewBrain();
|
||||||
|
|
||||||
|
|
||||||
$result = $Epi->requestEpiApi('/v1/packingnote/open?isco=False&cl=' . Epirent_Mandant);
|
|
||||||
$result = $CrewBrain->requestCrewBrainApi('api/tasklist/5');
|
$result = $CrewBrain->requestCrewBrainApi('api/tasklist/' . CrewBrain_TaskListID . '/tasks');
|
||||||
$data_output = json_decode($result)->payload;
|
|
||||||
|
|
||||||
|
|
||||||
foreach ($data_output as $packingjob) {
|
$data_output = json_decode($result);
|
||||||
|
|
||||||
$date = new DateTime($packingjob->date_end);
|
|
||||||
|
foreach ($data_output as $aufgabe) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if ($aufgabe->Geloescht == null) {
|
||||||
|
|
||||||
|
$AufgabeDetail = json_decode($CrewBrain->requestCrewBrainApi('api/task/'.$aufgabe->ID));
|
||||||
|
|
||||||
|
if ($aufgabe->Zieldatum == null) {
|
||||||
|
echo "<tr>";
|
||||||
|
} else {
|
||||||
|
|
||||||
|
$date = new DateTime($aufgabe->Zieldatum);
|
||||||
$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);
|
||||||
@@ -26,12 +54,43 @@ foreach ($data_output as $packingjob) {
|
|||||||
} else {
|
} else {
|
||||||
echo "<tr>";
|
echo "<tr>";
|
||||||
}
|
}
|
||||||
echo "<td>" . $packingjob->primary_key . "</td>";
|
}
|
||||||
echo "<td>" . $packingjob->contact->name . "</td>";
|
if (Enable_QR_Code_CrewBrainAufgaben) {
|
||||||
echo "<td>" . $packingjob->event . "</td>";
|
echo "<td>" . '<div style="width: 5vb;">' . (new QRCode($options))->render(CrewBrain_Connectionprotocol . '://' . CrewBrain_Server . '/aufgaben/' . CrewBrain_TaskListID . '/aufgabe/' . $aufgabe->ID) . "</div></td>";
|
||||||
echo "<td>" . date_format(new \DateTime($packingjob->date_start), 'd.m.Y') . " " . getTimeFromSeconds($packingjob->time_start) . "</td>";
|
} else {
|
||||||
echo "<td>" . date_format(new \DateTime($packingjob->date_end), 'd.m.Y') . " " . getTimeFromSeconds($packingjob->time_end) . "</td>";
|
echo "<td>" . $aufgabe->ID . "</td>";
|
||||||
|
}
|
||||||
|
echo "<td>";
|
||||||
|
|
||||||
|
|
||||||
|
foreach($AufgabeDetail->Responsibles as $bearbeiter){
|
||||||
|
echo $bearbeiter->Name;
|
||||||
|
}
|
||||||
|
echo "</td>";
|
||||||
|
echo "<td>" . $aufgabe->Titel . "</td>";
|
||||||
|
if ($aufgabe->Zieldatum != null) {
|
||||||
|
echo "<td>" . date_format(new \DateTime($aufgabe->Zieldatum), 'd.m.Y') . "</td>";
|
||||||
|
} else {
|
||||||
|
echo "<td>nA</td>";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
switch ($aufgabe->Prioritaet) {
|
||||||
|
case -1:
|
||||||
|
echo '<td> <span class="badge badge-primary">Niedrig</span></td>';
|
||||||
|
break;
|
||||||
|
case 0:
|
||||||
|
echo '<td> <span class="badge badge-success">Normal</span></td>';
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
'<td> <span class="badge badge-warning">Höher</span></td>';
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
'<td> <span class="badge badge-danger">Hoch</span></td>';
|
||||||
|
break;
|
||||||
|
}
|
||||||
echo "</tr>";
|
echo "</tr>";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function getTimeFromSeconds(string $timestring) {
|
function getTimeFromSeconds(string $timestring) {
|
||||||
|
|||||||
@@ -2,18 +2,21 @@
|
|||||||
|
|
||||||
require('../config.php');
|
require('../config.php');
|
||||||
require('../EpiApi.php');
|
require('../EpiApi.php');
|
||||||
use chillerlan\QRCode\{QRCode, QROptions};
|
|
||||||
|
use chillerlan\QRCode\{
|
||||||
|
QRCode,
|
||||||
|
QROptions
|
||||||
|
};
|
||||||
|
|
||||||
require('../vendor/autoload.php');
|
require('../vendor/autoload.php');
|
||||||
|
|
||||||
$options = new QROptions([
|
$options = new QROptions([
|
||||||
'imageBase64' => false,
|
'imageBase64' => false,
|
||||||
|
|
||||||
'qrCodeHeight' => 75,
|
'qrCodeHeight' => 75,
|
||||||
'qrCodeWidth' => 75,
|
'qrCodeWidth' => 75,
|
||||||
'version' =>-1,
|
'version' => -1,
|
||||||
'quietzoneSize' => 1
|
'quietzoneSize' => 1
|
||||||
|
]);
|
||||||
]);
|
|
||||||
|
|
||||||
|
|
||||||
$Epi = new Epirent();
|
$Epi = new Epirent();
|
||||||
@@ -25,8 +28,33 @@ $data_output = json_decode($result)->payload;
|
|||||||
|
|
||||||
|
|
||||||
foreach ($data_output as $packingjob) {
|
foreach ($data_output as $packingjob) {
|
||||||
if($packingjob->is_archived != true){
|
|
||||||
|
|
||||||
|
|
||||||
|
if ($packingjob->is_archived != true) {
|
||||||
|
|
||||||
|
//get OrderDetails
|
||||||
|
$result = $Epi->requestEpiApi('/v1/order/' . $packingjob->order_pk . '?cl=' . Epirent_Mandant);
|
||||||
|
|
||||||
|
$orderdetail_output = json_decode($result)->payload[0];
|
||||||
|
|
||||||
|
$NachbereitungsTimeDetail;
|
||||||
|
|
||||||
|
foreach ($orderdetail_output->order_schedule as $scheduledetail) {
|
||||||
|
|
||||||
|
if ($scheduledetail->name == Rueckpacken_Zeitvariable) {
|
||||||
|
$NachbereitungsTimeDetail = $scheduledetail;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//End Of get Order Details
|
||||||
|
|
||||||
|
if (CheckIn_UseDispoEndForRowMarking || ($NachbereitungsTimeDetail->date_start==null)) {
|
||||||
$date = new DateTime($packingjob->date_end);
|
$date = new DateTime($packingjob->date_end);
|
||||||
|
} else {
|
||||||
|
$date = new DateTime($NachbereitungsTimeDetail->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);
|
||||||
@@ -38,19 +66,25 @@ if($packingjob->is_archived != true){
|
|||||||
} else {
|
} else {
|
||||||
echo "<tr>";
|
echo "<tr>";
|
||||||
}
|
}
|
||||||
if(Enable_QR_Code_CheckIn){
|
if (Enable_QR_Code_CheckIn) {
|
||||||
echo "<td>" .'<div style="width: 5vb;">'.(new QRCode($options))->render($packingjob->packingnote_no)."</div></td>";
|
echo "<td>" . '<div style="width: 5vb;">' . (new QRCode($options))->render($packingjob->packingnote_no) . "</div></td>";
|
||||||
}
|
} else {
|
||||||
|
echo "<td>" . $packingjob->packingnote_no . "</td>";
|
||||||
else {
|
|
||||||
echo "<td>" . $packingjob->packingnote_no ."</td>";
|
|
||||||
}
|
}
|
||||||
echo "<td>" . $packingjob->contact->name . "</td>";
|
echo "<td>" . $packingjob->contact->name . "</td>";
|
||||||
echo "<td>" . $packingjob->event . "</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>";
|
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 "<td>" . date_format(new \DateTime($packingjob->date_end), 'd.m.Y') . " " . getTimeFromSeconds($packingjob->time_end) . "</td>";
|
||||||
|
}
|
||||||
echo "</tr>";
|
echo "</tr>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function getTimeFromSeconds(string $timestring) {
|
function getTimeFromSeconds(string $timestring) {
|
||||||
|
|||||||
@@ -3,18 +3,20 @@
|
|||||||
require('../config.php');
|
require('../config.php');
|
||||||
require('../EpiApi.php');
|
require('../EpiApi.php');
|
||||||
|
|
||||||
use chillerlan\QRCode\{QRCode, QROptions};
|
use chillerlan\QRCode\{
|
||||||
|
QRCode,
|
||||||
|
QROptions
|
||||||
|
};
|
||||||
|
|
||||||
require('../vendor/autoload.php');
|
require('../vendor/autoload.php');
|
||||||
|
|
||||||
$options = new QROptions([
|
$options = new QROptions([
|
||||||
'imageBase64' => false,
|
'imageBase64' => false,
|
||||||
|
|
||||||
'qrCodeHeight' => 75,
|
'qrCodeHeight' => 75,
|
||||||
'qrCodeWidth' => 75,
|
'qrCodeWidth' => 75,
|
||||||
'version' =>-1,
|
'version' => -1,
|
||||||
'quietzoneSize' => 1
|
'quietzoneSize' => 1
|
||||||
|
]);
|
||||||
]);
|
|
||||||
|
|
||||||
|
|
||||||
$Epi = new Epirent();
|
$Epi = new Epirent();
|
||||||
@@ -28,9 +30,37 @@ $data_output = json_decode($result)->payload;
|
|||||||
|
|
||||||
|
|
||||||
foreach ($data_output as $packingjob) {
|
foreach ($data_output as $packingjob) {
|
||||||
if($packingjob->is_archived != true){
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if ($packingjob->is_archived != true) {
|
||||||
|
|
||||||
|
//get OrderDetails
|
||||||
|
$result = $Epi->requestEpiApi('/v1/order/' . $packingjob->order_pk . '?cl=' . Epirent_Mandant);
|
||||||
|
|
||||||
|
$orderdetail_output = json_decode($result)->payload[0];
|
||||||
|
|
||||||
|
$VorbereitungsTimeDetail;
|
||||||
|
|
||||||
|
foreach ($orderdetail_output->order_schedule as $scheduledetail) {
|
||||||
|
|
||||||
|
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);
|
$date = new DateTime($packingjob->date_start);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
$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);
|
||||||
@@ -43,22 +73,26 @@ foreach ($data_output as $packingjob) {
|
|||||||
echo "<tr>";
|
echo "<tr>";
|
||||||
}
|
}
|
||||||
|
|
||||||
if(Enable_QR_Code_CheckOut){
|
if (Enable_QR_Code_CheckOut) {
|
||||||
echo "<td>" .'<div style="width: 5vb;">'.(new QRCode($options))->render($packingjob->packingnote_no)."</div></td>";
|
echo "<td>" . '<div style="width: 5vb;">' . (new QRCode($options))->render($packingjob->packingnote_no) . "</div></td>";
|
||||||
}
|
} else {
|
||||||
|
echo "<td>" . $packingjob->packingnote_no . "</td>";
|
||||||
else {
|
|
||||||
echo "<td>" . $packingjob->packingnote_no ."</td>";
|
|
||||||
}
|
}
|
||||||
echo "<td>" . $packingjob->contact->name . "</td>";
|
echo "<td>" . $packingjob->contact->name . "</td>";
|
||||||
echo "<td>" . $packingjob->event . "</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>";
|
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 "<td>" . date_format(new \DateTime($packingjob->date_end), 'd.m.Y') . " " . getTimeFromSeconds($packingjob->time_end) . "</td>";
|
||||||
|
}
|
||||||
echo "</tr>";
|
echo "</tr>";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function getTimeFromSeconds(string $timestring) {
|
function getTimeFromSeconds(string $timestring) {
|
||||||
|
|
||||||
@@ -70,4 +104,5 @@ function getTimeFromSeconds(string $timestring) {
|
|||||||
|
|
||||||
return $timeFormat;
|
return $timeFormat;
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
@@ -17,6 +17,10 @@
|
|||||||
<div class="sb-nav-link-icon"><i class="fas fa-box-open"></i></div>
|
<div class="sb-nav-link-icon"><i class="fas fa-box-open"></i></div>
|
||||||
Packmonitor
|
Packmonitor
|
||||||
</a>
|
</a>
|
||||||
|
<a class="nav-link" target="_blank" href="../Aufgabenmonitor.php">
|
||||||
|
<div class="sb-nav-link-icon"><i class="fas fa-list"></i></div>
|
||||||
|
Aufgabenmonitor
|
||||||
|
</a>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user