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 @@
- {|Gewählte Seriennummern|} + {|Liste der gewählten Seriennummern|}
@@ -161,7 +161,7 @@ @@ -176,12 +176,12 @@
- +
- +
- +
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
    "); + } } }