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] - -
    - +
    {|Filter|}
    @@ -39,8 +37,7 @@
    - -[TAB2] +[TAB1]
    Stapelverarbeitung  alle markieren  @@ -59,10 +56,11 @@
    -
    -[VORTABS3UEBERSCHRIFT] -
    + +
    +[VORTABS2UEBERSCHRIFT] +
    {|Filter|}
    @@ -77,14 +75,12 @@
    - -[TAB3] +[TAB2]
    -[NACHTABS3UEBERSCHRIFT] +[NACHTABS2UEBERSCHRIFT]
    -