From 8ccdd706224bdb0e0b62241675f6a62ac40ced34 Mon Sep 17 00:00:00 2001 From: Thomas Zilio Date: Thu, 27 Sep 2018 09:26:27 +0200 Subject: [PATCH] Bugfix stampe --- modules/interventi/modutil.php | 6 ++-- pdfgen.php | 2 +- src/Prints.php | 5 +++ .../pdfgen.riepilogo_interventi.php | 36 ++++++++----------- 4 files changed, 24 insertions(+), 25 deletions(-) diff --git a/modules/interventi/modutil.php b/modules/interventi/modutil.php index 5277e0307..2592c0132 100644 --- a/modules/interventi/modutil.php +++ b/modules/interventi/modutil.php @@ -12,10 +12,10 @@ function get_ore_intervento($idintervento) $dbo = database(); $totale_ore = 0; - $rs = $dbo->fetchArray('SELECT idintervento, TIMESTAMPDIFF( MINUTE, orario_inizio, orario_fine ) / 60 AS tot_ore FROM in_interventi_tecnici WHERE idintervento = '.prepare($idintervento)); + $sessioni = $dbo->fetchArray('SELECT idintervento, TIMESTAMPDIFF(MINUTE, orario_inizio, orario_fine) / 60 AS tot_ore FROM in_interventi_tecnici WHERE idintervento = '.prepare($idintervento)); - for ($i = 0; $i < count($rs); ++$i) { - $totale_ore = $totale_ore + $rs[$i]['tot_ore']; + foreach ($sessioni as $sessione) { + $totale_ore = $totale_ore + $sessione['tot_ore']; } return $totale_ore; diff --git a/pdfgen.php b/pdfgen.php index 8826a1d12..04f553914 100644 --- a/pdfgen.php +++ b/pdfgen.php @@ -8,7 +8,7 @@ $id_print = get('id_print'); // Retrocompatibilitaà $ptype = get('ptype'); if (!empty($ptype)) { - $print = $dbo->fetchArray('SELECT id, previous FROM zz_prints WHERE directory = '.prepare($ptype).' ORDER BY main DESC LIMIT 1'); + $print = $dbo->fetchArray('SELECT id, previous FROM zz_prints WHERE directory = '.prepare($ptype).' ORDER BY predefined DESC LIMIT 1'); $id_print = $print[0]['id']; $id_record = !empty($id_record) ? $id_record : get($print[0]['previous']); diff --git a/src/Prints.php b/src/Prints.php index ec59605d2..a60eb0e1a 100644 --- a/src/Prints.php +++ b/src/Prints.php @@ -124,6 +124,11 @@ class Prints $infos = self::get($print); + $modutil = Modules::filepath($infos['id_module'], 'modutil.php'); + if (!empty($modutil)) { + include $modutil; + } + Permissions::addModule($infos['id_module']); if (empty($infos) || empty($infos['enabled']) || !Permissions::check([], false)) { diff --git a/templates/riepilogo_interventi/pdfgen.riepilogo_interventi.php b/templates/riepilogo_interventi/pdfgen.riepilogo_interventi.php index 1c55877aa..bd238ce54 100644 --- a/templates/riepilogo_interventi/pdfgen.riepilogo_interventi.php +++ b/templates/riepilogo_interventi/pdfgen.riepilogo_interventi.php @@ -57,7 +57,6 @@ include_once $docroot.'/templates/pdfgen_variables.php'; $totrows = sizeof($rsi); $totale_km = 0.00; -$totale_ore = 0.00; $totale = 0.00; $totale_calcolato = 0.00; $info_intervento = []; @@ -78,30 +77,25 @@ $idinterventi = ['0']; if ($totrows > 0) { for ($i = 0; $i < $totrows; ++$i) { // Lettura dati dei tecnici dell'intervento corrente - $query = 'SELECT *, ( ( TIME_TO_SEC(orario_fine)-TIME_TO_SEC(orario_inizio) ) ) AS t, (SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica=idtecnico) AS nome_tecnico FROM in_interventi_tecnici WHERE idintervento="'.$rsi[$i]['id'].'"'; - $rs = $dbo->fetchArray($query); - $n_tecnici = sizeof($rs); + $sessioni = $dbo->fetchArray('SELECT *, (SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica=idtecnico) AS nome_tecnico FROM in_interventi_tecnici WHERE idintervento='.prepare($rsi[$i]['id'])); $riga_tecnici = "\n"; $t = 0; - for ($j = 0; $j < $n_tecnici; ++$j) { - $riga_tecnici .= "\n"; - $riga_tecnici .= "\n"; + $riga_tecnici .= "\n"; - // Conteggio ore totali - $t += round($rs[$j]['t'] / 60 / 60, 2); + array_push($costi_orari, floatval($sessione['prezzo_ore_unitario'])); + array_push($costi_km, floatval($sessione['prezzo_km_unitario'])); + array_push($diritto_chiamata, floatval($sessione['prezzo_dirittochiamata'])); - array_push($costi_orari, floatval($rs[$j]['prezzo_ore_unitario'])); - array_push($costi_km, floatval($rs[$j]['prezzo_km_unitario'])); - array_push($diritto_chiamata, floatval($rs[$j]['prezzo_dirittochiamata'])); - - array_push($costo_ore_cons, floatval($rs[$j]['prezzo_ore_consuntivo'])); - array_push($costo_km_cons, floatval($rs[$j]['prezzo_km_consuntivo'])); - array_push($diritto_chiamata_cons, floatval($rs[$j]['prezzo_dirittochiamata_consuntivo'])); - array_push($km, floatval($rs[$j]['km'])); - $totale_km += floatval($rs[$j]['km']); + array_push($costo_ore_cons, floatval($sessione['prezzo_ore_consuntivo'])); + array_push($costo_km_cons, floatval($sessione['prezzo_km_consuntivo'])); + array_push($diritto_chiamata_cons, floatval($sessione['prezzo_dirittochiamata_consuntivo'])); + array_push($km, floatval($sessione['km'])); + $totale_km += floatval($sessione['km']); } $riga_tecnici .= "
\n".$rs[$j]['nome_tecnico']."\n\n".Translator::dateToLocale($rs[$j]['orario_inizio']).' - '.Translator::timeToLocale($rs[$j]['orario_inizio']).'-'.Translator::timeToLocale($rs[$j]['orario_fine'])."\n"; + foreach ($sessioni as $sessione) { + $riga_tecnici .= "
\n".$sessione['nome_tecnico']."\n\n".Translator::dateToLocale($sessione['orario_inizio']).' - '.Translator::timeToLocale($sessione['orario_inizio']).'-'.Translator::timeToLocale($sessione['orario_fine'])."\n"; $riga_tecnici .= "
\n"; @@ -117,8 +111,8 @@ if ($totrows > 0) { array_push($ntecnici, $n_tecnici); array_push($tecnici, $riga_tecnici); - array_push($ore, $t); - $totale_ore += floatval($t); + array_push($ore, get_ore_intervento($rsi[$i]['id'])); + $totale_dirittochiamata += floatval($rs[$i]['prezzo_dirittochiamata']); array_push($idinterventi, "'".$rsi[$i]['id']."'"); } @@ -219,7 +213,7 @@ if (sizeof($info_intervento) > 0) { // Totale costo ore $body .= "\n"; - $body .= ''.Translator::numberToLocale($totale_ore)."\n"; + $body .= ''.Translator::numberToLocale(sum($ore))."\n"; $body .= "\n"; $body .= "\n";