From cadbf0837689becc7c495739b9c3a6e7ff318fad Mon Sep 17 00:00:00 2001
From: OpenXE <>
Date: Mon, 7 Nov 2022 16:05:56 +0100
Subject: [PATCH] Produktion show open quantities
---
www/pages/content/produktion_edit.tpl | 4 ++--
www/pages/produktion.php | 33 ++++++++++++++++-----------
2 files changed, 22 insertions(+), 15 deletions(-)
diff --git a/www/pages/content/produktion_edit.tpl b/www/pages/content/produktion_edit.tpl
index fc0880e9..a00e2154 100644
--- a/www/pages/content/produktion_edit.tpl
+++ b/www/pages/content/produktion_edit.tpl
@@ -148,8 +148,8 @@
|
{|Planmenge|}: |
|
- {|Menge geplant|}: | {|Menge erfolgreich|}: | {|Ausschuss|}: |
- [MENGE_GEPLANT] | [MENGEERFOLGREICH] | [MENGEAUSSCHUSS] |
+ {|Menge geplant|}: | {|Menge erfolgreich|}: | {|Ausschuss|}: | {|Offen|} |
+ [MENGE_GEPLANT] | [MENGEERFOLGREICH] | [MENGEAUSSCHUSS] | [MENGE_OFFEN] |
diff --git a/www/pages/produktion.php b/www/pages/produktion.php
index ffff323f..7e2d21cc 100644
--- a/www/pages/produktion.php
+++ b/www/pages/produktion.php
@@ -377,7 +377,7 @@ class Produktion {
// Try to reserve material
$reservierung_durchgefuehrt = false;
foreach ($materialbedarf as $materialbedarf_position) {
- $result = $this->ArtikelReservieren($materialbedarf_position['artikel'], $global_standardlager, $materialbedarf_position['menge'], 'produktion', $id, $materialbedarf_position['id'],'Produktion $global_produktionsnummer');
+ $result = $this->ArtikelReservieren($materialbedarf_position['artikel'], $global_standardlager, $materialbedarf_position['menge'], 'produktion', $id, $materialbedarf_position['id'],"Produktion $global_produktionsnummer");
if ($result > 0) {
$reservierung_durchgefuehrt = true;
}
@@ -418,11 +418,6 @@ class Produktion {
$menge_auslagern = $menge_produzieren+$menge_ausschuss;
- if ($menge_produzieren + $menge_geliefert > $menge_plan) {
- $this->app->Tpl->Set('MESSAGE', "Planmenge überschritten.
");
- break;
- }
-
$menge_moeglich = $this->LagerCheckProduktion($id, $global_standardlager);
if ($menge_auslagern > $menge_moeglich) {
@@ -450,7 +445,7 @@ class Produktion {
}
// Adjust reservation
- $result = $this->ArtikelReservieren($material_position['artikel'],$global_standardlager,-$menge_artikel_auslagern,'produktion',$id,$material_position['id'],'Produktion $global_produktionsnummer');
+ $result = $this->ArtikelReservieren($material_position['artikel'],$global_standardlager,-$menge_artikel_auslagern,'produktion',$id,$material_position['id'],"Produktion $global_produktionsnummer");
// Update position
$sql = "UPDATE produktion_position SET geliefert_menge = geliefert_menge + $menge_artikel_auslagern WHERE id = ".$material_position['id'];
@@ -483,7 +478,7 @@ class Produktion {
foreach ($material as $material_position) {
// Remove reservation
- $result = $this->ArtikelReservieren($material_position['artikel'],$global_standardlager,0,'produktion',$id,$material_position['id'],'Produktion $global_produktionsnummer');
+ $result = $this->ArtikelReservieren($material_position['artikel'],$global_standardlager,0,'produktion',$id,$material_position['id'],"Produktion $global_produktionsnummer");
}
break;
@@ -715,7 +710,15 @@ class Produktion {
$this->app->Tpl->Set('ARTIKEL_MENGE_VISIBLE','hidden');
} else {
- $this->app->Tpl->Set('MENGE_GEPLANT',$produktionsartikel_position['menge']);
+ $this->app->Tpl->Set('MENGE_GEPLANT',$produktionsartikel_position['menge']);
+
+ $menge_offen = $produktionsartikel_position['menge']-$produktion_from_db['mengeerfolgreich'];
+ if ($menge_offen < 0) {
+ $menge_offen = 0;
+ $this->app->Tpl->Set('MESSAGE', "Planmenge überschritten.
");
+ }
+
+ $this->app->Tpl->Set('MENGE_OFFEN',$menge_offen);
$this->app->Tpl->Set('MENGE_PRODUZIERBAR',$this->LagerCheckProduktion($id, $produktion_from_db['standardlager']));
@@ -813,7 +816,12 @@ class Produktion {
$materialbedarf_gesamt = $this->app->DB->SelectArr($sql);
$sql = "SELECT id, artikel, FORMAT(SUM(menge),0) as menge, FORMAT(geliefert_menge,0) as geliefert_menge FROM produktion_position pp WHERE produktion=$produktion_id AND stuecklistestufe=1 GROUP BY artikel";
- $menge_plan_gesamt = $this->app->DB->SelectArr($sql)[0]['menge'];
+ $result = $this->app->DB->SelectArr($sql)[0];
+ $menge_plan_gesamt = $result['menge'];
+
+ $sql = "SELECT FORMAT(SUM(mengeerfolgreich),0) as menge FROM produktion WHERE id=$produktion_id";
+ $result = $this->app->DB->SelectArr($sql)[0];
+ $menge_geliefert_gesamt = $result['menge'];
foreach ($materialbedarf_gesamt as $materialbedarf_artikel) {
@@ -837,9 +845,7 @@ class Produktion {
$sql = "SELECT SUM(menge) as menge FROM lager_reserviert r WHERE artikel = $artikel";
$menge_reserviert_gesamt = $this->app->DB->SelectArr($sql)[0]['menge'];
- $menge_verfuegbar_lager = $menge_lager-$menge_reserviert_lager+$menge_reserviert_diese;
-
-
+ $menge_verfuegbar = $menge_lager-$menge_reserviert_lager+$menge_reserviert_diese;
$menge_moeglich_artikel = round($menge_verfuegbar / ($menge_plan_artikel/$menge_plan_gesamt), 0, PHP_ROUND_HALF_DOWN);
@@ -855,6 +861,7 @@ class Produktion {
$menge_moeglich = 0;
}
+
return($menge_moeglich);
}