etiketten lieferschein position extended

This commit is contained in:
OpenXE 2024-12-06 11:33:53 +01:00
parent fc3477b35d
commit a9fd34608e
2 changed files with 228 additions and 211 deletions

View File

@ -1,214 +1,221 @@
<?php <?php
/* /*
**** COPYRIGHT & LICENSE NOTICE *** DO NOT REMOVE **** **** COPYRIGHT & LICENSE NOTICE *** DO NOT REMOVE ****
* *
* Xentral (c) Xentral ERP Sorftware GmbH, Fuggerstrasse 11, D-86150 Augsburg, * Germany 2019 * Xentral (c) Xentral ERP Sorftware GmbH, Fuggerstrasse 11, D-86150 Augsburg, * Germany 2019
* *
* This file is licensed under the Embedded Projects General Public License *Version 3.1. * This file is licensed under the Embedded Projects General Public License *Version 3.1.
* *
* You should have received a copy of this license from your vendor and/or *along with this file; If not, please visit www.wawision.de/Lizenzhinweis * You should have received a copy of this license from your vendor and/or *along with this file; If not, please visit www.wawision.de/Lizenzhinweis
* to obtain the text of the corresponding license version. * to obtain the text of the corresponding license version.
* *
**** END OF COPYRIGHT & LICENSE NOTICE *** DO NOT REMOVE **** **** END OF COPYRIGHT & LICENSE NOTICE *** DO NOT REMOVE ****
*/ */
?> ?>
<?php <?php
include '_gen/etiketten.php'; include '_gen/etiketten.php';
class Etiketten extends GenEtiketten { class Etiketten extends GenEtiketten {
/** /**
* @var Application $app * @var Application $app
*/ */
var $app; var $app;
function __construct($app, $intern = false) { function __construct($app, $intern = false) {
//parent::GenEtiketten($app); //parent::GenEtiketten($app);
$this->app=$app; $this->app=$app;
if($intern) { if($intern) {
return; return;
} }
$this->app->ActionHandlerInit($this); $this->app->ActionHandlerInit($this);
$this->app->ActionHandler("create","EtikettenCreate"); $this->app->ActionHandler("create","EtikettenCreate");
$this->app->ActionHandler("edit","EtikettenEdit"); $this->app->ActionHandler("edit","EtikettenEdit");
$this->app->ActionHandler("list","EtikettenList"); $this->app->ActionHandler("list","EtikettenList");
$this->app->ActionHandler("bild","EtikettenBild"); $this->app->ActionHandler("bild","EtikettenBild");
$this->app->ActionHandler("delete","EtikettenDelete"); $this->app->ActionHandler("delete","EtikettenDelete");
$this->app->ActionHandlerListen($app); $this->app->ActionHandlerListen($app);
} }
function EtikettenCreate() function EtikettenCreate()
{ {
$this->EtikettenMenu(); $this->EtikettenMenu();
parent::EtikettenCreate(); parent::EtikettenCreate();
} }
function EtikettenDelete() function EtikettenDelete()
{ {
$id = $this->app->Secure->GetGET("id"); $id = $this->app->Secure->GetGET("id");
if(is_numeric($id)) if(is_numeric($id))
{ {
$this->app->DB->Delete("DELETE FROM etiketten WHERE id='$id'"); $this->app->DB->Delete("DELETE FROM etiketten WHERE id='$id'");
} }
$this->EtikettenList(); $this->EtikettenList();
} }
function EtikettenList() function EtikettenList()
{ {
$this->EtikettenMenu(); $this->EtikettenMenu();
parent::EtikettenList(); parent::EtikettenList();
} }
function EtikettenMenu() function EtikettenMenu()
{ {
$id = $this->app->Secure->GetGET('id'); $id = $this->app->Secure->GetGET('id');
$action = $this->app->Secure->GetGET('action'); $action = $this->app->Secure->GetGET('action');
$this->app->erp->MenuEintrag("index.php?module=etiketten&action=create","Neues Etikett anlegen"); $this->app->erp->MenuEintrag("index.php?module=etiketten&action=create","Neues Etikett anlegen");
if($action ==='edit' || $action === 'bild') if($action ==='edit' || $action === 'bild')
{ {
$this->app->erp->MenuEintrag("index.php?module=etiketten&action=edit&id=$id","Details"); $this->app->erp->MenuEintrag("index.php?module=etiketten&action=edit&id=$id","Details");
$this->app->erp->MenuEintrag("index.php?module=etiketten&action=bild&id=$id","Bild Generator"); $this->app->erp->MenuEintrag("index.php?module=etiketten&action=bild&id=$id","Bild Generator");
} }
if($action==='list') if($action==='list')
{ {
$this->app->erp->MenuEintrag("index.php?module=etiketten&action=list","&Uuml;bersicht"); $this->app->erp->MenuEintrag("index.php?module=etiketten&action=list","&Uuml;bersicht");
$this->app->erp->MenuEintrag("index.php?module=einstellungen&action=list","Zur&uuml;ck zur &Uuml;bersicht"); $this->app->erp->MenuEintrag("index.php?module=einstellungen&action=list","Zur&uuml;ck zur &Uuml;bersicht");
} }
else{ else{
$this->app->erp->MenuEintrag("index.php?module=etiketten&action=list", "Zur&uuml;ck zur &Uuml;bersicht"); $this->app->erp->MenuEintrag("index.php?module=etiketten&action=list", "Zur&uuml;ck zur &Uuml;bersicht");
} }
} }
function EtikettenBild() function EtikettenBild()
{ {
$this->EtikettenMenu(); $this->EtikettenMenu();
$submit = $this->app->Secure->GetPOST("submit"); $submit = $this->app->Secure->GetPOST("submit");
$pfad = $_FILES["image"]["tmp_name"]; $pfad = $_FILES["image"]["tmp_name"];
if($submit!="") if($submit!="")
{ {
if(file_exists($pfad)) if(file_exists($pfad))
{ {
$result = $this->app->erp->PNG2Etikett($pfad); $result = $this->app->erp->PNG2Etikett($pfad);
if($result['result']=="1") if($result['result']=="1")
{ {
$this->app->Tpl->Set('BILD',"<textarea rows=\"10\" cols=\"80\"><image x=\"1\" y=\"1\" width=\"".$result['width']."\" height=\"".$result['height']."\">".$result['stream']."</image></textarea>"); $this->app->Tpl->Set('BILD',"<textarea rows=\"10\" cols=\"80\"><image x=\"1\" y=\"1\" width=\"".$result['width']."\" height=\"".$result['height']."\">".$result['stream']."</image></textarea>");
$this->app->Tpl->Set('BILD2',"<textarea rows=\"10\" cols=\"80\"><label><image x=\"1\" y=\"1\" width=\"".$result['width']."\" height=\"".$result['height']."\">".$result['stream']."</image></label></textarea>"); $this->app->Tpl->Set('BILD2',"<textarea rows=\"10\" cols=\"80\"><label><image x=\"1\" y=\"1\" width=\"".$result['width']."\" height=\"".$result['height']."\">".$result['stream']."</image></label></textarea>");
} }
else else
$this->app->Tpl->Set('BILD',"<div class=\"error\">".$result['message']."</div>"); $this->app->Tpl->Set('BILD',"<div class=\"error\">".$result['message']."</div>");
} }
} }
$this->app->Tpl->Parse('PAGE',"etiketten_bild.tpl"); $this->app->Tpl->Parse('PAGE',"etiketten_bild.tpl");
} }
function EtikettenEdit() function EtikettenEdit()
{ {
$this->EtikettenMenu(); $this->EtikettenMenu();
parent::EtikettenEdit(); parent::EtikettenEdit();
} }
/** /**
* @param int $lieferschein * @param int $lieferschein
* @param int $etiketten_drucker * @param int $etiketten_drucker
* @param string $etiketten_art * @param string $etiketten_art
* @param int $etiketten_sort * @param int $etiketten_sort
*/ */
public function LieferscheinPositionenDrucken($lieferschein,$etiketten_drucker,$etiketten_art,$etiketten_sort=0) public function LieferscheinPositionenDrucken($lieferschein,$etiketten_drucker,$etiketten_art,$etiketten_sort=0)
{ {
/* /*
Barcode, Artikelname, Barcode, Artikelname,
Lagerplatznummer, Lagerplatznummer,
Artikelstückzahl Artikelstückzahl
*/ */
$lsRow = $this->app->DB->SelectRow( $lsRow = $this->app->DB->SelectRow(
sprintf( sprintf(
'SELECT adresse, belegnr, sprache, kundennummer FROM lieferschein WHERE id=%d', 'SELECT adresse, belegnr, sprache, kundennummer FROM lieferschein WHERE id=%d',
(int)$lieferschein (int)$lieferschein
) )
); );
$adresse = $lsRow['adresse']; $adresse = $lsRow['adresse'];
$pos = $this->app->DB->SelectArr( $pos = $this->app->DB->SelectArr(
sprintf( sprintf(
'SELECT art.*,lp.id, lp.bezeichnung, lp.nummer as lpnummer, lp.menge 'SELECT art.*,lp.id, lp.bezeichnung, lp.nummer as lpnummer, TRIM(lp.menge)+0 AS menge, lp.artikelnummerkunde, a.belegnr as auftragnummer, a.internet, a.ihrebestellnummer
FROM lieferschein_position AS lp FROM lieferschein_position AS lp
LEFT JOIN artikel AS art ON lp.artikel = art.id INNER JOIN lieferschein AS l ON lp.lieferschein = l.id
WHERE lp.lieferschein= %d ORDER BY %s', LEFT JOIN auftrag a ON l.auftragid = a.id
(int)$lieferschein, $etiketten_sort == 1?'lp.lagertext':'lp.sort' LEFT JOIN artikel AS art ON lp.artikel = art.id
) WHERE lp.lieferschein= %d ORDER BY %s',
); (int)$lieferschein, $etiketten_sort == 1?'lp.lagertext':'lp.sort'
)
$lieferscheinnummer = $lsRow['belegnr']; );
if(!empty($pos)){
foreach($pos as $row) { $lieferscheinnummer = $lsRow['belegnr'];
$lagerbezeichnung = $this->app->erp->GetArtikelStandardlager($row['id']); if(!empty($pos)){
foreach($pos as $row) {
$tmp = $row; $lagerbezeichnung = $this->app->erp->GetArtikelStandardlager($row['id']);
$row['nummer'] = $row['lpnummer'];
unset($tmp['lpnummer']); $tmp = $row;
/*$tmp = $this->app->DB->SelectRow( $row['nummer'] = $row['lpnummer'];
sprintf('SELECT * FROM artikel WHERE id=%d LIMIT 1', $row['artikel']) unset($tmp['lpnummer']);
);*/ /*$tmp = $this->app->DB->SelectRow(
$tmp['belegnr'] = $lieferscheinnummer; sprintf('SELECT * FROM artikel WHERE id=%d LIMIT 1', $row['artikel'])
//$tmp[''] );*/
$tmp['belegnr'] = $lieferscheinnummer;
// pro seriennummer ein artike //$tmp['']
$checkserriennummer = $this->app->DB->SelectArr( // pro seriennummer ein artike
sprintf(
"SELECT wert $checkserriennummer = $this->app->DB->SelectArr(
FROM beleg_chargesnmhd sprintf(
WHERE doctype='lieferschein' AND doctypeid=%d AND pos=%d", "SELECT wert
(int)$lieferschein, (int)$row['id'] FROM beleg_chargesnmhd
) WHERE doctype='lieferschein' AND doctypeid=%d AND pos=%d",
); (int)$lieferschein, (int)$row['id']
if(!empty($checkserriennummer)){ )
foreach($checkserriennummer as $checkSeriennummerRow) { );
//for ($ics = 0; $ics < (!empty($checkserriennummer)?count($checkserriennummer):0); $ics++) { if(!empty($checkserriennummer)){
$tmp['name_de'] = $row['bezeichnung']; foreach($checkserriennummer as $checkSeriennummerRow) {
$tmp['nummer'] = $row['nummer']; //for ($ics = 0; $ics < (!empty($checkserriennummer)?count($checkserriennummer):0); $ics++) {
unset($tmp['bezeichnung']); $tmp['name_de'] = $row['bezeichnung'];
$tmp['menge'] = 1;//$pos[$i]['menge']; $tmp['nummer'] = $row['nummer'];
$tmp['lager_platz_name'] = $lagerbezeichnung; unset($tmp['bezeichnung']);
$tmp['seriennummer'] = ''; $tmp['menge'] = 1;//$pos[$i]['menge'];
if($checkSeriennummerRow['wert'] != ''){ $tmp['lager_platz_name'] = $lagerbezeichnung;
$tmp['seriennummer'] = $checkSeriennummerRow['wert']; $tmp['seriennummer'] = '';
} if($checkSeriennummerRow['wert'] != ''){
$tmp['seriennummer'] = $checkSeriennummerRow['wert'];
$this->app->erp->EtikettenDrucker($etiketten_art, 1, 'lieferschein', $lieferschein, $tmp, '', $etiketten_drucker, '', false, $adresse, 'lieferschein_position'); }
}
}else{ $this->app->erp->EtikettenDrucker($etiketten_art, 1, 'lieferschein', $lieferschein, $tmp, '', $etiketten_drucker, '', false, $adresse, 'lieferschein_position');
}
$tmp['name_de'] = $row['bezeichnung']; }else{
$tmp['nummer'] = $row['nummer'];
unset($tmp['bezeichnung']); $tmp['name_de'] = $row['bezeichnung'];
$tmp['menge'] = str_replace('.', ',', $this->app->erp->FormatMengeBetrag($row['menge'])); //$pos[$i]['menge']; $tmp['nummer'] = $row['nummer'];
$tmp['lager_platz_name'] = $lagerbezeichnung; unset($tmp['bezeichnung']);
$tmp['menge'] = str_replace('.', ',', $row['menge']);
$this->app->erp->EtikettenDrucker($etiketten_art, 1, 'lieferschein', $lieferschein, $tmp, '', $etiketten_drucker, '', false, $adresse, 'lieferschein_position'); $tmp['lager_platz_name'] = $lagerbezeichnung;
} $tmp['auftragnummer'] = $row['auftragnummer'];
} $tmp['internet'] = $row['internet'];
} $tmp['kundenbestellnummer'] = $row['ihrebestellnummer'];
foreach($tmp as $key=>$value) { $tmp['artikelnummerkunde'] = $row['artikelnummerkunde'];
$tmp[$key] = "CUT/Trennetikett"; $this->app->erp->EtikettenDrucker($etiketten_art, 1, 'lieferschein', $lieferschein, $tmp, '', $etiketten_drucker, '', false, $adresse, 'lieferschein_position');
} }
}
$tmp['name_de']="CUT/Trennetikett"; }
$tmp['nummer']="CUT/Trennetikett"; /*
$tmp['menge']="CUT/Trennetikett"; foreach($tmp as $key=>$value) {
$tmp['belegnr']="CUT/Trennetikett"; $tmp[$key] = "CUT/Trennetikett";
$tmp['lager_platz_name']="CUT/Trennetikett"; }
$this->app->erp->EtikettenDrucker($etiketten_art,1,'lieferschein', $lieferschein,$tmp,'',$etiketten_drucker,'',false,$adresse,'lieferschein_position'); $tmp['name_de']="CUT/Trennetikett";
} $tmp['nummer']="CUT/Trennetikett";
} $tmp['menge']="CUT/Trennetikett";
$tmp['belegnr']="CUT/Trennetikett";
$tmp['lager_platz_name']="CUT/Trennetikett";
$this->app->erp->EtikettenDrucker($etiketten_art,1,'lieferschein', $lieferschein,$tmp,'',$etiketten_drucker,'',false,$adresse,'lieferschein_position');
*/
}
}

View File

@ -95,6 +95,16 @@
<li>{ETIKETTENBILD} <i>aktuell nur in PDF</i></li> <li>{ETIKETTENBILD} <i>aktuell nur in PDF</i></li>
<li>{BEZEICHNUNG1},{BEZEICHNUNG2}<i>Etikettendrucker 2-Zeilig</i></li> <li>{BEZEICHNUNG1},{BEZEICHNUNG2}<i>Etikettendrucker 2-Zeilig</i></li>
</ul> </ul>
Lieferscheinpositionen:
<br>
<ul>
<li>{AUFTRAGNUMMER}</li>
<li>{INTERNET}</li>
<li>{KUNDENBESTELLNUMMER}</li>
<li>{ARTIKELNUMMERKUNDE}</li>
<li>{EAN}</li>
<li>{MENGE}</li>
</ul>
Produktion: Produktion:
<br> <br>
<ul> <ul>