From f76400e24801c329e85895091914ec25ee2b9196 Mon Sep 17 00:00:00 2001
From: OpenXE <>
Date: Sun, 8 Jan 2023 18:51:29 +0100
Subject: [PATCH] Bestellvorschlag now working
---
www/pages/bestellvorschlag.php | 82 +++++++++++
www/pages/content/bestellvorschlag_list.tpl | 150 ++++++++++----------
2 files changed, 158 insertions(+), 74 deletions(-)
diff --git a/www/pages/bestellvorschlag.php b/www/pages/bestellvorschlag.php
index 9dd5b5c4..6f2da7d4 100644
--- a/www/pages/bestellvorschlag.php
+++ b/www/pages/bestellvorschlag.php
@@ -321,6 +321,86 @@ FROM
}
}
break;
+ case 'bestellungen_erzeugen':
+
+ $auswahl = $this->app->Secure->GetPOST('auswahl');
+ $selectedIds = [];
+
+ if(empty($auswahl)) {
+ $msg = '
Bitte Artikel auswählen.
';
+ break;
+ }
+
+ if(!empty($auswahl)) {
+ foreach ($auswahl as $selectedId) {
+ $selectedId = (int) $selectedId;
+ if ($selectedId > 0) {
+ $selectedIds[] = $selectedId;
+ }
+ }
+ }
+
+ $menge_input = $this->app->Secure->GetPOSTArray();
+ $mengen = array();
+
+ foreach ($selectedIds as $artikel_id) {
+ foreach ($menge_input as $key => $menge) {
+ if ((strpos($key,'menge_') === 0) && ($menge !== '')) {
+ $artikel = substr($key,'6');
+ if ($menge > 0 && $artikel == $artikel_id) {
+ $mengen[] = array('id' => $artikel,'menge' => $menge);
+ }
+ }
+ }
+ }
+
+ $mengen_pro_adresse = array();
+ foreach ($mengen as $menge) {
+ $sql = "SELECT adresse FROM artikel WHERE id = ".$menge['id'];
+ $adresse = $this->app->DB->Select($sql);
+ if (!empty($adresse)) {
+ $index = array_search($adresse, array_column($mengen_pro_adresse,'adresse'));
+ if ($index !== false) {
+ $mengen_pro_adresse[$index]['positionen'][] = $menge;
+ } else {
+ $mengen_pro_adresse[] = array('adresse' => $adresse,'positionen' => array($menge));
+ }
+ }
+ }
+
+ $angelegt = 0;
+
+ foreach ($mengen_pro_adresse as $bestelladresse) {
+ $bestellid = $this->app->erp->CreateBestellung($bestelladresse);
+ if (!empty($bestellid)) {
+
+ $angelegt++;
+
+ $this->app->erp->LoadBestellungStandardwerte($bestellid,$bestelladresse['adresse']);
+ $this->app->erp->BestellungProtokoll($bestellid,"Bestellung angelegt");
+ foreach ($bestelladresse['positionen'] as $position) {
+ $preisid = $this->app->erp->Einkaufspreis($position['id'], $position['menge'], $bestelladresse['adresse']);
+
+ if ($preisid == null) {
+ $artikelohnepreis = $position['id'];
+ } else {
+ $artikelohnepreis = null;
+ }
+
+ $this->app->erp->AddBestellungPosition(
+ $bestellid,
+ $preisid,
+ $position['menge'],
+ $datum,
+ '',
+ $artikelohnepreis
+ );
+ }
+ $this->app->erp->BestellungNeuberechnen($bestellid);
+ }
+ }
+ $msg .= "Es wurden $angelegt Bestellungen angelegt.
";
+ break;
}
$this->app->erp->MenuEintrag("index.php?module=bestellvorschlag&action=list", "Übersicht");
@@ -331,6 +411,8 @@ FROM
$this->app->Tpl->Set('MONATE_ABSATZ',$monate_absatz);
$this->app->Tpl->Set('MONATE_VORAUS',$monate_voraus);
+ $this->app->Tpl->Set('MESSAGE',$msg);
+
$this->app->YUI->TableSearch('TAB1', 'bestellvorschlag_list', "show", "", "", basename(__FILE__), __CLASS__);
$this->app->Tpl->Parse('PAGE', "bestellvorschlag_list.tpl");
}
diff --git a/www/pages/content/bestellvorschlag_list.tpl b/www/pages/content/bestellvorschlag_list.tpl
index 2d2c1c01..9d79b6d8 100644
--- a/www/pages/content/bestellvorschlag_list.tpl
+++ b/www/pages/content/bestellvorschlag_list.tpl
@@ -1,81 +1,83 @@
-
- [MESSAGE]
-
+ [TAB1NEXT]
+
-
+ $('#autoalle').on('change',function(){
+ var wert = $(this).prop('checked');
+ $('#bestellvorschlag_list').find('input[type="checkbox"]').prop('checked',wert);
+ $('#bestellvorschlag_list').find('input[type="checkbox"]').first().trigger('change');
+ });
+
+
-
+