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);
+ }
+
}