diff --git a/www/pages/etiketten.php b/www/pages/etiketten.php index 8025b997..3044bbd0 100644 --- a/www/pages/etiketten.php +++ b/www/pages/etiketten.php @@ -1,214 +1,221 @@ -app=$app; - if($intern) { - return; - } - - $this->app->ActionHandlerInit($this); - - $this->app->ActionHandler("create","EtikettenCreate"); - $this->app->ActionHandler("edit","EtikettenEdit"); - $this->app->ActionHandler("list","EtikettenList"); - $this->app->ActionHandler("bild","EtikettenBild"); - $this->app->ActionHandler("delete","EtikettenDelete"); - - $this->app->ActionHandlerListen($app); - } - - - function EtikettenCreate() - { - $this->EtikettenMenu(); - parent::EtikettenCreate(); - } - - function EtikettenDelete() - { - $id = $this->app->Secure->GetGET("id"); - if(is_numeric($id)) - { - $this->app->DB->Delete("DELETE FROM etiketten WHERE id='$id'"); - } - - $this->EtikettenList(); - } - - - function EtikettenList() - { - $this->EtikettenMenu(); - parent::EtikettenList(); - } - - function EtikettenMenu() - { - $id = $this->app->Secure->GetGET('id'); - $action = $this->app->Secure->GetGET('action'); - $this->app->erp->MenuEintrag("index.php?module=etiketten&action=create","Neues Etikett anlegen"); - - 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=bild&id=$id","Bild Generator"); - } - - if($action==='list') - { - $this->app->erp->MenuEintrag("index.php?module=etiketten&action=list","Übersicht"); - $this->app->erp->MenuEintrag("index.php?module=einstellungen&action=list","Zurück zur Übersicht"); - } - else{ - $this->app->erp->MenuEintrag("index.php?module=etiketten&action=list", "Zurück zur Übersicht"); - } - } - - function EtikettenBild() - { - $this->EtikettenMenu(); - $submit = $this->app->Secure->GetPOST("submit"); - - $pfad = $_FILES["image"]["tmp_name"]; - if($submit!="") - { - if(file_exists($pfad)) - { - $result = $this->app->erp->PNG2Etikett($pfad); - if($result['result']=="1") - { - $this->app->Tpl->Set('BILD',""); - $this->app->Tpl->Set('BILD2',""); - } - else - $this->app->Tpl->Set('BILD',"
".$result['message']."
"); - } - } - - $this->app->Tpl->Parse('PAGE',"etiketten_bild.tpl"); - } - - function EtikettenEdit() - { - $this->EtikettenMenu(); - parent::EtikettenEdit(); - } - - /** - * @param int $lieferschein - * @param int $etiketten_drucker - * @param string $etiketten_art - * @param int $etiketten_sort - */ - public function LieferscheinPositionenDrucken($lieferschein,$etiketten_drucker,$etiketten_art,$etiketten_sort=0) - { - /* - Barcode, Artikelname, - Lagerplatznummer, - Artikelstückzahl - */ - $lsRow = $this->app->DB->SelectRow( - sprintf( - 'SELECT adresse, belegnr, sprache, kundennummer FROM lieferschein WHERE id=%d', - (int)$lieferschein - ) - ); - $adresse = $lsRow['adresse']; - - $pos = $this->app->DB->SelectArr( - sprintf( - 'SELECT art.*,lp.id, lp.bezeichnung, lp.nummer as lpnummer, lp.menge - FROM lieferschein_position AS lp - 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) { - $lagerbezeichnung = $this->app->erp->GetArtikelStandardlager($row['id']); - - $tmp = $row; - $row['nummer'] = $row['lpnummer']; - unset($tmp['lpnummer']); - /*$tmp = $this->app->DB->SelectRow( - sprintf('SELECT * FROM artikel WHERE id=%d LIMIT 1', $row['artikel']) - );*/ - $tmp['belegnr'] = $lieferscheinnummer; - //$tmp[''] - - // pro seriennummer ein artike - - $checkserriennummer = $this->app->DB->SelectArr( - sprintf( - "SELECT wert - 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++) { - $tmp['name_de'] = $row['bezeichnung']; - $tmp['nummer'] = $row['nummer']; - unset($tmp['bezeichnung']); - $tmp['menge'] = 1;//$pos[$i]['menge']; - $tmp['lager_platz_name'] = $lagerbezeichnung; - $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{ - - $tmp['name_de'] = $row['bezeichnung']; - $tmp['nummer'] = $row['nummer']; - unset($tmp['bezeichnung']); - $tmp['menge'] = str_replace('.', ',', $this->app->erp->FormatMengeBetrag($row['menge'])); //$pos[$i]['menge']; - $tmp['lager_platz_name'] = $lagerbezeichnung; - - $this->app->erp->EtikettenDrucker($etiketten_art, 1, 'lieferschein', $lieferschein, $tmp, '', $etiketten_drucker, '', false, $adresse, 'lieferschein_position'); - } - } - } - foreach($tmp as $key=>$value) { - $tmp[$key] = "CUT/Trennetikett"; - } - - $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'); - } -} - +app=$app; + if($intern) { + return; + } + + $this->app->ActionHandlerInit($this); + + $this->app->ActionHandler("create","EtikettenCreate"); + $this->app->ActionHandler("edit","EtikettenEdit"); + $this->app->ActionHandler("list","EtikettenList"); + $this->app->ActionHandler("bild","EtikettenBild"); + $this->app->ActionHandler("delete","EtikettenDelete"); + + $this->app->ActionHandlerListen($app); + } + + + function EtikettenCreate() + { + $this->EtikettenMenu(); + parent::EtikettenCreate(); + } + + function EtikettenDelete() + { + $id = $this->app->Secure->GetGET("id"); + if(is_numeric($id)) + { + $this->app->DB->Delete("DELETE FROM etiketten WHERE id='$id'"); + } + + $this->EtikettenList(); + } + + + function EtikettenList() + { + $this->EtikettenMenu(); + parent::EtikettenList(); + } + + function EtikettenMenu() + { + $id = $this->app->Secure->GetGET('id'); + $action = $this->app->Secure->GetGET('action'); + $this->app->erp->MenuEintrag("index.php?module=etiketten&action=create","Neues Etikett anlegen"); + + 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=bild&id=$id","Bild Generator"); + } + + if($action==='list') + { + $this->app->erp->MenuEintrag("index.php?module=etiketten&action=list","Übersicht"); + $this->app->erp->MenuEintrag("index.php?module=einstellungen&action=list","Zurück zur Übersicht"); + } + else{ + $this->app->erp->MenuEintrag("index.php?module=etiketten&action=list", "Zurück zur Übersicht"); + } + } + + function EtikettenBild() + { + $this->EtikettenMenu(); + $submit = $this->app->Secure->GetPOST("submit"); + + $pfad = $_FILES["image"]["tmp_name"]; + if($submit!="") + { + if(file_exists($pfad)) + { + $result = $this->app->erp->PNG2Etikett($pfad); + if($result['result']=="1") + { + $this->app->Tpl->Set('BILD',""); + $this->app->Tpl->Set('BILD2',""); + } + else + $this->app->Tpl->Set('BILD',"
".$result['message']."
"); + } + } + + $this->app->Tpl->Parse('PAGE',"etiketten_bild.tpl"); + } + + function EtikettenEdit() + { + $this->EtikettenMenu(); + parent::EtikettenEdit(); + } + + /** + * @param int $lieferschein + * @param int $etiketten_drucker + * @param string $etiketten_art + * @param int $etiketten_sort + */ + public function LieferscheinPositionenDrucken($lieferschein,$etiketten_drucker,$etiketten_art,$etiketten_sort=0) + { + /* + Barcode, Artikelname, + Lagerplatznummer, + Artikelstückzahl + */ + $lsRow = $this->app->DB->SelectRow( + sprintf( + 'SELECT adresse, belegnr, sprache, kundennummer FROM lieferschein WHERE id=%d', + (int)$lieferschein + ) + ); + $adresse = $lsRow['adresse']; + + $pos = $this->app->DB->SelectArr( + sprintf( + '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 + INNER JOIN lieferschein AS l ON lp.lieferschein = l.id + LEFT JOIN auftrag a ON l.auftragid = a.id + 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) { + $lagerbezeichnung = $this->app->erp->GetArtikelStandardlager($row['id']); + + $tmp = $row; + $row['nummer'] = $row['lpnummer']; + unset($tmp['lpnummer']); + /*$tmp = $this->app->DB->SelectRow( + sprintf('SELECT * FROM artikel WHERE id=%d LIMIT 1', $row['artikel']) + );*/ + $tmp['belegnr'] = $lieferscheinnummer; + //$tmp[''] + + // pro seriennummer ein artike + + $checkserriennummer = $this->app->DB->SelectArr( + sprintf( + "SELECT wert + 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++) { + $tmp['name_de'] = $row['bezeichnung']; + $tmp['nummer'] = $row['nummer']; + unset($tmp['bezeichnung']); + $tmp['menge'] = 1;//$pos[$i]['menge']; + $tmp['lager_platz_name'] = $lagerbezeichnung; + $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{ + + $tmp['name_de'] = $row['bezeichnung']; + $tmp['nummer'] = $row['nummer']; + unset($tmp['bezeichnung']); + $tmp['menge'] = str_replace('.', ',', $row['menge']); + $tmp['lager_platz_name'] = $lagerbezeichnung; + $tmp['auftragnummer'] = $row['auftragnummer']; + $tmp['internet'] = $row['internet']; + $tmp['kundenbestellnummer'] = $row['ihrebestellnummer']; + $tmp['artikelnummerkunde'] = $row['artikelnummerkunde']; + $this->app->erp->EtikettenDrucker($etiketten_art, 1, 'lieferschein', $lieferschein, $tmp, '', $etiketten_drucker, '', false, $adresse, 'lieferschein_position'); + } + } + } +/* + foreach($tmp as $key=>$value) { + $tmp[$key] = "CUT/Trennetikett"; + } + + $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'); +*/ + } +} + diff --git a/www/widgets/templates/_gen/etiketten.tpl b/www/widgets/templates/_gen/etiketten.tpl index 3954af76..ae5f4eaf 100644 --- a/www/widgets/templates/_gen/etiketten.tpl +++ b/www/widgets/templates/_gen/etiketten.tpl @@ -95,6 +95,16 @@
  • {ETIKETTENBILD} aktuell nur in PDF
  • {BEZEICHNUNG1},{BEZEICHNUNG2}Etikettendrucker 2-Zeilig
  • +Lieferscheinpositionen: +
    + Produktion: