Fix divisione con php8.0

This commit is contained in:
valentina 2024-08-06 12:26:37 +02:00
parent 6c238052a9
commit 276310b13f
16 changed files with 25 additions and 25 deletions

View File

@ -78,7 +78,7 @@ switch (post('op')) {
$new_prezzo_vendita = $new_prezzo_vendita + ($new_prezzo_vendita * $aliquota_iva / 100); $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) { if (in_array($tipologia, ['ivato', '']) && !$prezzi_ivati) {

View File

@ -149,7 +149,7 @@ foreach ($righe as $riga) {
foreach ($evasione_bar as $table => $color) { foreach ($evasione_bar as $table => $color) {
$righe_ev = $dbo->table($table)->where('original_id', $riga->id)->where('original_type', $riga::class)->get(); $righe_ev = $dbo->table($table)->where('original_id', $riga->id)->where('original_type', $riga::class)->get();
if ($righe_ev->count() > 0) { 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 ' echo '
<div class="progress-bar progress-bar-'.$color.'" style="width:'.$perc_ev.'%"></div>'; <div class="progress-bar progress-bar-'.$color.'" style="width:'.$perc_ev.'%"></div>';
} }

View File

@ -170,7 +170,7 @@ foreach ($righe as $riga) {
foreach ($evasione_bar as $table => $color) { foreach ($evasione_bar as $table => $color) {
$righe_ev = $dbo->table($table)->where('original_id', $riga->id)->where('original_type', $riga::class)->get(); $righe_ev = $dbo->table($table)->where('original_id', $riga->id)->where('original_type', $riga::class)->get();
if ($righe_ev->count() > 0) { 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) { if ($perc_ev > 0) {
echo ' echo '
<div class="progress-bar progress-bar-'.$color.'" style="width:'.$perc_ev.'%"></div>'; <div class="progress-bar progress-bar-'.$color.'" style="width:'.$perc_ev.'%"></div>';

View File

@ -56,7 +56,7 @@ if ($intervento->id_contratto) {
$contratto = Contratto::find($intervento->id_contratto); $contratto = Contratto::find($intervento->id_contratto);
$ore_erogate = $contratto->interventi->sum('ore_totali'); $ore_erogate = $contratto->interventi->sum('ore_totali');
$ore_previste = $contratto->getRighe()->where('um', 'ore')->sum('qta'); $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) { if ($perc_ore < 75) {
$color = 'success'; $color = 'success';
} elseif ($perc_ore <= 100) { } elseif ($perc_ore <= 100) {

View File

@ -403,7 +403,7 @@ class Sessione extends Model
*/ */
public function getMarginePercentualeAttribute() 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() 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() public function getIvaIndetraibileAttribute()

View File

@ -223,7 +223,7 @@ foreach ($righe as $riga) {
foreach ($evasione_bar as $table => $color) { foreach ($evasione_bar as $table => $color) {
$righe_ev = $dbo->table($table)->where('original_id', $riga->id)->where('original_type', $riga::class)->get(); $righe_ev = $dbo->table($table)->where('original_id', $riga->id)->where('original_type', $riga::class)->get();
if ($righe_ev->count() > 0) { 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) { if ($perc_ev > 0) {
echo ' echo '
<div class="progress-bar progress-bar-'.$color.'" style="width:'.$perc_ev.'%"></div>'; <div class="progress-bar progress-bar-'.$color.'" style="width:'.$perc_ev.'%"></div>';

View File

@ -179,7 +179,7 @@ foreach ($righe as $key => $riga) {
foreach ($evasione_bar as $table => $color) { foreach ($evasione_bar as $table => $color) {
$righe_ev = $dbo->table($table)->where('original_id', $riga->id)->where('original_type', $riga::class)->get(); $righe_ev = $dbo->table($table)->where('original_id', $riga->id)->where('original_type', $riga::class)->get();
if ($righe_ev->count() > 0) { 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) { if ($perc_ev > 0) {
echo ' echo '
<div class="progress-bar progress-bar-'.$color.'" style="width:'.$perc_ev.'%"></div>'; <div class="progress-bar progress-bar-'.$color.'" style="width:'.$perc_ev.'%"></div>';

View File

@ -57,9 +57,9 @@ foreach ($impianti_collegati as $impianto) {
} }
} }
$percentuale_completati = $n_impianti ? round(($impianti_completati * 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) : 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) : 0; $percentuale_non_previsti = $n_impianti ? round(($impianti_non_previsti * 100) / ($n_impianti?:1)) : 0;
echo ' echo '
<div class="row"> <div class="row">

View File

@ -484,7 +484,7 @@ if (!empty($righe)) {
if ($tipo_sconto == '%') { if ($tipo_sconto == '%') {
$sconto_calcolato = calcola_sconto([ $sconto_calcolato = calcola_sconto([
'sconto' => $sconto_riga, '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', 'tipo' => 'PRC',
'qta' => $qta, 'qta' => $qta,
]); ]);

View File

@ -155,7 +155,7 @@ class FatturaOrdinaria extends FatturaElettronica
$differenza_iva = round((float) $riepilogo['Imposta'] - $totale_imposta[$riepilogo['AliquotaIVA']], 2); $differenza_iva = round((float) $riepilogo['Imposta'] - $totale_imposta[$riepilogo['AliquotaIVA']], 2);
if ($differenza_iva) { if ($differenza_iva) {
$valore = $differenza_iva * 100 / $riepilogo['AliquotaIVA']; $valore = $differenza_iva * 100 / ($riepilogo['AliquotaIVA']?:1);
} }
if ($valore != 0) { 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) // 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. // 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) { 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); $qta = (($riga['Quantita'] ?: 1) / ($articolo->fattore_um_secondaria?:1));
$prezzo = $totale_righe_riepilogo > 0 ? $totale_righe_riepilogo / $qta : -($totale_righe_riepilogo / $qta); $prezzo = $totale_righe_riepilogo > 0 ? $totale_righe_riepilogo / ($qta?:1) : -($totale_righe_riepilogo / ($qta?:1));
} else { } else {
$qta = ($riga['Quantita'] ?: 1); $qta = ($riga['Quantita'] ?: 1);
$prezzo = $totale_righe_riepilogo > 0 ? $riga['PrezzoUnitario'] : -$riga['PrezzoUnitario']; $prezzo = $totale_righe_riepilogo > 0 ? $riga['PrezzoUnitario'] : -$riga['PrezzoUnitario'];
@ -399,13 +399,13 @@ class FatturaOrdinaria extends FatturaElettronica
if ($tipo_sconto == 'PRC') { if ($tipo_sconto == 'PRC') {
$sconto_calcolato = calcola_sconto([ $sconto_calcolato = calcola_sconto([
'sconto' => $sconto_riga, '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', 'tipo' => 'PRC',
'qta' => $obj->qta, 'qta' => $obj->qta,
]); ]);
if ($tipo == 'PRC') { if ($tipo == 'PRC') {
$tot_sconto = $sconto_calcolato * 100 / $obj->imponibile; $tot_sconto = $sconto_calcolato * 100 / ($obj->imponibile?:1);
} else { } else {
$tot_sconto = $sconto_calcolato; $tot_sconto = $sconto_calcolato;
} }
@ -532,7 +532,7 @@ class FatturaOrdinaria extends FatturaElettronica
$nome = ucwords(strtolower($m[2])); $nome = ucwords(strtolower($m[2]));
$percentuale = $m[3]; $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); $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)); $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 = 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 = 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 $percentuale_importo = min($percentuale_importo, 100); // Nota: Fix per la percentuale che superava il 100% nel caso di importi con Rivalsa compresa

View File

@ -86,7 +86,7 @@ class FatturaSemplificata extends FatturaElettronica
$prezzo = $importo - $imposta; $prezzo = $importo - $imposta;
$aliquota = !empty($prezzo) ? $imposta / $prezzo * 100 : 0; $aliquota = !empty($prezzo) ? $imposta / ($prezzo?:1) * 100 : 0;
$result[$index]['AliquotaIVA'] = $aliquota; $result[$index]['AliquotaIVA'] = $aliquota;
} }
} }

View File

@ -118,7 +118,7 @@ switch ($operazione) {
if ($cadenza_fatturazione == 'Fine') { if ($cadenza_fatturazione == 'Fine') {
$fine = Carbon\Carbon::parse($fine)->endOfMonth()->format('Y-m-d'); $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)) { if (!empty($r->idarticolo)) {
$articolo = ArticoloOriginale::find($r->idarticolo); $articolo = ArticoloOriginale::find($r->idarticolo);

View File

@ -93,7 +93,7 @@ class Pianificazione extends Document
{ {
$righe = $this->contratto->getRighe(); $righe = $this->contratto->getRighe();
$pianificazioni = $this->contratto->pianificazioni; $pianificazioni = $this->contratto->pianificazioni;
$numero_righe = $righe->count() / $pianificazioni->count(); $numero_righe = $righe->count() / ($pianificazioni->count()?:1);
$p = $this; $p = $this;
$index = $pianificazioni->search(fn ($item) => $item->id == $p->id); $index = $pianificazioni->search(fn ($item) => $item->id == $p->id);

View File

@ -32,7 +32,7 @@ $prezzo_max = $prezzi['max'];
$prezzo_medio = $prezzi['media']; $prezzo_medio = $prezzi['media'];
$oscillazione = $prezzo_max['prezzo'] - $prezzo_min['prezzo']; $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_min = $prezzo_min['data'] ? strtotime((string) $prezzo_min['data']) : '';
$data_max = $prezzo_max['data'] ? strtotime((string) $prezzo_max['data']) : ''; $data_max = $prezzo_max['data'] ? strtotime((string) $prezzo_max['data']) : '';

View File

@ -338,7 +338,7 @@ abstract class Accounting extends Component
*/ */
public function getMarginePercentualeAttribute() public function getMarginePercentualeAttribute()
{ {
return (1 - (($this->spesa + $this->provvigione) / $this->totale_imponibile)) * 100; return (1 - (($this->spesa + $this->provvigione) / ($this->totale_imponibile?:1))) * 100;
} }
/** /**

View File

@ -221,7 +221,7 @@ abstract class Document extends Model implements ReferenceInterface, DocumentInt
*/ */
public function getMarginePercentualeAttribute() 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;
} }
/** /**