Fix creazione intervento da ordine fornitore

This commit is contained in:
MatteoPistorello 2022-09-02 17:24:12 +02:00
parent d8177bda1c
commit 690d1c3a0d
1 changed files with 25 additions and 3 deletions

View File

@ -32,6 +32,7 @@ use Modules\Interventi\Intervento;
use Modules\Interventi\Stato;
use Modules\TipiIntervento\Tipo as TipoSessione;
use Plugins\ComponentiImpianti\Componente;
use Plugins\ListinoClienti\DettaglioPrezzo;
use Plugins\PianificazioneInterventi\Promemoria;
switch (post('op')) {
@ -629,18 +630,39 @@ switch (post('op')) {
$id_record = $intervento->id;
}
// Evado le righe solo se il documento originale non è un Ordine fornitore
$evadi_qta_parent = true;
if (post('op') == 'add_intervento') {
$evadi_qta_parent = false;
}
$righe = $documento->getRighe();
foreach ($righe as $riga) {
if (post('evadere')[$riga->id] == 'on' and !empty(post('qta_da_evadere')[$riga->id])) {
$qta = post('qta_da_evadere')[$riga->id];
$copia = $riga->copiaIn($intervento, $qta);
$copia = $riga->copiaIn($intervento, $qta, $evadi_qta_parent);
// Aggiornamento seriali
if ($copia->isArticolo()) {
// Aggiornamento seriali
$serials = is_array(post('serial')[$riga->id]) ? post('serial')[$riga->id] : [];
$copia->serials = $serials;
// Aggiornamento prezzi se il documento originale è un Ordine fornitore
if (post('op') == 'add_intervento') {
$articolo = $copia->articolo;
$cliente = DettaglioPrezzo::dettagli($riga->idarticolo, $anagrafica->id, 'entrata', $qta)->first();
if (empty($cliente)) {
$cliente = DettaglioPrezzo::dettaglioPredefinito($riga->idarticolo, $anagrafica->id, 'entrata')->first();
}
$prezzo_unitario = $cliente->prezzo_unitario - ($cliente->prezzo_unitario * $cliente->percentuale / 100);
$copia->setPrezzoUnitario($cliente ? $prezzo_unitario : $cliente->prezzo_vendita, $copia->aliquota->id);
$copia->setSconto($cliente->sconto_percentuale ?: 0, 'PRC');
$copia->costo_unitario = $riga->prezzo_unitario ?: 0;
}
}
$copia->save();