produktion added label printing

This commit is contained in:
OpenXE 2025-02-06 12:39:23 +01:00
parent ec8b737390
commit ed4c9374e5
2 changed files with 222 additions and 186 deletions

View File

@ -218,6 +218,7 @@
<table width="100%" border="0" class="mkTableFormular"> <table width="100%" border="0" class="mkTableFormular">
<legend>{|Produzieren|}</legend> <legend>{|Produzieren|}</legend>
<tr [AKTION_RESERVIEREN_VISIBLE]><td><button name="submit" value="reservieren" class="ui-button-icon" style="width:100%;">Reservieren</button></td></tr> <tr [AKTION_RESERVIEREN_VISIBLE]><td><button name="submit" value="reservieren" class="ui-button-icon" style="width:100%;">Reservieren</button></td></tr>
<tr [AKTION_PRODUZIEREN_VISIBLE]><td><button name="submit" value="etikettendrucken" class="ui-button-icon" style="width:100%;" [AKTION_ETIKETTEN_DRUCKEN_DISABLED]>Etiketten drucken</button></td></tr>
<tr [AKTION_PRODUZIEREN_VISIBLE]><td><button name="submit" value="produzieren" class="ui-button-icon" style="width:100%;">Produzieren</button></td></tr> <tr [AKTION_PRODUZIEREN_VISIBLE]><td><button name="submit" value="produzieren" class="ui-button-icon" style="width:100%;">Produzieren</button></td></tr>
<tr [AKTION_ABSCHLIESSEN_VISIBLE]><td><button name="submit" value="abschliessen" class="ui-button-icon" style="width:100%;">Abschliessen</button></td></tr> <tr [AKTION_ABSCHLIESSEN_VISIBLE]><td><button name="submit" value="abschliessen" class="ui-button-icon" style="width:100%;">Abschliessen</button></td></tr>
</table> </table>

View File

@ -858,7 +858,31 @@ class Produktion {
$this->ProtokollSchreiben($id,'Produktion abgeschlossen'); $this->ProtokollSchreiben($id,'Produktion abgeschlossen');
break; break;
case 'etikettendrucken':
$menge_drucken = $this->app->Secure->GetPOST('menge_produzieren');
if ($menge_drucken) {
$sql = "SELECT artikel FROM produktion_position pp WHERE produktion=$id AND stuecklistestufe=1";
$produktionsartikel_position = $this->app->DB->SelectArr($sql)[0];
$produktionsartikel_id = $produktionsartikel_position['artikel'];
$sql = "SELECT al.* FROM article_label al INNER JOIN artikel a ON a.id = al.article_id WHERE type = 'produktion' AND al.article_id = ".$produktionsartikel_id;
$produktionsetiketten = $this->app->DB->SelectArr($sql);
if (!empty($produktionsetiketten)) {
foreach ($produktionsetiketten as $produktionsetikett) {
$this->app->erp->EtikettenDrucker(
kennung: $produktionsetikett['label_id'],
anzahl: $menge_drucken*$produktionsetikett['amount'],
tabelle: 'artikel',
id: $produktionsartikel_id,
variables: null,
druckercode: $produktionsetikett['printer_id']
);
}
}
}
break;
} }
} }
@ -1099,6 +1123,7 @@ class Produktion {
AKTION_FREIGEBEN_VISIBLE AKTION_FREIGEBEN_VISIBLE
AKTION_RESERVIEREN_VISIBLE AKTION_RESERVIEREN_VISIBLE
AKTION_PRODUZIEREN_VISIBLE AKTION_PRODUZIEREN_VISIBLE
AKTION_ETIKETTEN_DRUCKEN_DISABLED
AKTION_ABSCHLIESSEN_VISIBLE AKTION_ABSCHLIESSEN_VISIBLE
POSITIONEN_TAB_VISIBLE POSITIONEN_TAB_VISIBLE
*/ */
@ -1144,16 +1169,26 @@ class Produktion {
$produktionsartikel = $this->app->DB->SelectArr($sql)[0]; $produktionsartikel = $this->app->DB->SelectArr($sql)[0];
$produktionsartikel_name = $produktionsartikel['name_de']; $produktionsartikel_name = $produktionsartikel['name_de'];
$produktionsartikel_nummer = $produktionsartikel['nummer']; $produktionsartikel_nummer = $produktionsartikel['nummer'];
}
$sql = "SELECT al.* FROM article_label al INNER JOIN artikel a ON a.id = al.article_id WHERE type = 'produktion'";
$sql = "SELECT artikel FROM produktion_position pp WHERE produktion=$id AND stuecklistestufe=1";
$sql = "SELECT al.* FROM article_label al INNER JOIN artikel a ON a.id = al.article_id WHERE type = 'produktion' AND al.article_id = ".$produktionsartikel_id;
$produktionsetiketten = $this->app->DB->SelectArr($sql);
}
if (empty($produktionsetiketten)) {
$this->app->Tpl->Set('AKTION_ETIKETTEN_DRUCKEN_DISABLED','disabled');
}
if (empty($produktion_from_db['belegnr'])) { if (empty($produktion_from_db['belegnr'])) {
$this->app->Tpl->SetText('KURZUEBERSCHRIFT2', 'ENTWURF - '.$produktionsartikel_name." (".$produktionsartikel_nummer.")"); $this->app->Tpl->SetText('KURZUEBERSCHRIFT2', 'ENTWURF - '.$produktionsartikel_name." (".$produktionsartikel_nummer.")");
} else { } else {
$this->app->Tpl->SetText('KURZUEBERSCHRIFT2', $produktion_from_db['belegnr']." ".$produktionsartikel_name." (".$produktionsartikel_nummer.")"); $this->app->Tpl->SetText('KURZUEBERSCHRIFT2', $produktion_from_db['belegnr']." ".$produktionsartikel_name." (<a href=\"index.php?module=artikel&action=edit&id=".$produktionsartikel_id."\">".$produktionsartikel_nummer."</a>)", html: true);
} }
$this->app->Tpl->SetText('ARTIKELNAME', $produktionsartikel_name);
// Action menu // Action menu
switch ($produktion_from_db['status']) { switch ($produktion_from_db['status']) {
case 'angelegt': case 'angelegt':