. */ include_once __DIR__.'/../../core.php'; use Modules\Interventi\Intervento; use Modules\Iva\Aliquota; $d_qta = (int) setting('Cifre decimali per quantità in stampa'); $d_importi = (int) setting('Cifre decimali per importi in stampa'); $intervento = Intervento::find($record['id']); $sessioni = $intervento->sessioni; $iva_predefinita = floatval(Aliquota::find(setting('Iva predefinita'))->percentuale); $km = $sessioni->sum('km'); $ore = $sessioni->sum('ore'); $imponibile = $tipo == 'interno' ? $intervento->spesa : $intervento->imponibile; $sconto = $tipo == 'interno' ? 0 : $intervento->sconto; $totale_imponibile = $tipo == 'interno' ? $intervento->spesa : $intervento->totale_imponibile; $iva = $tipo == 'interno' ? (($intervento->spesa * $iva_predefinita) / 100) : $intervento->iva; $totale_ivato = $tipo == 'interno' ? ($intervento->spesa + $iva) : $intervento->totale; $somma_km[] = $km; $somma_ore[] = $ore; $somma_imponibile[] = $imponibile; $somma_sconto[] = $sconto; $somma_totale_imponibile[] = $totale_imponibile; $somma_iva[] = $iva; $somma_totale_ivato[] = $totale_ivato; $pricing ??= true; // Informazioni intervento echo ' '; if (dateFormat($intervento->inizio)) { echo '

'.tr('Intervento _NUM_ del _DATE_', [ '_NUM_' => $intervento->codice, '_DATE_' => dateFormat($intervento->inizio), ]).'

'; } else { echo '

'.tr('Promemoria _NUM_', [ '_NUM_' => $intervento->codice, ]).'

'; } echo '

'.tr('Cliente').': '.$intervento->anagrafica->ragione_sociale.'

'.tr('Stato').': '.$intervento->stato->getTranslation('title').'

'.tr('Data richiesta').': '.dateFormat($intervento->data_richiesta).'

'.tr('Richiesta').': '.strip_tags($intervento->richiesta).'

'; if ($intervento->descrizione) { echo '

'.tr('Descrizione').': '.$intervento->descrizione.'

'; } if (setting('Formato ore in stampa') == 'Sessantesimi') { $ore = Translator::numberToHours($ore); } else { $ore = Translator::numberToLocale($ore, $d_qta); } echo ' '.($pricing ? $km : '-').' '.($pricing ? $ore : '-').' '.($pricing ? moneyFormat($imponibile, $d_importi) : '-').' '.($pricing && empty($options['dir']) ? moneyFormat($sconto, $d_importi) : '-').' '.($pricing ? moneyFormat($totale_imponibile, $d_importi) : '-').' '; // Sessioni if (count($sessioni) > 0) { echo ' '.tr('Sessioni').' '.tr('Data').' '.tr('Inizio').' '.tr('Fine').' '; foreach ($sessioni as $sessione) { echo ' '.$sessione->anagrafica->ragione_sociale.' ('.$sessione->tipo->getTranslation('title').') '.dateFormat($sessione->orario_inizio).' '.timeFormat($sessione->orario_inizio).' '.timeFormat($sessione->orario_fine).' '; } } // Righe $righe = $intervento->getRighe(); if (!$righe->isEmpty()) { echo ' '.tr('Materiale utilizzato e spese aggiuntive').' '.tr('Qta').' '.($tipo == 'interno' ? tr('Costo unitario') : tr('Prezzo unitario')).' '.($tipo == 'interno' ? tr('Costo netto') : tr('Imponibile')).' '; foreach ($righe as $riga) { $prezzo = $tipo == 'interno' ? $riga->costo_unitario : $riga->prezzo_unitario; $totale = $tipo == 'interno' ? $riga->spesa : $riga->totale_imponibile; echo ' '.$riga->descrizione.' '.$riga->qta.' '.$riga->um.' '.($pricing ? moneyFormat($prezzo, $d_importi) : '-').' '.($pricing ? moneyFormat($totale, $d_importi) : '-').' '; } }