From 9776b626c384cc124b3effbea5fec3b0643c3343 Mon Sep 17 00:00:00 2001 From: MatteoPistorello Date: Thu, 25 Mar 2021 16:20:22 +0100 Subject: [PATCH] Fix cambio stato ddt da importazione in intervento --- modules/ddt/src/DDT.php | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/modules/ddt/src/DDT.php b/modules/ddt/src/DDT.php index e52ca93be..3867e6c0a 100755 --- a/modules/ddt/src/DDT.php +++ b/modules/ddt/src/DDT.php @@ -23,6 +23,7 @@ use Auth; use Common\Components\Component; use Common\Document; use Modules\Anagrafiche\Anagrafica; +use Modules\Fatture\Fattura; use Traits\RecordTrait; use Traits\ReferenceTrait; use Util\Generator; @@ -218,16 +219,24 @@ class DDT extends Document if (setting('Cambia automaticamente stato ddt fatturati')) { $righe = $this->getRighe(); - - $qta_evasa = $righe->sum('qta_evasa'); $qta = $righe->sum('qta'); + $qta_evasa = $righe->sum('qta_evasa'); $parziale = $qta != $qta_evasa; + $fattura = Fattura::find($trigger->iddocumento); + if(!empty($fattura)){ + $righe_fatturate = $fattura->getRighe()->where('idddt', '=', $this->id); + $qta_fatturate = $righe_fatturate->sum('qta'); + $parziale_fatturato = $qta != $qta_fatturate; + } + // Impostazione del nuovo stato if ($qta_evasa == 0) { $descrizione = 'Bozza'; - } else { - $descrizione = $parziale ? 'Parzialmente fatturato' : 'Fatturato'; + } elseif(empty($qta_fatturate)){ + $descrizione = $parziale ? 'Parzialmente evaso' : 'Evaso'; + } else{ + $descrizione = $parziale_fatturato ? 'Parzialmente fatturato' : 'Fatturato'; } $stato = Stato::where('descrizione', $descrizione)->first();