Miglioria movimentazione articoli

This commit is contained in:
Beppe 2023-11-30 12:54:50 +01:00
parent dcfa03b2b9
commit ce2da169ff
1 changed files with 14 additions and 1 deletions

View File

@ -308,10 +308,23 @@ abstract class Article extends Accounting
->groupBy('idarticolo') ->groupBy('idarticolo')
->sum('qta'); ->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; $qta_finale = -$qta_sede;
$this->attributes['qta'] = $this->original['qta'] + abs($qta_finale); $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, [ $this->articolo->movimenta($qta_finale, $movimento, $data, false, [