vorkommissionieren print labels etiketten again

This commit is contained in:
OpenXE 2025-03-04 16:09:39 +01:00
parent 3e3bcd4364
commit 6b5adf8379

View File

@ -5834,7 +5834,11 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '.
ausgelagert: true, ausgelagert: true,
lagerplatzliste: $auslagernresult, lagerplatzliste: $auslagernresult,
mengedruck: $projektarr['autodruckkommissionierscheinstufe1']?$projektarr['autodruckkommissionierscheinstufe1menge']:0, mengedruck: $projektarr['autodruckkommissionierscheinstufe1']?$projektarr['autodruckkommissionierscheinstufe1menge']:0,
druckercode: $druckercode, druckercode: $druckercode
);
$this->Kommissionieren_etiketten(
lagerplatzliste: $auslagernresult,
mengeetiketten: $etikettautodruck?1:0, mengeetiketten: $etikettautodruck?1:0,
etikett: $etikettautodruck?$etikettart:0, etikett: $etikettautodruck?$etikettart:0,
etikettendrucker: $etikettendrucker); etikettendrucker: $etikettendrucker);
@ -6538,9 +6542,45 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '.
$vorkommissionieren_ohne_etiketten = true; $vorkommissionieren_ohne_etiketten = true;
// break ommitted // break ommitted
case 'vorkommissionieren': case 'vorkommissionieren':
if (!empty($auftraegemarkiert)) { if (!empty($auftraegemarkiert)) {
foreach ($auftraegemarkiert as $k => $v) { foreach ($auftraegemarkiert as $k => $v) {
$projekt = $this->app->DB->Select("SELECT projekt FROM auftrag WHERE id='$v' LIMIT 1");
$auslagernresult =
$this->app->erp->LieferscheinAuslagern(
lieferschein: $v,
anzeige_lagerplaetze_in_lieferschein: true,
standardlager: (int)$this->app->DB->Select(sprintf('SELECT standardlager FROM auftrag WHERE id = %d LIMIT 1', $v)),
belegtyp: 'auftrag',
chargenmhdnachprojekt: true,
forceseriennummerngeliefertsetzen: false,
nurrestmenge: false,
simulieren: true
);
$settings = $this->app->DB->SelectRow("
SELECT
projekt.autodruckkommissionierscheinstufe1,
projekt.autodruckkommissionierscheinstufe1menge,
adresse.etikett,
adresse.etikettautodruck,
projekt.id as projekt,
auftrag.adresse
FROM projekt
INNER JOIN auftrag ON projekt.id = auftrag.projekt
INNER JOIN adresse ON adresse.id = auftrag.adresse
WHERE auftrag.id = '".$v."'"
);
$sql = "SELECT etikett, etikettautodruck FROM adresse WHERE id =".$settings['adresse'];
$adressesettings = $this->app->DB->SelectRow($sql);
if ($adressesettings['etikettautodruck']) {
$etikettautodruck = true;
$etikettart = $adressesettings['etikett'];
}
$sql = " $sql = "
SELECT SELECT
k.id, k.id,
@ -6565,54 +6605,12 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '.
LIMIT 1 LIMIT 1
"; ";
$check = $this->app->DB->SelectRow($sql); $check = $this->app->DB->SelectRow($sql);
if (!empty($check)) { if (!empty($check)) {
$this->app->Tpl->addMessage('Error',"Bereits Kommissioniert: ".$check['belegnr']); $this->app->Tpl->addMessage('info',"Bereits Kommissioniert: ".$check['belegnr']);
break; } else {
}
$kid = $this->app->erp->GetNextKommissionierung(); $kid = $this->app->erp->GetNextKommissionierung();
$auslagernresult =
$this->app->erp->LieferscheinAuslagern(
lieferschein: $v,
anzeige_lagerplaetze_in_lieferschein: true,
standardlager: (int)$this->app->DB->Select(sprintf('SELECT standardlager FROM auftrag WHERE id = %d LIMIT 1', $v)),
belegtyp: 'auftrag',
chargenmhdnachprojekt: true,
forceseriennummerngeliefertsetzen: false,
nurrestmenge: false,
simulieren: true
);
$projekt = $this->app->DB->Select("SELECT projekt FROM auftrag WHERE id='$v' LIMIT 1");
$druckercode = $this->app->erp->Projektdaten($projekt,'druckerlogistikstufe1'); $druckercode = $this->app->erp->Projektdaten($projekt,'druckerlogistikstufe1');
$settings = $this->app->DB->SelectRow("
SELECT
projekt.autodruckkommissionierscheinstufe1,
projekt.autodruckkommissionierscheinstufe1menge,
adresse.etikett,
adresse.etikettautodruck,
projekt.id as projekt,
auftrag.adresse
FROM projekt
INNER JOIN auftrag ON projekt.id = auftrag.projekt
INNER JOIN adresse ON adresse.id = auftrag.adresse
WHERE auftrag.id = '".$v."'"
);
$etikettautodruck = $this->app->erp->Projektdaten($projekt,'etiketten_kommissionierung');
$etikettendrucker = $this->app->erp->Projektdaten($projekt,'etiketten_kommissionierung_drucker');
$etikettart = $this->app->erp->Projektdaten($projekt,'etiketten_kommissionierung_art');
$sql = "SELECT etikett, etikettautodruck FROM adresse WHERE id =".$settings['adresse'];
$adressesettings = $this->app->DB->SelectRow($sql);
if ($adressesettings['etikettautodruck']) {
$etikettautodruck = true;
$etikettart = $adressesettings['etikett'];
}
$this->Kommissionieren( $this->Kommissionieren(
kommissionierung : $kid, kommissionierung : $kid,
auftrag: $v, auftrag: $v,
@ -6620,7 +6618,15 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '.
ausgelagert: false, ausgelagert: false,
lagerplatzliste: $auslagernresult, lagerplatzliste: $auslagernresult,
mengedruck: $settings['autodruckkommissionierscheinstufe1']?$settings['autodruckkommissionierscheinstufe1menge']:0, mengedruck: $settings['autodruckkommissionierscheinstufe1']?$settings['autodruckkommissionierscheinstufe1menge']:0,
druckercode: $druckercode, druckercode: $druckercode);
}
$etikettautodruck = $this->app->erp->Projektdaten($projekt,'etiketten_kommissionierung');
$etikettendrucker = $this->app->erp->Projektdaten($projekt,'etiketten_kommissionierung_drucker');
$etikettart = $this->app->erp->Projektdaten($projekt,'etiketten_kommissionierung_art');
$this->Kommissionieren_etiketten(
lagerplatzliste: $auslagernresult,
mengeetiketten: $etikettautodruck?1:0, mengeetiketten: $etikettautodruck?1:0,
etikett: $vorkommissionieren_ohne_etiketten?0:($etikettautodruck?$etikettart:0), etikett: $vorkommissionieren_ohne_etiketten?0:($etikettautodruck?$etikettart:0),
etikettendrucker: $etikettendrucker); etikettendrucker: $etikettendrucker);
@ -7353,7 +7359,7 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '.
$this->app->Tpl->Parse('PAGE',"tabview.tpl"); $this->app->Tpl->Parse('PAGE',"tabview.tpl");
} }
function Kommissionieren(int $kommissionierung, int $auftrag, int $lieferschein, bool $ausgelagert, array $lagerplatzliste, int $mengedruck, $druckercode, int $mengeetiketten, $etikett, $etikettendrucker) { function Kommissionieren(int $kommissionierung, int $auftrag, int $lieferschein, bool $ausgelagert, array $lagerplatzliste, int $mengedruck, $druckercode) {
$sql = sprintf( $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", "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",
@ -7395,7 +7401,9 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '.
unlink($tmpfile); unlink($tmpfile);
$this->app->erp->BriefpapierHintergrundDisable($druckercode); // Restore default background from printersettings $this->app->erp->BriefpapierHintergrundDisable($druckercode); // Restore default background from printersettings
} }
}
function Kommissionieren_etiketten(array $lagerplatzliste, int $mengeetiketten, $etikett, $etikettendrucker) {
// Etiketten // Etiketten
if ($mengeetiketten > 0) { if ($mengeetiketten > 0) {
foreach ($lagerplatzliste['storageMovements'] as $storageMovement) { foreach ($lagerplatzliste['storageMovements'] as $storageMovement) {