From 42f5d3cc01579fa26f3097c4b3d730b915cb291e Mon Sep 17 00:00:00 2001
From: OpenXE <>
Date: Thu, 15 Aug 2024 18:12:58 +0200
Subject: [PATCH] seriennummern lieferschein warning and tab
---
www/lib/class.erpapi.php | 13 +++++++----
www/pages/content/seriennummern_enter.tpl | 8 +++----
www/pages/lieferschein.php | 18 +++++++++++----
www/pages/seriennummern.php | 27 ++++++++++++++++++-----
4 files changed, 48 insertions(+), 18 deletions(-)
diff --git a/www/lib/class.erpapi.php b/www/lib/class.erpapi.php
index a83744a5..b6dfb773 100644
--- a/www/lib/class.erpapi.php
+++ b/www/lib/class.erpapi.php
@@ -2821,14 +2821,19 @@ public function NavigationHooks(&$menu)
}
}
- function SeriennummernCheckWarnung($artikel_id) {
+ function SeriennummernCheckWarnung(int $artikel_id) {
$obj = $this->LoadModul('seriennummern');
$obj->seriennummern_check_and_message_stock_added($artikel_id);
}
- function SeriennummernCheckLieferscheinWarnung($lieferschein_id) {
+ function SeriennummernCheckLieferscheinWarnung(int $lieferschein_id, bool $notification) {
$obj = $this->LoadModul('seriennummern');
- $obj->seriennummern_check_and_message_delivery_note_removed($lieferschein_id);
+ $obj->seriennummern_check_and_message_delivery_note($lieferschein_id, $notification);
+ }
+
+ function SeriennummernCheckLieferschein($lieferschein_id = null, $ignore_date = false, $only_missing = true, $group_lieferschein = false) {
+ $obj = $this->LoadModul('seriennummern');
+ return ($obj->seriennummern_check_delivery_notes($lieferschein_id, $ignore_date, $only_missing, $group_lieferschein));
}
// @refactor in Lager Modul
@@ -3557,7 +3562,7 @@ function LieferscheinEinlagern($id,$grund="Lieferschein Einlagern", $lpiids = nu
}
$this->RunHook('erpapi_lieferschein_auslagern', 1, $lieferschein);
- $this->SeriennummernCheckLieferscheinWarnung($lieferschein);
+ $this->SeriennummernCheckLieferscheinWarnung($lieferschein, true);
$this->LieferscheinProtokoll($lieferschein,"Lieferschein ausgelagert");
}
}
diff --git a/www/pages/content/seriennummern_enter.tpl b/www/pages/content/seriennummern_enter.tpl
index a21719aa..6d42b9bd 100644
--- a/www/pages/content/seriennummern_enter.tpl
+++ b/www/pages/content/seriennummern_enter.tpl
@@ -137,7 +137,7 @@
|
@@ -161,7 +161,7 @@
diff --git a/www/pages/lieferschein.php b/www/pages/lieferschein.php
index ec30c729..0c206ccf 100644
--- a/www/pages/lieferschein.php
+++ b/www/pages/lieferschein.php
@@ -1727,9 +1727,6 @@ class Lieferschein extends GenLieferschein
// $this->app->Tpl->Set(KURZUEBERSCHRIFT,"Lieferschein $belegnr");
$this->app->Tpl->Set('KURZUEBERSCHRIFT2',"$name Lieferschein $belegnr");
-
-
-
// $this->app->erp->MenuEintrag("index.php?module=lieferschein&action=edit&id=$id","Lieferscheindaten");
//$this->app->Tpl->Add(TABS,"Positionen");
@@ -1742,10 +1739,19 @@ class Lieferschein extends GenLieferschein
}
$this->app->erp->MenuEintrag("index.php?module=lieferschein&action=edit&id=$id","Details");
- $this->app->erp->MenuEintrag("index.php?module=lieferschein&action=paketmarke&id=$id","Paketmarke");
// $this->app->erp->MenuEintrag("index.php?module=lieferschein&action=abschicken&id=$id","Abschicken / Protokoll");
// $this->app->erp->MenuEintrag("index.php?module=lieferschein&action=protokoll&id=$id","Protokoll");
$this->app->erp->MenuEintrag("index.php?module=lieferschein&action=list","Zurück zur Übersicht");
+
+ if (!empty($this->app->erp->SeriennummernCheckLieferschein(
+ lieferschein_id: $id,
+ ignore_date: true,
+ only_missing: false,
+ group_lieferschein: true))) {
+ $this->app->erp->MenuEintrag("index.php?module=seriennummern&action=enter&lieferschein=".$id."&from=lieferschein", "Seriennummern");
+ }
+
+ $this->app->erp->MenuEintrag("index.php?module=lieferschein&action=paketmarke&id=$id","Paketmarke");
$this->app->erp->RunMenuHook('lieferschein');
}
@@ -1887,6 +1893,10 @@ class Lieferschein extends GenLieferschein
$lieferantenretoure = $lieferscheinarr['lieferantenretoure'];//$this->app->DB->Select("SELECT lieferantenretoure FROM lieferschein WHERE id='$id' LIMIT 1");
$schreibschutz = $lieferscheinarr['schreibschutz'];//$this->app->DB->Select("SELECT schreibschutz FROM lieferschein WHERE id='$id' LIMIT 1");
$status = $lieferscheinarr['status'];//$this->app->DB->Select("SELECT status FROM lieferschein WHERE id='$id' LIMIT 1");
+
+ if ($status != 'angelegt' && $status != 'storniert') {
+ $this->app->erp->SeriennummernCheckLieferscheinWarnung($id, false);
+ }
}else{
$nummer = '';
$projekt = 0;
diff --git a/www/pages/seriennummern.php b/www/pages/seriennummern.php
index e2879c09..dd23d019 100644
--- a/www/pages/seriennummern.php
+++ b/www/pages/seriennummern.php
@@ -278,7 +278,7 @@ class Seriennummern {
$menu_link = array(
'',
+ '&from=seriennummern">',
'',
'',
);
@@ -599,6 +599,8 @@ class Seriennummern {
$task = "";
+ $from = $this->app->Secure->GetGET('from');
+
$artikel_id = (int) $this->app->Secure->GetGET('artikel');
if (!empty($artikel_id)) {
$artikel = $this->app->DB->SelectRow("SELECT name_de, nummer FROM artikel WHERE id ='".$artikel_id."'");
@@ -614,7 +616,7 @@ class Seriennummern {
$lieferschein = $this->app->DB->SelectRow("SELECT belegnr FROM lieferschein WHERE id ='".$lieferschein_id."'");
$this->app->Tpl->SetText('KURZUEBERSCHRIFT1','Erfassen');
$this->app->Tpl->SetText('KURZUEBERSCHRIFT2','Lieferschein '.$lieferschein['belegnr']);
- $this->app->Tpl->SetText('LEGEND','Lieferschein '.$lieferschein['belegnr']);
+ $this->app->Tpl->SetText('LEGEND','Lieferschein '.$lieferschein['belegnr'].'', html: true);
$task = "lieferschein";
}
@@ -811,7 +813,16 @@ class Seriennummern {
break;
case 'lieferschein':
- $this->app->erp->MenuEintrag("index.php?module=seriennummern&action=lieferscheine_list", "Zurück");
+
+ switch ($from) {
+ case 'lieferschein':
+ $this->app->erp->MenuEintrag("index.php?module=lieferschein&action=edit&id=".$lieferschein_id, "Zurück");
+ break;
+ case 'seriennummern':
+ $this->app->erp->MenuEintrag("index.php?module=seriennummern&action=lieferscheine_list", "Zurück");
+ break;
+ }
+
$this->app->Tpl->Set('ARTIKEL_HIDDEN', "hidden");
$this->app->Tpl->Set('LIEFERSCHEINNUMMER', ''.$lieferschein['belegnr'].'');
@@ -1050,12 +1061,16 @@ class Seriennummern {
}
/*
- * Check if numbers need to be entered after stock removal, if yes, create notification
+ * Check if numbers need to be entered after stock removal, if yes, create notification or message
*/
- public function seriennummern_check_and_message_delivery_note_removed(int $lieferschein_id) {
+ public function seriennummern_check_and_message_delivery_note(int $lieferschein_id, bool $notification) {
$check_delivery_notes = $this->seriennummern_check_delivery_notes($lieferschein_id);
if (!empty($check_delivery_notes)) {
- $this->seriennummern_create_notification_lieferschein($lieferschein_id, 'enter', 'Seriennummern','Bitte Seriennummern für Lieferschein erfassen','Zur Eingabe');
+ if ($notificiation) {
+ $this->seriennummern_create_notification_lieferschein($lieferschein_id, 'enter', 'Seriennummern','Bitte Seriennummern für Lieferschein erfassen','Zur Eingabe');
+ } else {
+ $this->app->Tpl->Add('MESSAGE',"Bitte Seriennummern erfassen
");
+ }
}
}