From 7bb519ea40f7ebcc0b3a16ebf590f55404cb7047 Mon Sep 17 00:00:00 2001
From: OpenXE <>
Date: Wed, 5 Jun 2024 14:12:48 +0200
Subject: [PATCH] kommissionierung etikettautodruck
---
www/pages/auftrag.php | 64 ++++++++++++++++----
www/pages/content/auftrag_versandzentrum.tpl | 3 +-
2 files changed, 55 insertions(+), 12 deletions(-)
diff --git a/www/pages/auftrag.php b/www/pages/auftrag.php
index 96300924..3a94d439 100644
--- a/www/pages/auftrag.php
+++ b/www/pages/auftrag.php
@@ -5787,6 +5787,7 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '.
$kommissionierung = $this->app->erp->GetNextKommissionierung();
$druckercode = $this->app->erp->Projektdaten($projekt,'druckerlogistikstufe1');
+ $etikettendrucker = $this->app->erp->Projektdaten($projekt,'etiketten_drucker');
$auslagernresult =
$this->app->erp->LieferscheinAuslagern(
@@ -5799,6 +5800,9 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '.
$nurRestmenge
);
+ $sql = "SELECT etikett, etikettautodruck FROM adresse WHERE id =".$adresse;
+ $settings = $this->app->DB->SelectRow($sql);
+
$this->Kommissionieren(
kommissionierung : $kommissionierung,
auftrag: $id,
@@ -5806,7 +5810,10 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '.
ausgelagert: true,
lagerplatzliste: $auslagernresult,
mengedruck: $projektarr['autodruckkommissionierscheinstufe1']?$projektarr['autodruckkommissionierscheinstufe1menge']:0,
- druckercode: $druckercode);
+ druckercode: $druckercode,
+ mengeetiketten: $settings['etikettautodruck']?1:0,
+ etikett: $settings['etikettautodruck']?$settings['etikett']:0,
+ etikettendrucker: $etikettendrucker);
}
// Prozesse ohne Versandzentrum
@@ -5939,9 +5946,9 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '.
// Check for override in adresse
$sql = "SELECT rechnung_anzahlpapier, rechnung_anzahlpapier_abweichend FROM adresse WHERE id =".$adresse;
- $rechnung_anzahlpapier = $this->app->DB->SelectArr($sql);
- if ($rechnung_anzahlpapier[0]['rechnung_anzahlpapier_abweichend']) {
- $autodruckrechnungstufe1menge = $rechnung_anzahlpapier[0]['rechnung_anzahlpapier'];
+ $adresse_settings = $this->app->DB->SelectArr($sql);
+ if ($adresse_settings[0]['rechnung_anzahlpapier_abweichend']) {
+ $autodruckrechnungstufe1menge = $adresse_settings[0]['rechnung_anzahlpapier'];
}
if($exportdruckrechnungstufe1)
@@ -6506,6 +6513,9 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '.
}
}
break;
+ case 'vorkommissionieren_ohne_etiketten':
+ $vorkommissionieren_ohne_etiketten = true;
+ // break ommitted
case 'vorkommissionieren':
if (!empty($auftraegemarkiert)) {
@@ -6554,7 +6564,21 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '.
);
$druckercode = $this->app->erp->Firmendaten('standardversanddrucker');
- $projektarr = $this->app->DB->SelectRow("SELECT projekt.* FROM projekt INNER JOIN auftrag ON projekt.id = auftrag.projekt WHERE auftrag.id = '".$v."'");
+
+ $settings = $this->app->DB->SelectRow("
+ SELECT
+ projekt.autodruckkommissionierscheinstufe1,
+ projekt.autodruckkommissionierscheinstufe1menge,
+ adresse.etikett,
+ adresse.etikettautodruck,
+ projekt.id as projekt
+ FROM projekt
+ INNER JOIN auftrag ON projekt.id = auftrag.projekt
+ INNER JOIN adresse ON adresse.id = auftrag.adresse
+ WHERE auftrag.id = '".$v."'"
+ );
+
+ $etikettendrucker = $this->app->erp->Projektdaten($settings['projekt'],'etiketten_drucker');
$this->Kommissionieren(
kommissionierung : $kid,
@@ -6562,11 +6586,11 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '.
lieferschein: 0,
ausgelagert: false,
lagerplatzliste: $auslagernresult,
- mengedruck: $projektarr['autodruckkommissionierscheinstufe1']?$projektarr['autodruckkommissionierscheinstufe1menge']:0,
- druckercode: $druckercode);
-
- $this->app->erp->AuftragProtokoll($v,'Auftrag vorkommissioniert, Kommissionierung '.$kid);
-
+ mengedruck: $settings['autodruckkommissionierscheinstufe1']?$settings['autodruckkommissionierscheinstufe1menge']:0,
+ druckercode: $druckercode,
+ mengeetiketten: $settings['etikettautodruck']?1:0,
+ etikett: $vorkommissionieren_ohne_etiketten?0:($settings['etikettautodruck']?$settings['etikett']:0),
+ etikettendrucker: $etikettendrucker);
}
}
break;
@@ -7294,7 +7318,7 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '.
$this->app->Tpl->Parse('PAGE',"tabview.tpl");
}
- function Kommissionieren(int $kommissionierung, int $auftrag, int $lieferschein, bool $ausgelagert, array $lagerplatzliste, int $mengedruck, int $druckercode) {
+ function Kommissionieren(int $kommissionierung, int $auftrag, int $lieferschein, bool $ausgelagert, array $lagerplatzliste, int $mengedruck, $druckercode, int $mengeetiketten, $etikett, $etikettendrucker) {
$sql = sprintf(
"UPDATE kommissionierung SET lieferschein = %d, auftrag = %d, adresse = IF (%d != 0,(SELECT adresse FROM lieferschein WHERE id = %d LIMIT 1),(SELECT adresse FROM auftrag WHERE id = %d LIMIT 1)), ausgelagert = %d WHERE id = %d LIMIT 1",
@@ -7336,5 +7360,23 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '.
unlink($tmpfile);
$this->app->erp->BriefpapierHintergrundDisable($druckercode); // Restore default background from printersettings
}
+
+ // Etiketten
+ if ($mengeetiketten > 0) {
+ foreach ($lagerplatzliste['storageMovements'] as $storageMovement) {
+ $this->app->erp->EtikettenDrucker(
+ kennung: $etikett,
+ anzahl: $mengeetiketten*$storageMovement['menge'],
+ tabelle: 'artikel',
+ id: $storageMovement['artikel'],
+ variables: null,
+ druckercode: $etikettendrucker
+ );
+ }
+
+ //function EtikettenDrucker($kennung,$anzahl,$tabelle,$id,$variables="",$xml="",$druckercode="",$filenameprefix="",$xmlaspdf=false,$adresse=0,$verwendenals="")
+ }
+
+
}
}
diff --git a/www/pages/content/auftrag_versandzentrum.tpl b/www/pages/content/auftrag_versandzentrum.tpl
index 5e7fdd85..18a94133 100644
--- a/www/pages/content/auftrag_versandzentrum.tpl
+++ b/www/pages/content/auftrag_versandzentrum.tpl
@@ -48,7 +48,8 @@
-
+
+
{|Drucker|}: