From ce2da169ff0324f4467f849ef41ce8148d64e779 Mon Sep 17 00:00:00 2001 From: Beppe Date: Thu, 30 Nov 2023 12:54:50 +0100 Subject: [PATCH] Miglioria movimentazione articoli --- src/Common/Components/Article.php | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/Common/Components/Article.php b/src/Common/Components/Article.php index 0d80bace7..07347bc27 100755 --- a/src/Common/Components/Article.php +++ b/src/Common/Components/Article.php @@ -308,10 +308,23 @@ abstract class Article extends Accounting ->groupBy('idarticolo') ->sum('qta'); - if( ($qta_sede + $qta_finale) < 0 ){ + //Se la quantità supera la giacenza in sede allora movimento solo quello che resta + if( ($qta_sede + $qta_finale) < 0 && $qta_sede >= 0 ){ $qta_finale = -$qta_sede; $this->attributes['qta'] = $this->original['qta'] + abs($qta_finale); } + + // Se la quantità sede per qualche motivo è negativa correggo la quantità della riga con la differenza + elseif($qta_sede < 0 && $this->original['qta'] >= abs($qta_sede) ){ + $qta_finale = abs($qta_sede); + $this->attributes['qta'] = $this->original['qta'] - abs($qta_sede); + } + + // Se la quantità sede per qualche motivo è negativa e supera la quantià della riga azzero quest'ultima + elseif($qta_sede < 0 && $this->original['qta'] < abs($qta_sede) ){ + $qta_finale = $this->original['qta']; + $this->attributes['qta'] = 0; + } } $this->articolo->movimenta($qta_finale, $movimento, $data, false, [