diff --git a/phpwf/plugins/class.yui.php b/phpwf/plugins/class.yui.php index 9dd92f04..ceea5b93 100644 --- a/phpwf/plugins/class.yui.php +++ b/phpwf/plugins/class.yui.php @@ -5817,12 +5817,8 @@ url:strUrl, success:function(html){strReturn = html;}, async:false } } // Fester filter - $more_data6 = $this->app->Secure->GetGET("more_data6"); - $more_data7 = $this->app->Secure->GetGET("more_data7"); - $more_data8 = $this->app->Secure->GetGET("more_data8"); - $more_data4 = $this->app->Secure->GetGET("more_data4"); - +/* $versandjoin = ""; if(isset($parameter['offenversandzentrum']) && !empty($parameter['offenversandzentrum'])) { @@ -5856,8 +5852,8 @@ url:strUrl, success:function(html){strReturn = html;}, async:false } if($versandjoin)$sql .= $versandjoin; - - + */ + if($more_data4 || (isset($parameter['ohnerechnung']) && !empty($parameter['ohnerechnung']))) { $paramsArray[] = " l.status !='storniert' "; @@ -5932,6 +5928,21 @@ url:strUrl, success:function(html){strReturn = html;}, async:false if ($more_data3 == 1) $subwhere[] = " l.lieferantenretoure=1 "; // ENDE EXTRA more + $more_data6 = $this->app->Secure->GetGET("more_data6"); + $more_data7 = $this->app->Secure->GetGET("more_data7"); + $more_data8 = $this->app->Secure->GetGET("more_data8"); + + if ($more_data6) { + $subwhere[] = "l.versand_status = 3"; + } + if ($more_data7) { + $subwhere[] = "l.versand_status = 1"; + } + if ($more_data8) { + $subwhere[] = "l.versand_status IN (2,3)"; + } + + for ($j = 0;$j < (empty($subwhere)?0:count($subwhere));$j++) $tmp.= " AND " . $subwhere[$j]; $where = " l.id!='' AND l.status!='angelegt' $tmp " . $this->app->erp->ProjektRechte('p.id', true, 'l.vertriebid'); diff --git a/upgrade/data/db_schema.json b/upgrade/data/db_schema.json index 181fc285..8861b443 100644 --- a/upgrade/data/db_schema.json +++ b/upgrade/data/db_schema.json @@ -57169,6 +57169,17 @@ "Extra": "", "Privileges": "select,insert,update,references", "Comment": "" + }, + { + "Field": "versand_status", + "Type": "int(11)", + "Collation": null, + "Null": "NO", + "Key": "", + "Default": "0", + "Extra": "", + "Privileges": "select,insert,update,references", + "Comment": "" } ], "keys": [ diff --git a/www/pages/auftrag.php b/www/pages/auftrag.php index 5cff46f2..efe87cd6 100644 --- a/www/pages/auftrag.php +++ b/www/pages/auftrag.php @@ -5694,8 +5694,13 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '. } $this->app->DB->Update("UPDATE lieferschein SET - belegnr='$ls_belegnr', status='freigegeben', versand='".$this->app->User->GetDescription()."' - WHERE id='$lieferschein' LIMIT 1"); + belegnr='$ls_belegnr', + status='freigegeben', + versand='".$this->app->User->GetDescription()."', + versand_status = 1 + WHERE id='$lieferschein' LIMIT 1"); + + // Versand_status: 1 = process in versandpakete, 2 = finished, 3 = finished manually $this->app->erp->LieferscheinProtokoll($lieferschein, 'Lieferschein freigegeben'); @@ -6342,7 +6347,7 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '. $this->app->erp->MenuEintrag('index.php?module=auftrag&action=list','Übersicht'); $this->app->erp->MenuEintrag('index.php?module=auftrag&action=create','Neuen Auftrag anlegen'); $this->app->erp->MenuEintrag('index.php?module=auftrag&action=offene','Offene Positionen'); - $this->app->erp->MenuEintrag('index.php?module=auftrag&action=versandzentrum','Versandzentrum'); + $this->app->erp->MenuEintrag('index.php?module=auftrag&action=versandzentrum','Versandübergabe'); if(strlen($backurl)>5){ $this->app->erp->MenuEintrag("$backurl", 'Zurück zur Übersicht'); @@ -6387,7 +6392,7 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '. $this->AuftraguebersichtMenu(); $targetMessage = 'AUTOVERSANDBERECHNEN'; - $this->app->Tpl->Add('MESSAGE','
Aufträge an Versand übergeben mit automatischem Druck und Mailversand.
'); + $this->app->Tpl->Add('MESSAGE','
Aufträge an Versand übergeben mit automatischem Druck und Mailversand. Zum Versand
'); $autoshipmentEnabled = true; $this->app->erp->RunHook('OrderAutoShipment', 2, $targetMessage, $autoshipmentEnabled); diff --git a/www/pages/content/lieferscheinuebersicht.tpl b/www/pages/content/lieferscheinuebersicht.tpl index 33e9e128..0769babb 100644 --- a/www/pages/content/lieferscheinuebersicht.tpl +++ b/www/pages/content/lieferscheinuebersicht.tpl @@ -17,33 +17,6 @@
  • - -
    -
    {|Filter Versandzentrum|}
    - -
    [MESSAGE] diff --git a/www/pages/versandpakete.php b/www/pages/versandpakete.php index cc39fb51..5def3b20 100644 --- a/www/pages/versandpakete.php +++ b/www/pages/versandpakete.php @@ -287,72 +287,14 @@ class Versandpakete { $defaultorder = 1; $defaultorderdesc = 0; - $dropnbox = "'' AS `open`, CONCAT('') AS `auswahl`"; $menucol = 1; $moreinfoaction = "lieferschein"; $moreinfo = true; // Allow drop down details $aligncenter = [5,6,7,8,9,10]; - $menu = "Conf->WFconf['defaulttheme']}/images/add.png\" border=\"0\">"; - - $sql_lieferschein_position = " - SELECT - l.id, - l.belegnr, - l.name, - lp.menge lmenge, - SUM(vlp.menge) vmenge, - BIT_OR(COALESCE(v.status,0) IN ('versendet')) AS eins_versendet, - BIT_AND(COALESCE(v.status,0) IN ('versendet')) AS alle_versendet, - BIT_OR(COALESCE(v.status,0) IN ('abgeschlossen')) AS eins_abgeschlossen, - BIT_AND(COALESCE(v.status,0) IN ('abgeschlossen')) AS alle_abgeschlossen - FROM - lieferschein l - INNER JOIN lieferschein_position lp ON lp.lieferschein = l.id - INNER JOIN artikel a ON lp.artikel = a.id - LEFT JOIN versandpaket_lieferschein_position vlp ON vlp.lieferschein_position = lp.id - LEFT JOIN versandpakete v ON vlp.versandpaket = v.id - WHERE - l.belegnr <> '' AND - (v.status <> 'storniert' OR v.status IS NULL) AND - a.lagerartikel - GROUP BY lp.id - "; - - $sql_lieferschein = " - SELECT - id, - belegnr, - name, - SUM(lmenge) lmenge, - SUM(COALESCE(vmenge,0)) vmenge, - eins_versendet, - alle_versendet, - eins_abgeschlossen, - alle_abgeschlossen - FROM ( - ".$sql_lieferschein_position." - ) lp - GROUP BY id - "; - - $sql = " - SELECT SQL_CALC_FOUND_ROWS - id, - ".$dropnbox.", - CONCAT('',belegnr,''), - name, - ".$app->erp->FormatMenge("lmenge").", - ".$app->erp->FormatMenge("vmenge").", - ".$app->YUI->IconsSQL_lieferung().", - if(vmenge=0,'',CONCAT('Conf->WFconf['defaulttheme']}/images/forward.svg\" title=\"Pakete anzeigen\" border=\"0\">')), - id, - alle_abgeschlossen - FROM ( - ".$sql_lieferschein." - ) l - "; + $menu = "Conf->WFconf['defaulttheme']}/images/add.png\" border=\"0\">"; + $sql = Versandpakete::versandpakete_lieferstatus_sql($app); $where = ""; // Toggle filters @@ -1187,4 +1129,69 @@ class Versandpakete { } + static function versandpakete_lieferstatus_sql($app) { + + $dropnbox = "'' AS `open`, CONCAT('') AS `auswahl`"; + + $sql_lieferschein_position = " + SELECT + l.id, + l.belegnr, + l.name, + lp.menge lmenge, + SUM(vlp.menge) vmenge, + BIT_OR(COALESCE(v.status,0) IN ('versendet')) AS eins_versendet, + BIT_AND(COALESCE(v.status,0) IN ('versendet')) AS alle_versendet, + BIT_OR(COALESCE(v.status,0) IN ('abgeschlossen')) AS eins_abgeschlossen, + BIT_AND(COALESCE(v.status,0) IN ('abgeschlossen')) AS alle_abgeschlossen + FROM + lieferschein l + INNER JOIN lieferschein_position lp ON lp.lieferschein = l.id + INNER JOIN artikel a ON lp.artikel = a.id + LEFT JOIN versandpaket_lieferschein_position vlp ON vlp.lieferschein_position = lp.id + LEFT JOIN versandpakete v ON vlp.versandpaket = v.id + WHERE + l.versand_status <> 0 AND + l.belegnr <> '' AND + (v.status <> 'storniert' OR v.status IS NULL) AND + a.lagerartikel + GROUP BY lp.id + "; + + $sql_lieferschein = " + SELECT + id, + belegnr, + name, + SUM(lmenge) lmenge, + SUM(COALESCE(vmenge,0)) vmenge, + eins_versendet, + alle_versendet, + eins_abgeschlossen, + alle_abgeschlossen + FROM ( + ".$sql_lieferschein_position." + ) lp + GROUP BY id + "; + + $sql = " + SELECT SQL_CALC_FOUND_ROWS + id, + ".$dropnbox.", + CONCAT('',belegnr,''), + name, + ".$app->erp->FormatMenge("lmenge").", + ".$app->erp->FormatMenge("vmenge").", + ".$app->YUI->IconsSQL_lieferung().", + if(vmenge=0,'',CONCAT('Conf->WFconf['defaulttheme']}/images/forward.svg\" title=\"Pakete anzeigen\" border=\"0\">')), + id, + alle_abgeschlossen + FROM ( + ".$sql_lieferschein." + ) l + "; + return($sql); + } + }