1
0
mirror of https://github.com/devcode-it/openstamanager.git synced 2025-01-21 11:35:35 +01:00

Bugfix stampe

This commit is contained in:
Thomas Zilio 2018-09-27 09:26:27 +02:00
parent daa5f37737
commit 8ccdd70622
4 changed files with 24 additions and 25 deletions

View File

@ -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;

View File

@ -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']);

View File

@ -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)) {

View File

@ -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 = "<table><tr><td style='border:0px solid transparent;' colspan='2'><div style='width:75mm;'></div></td></tr>\n";
$t = 0;
for ($j = 0; $j < $n_tecnici; ++$j) {
$riga_tecnici .= "<tr><td valign='top' style='border:0px solid transparent;' align='left' >\n".$rs[$j]['nome_tecnico']."\n</td>\n";
$riga_tecnici .= "<td valign='bottom' style='border:0px solid transparent;' align='right'>\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 .= "<tr><td valign='top' style='border:0px solid transparent;' align='left' >\n".$sessione['nome_tecnico']."\n</td>\n";
$riga_tecnici .= "<td valign='bottom' style='border:0px solid transparent;' align='right'>\n".Translator::dateToLocale($sessione['orario_inizio']).' - '.Translator::timeToLocale($sessione['orario_inizio']).'-'.Translator::timeToLocale($sessione['orario_fine'])."\n";
$riga_tecnici .= "</td></tr>\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 .= "</table>\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 .= "<td align=\"center\">\n";
$body .= '<b>'.Translator::numberToLocale($totale_ore)."</b>\n";
$body .= '<b>'.Translator::numberToLocale(sum($ore))."</b>\n";
$body .= "</td>\n";
$body .= "<td></td>\n";