Fix divisione con php8.0
This commit is contained in:
parent
6c238052a9
commit
276310b13f
|
@ -78,7 +78,7 @@ switch (post('op')) {
|
|||
$new_prezzo_vendita = $new_prezzo_vendita + ($new_prezzo_vendita * $aliquota_iva / 100);
|
||||
}
|
||||
|
||||
$new_prezzo_vendita = ceil($new_prezzo_vendita / $arrotondamento) * $arrotondamento;
|
||||
$new_prezzo_vendita = ceil($new_prezzo_vendita / ($arrotondamento?:1)) * $arrotondamento;
|
||||
}
|
||||
|
||||
if (in_array($tipologia, ['ivato', '']) && !$prezzi_ivati) {
|
||||
|
|
|
@ -149,7 +149,7 @@ foreach ($righe as $riga) {
|
|||
foreach ($evasione_bar as $table => $color) {
|
||||
$righe_ev = $dbo->table($table)->where('original_id', $riga->id)->where('original_type', $riga::class)->get();
|
||||
if ($righe_ev->count() > 0) {
|
||||
$perc_ev = $righe_ev->sum('qta') * 100 / $riga->qta;
|
||||
$perc_ev = $righe_ev->sum('qta') * 100 / ($riga->qta?:1);
|
||||
echo '
|
||||
<div class="progress-bar progress-bar-'.$color.'" style="width:'.$perc_ev.'%"></div>';
|
||||
}
|
||||
|
|
|
@ -170,7 +170,7 @@ foreach ($righe as $riga) {
|
|||
foreach ($evasione_bar as $table => $color) {
|
||||
$righe_ev = $dbo->table($table)->where('original_id', $riga->id)->where('original_type', $riga::class)->get();
|
||||
if ($righe_ev->count() > 0) {
|
||||
$perc_ev = $righe_ev->sum('qta') * 100 / $riga->qta;
|
||||
$perc_ev = $righe_ev->sum('qta') * 100 / ($riga->qta?:1);
|
||||
if ($perc_ev > 0) {
|
||||
echo '
|
||||
<div class="progress-bar progress-bar-'.$color.'" style="width:'.$perc_ev.'%"></div>';
|
||||
|
|
|
@ -56,7 +56,7 @@ if ($intervento->id_contratto) {
|
|||
$contratto = Contratto::find($intervento->id_contratto);
|
||||
$ore_erogate = $contratto->interventi->sum('ore_totali');
|
||||
$ore_previste = $contratto->getRighe()->where('um', 'ore')->sum('qta');
|
||||
$perc_ore = $ore_previste != 0 ? ($ore_erogate * 100) / $ore_previste : 0;
|
||||
$perc_ore = $ore_previste != 0 ? ($ore_erogate * 100) / ($ore_previste?:1) : 0;
|
||||
if ($perc_ore < 75) {
|
||||
$color = 'success';
|
||||
} elseif ($perc_ore <= 100) {
|
||||
|
|
|
@ -403,7 +403,7 @@ class Sessione extends Model
|
|||
*/
|
||||
public function getMarginePercentualeAttribute()
|
||||
{
|
||||
return (1 - ($this->spesa / $this->totale_imponibile)) * 100;
|
||||
return (1 - ($this->spesa / ($this->totale_imponibile?:1))) * 100;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -413,7 +413,7 @@ class Sessione extends Model
|
|||
*/
|
||||
public function getRicaricoPercentualeAttribute()
|
||||
{
|
||||
return $this->imponibile ? (($this->imponibile / $this->spesa) - 1) * 100 : 0;
|
||||
return $this->imponibile ? (($this->imponibile / ($this->spesa?:1)) - 1) * 100 : 0;
|
||||
}
|
||||
|
||||
public function getIvaIndetraibileAttribute()
|
||||
|
|
|
@ -223,7 +223,7 @@ foreach ($righe as $riga) {
|
|||
foreach ($evasione_bar as $table => $color) {
|
||||
$righe_ev = $dbo->table($table)->where('original_id', $riga->id)->where('original_type', $riga::class)->get();
|
||||
if ($righe_ev->count() > 0) {
|
||||
$perc_ev = $righe_ev->sum('qta') * 100 / $riga->qta;
|
||||
$perc_ev = $righe_ev->sum('qta') * 100 / ($riga->qta?:1);
|
||||
if ($perc_ev > 0) {
|
||||
echo '
|
||||
<div class="progress-bar progress-bar-'.$color.'" style="width:'.$perc_ev.'%"></div>';
|
||||
|
|
|
@ -179,7 +179,7 @@ foreach ($righe as $key => $riga) {
|
|||
foreach ($evasione_bar as $table => $color) {
|
||||
$righe_ev = $dbo->table($table)->where('original_id', $riga->id)->where('original_type', $riga::class)->get();
|
||||
if ($righe_ev->count() > 0) {
|
||||
$perc_ev = $righe_ev->sum('qta') * 100 / $riga->qta;
|
||||
$perc_ev = $righe_ev->sum('qta') * 100 / ($riga->qta?:1);
|
||||
if ($perc_ev > 0) {
|
||||
echo '
|
||||
<div class="progress-bar progress-bar-'.$color.'" style="width:'.$perc_ev.'%"></div>';
|
||||
|
|
|
@ -57,9 +57,9 @@ foreach ($impianti_collegati as $impianto) {
|
|||
}
|
||||
}
|
||||
|
||||
$percentuale_completati = $n_impianti ? round(($impianti_completati * 100) / $n_impianti) : 0;
|
||||
$percentuale_non_completati = $n_impianti ? round(($impianti_non_completati * 100) / $n_impianti) : 0;
|
||||
$percentuale_non_previsti = $n_impianti ? round(($impianti_non_previsti * 100) / $n_impianti) : 0;
|
||||
$percentuale_completati = $n_impianti ? round(($impianti_completati * 100) / ($n_impianti?:1)) : 0;
|
||||
$percentuale_non_completati = $n_impianti ? round(($impianti_non_completati * 100) / ($n_impianti?:1)) : 0;
|
||||
$percentuale_non_previsti = $n_impianti ? round(($impianti_non_previsti * 100) / ($n_impianti?:1)) : 0;
|
||||
|
||||
echo '
|
||||
<div class="row">
|
||||
|
|
|
@ -484,7 +484,7 @@ if (!empty($righe)) {
|
|||
if ($tipo_sconto == '%') {
|
||||
$sconto_calcolato = calcola_sconto([
|
||||
'sconto' => $sconto_riga,
|
||||
'prezzo' => $sconto_unitario ? $prezzo_unitario - ($tot_sconto_calcolato / $qta) : $prezzo_unitario,
|
||||
'prezzo' => $sconto_unitario ? $prezzo_unitario - ($tot_sconto_calcolato / ($qta?:1)) : $prezzo_unitario,
|
||||
'tipo' => 'PRC',
|
||||
'qta' => $qta,
|
||||
]);
|
||||
|
|
|
@ -155,7 +155,7 @@ class FatturaOrdinaria extends FatturaElettronica
|
|||
$differenza_iva = round((float) $riepilogo['Imposta'] - $totale_imposta[$riepilogo['AliquotaIVA']], 2);
|
||||
|
||||
if ($differenza_iva) {
|
||||
$valore = $differenza_iva * 100 / $riepilogo['AliquotaIVA'];
|
||||
$valore = $differenza_iva * 100 / ($riepilogo['AliquotaIVA']?:1);
|
||||
}
|
||||
|
||||
if ($valore != 0) {
|
||||
|
@ -353,8 +353,8 @@ class FatturaOrdinaria extends FatturaElettronica
|
|||
// Nel caso il prezzo sia negativo viene gestito attraverso l'inversione della quantità (come per le note di credito)
|
||||
// TODO: per migliorare la visualizzazione, sarebbe da lasciare negativo il prezzo e invertire gli sconti.
|
||||
if (!empty($articolo->um) && !empty($articolo->um_secondaria) && !empty((float) $articolo->fattore_um_secondaria) && $riga['UnitaMisura'] == $articolo->um_secondaria) {
|
||||
$qta = (($riga['Quantita'] ?: 1) / $articolo->fattore_um_secondaria);
|
||||
$prezzo = $totale_righe_riepilogo > 0 ? $totale_righe_riepilogo / $qta : -($totale_righe_riepilogo / $qta);
|
||||
$qta = (($riga['Quantita'] ?: 1) / ($articolo->fattore_um_secondaria?:1));
|
||||
$prezzo = $totale_righe_riepilogo > 0 ? $totale_righe_riepilogo / ($qta?:1) : -($totale_righe_riepilogo / ($qta?:1));
|
||||
} else {
|
||||
$qta = ($riga['Quantita'] ?: 1);
|
||||
$prezzo = $totale_righe_riepilogo > 0 ? $riga['PrezzoUnitario'] : -$riga['PrezzoUnitario'];
|
||||
|
@ -399,13 +399,13 @@ class FatturaOrdinaria extends FatturaElettronica
|
|||
if ($tipo_sconto == 'PRC') {
|
||||
$sconto_calcolato = calcola_sconto([
|
||||
'sconto' => $sconto_riga,
|
||||
'prezzo' => $sconto_unitario ? $obj->prezzo_unitario - ($tot_sconto_calcolato / $obj->qta) : $obj->prezzo_unitario,
|
||||
'prezzo' => $sconto_unitario ? $obj->prezzo_unitario - ($tot_sconto_calcolato / ($obj->qta?:1)) : $obj->prezzo_unitario,
|
||||
'tipo' => 'PRC',
|
||||
'qta' => $obj->qta,
|
||||
]);
|
||||
|
||||
if ($tipo == 'PRC') {
|
||||
$tot_sconto = $sconto_calcolato * 100 / $obj->imponibile;
|
||||
$tot_sconto = $sconto_calcolato * 100 / ($obj->imponibile?:1);
|
||||
} else {
|
||||
$tot_sconto = $sconto_calcolato;
|
||||
}
|
||||
|
@ -532,7 +532,7 @@ class FatturaOrdinaria extends FatturaElettronica
|
|||
$nome = ucwords(strtolower($m[2]));
|
||||
$percentuale = $m[3];
|
||||
|
||||
$totale_previsto = round($importo / $percentuale * 100, 2);
|
||||
$totale_previsto = round($importo / ($percentuale?:1) * 100, 2);
|
||||
$percentuale_importo = round($totale_previsto / ($totale ?: 1) * 100, 2);
|
||||
|
||||
$ritenuta_contributi = $database->fetchOne('SELECT * FROM`co_ritenuta_contributi` WHERE `percentuale` = '.prepare($percentuale).' AND `percentuale_imponibile` = '.prepare($percentuale_importo));
|
||||
|
@ -633,7 +633,7 @@ class FatturaOrdinaria extends FatturaElettronica
|
|||
$totale = sum($totali);
|
||||
}
|
||||
|
||||
$totale_previsto = round($importo * 100 / $percentuale, 2);
|
||||
$totale_previsto = round($importo * 100 / ($percentuale?:1), 2);
|
||||
$percentuale_importo = round($totale_previsto / ($totale ?: 1) * 100, 2);
|
||||
$percentuale_importo = min($percentuale_importo, 100); // Nota: Fix per la percentuale che superava il 100% nel caso di importi con Rivalsa compresa
|
||||
|
||||
|
|
|
@ -86,7 +86,7 @@ class FatturaSemplificata extends FatturaElettronica
|
|||
|
||||
$prezzo = $importo - $imposta;
|
||||
|
||||
$aliquota = !empty($prezzo) ? $imposta / $prezzo * 100 : 0;
|
||||
$aliquota = !empty($prezzo) ? $imposta / ($prezzo?:1) * 100 : 0;
|
||||
$result[$index]['AliquotaIVA'] = $aliquota;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -118,7 +118,7 @@ switch ($operazione) {
|
|||
if ($cadenza_fatturazione == 'Fine') {
|
||||
$fine = Carbon\Carbon::parse($fine)->endOfMonth()->format('Y-m-d');
|
||||
}
|
||||
$prezzo_unitario = setting('Utilizza prezzi di vendita comprensivi di IVA') ? ((($r->subtotale - $r->sconto) + $r->iva) / $r->qta) : (($r->subtotale - $r->sconto) / $r->qta);
|
||||
$prezzo_unitario = setting('Utilizza prezzi di vendita comprensivi di IVA') ? ((($r->subtotale - $r->sconto) + $r->iva) / ($r->qta?:1)) : (($r->subtotale - $r->sconto) / ($r->qta?:1));
|
||||
|
||||
if (!empty($r->idarticolo)) {
|
||||
$articolo = ArticoloOriginale::find($r->idarticolo);
|
||||
|
|
|
@ -93,7 +93,7 @@ class Pianificazione extends Document
|
|||
{
|
||||
$righe = $this->contratto->getRighe();
|
||||
$pianificazioni = $this->contratto->pianificazioni;
|
||||
$numero_righe = $righe->count() / $pianificazioni->count();
|
||||
$numero_righe = $righe->count() / ($pianificazioni->count()?:1);
|
||||
|
||||
$p = $this;
|
||||
$index = $pianificazioni->search(fn ($item) => $item->id == $p->id);
|
||||
|
|
|
@ -32,7 +32,7 @@ $prezzo_max = $prezzi['max'];
|
|||
$prezzo_medio = $prezzi['media'];
|
||||
|
||||
$oscillazione = $prezzo_max['prezzo'] - $prezzo_min['prezzo'];
|
||||
$oscillazione_percentuale = $prezzo_medio ? $oscillazione * 100 / $prezzo_medio : 0;
|
||||
$oscillazione_percentuale = $prezzo_medio ? $oscillazione * 100 / ($prezzo_medio?:1) : 0;
|
||||
|
||||
$data_min = $prezzo_min['data'] ? strtotime((string) $prezzo_min['data']) : '';
|
||||
$data_max = $prezzo_max['data'] ? strtotime((string) $prezzo_max['data']) : '';
|
||||
|
|
|
@ -338,7 +338,7 @@ abstract class Accounting extends Component
|
|||
*/
|
||||
public function getMarginePercentualeAttribute()
|
||||
{
|
||||
return (1 - (($this->spesa + $this->provvigione) / $this->totale_imponibile)) * 100;
|
||||
return (1 - (($this->spesa + $this->provvigione) / ($this->totale_imponibile?:1))) * 100;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -221,7 +221,7 @@ abstract class Document extends Model implements ReferenceInterface, DocumentInt
|
|||
*/
|
||||
public function getMarginePercentualeAttribute()
|
||||
{
|
||||
return ($this->totale_imponibile && $this->spesa) ? (1 - ($this->spesa / $this->totale_imponibile)) * 100 : 100;
|
||||
return ($this->totale_imponibile && $this->spesa) ? (1 - ($this->spesa / ($this->totale_imponibile?:1))) * 100 : 100;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue