mirror of
https://github.com/devcode-it/openstamanager.git
synced 2024-12-24 22:42:33 +01:00
Aggiunta gestione sconti multipli in import FE
This commit is contained in:
parent
139b83b983
commit
851c9ad007
@ -221,19 +221,67 @@ class FatturaElettronica
|
||||
}
|
||||
|
||||
$sconti = $riga['ScontoMaggiorazione'];
|
||||
|
||||
if (!empty($sconti)) {
|
||||
foreach ($sconti as $key => $sconto) {
|
||||
$tipo = !empty($sconto['Percentuale']) ? 'PRC' : 'EUR';
|
||||
$unitario = $sconto['Percentuale'] ?: $sconto['Importo'];
|
||||
if ($sconti['Percentuale'] || $sconti['Importo']) {
|
||||
$tipo = !empty($sconti['Percentuale']) ? 'PRC' : 'EUR';
|
||||
$unitario = $sconti['Percentuale'] ?: $sconti['Importo'];
|
||||
|
||||
//SConto o MaGgiorazione
|
||||
$unitario = ($sconto['Tipo'] == 'SC') ? $unitario : -$unitario;
|
||||
$unitario = ($sconti['Tipo'] == 'SC') ? $unitario : -$unitario;
|
||||
|
||||
if (!empty($unitario)) {
|
||||
$obj->sconto_unitario = $unitario;
|
||||
$obj->tipo_sconto = $tipo;
|
||||
}
|
||||
}
|
||||
|
||||
// Sconti multipli
|
||||
else {
|
||||
$sconto = $sconti[0]['Percentuale'] ? $sconti[0]['Percentuale'] : $sconti['Percentuale'];
|
||||
$tipo = !empty($sconto) ? 'PRC' : 'EUR';
|
||||
|
||||
$sconto_totale = 0;
|
||||
if ($tipo == 'PRC') {
|
||||
/**
|
||||
* Trasformo un eventuale sconto percentuale combinato in più
|
||||
* sconti:
|
||||
* Esempio:
|
||||
* 40% + 30% è uno sconto del 42%
|
||||
*/
|
||||
$prezzo_intero = $riga['PrezzoUnitario'] * $riga['Quantita'];
|
||||
$prezzo_scontato = $prezzo_intero;
|
||||
|
||||
foreach ($sconti as $scontor) {
|
||||
$prezzo_scontato -= $prezzo_scontato / 100 * $scontor['Percentuale'];
|
||||
}
|
||||
|
||||
// Ricavo la percentuale finale di sconto con una proporzione
|
||||
$percentuale_totale = ( 1 - ($prezzo_scontato / $prezzo_intero) ) * 100;
|
||||
|
||||
if (!empty($percentuale_totale)) {
|
||||
$obj->sconto_unitario = $percentuale_totale;
|
||||
$obj->tipo_sconto = $tipo;
|
||||
}
|
||||
}
|
||||
|
||||
else {
|
||||
// Combino gli sconti tra loro
|
||||
foreach ($sconti as $sconto) {
|
||||
$unitario = $sconto['Percentuale'] ?: $sconto['Importo'];
|
||||
|
||||
//Sconto o Maggiorazione
|
||||
$unitario = ($sconto['Tipo'] == 'SC') ? $unitario : -$unitario;
|
||||
|
||||
$sconto_totale += $unitario;
|
||||
}
|
||||
|
||||
if (!empty($unitario)) {
|
||||
$obj->sconto_unitario = $sconto_totale;
|
||||
$obj->tipo_sconto = $tipo;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$obj->save();
|
||||
|
Loading…
Reference in New Issue
Block a user