From 6d7cb74248f8666d7b95c0b68c99b09a8eb308a3 Mon Sep 17 00:00:00 2001 From: Thomas Zilio Date: Thu, 12 Sep 2019 09:31:55 +0200 Subject: [PATCH] Aggiunto margine percentuale --- include/src/Components/Row.php | 16 ++++++++++--- include/src/Document.php | 16 ++++++++++--- modules/fatture/row-list.php | 24 ------------------- .../interventi/src/Components/Sessione.php | 16 ++++++++++--- modules/preventivi/row-list.php | 21 +++++++++++++++- 5 files changed, 59 insertions(+), 34 deletions(-) diff --git a/include/src/Components/Row.php b/include/src/Components/Row.php index dadf170d5..263d90877 100644 --- a/include/src/Components/Row.php +++ b/include/src/Components/Row.php @@ -67,13 +67,23 @@ abstract class Row extends Description } /** - * Restituisce il gaudagno totale (totale_imponibile - spesa) relativo all'elemento. + * Restituisce il margine totale (imponibile - spesa) relativo all'elemento. * * @return float */ - public function getGuadagnoAttribute() + public function getMargineAttribute() { - return $this->totale_imponibile - $this->spesa; + return $this->imponibile - $this->spesa; + } + + /** + * Restituisce il margine percentuale relativo all'elemento. + * + * @return float + */ + public function getMarginePercentualeAttribute() + { + return (1 - ($this->spesa / $this->imponibile)) * 100; } // Attributi della componente diff --git a/include/src/Document.php b/include/src/Document.php index ac0e0f95f..6f4873a1f 100644 --- a/include/src/Document.php +++ b/include/src/Document.php @@ -121,13 +121,23 @@ abstract class Document extends Model } /** - * Calcola il guadagno del documento. + * Calcola il margine del documento. * * @return float */ - public function getGuadagnoAttribute() + public function getMargineAttribute() { - return $this->calcola('guadagno'); + return $this->calcola('margine'); + } + + /** + * Restituisce il margine percentuale del documento. + * + * @return float + */ + public function getMarginePercentualeAttribute() + { + return (1 - ($this->spesa / $this->imponibile)) * 100; } public function delete() diff --git a/modules/fatture/row-list.php b/modules/fatture/row-list.php index 33c0b6b54..15d3053b9 100644 --- a/modules/fatture/row-list.php +++ b/modules/fatture/row-list.php @@ -217,11 +217,6 @@ foreach ($righe as $row) { if (!$row->isDescrizione()) { echo ' '.moneyFormat($riga['totale_imponibile']); - /* -
- '.tr('Guadagno').': '.moneyFormat($row->guadagno).' - '; - */ } echo ' '; @@ -286,7 +281,6 @@ $totale_imponibile = abs($fattura->totale_imponibile); $iva = abs($fattura->iva); $totale = abs($fattura->totale); $netto_a_pagare = abs($fattura->netto); -$guadagno = $fattura->guadagno; // IMPONIBILE echo ' @@ -421,24 +415,6 @@ if ($totale != $netto_a_pagare) { '; } -// GUADAGNO TOTALE -if ($dir == 'entrata') { - $guadagno_style = $guadagno < 0 ? 'background-color: #FFC6C6; border: 3px solid red' : ''; - - /* - echo ' - - - '.tr('Guadagno', [], ['upper' => true]).': - - - '.moneyFormat($guadagno).' - - - '; - */ -} - echo ' '; diff --git a/modules/interventi/src/Components/Sessione.php b/modules/interventi/src/Components/Sessione.php index 2e68f2bfd..8033af333 100644 --- a/modules/interventi/src/Components/Sessione.php +++ b/modules/interventi/src/Components/Sessione.php @@ -358,13 +358,23 @@ class Sessione extends Model } /** - * Restituisce il gaudagno totale (totale_imponibile - spesa) relativo all'elemento. + * Restituisce il margine totale (imponibile - spesa) relativo all'elemento. * * @return float */ - public function getGuadagnoAttribute() + public function getMargineAttribute() { - return $this->totale_imponibile - $this->spesa; + return $this->imponibile - $this->spesa; + } + + /** + * Restituisce il margine percentuale relativo all'elemento. + * + * @return float + */ + public function getMarginePercentualeAttribute() + { + return (1 - ($this->spesa / $this->imponibile)) * 100; } public function getIvaIndetraibileAttribute() diff --git a/modules/preventivi/row-list.php b/modules/preventivi/row-list.php index da604918b..e74b9248b 100644 --- a/modules/preventivi/row-list.php +++ b/modules/preventivi/row-list.php @@ -187,7 +187,7 @@ echo ' '; -// Totale contratto +// Totale echo ' @@ -199,6 +199,25 @@ echo ' '; +// Margine +$margine = $preventivo->margine; +if (!empty($margine)) { + $margine_style = $margine < 0 ? 'background-color: #FFC6C6; border: 3px solid red' : ''; + + echo ' + + + '.tr('Margine (_PRC_%)', [ + '_PRC_' => numberFormat($preventivo->margine_percentuale), + ]).': + + + '.moneyFormat($preventivo->margine).' + + + '; +} + echo ' ';