diff --git a/plugins/importFE/generate.php b/plugins/importFE/generate.php index bb7b17b4e..bf1a4ae88 100755 --- a/plugins/importFE/generate.php +++ b/plugins/importFE/generate.php @@ -434,6 +434,53 @@ if (!empty($righe)) { $prezzo_unitario = $riga['PrezzoUnitario'] ?: $riga['Importo']; $is_descrizione = empty((float)$riga['Quantita']) && empty((float)$prezzo_unitario); + $sconto_unitario = 0; + $sconti = $riga['ScontoMaggiorazione'] ?: 0; + if (!empty($sconti)) { + $tot_sconto_calcolato = 0; + $sconto_unitario = 0; + $sconti = $sconti[0] ? $sconti : [$sconti]; + + // Determina il tipo di sconto in caso di sconti misti UNT e PRC + foreach ($sconti as $sconto) { + $tipo_sconto = !empty($sconto['Importo']) ? '€' : '%'; + if (!empty($tipo) && $tipo_sconto != $tipo) { + $tipo = '€'; + } else { + $tipo = $tipo_sconto; + } + } + + foreach ($sconti as $sconto) { + $unitario = $sconto['Importo'] ?: $sconto['Percentuale']; + + // Sconto o Maggiorazione + $sconto_riga = ($sconto['Tipo'] == 'SC') ? $unitario : -$unitario; + + $tipo_sconto = !empty($sconto['Importo']) ? '€' : '%'; + if ($tipo_sconto == '%') { + $sconto_calcolato = calcola_sconto([ + 'sconto' => $sconto_riga, + 'prezzo' => $sconto_unitario ? $obj->prezzo_unitario - ($tot_sconto_calcolato / $obj->qta) : $obj->prezzo_unitario, + 'tipo' => 'PRC', + 'qta' => $obj->qta, + ]); + + if ($tipo == '%') { + $tot_sconto = $sconto_calcolato * 100 / $obj->imponibile; + } else { + $tot_sconto = $sconto_calcolato; + } + } else { + $tot_sconto = $sconto_riga; + } + + $tot_sconto_calcolato += $sconto_calcolato; + $sconto_unitario += $tot_sconto; + } + } + + $riferimento_fe = ''; if ($dati_ddt[(int)$riga['NumeroLinea']]) { @@ -466,7 +513,13 @@ if (!empty($righe)) {