From 07e326bd9f77fc2b37e156933ed7a01b59746222 Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Fri, 3 May 2024 09:50:33 +0200 Subject: [PATCH] =?UTF-8?q?Fix=20attivit=C3=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/interventi/edit.php | 5 +++ modules/interventi/header.php | 82 ++++++++++++++++++++++------------- 2 files changed, 57 insertions(+), 30 deletions(-) diff --git a/modules/interventi/edit.php b/modules/interventi/edit.php index 7741e33bf..99c20d94a 100755 --- a/modules/interventi/edit.php +++ b/modules/interventi/edit.php @@ -69,6 +69,11 @@ echo ' +
+
+ {[ "type": "select", "label": "'.tr('Stato').'", "name": "idstatointervento", "required": 1, "values": "query=SELECT `in_statiintervento`.`id`, `title` as descrizione, `colore` AS _bgcolor_ FROM `in_statiintervento` LEFT JOIN `in_statiintervento_lang` ON (`in_statiintervento`.`id` = `in_statiintervento_lang`.`id_record` AND `in_statiintervento_lang`.`id_lang` ='.prepare(Models\Locale::getDefault()->id).') WHERE `deleted_at` IS NULL ORDER BY `title`", "value": "$id$", "class": "unblockable" ]} +
+
diff --git a/modules/interventi/header.php b/modules/interventi/header.php index 65196bd79..3a26df061 100644 --- a/modules/interventi/header.php +++ b/modules/interventi/header.php @@ -26,6 +26,8 @@ use Modules\Anagrafiche\Sede; use Modules\Contratti\Contratto; use Modules\Interventi\Intervento; use Modules\Scadenzario\Scadenza; +use Modules\Preventivi\Preventivo; +use Modules\Ordini\Ordine; // Anagrafica $anagrafica = $intervento->anagrafica; @@ -53,7 +55,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_erogate * 100) / $ore_previste; + $perc_ore = $ore_previste != 0 ? ($ore_erogate * 100) / $ore_previste : 0; if ($perc_ore < 75) { $color = 'success'; } elseif ($perc_ore <= 100) { @@ -61,6 +63,17 @@ if ($intervento->id_contratto) { } } +// Preventivo +$preventivo = null; +if ($intervento->id_preventivo) { + $preventivo = Preventivo::find($intervento->id_preventivo); +} + +// Ordine +$ordine = null; +if ($intervento->id_ordine) { + $ordine = Ordine::find($intervento->id_ordine); +} // Altre attività $interventi_programmati = Intervento::select('in_interventi.*') @@ -89,7 +102,7 @@ echo ' // Cliente echo ' -
+

'.$anagrafica->ragione_sociale.'

@@ -110,42 +123,56 @@ echo ' // Panoramica echo '

-
+

'.tr('Panoramica').'

-

- '.tr('Insoluti').' +

+ '.($insoluti ? tr('Sono presenti insoluti') : tr('Non sono presenti insoluti')).'

-

'.tr('Altre attività programmate').''; -if (count($interventi_programmati) == 0) { - echo ': '.tr('nessuna').''; -} else { +

'.(count($interventi_programmati) == 0 ? tr('Non sono presenti altre attività programmate') : 'Sono presenti altre attività programmate'); +if (count($interventi_programmati) != 0) { foreach ($interventi_programmati as $intervento_programmato) { echo ' '.$intervento_programmato->codice.''; } } echo ' -

- -

- '.tr('Contratto attivo').' '.($contratto ? ''.$contratto->numero.'' : '').'

'; +// Contratto +if ($contratto) { + echo' +

+ '.tr('Contratto collegato').': '.$contratto->numero.''; + if ($ore_previste > 0) { + echo ' + - '. tr('Ore erogate').': '.$ore_erogate.'/'.$ore_previste.'
-if ($ore_previste > 0) { - echo ' -

- '.tr('Ore erogate').': '.$ore_erogate.'/'.$ore_previste.'
- -
-
-
-
'; +
+
+
+

'; + } } -echo ' + +// Preventivo +if ($preventivo) { + echo ' +

+ '.tr('Preventivo collegato').': '.$preventivo->numero.' +

'; + } + +// Ordine +if($ordine) { + echo ' +

+ '.tr('Ordine collegato').': '.$ordine->numero.' +

'; +} +echo'
'; @@ -161,8 +188,8 @@ $anagrafica_azienda = Anagrafica::find(setting('Azienda predefinita')); $sede_azienda = $anagrafica_azienda->sedeLegale; echo ' -
-
+
+

'.tr('Geolocalizzazione').'

@@ -216,11 +243,6 @@ if (!empty($sede_cliente->gaddress) || (!empty($sede_cliente->lat) && !empty($se echo '
-
-
- {[ "type": "select", "label": "'.tr('Stato').'", "name": "idstatointervento", "required": 1, "values": "query=SELECT `in_statiintervento`.`id`, `title` as descrizione, `colore` AS _bgcolor_ FROM `in_statiintervento` LEFT JOIN `in_statiintervento_lang` ON (`in_statiintervento`.`id` = `in_statiintervento_lang`.`id_record` AND `in_statiintervento_lang`.`id_lang` ='.prepare(Models\Locale::getDefault()->id).') WHERE `deleted_at` IS NULL ORDER BY `title`", "value": "$id$", "class": "unblockable" ]} -
-