From 67a5902b188ecd0361be99ab502df1742978ee6a Mon Sep 17 00:00:00 2001 From: MatteoPistorello Date: Tue, 15 Jun 2021 11:45:49 +0200 Subject: [PATCH] Aggiunta impostazione per formato ore in stampa intervento --- CHANGELOG.md | 1 + src/Translator.php | 20 ++++++++++++++++++++ templates/interventi/body.php | 19 +++++++++++++++++-- update/2_4_24.sql | 5 ++++- 4 files changed, 42 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 71deac966..398357014 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -39,6 +39,7 @@ Il formato utilizzato è basato sulle linee guida di [Keep a Changelog](http://k ### Aggiunto (Added) - Aggiunta nel calendario della Dashboard visualizzazione dei preventivi pianificabili in corrispondenza alla data di accettazione e conclusione. + - Aggiunta impostazione per la visualizzazione delle ore nella stampa intervento (Decimale, Sessantesimi). ### Fixed - diff --git a/src/Translator.php b/src/Translator.php index c8b918d88..208ed2b8f 100755 --- a/src/Translator.php +++ b/src/Translator.php @@ -359,4 +359,24 @@ class Translator extends Util\Singleton self::$formatter->setPrecision(auth()->check() ? setting('Cifre decimali per importi') : 2); } + + /** + * Converte il numero in ore. + * + * @param string $string + * + * @return string + */ + public static function numberToHours($string) + { + $string = !isset($string) ? 0 : $string; + + $ore = number_format($string, 2); + $splitted_hour = explode('.', $ore); + $hour = $splitted_hour[0]; + $minutes = ($splitted_hour[1]/100)*60; + $time = $hour.":".sprintf("%02d", $minutes); + + return $time; + } } diff --git a/templates/interventi/body.php b/templates/interventi/body.php index 8dc3832cc..3eef79857 100755 --- a/templates/interventi/body.php +++ b/templates/interventi/body.php @@ -179,6 +179,15 @@ if (!$righe->isEmpty()) { '; foreach ($righe as $riga) { + if(setting('Formato ore in stampa')=='Sessantesimi'){ + if($riga->um=='ore'){ + $qta = Translator::numberToHours($riga->qta); + } else{ + $qta = Translator::numberToLocale($riga->qta, 'qta'); + } + } else{ + $qta = Translator::numberToLocale($riga->qta, 'qta'); + } // Articolo echo ' @@ -208,7 +217,7 @@ if (!$righe->isEmpty()) { // Quantità echo ' - '.Translator::numberToLocale($riga->qta, 'qta').' '.$riga->um.' + '.$qta.' '.$riga->um.' '; // Prezzo unitario @@ -323,10 +332,16 @@ foreach ($sessioni as $i => $sessione) { } // Ore lavorate +if(setting('Formato ore in stampa')=='Sessantesimi'){ + $ore_totali = Translator::numberToHours($documento->ore_totali); +} else{ + $ore_totali = Translator::numberToLocale($documento->ore_totali, 2); +} + echo ' - '.tr('Ore lavorate').':
'.Translator::numberToLocale($documento->ore_totali, 2).' + '.tr('Ore lavorate').':
'.$ore_totali.' '; // Costo totale manodopera diff --git a/update/2_4_24.sql b/update/2_4_24.sql index 302c82951..10602874d 100644 --- a/update/2_4_24.sql +++ b/update/2_4_24.sql @@ -21,4 +21,7 @@ INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione` -- Rinominate stampe ordini fornitore UPDATE `zz_prints` SET `title` = 'Richiesta di offerta (RdO)' WHERE `zz_prints`.`name` = 'Ordine fornitore (senza costi)'; -UPDATE `zz_prints` SET `title` = 'Richiesta di acquisto (RdA)' WHERE `zz_prints`.`name` = 'Ordine fornitore'; \ No newline at end of file +UPDATE `zz_prints` SET `title` = 'Richiesta di acquisto (RdA)' WHERE `zz_prints`.`name` = 'Ordine fornitore'; + +-- Aggiunta impostazione formato ore in stampa intervento +INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `created_at`, `updated_at`, `order`, `help`) VALUES (NULL, 'Formato ore in stampa', 'Decimale', 'list[Decimale,Sessantesimi]', '1', 'Attività', NOW(), NOW(), '1', '') \ No newline at end of file