Configbeschreibung angepasst. Imagecheck hinzugefügt

This commit is contained in:
2025-10-28 12:02:16 +01:00
parent d8123ef332
commit 6e5e63adc5
6 changed files with 143 additions and 4 deletions

View File

@@ -36,7 +36,9 @@ Die Anwendung ist speziell für den Einsatz in Lagerprozessen entwickelt.
1. Repository klonen oder Dateien ins Webverzeichnis kopieren:
```bash
git clone http://srvgitea01.vtm.zone:3000/epi/EpiWebview
2. Dashboard Aufrufen und auf die Config-Seite wechseln, notwendige Einstellungen vornehmen.
2. Config-Seite unter /dist/editconfig.php aufrufen, notwendige Einstellungen vornehmen -> Speichern. Wichtig! Verzeichnis muss für Webserver beschreibbar sein!
3. Alternativ: example.config.php nach config.php kopieren! (example.config.php darf nicht gelöscht werden!)
## Changelog
Verschoben in Releases (Git)
---

128
dist/imagecheck.php vendored Normal file
View File

@@ -0,0 +1,128 @@
<?php
require('../config.php');
require('../EpiApi.php');
require_once __DIR__ . '/../vendor/autoload.php';
date_default_timezone_set('Europe/Berlin');
$Epi = new Epirent();
$productList = json_decode($Epi->requestEpiApi('/v1/product/all?ia=false&ir=true&cl=' . Epirent_Mandant))->payload;
?>
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<title>Imagecheck - EpiWebview</title>
<!-- Styles -->
<link href="css/styles.css" rel="stylesheet" />
<link href="https://cdn.datatables.net/1.10.20/css/dataTables.bootstrap4.min.css" rel="stylesheet" crossorigin="anonymous" />
<!-- JS -->
<script src="js/jquery-3.5.1.min.js"></script>
<script src="https://kit.fontawesome.com/93d71de8bc.js" crossorigin="anonymous"></script>
<script src="https://cdn.datatables.net/1.10.20/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/1.10.20/js/dataTables.bootstrap4.min.js"></script>
<style>
.opacity-50 {
opacity: .5;
}
.card .h2,
.card .display-4 {
font-weight: 700;
}
.kpi-updated {
font-size: .82rem;
opacity: .85;
}
</style>
<script>
$(function() {
$('#layoutSidenav_nav').load('../sources/getSidenav.php');
$('#footerholder').load('../sources/getFooter.php');
});
</script>
</head>
<body class="sb-nav-fixed">
<nav class="sb-topnav navbar navbar-expand navbar-dark bg-dark">
<a class="navbar-brand" href="index.php">Epi Webview</a>
<button class="btn btn-link btn-sm order-1 order-lg-0" id="sidebarToggle"><i class="fas fa-bars"></i></button>
</nav>
<div id="layoutSidenav">
<div id="layoutSidenav_nav"></div>
<div id="layoutSidenav_content">
<main>
<div class="container-fluid">
<h1 class="mt-4">Imagecheck</h1>
<div class="card mb-4">
<div class="card-header d-flex justify-content-between align-items-center">
<div><i class="fas fa-table mr-1"></i> Zeigt welche Artikel keine Bilder haben</div>
</div>
<div class="card-body">
<div class="table-responsive">
<table id="dataTable" class="table table-bordered" width="100%" cellspacing="0">
<thead>
<tr>
<th>#</th>
<th>PN</th>
<th>Name</th>
</tr>
</thead>
<tbody>
<?php
foreach ($productList as $product) {
$hasImages=(json_decode($Epi->requestEpiApi('/v1/product/image/'.$product->primary_key.'?cl=' . Epirent_Mandant))->payload_length);
if( $hasImages == 0 || $hasImages ==null){
echo "<tr>";
echo "<td>" . htmlspecialchars($product->primary_key) . "</td>";
echo "<td>" . htmlspecialchars($product->product_no) . "</td>";
echo "<td>" . htmlspecialchars($product->name) . "</td>";
echo "</tr>";
}
}
?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</main>
<div id="footerholder"></div>
</div>
</div>
<!-- Bootstrap Bundle -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/js/bootstrap.bundle.min.js" crossorigin="anonymous"></script>
<script>
$(document).ready(function() {
$('#dataTable').DataTable({
"pageLength": 25,
"language": {
"url": "//cdn.datatables.net/plug-ins/1.10.20/i18n/German.json"
}
});
});
</script>
</body>
</html>

View File

@@ -26,17 +26,19 @@ define('EnableScrollingCheckOut', true); //Aktiviert das automatische Scrollen d
define('EnableScrollingCheckIn', true); //Aktiviert das automatische Scrollen der CheckIn Liste
define('EnableScrollingAufgaben', true); //Aktiviert das automatische Scrollen der Aufgabenliste
// @note: -------------------- CheckOutRowMarkSource: Konfig Zusände --------------------
// @note: 1 = $packingjob->date_start (Dispo Start)
// @note: 1 = $packingjob->date_start (Packjob Start)
// @note: 2 = $VorbereitungsTimeDetail->date_start (Vorbereitung Start)
// @note: 3 = $PackingNoteDetail->date_packing (Packen Zeit)
// @note: 4 = $PackingNoteDetail->date_delivery (Delivery Zeit)
// @note: 5 = $order->date_start (Dispo Start Zeit)
define('CheckOutRowMarkSource', 4);
// @note: -------------------- CheckInRowMarkSource: Konfig Zusände --------------------
// @note: 1 = $packingjob->date_end (Dispo Ende)
// @note: 1 = $packingjob->date_end (Packjob Ende)
// @note: 2 = $NachbereitungssTimeDetail->date_start (Nachbereitung Start)
// @note: 3 = $RePackagingTimeDetail->date_start (Rückpacken Zeit AUS AUFTRAG)
// @note: 4 = $PackingNoteDetail->date_redelivery (ReDelivery Zeit)
// @note: 5 = $order->date_end (Dispo End Zeit)
define('CheckInRowMarkSource', 4);
define('CheckIn_UseDispoEndForRowMarking', false); //else: Use Same Variable as "Rueckpacken Zeitvariable" | Konfiguration, welche Zeit für die Zeilenmarkierung beim Check In Verwendet werden soll

View File

@@ -48,6 +48,7 @@ function resolveRowMarkDateCheckIn(
case 2: $candidate = dt($NachbereitungsTimeDetail->date_start ?? null); break;
case 3: $candidate = dt($RePackagingTimeDetail->date_start ?? null); break;
case 4: $candidate = dt($PackingNoteDetail->date_redelivery ?? null); break;
case 5: $candidate = dt($DispoTimeDetail->date_end ?? null); break;
default: $candidate = null; break;
}
if (!$candidate) {

View File

@@ -50,6 +50,8 @@ function resolveRowMarkDate($packingjob, $VorbereitungsTimeDetail, $PackingNoteD
break;
case 4: $candidate = dt($PackingNoteDetail->date_delivery ?? null);
break;
case 5: $candidate = dt($DispoTimeDetail->date_start ?? null);
break;
default: $candidate = null;
break;
}

View File

@@ -19,6 +19,10 @@
<div class="sb-nav-link-icon"><i class="fas fa-tags"></i></div>
Labelprint
</a>
<a class="nav-link" href=imagecheck.php>
<div class="sb-nav-link-icon"><i class="fas fa-image"></i></div>
Imagecheck
</a>
<div class="sb-sidenav-menu-heading">Addons</div>
<a class="nav-link" target="_blank" href="../Packmonitor.php">