From b52354b1ad028a957da4e9233c61415dfd3493d1 Mon Sep 17 00:00:00 2001
From: Xenomporio <>
Date: Thu, 14 Jul 2022 14:06:30 +0200
Subject: [PATCH] Automatic order processing manually
Cronjob based not working yes. Expanded process options in project settings.
---
www/pages/auftrag.php | 64 ++++++++++++++++----
www/pages/content/auftrag_versandzentrum.tpl | 30 ++++-----
www/widgets/widget.projekt.php | 6 +-
3 files changed, 69 insertions(+), 31 deletions(-)
diff --git a/www/pages/auftrag.php b/www/pages/auftrag.php
index 1e570e1e..05e43ed5 100644
--- a/www/pages/auftrag.php
+++ b/www/pages/auftrag.php
@@ -622,6 +622,13 @@ class Auftrag extends GenAuftrag
$menucol = 8; // For moredata
break;
+/* case 'auftraegeoffeneautowartend':
+
+ // TODO for cronjob commissioning
+
+
+
+ break;*/
}
$erg = [];
@@ -5245,6 +5252,10 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '.
return $return;
}
+ /*
+ order processed true or false
+ */
+
public function AuftragVersand($id='', $ignoriereliefertermin = false, &$ergebnis = null, $paketmarkedrucken = false)
{
if(!$this->kommissionierung)
@@ -6076,6 +6087,9 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '.
{
$this->AuftraguebersichtMenu();
$targetMessage = 'AUTOVERSANDBERECHNEN';
+
+ $this->app->Tpl->Set('MESSAGE','
Aufträge an Versand übergeben mit automatischem Druck und Mailversand.
');
+
$autoshipmentEnabled = true;
$this->app->erp->RunHook('OrderAutoShipment', 2, $targetMessage, $autoshipmentEnabled);
@@ -6143,6 +6157,12 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '.
switch($aktion){
case 'versandstarten':
+
+ /*
+ * If one of the cronjobs is active, orders only get marked. Sending will be handled by the cronjob.
+ * If not, sending will be done here.
+ */
+
$cronjobActive = $this->app->DB->Select(
"SELECT ps.id
FROM `prozessstarter` AS `ps`
@@ -6179,6 +6199,9 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '.
//sort($auftraegemarkiert);
}
if($check){
+
+ /* Send all to cronjob */
+
$maxcronjobkommissionierung = $this->createCronjobCommission((string)$bezeichnung);
$cauftraegemarkiert = $auftraegemarkiert ? count($auftraegemarkiert) : 0;
@@ -6195,6 +6218,9 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '.
}
}
else {
+
+ /* Process here now */
+
$cauftraegemarkiert = $auftraegemarkiert ? count($auftraegemarkiert) : 0;
for ($i = 0; $i < $cauftraegemarkiert; $i++) {
$projekt = (int)$this->app->DB->Select(
@@ -6211,9 +6237,20 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '.
continue;
}
$this->kommissionierung = $this->app->erp->GetNextKommissionierung($bezeichnung);
+
+ $processed_orders_num = 0;
+
foreach ($auftraege as $auftrag) {
- $this->AuftragVersand($auftrag);
+
+ /* Process each order */
+ if($this->AuftragVersand($auftrag)) {
+ $processed_orders_num++;
+ }
+
}
+
+ $this->app->Tpl->Set('MESSAGE',''.$processed_orders_num.' Aufträge wurden verarbeitet.
');
+
if(empty($this->kommissionierung)) {
continue;
}
@@ -6336,9 +6373,12 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '.
$warteschleife='';
}
- $this->app->Tpl->Set('TABTEXT2','Unversendet '.$unversendet);
- $this->app->Tpl->Set('TABTEXT3','Warteschleife '.$warteschleife);
- $this->app->YUI->TableSearch('TAB3','auftraegeoffeneautowartend');
+ $this->app->Tpl->Set('MESSAGE','Cronjob order processing not yet implemented!
');
+
+ $this->app->Tpl->Set('TABTEXT1','Unversendet '.$unversendet);
+ $this->app->Tpl->Set('TABTEXT2','Warteschleife '.$warteschleife);
+// $this->app->YUI->TableSearch('TAB2','auftraegeoffeneautowartend');
+
if($warteschleife > 0 && !$cronjobActive) {
$this->app->Tpl->Add(
'AUTOVERSANDBERECHNEN',
@@ -6351,8 +6391,8 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '.
}
else{
- $this->app->Tpl->Set('VORTABS3UEBERSCHRIFT','');
+ $this->app->Tpl->Set('VORTABS2UEBERSCHRIFT','');
}
$this->app->Tpl->Set('SELDRUCKERVERSAND', $this->app->erp->GetSelectDrucker($this->app->User->GetParameter('rechnung_list_drucker')));
@@ -6368,6 +6408,8 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '.
// $this->app->Tpl->Set('AUTOBERECHNEN2','');
}
$infolink = '(Information)';
+
+/*
$last_order_calc = $this->app->erp->GetKonfiguration('last_order_calc');
if(!empty($last_order_calc)) {
$this->app->Tpl->Add('AUTOVERSANDBERECHNEN','Die letzte Berechnung der Auftragsampeln war am '.$last_order_calc.'. '.$infolink.' [AUTOBERECHNEN]
');
@@ -6375,14 +6417,10 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '.
else{
$this->app->Tpl->Add('AUTOVERSANDBERECHNEN','Die letzte Berechnung der Auftragsampeln wurde noch nicht ermittelt. '.$infolink.' [AUTOBERECHNEN]
');
}
+*/
-// $this->app->YUI->TableSearch('TAB1','auftraege', 'show','','',basename(__FILE__), __CLASS__);
- $this->app->YUI->TableSearch('TAB2','auftraegeoffeneauto', 'show','','',basename(__FILE__), __CLASS__);
-// $this->app->Tpl->Parse('PAGE',"auftraguebersicht.tpl");
-
-// TEST
+ $this->app->YUI->TableSearch('TAB1','auftraegeoffeneauto', 'show','','',basename(__FILE__), __CLASS__);
$this->app->Tpl->Parse('PAGE','auftrag_versandzentrum.tpl');
-// TEST
} // Ende
@@ -6830,8 +6868,8 @@ Die Gesamtsumme stimmt nicht mehr mit ursprünglich festgelegten Betrag '.
$this->app->Tpl->Add('LAENDER',$laenderStr);
$this->app->Tpl->Parse('TAB1',"auftrag_table_filter.tpl");
- $this->app->YUI->TableSearch('TAB2',"auftraegeoffeneauto");
$this->app->YUI->TableSearch('TAB1','auftraege', 'show','','',basename(__FILE__), __CLASS__);
+// $this->app->YUI->TableSearch('TAB2',"auftraegeoffeneauto");
$this->app->YUI->TableSearch('TAB3',"auftraegeoffene");
$this->app->Tpl->Set('SELDRUCKER', $this->app->erp->GetSelectDrucker($this->app->User->GetParameter('rechnung_list_drucker')));
diff --git a/www/pages/content/auftrag_versandzentrum.tpl b/www/pages/content/auftrag_versandzentrum.tpl
index 5ea50a19..e8aadbaf 100644
--- a/www/pages/content/auftrag_versandzentrum.tpl
+++ b/www/pages/content/auftrag_versandzentrum.tpl
@@ -1,16 +1,14 @@
+
[TABTEXT1]
+ [VORTABS2UEBERSCHRIFT]
[TABTEXT2][NACHTABS2UEBERSCHRIFT]
+
-
-
+
+[MESSAGE]
[AUTOVERSANDBERECHNEN]
-
-
-
-[VORTABS3UEBERSCHRIFT]
-