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/templates/partitario_mastrino/bottom.php b/templates/partitario_mastrino/bottom.php
index 74e50396d..be07e4aef 100644
--- a/templates/partitario_mastrino/bottom.php
+++ b/templates/partitario_mastrino/bottom.php
@@ -35,6 +35,7 @@ if (get('lev') == '2' || get('lev') == '3') {
SALDO FINALE |
'.moneyFormat(abs($dare)).' |
'.moneyFormat(abs($avere)).' |
+ '.moneyFormat(abs($scalare)).' |
';
} elseif (get('lev') == '1') {
$totale_attivo = 0;
diff --git a/templates/partitario_mastrino/piece.php b/templates/partitario_mastrino/piece.php
index 24f3f13fc..aa90fc004 100644
--- a/templates/partitario_mastrino/piece.php
+++ b/templates/partitario_mastrino/piece.php
@@ -38,5 +38,12 @@ echo '
echo ' |
'.moneyFormat(abs($record['totale']), 2).' | ';
}
+
+ $scalare += $record['totale'];
+
+ echo '
+
+ '.moneyFormat($scalare, 2).'
+ | ';
echo '';
$prev_titolo = $record['titolo'];
diff --git a/templates/partitario_mastrino/top.php b/templates/partitario_mastrino/top.php
index 5415188a5..bd065e5a9 100644
--- a/templates/partitario_mastrino/top.php
+++ b/templates/partitario_mastrino/top.php
@@ -24,9 +24,12 @@ echo '
DATA |
- DESCRIZIONE |
- DARE |
- AVERE |
+ DESCRIZIONE |
+ DARE |
+ AVERE |
+ SCALARE |
';
+
+ $scalare = 0;
\ No newline at end of file
diff --git a/update/2_4_24.sql b/update/2_4_24.sql
index d9045d502..79511489a 100644
--- a/update/2_4_24.sql
+++ b/update/2_4_24.sql
@@ -23,5 +23,8 @@ INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`
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';
+-- 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', '');
+
-- Aggiunta plugin allegati dell'anagrafica
-INSERT INTO `zz_plugins` (`name`, `title`, `idmodule_from`, `idmodule_to`, `position`, `script`, `enabled`, `default`, `order`, `compatibility`, `version`, `options2`, `options`, `directory`, `help`) VALUES ('Allegati', 'Allegati', (SELECT `zz_modules`.`id` FROM `zz_modules` WHERE `zz_modules`.`name`='Anagrafiche'), (SELECT `zz_modules`.`id` FROM `zz_modules` WHERE `zz_modules`.`name`='Anagrafiche'), 'tab', 'allegati.php', '1', '0', '0', '', '', NULL, NULL, '', '');
\ No newline at end of file
+INSERT INTO `zz_plugins` (`name`, `title`, `idmodule_from`, `idmodule_to`, `position`, `script`, `enabled`, `default`, `order`, `compatibility`, `version`, `options2`, `options`, `directory`, `help`) VALUES ('Allegati', 'Allegati', (SELECT `zz_modules`.`id` FROM `zz_modules` WHERE `zz_modules`.`name`='Anagrafiche'), (SELECT `zz_modules`.`id` FROM `zz_modules` WHERE `zz_modules`.`name`='Anagrafiche'), 'tab', 'allegati.php', '1', '0', '0', '', '', NULL, NULL, '', '');