. */ use Carbon\Carbon; use Models\Module; use Modules\Checklists\Check; include_once __DIR__.'/../../core.php'; $d_qta = (int) setting('Cifre decimali per quantità in stampa'); $d_importi = (int) setting('Cifre decimali per importi in stampa'); $d_totali = (int) setting('Cifre decimali per totali in stampa'); /* Dati intervento */ echo '
'.tr('Rapporto attività', [], ['upper' => true]).' | |||||
---|---|---|---|---|---|
'.tr('Cliente', [], ['upper' => true]).' |
'.$c_ragionesociale.' | '; // Indirizzo if (!empty($s_indirizzo) or !empty($s_cap) or !empty($s_citta) or !empty($s_provincia)) { echo '
'.tr('Indirizzo', [], ['upper' => true]).' |
'.$s_indirizzo.' '.$s_cap.' - '.$s_citta.' ('.strtoupper((string) $s_provincia).') | '; } elseif (!empty($c_indirizzo) or !empty($c_cap) or !empty($c_citta) or !empty($c_provincia)) { echo '
'.tr('Indirizzo', [], ['upper' => true]).' |
'.$c_indirizzo.' '.$c_cap.' - '.$c_citta.' ('.strtoupper((string) $c_provincia).') | '; } echo '
'.tr('Attività n.', [], ['upper' => true]).' |
'.$documento['codice'].' |
'.tr('Data richiesta', [], ['upper' => true]).' |
'.Translator::dateToLocale($documento['data_richiesta']).' | ||
'.tr('Preventivo n.', [], ['upper' => true]).' |
'.(!empty($preventivo) ? $preventivo['numero'].' del '.Translator::dateToLocale($preventivo['data_bozza']) : 'Nessuno').' |
'.tr('Contratto n.', [], ['upper' => true]).' |
'.(!empty($contratto) ? $contratto['numero'].' del '.Translator::dateToLocale($contratto['data_bozza']) : 'Nessuno').' | ||
'.tr('P.Iva', [], ['upper' => true]).' |
'.strtoupper((string) $c_piva).' |
'.tr('C.F.', [], ['upper' => true]).' |
'.strtoupper((string) $c_codicefiscale).' | ||
'.tr('Telefono', [], ['upper' => true]).' |
'.$c_telefono.' |
'.tr('Cellulare', [], ['upper' => true]).' |
'.$c_cellulare.' | ||
'.tr('Impianti', [], ['upper' => true]).' |
'.implode(', ', $impianti).' |
'.tr('Tipo intervento', [], ['upper' => true]).' |
'.$documento->tipo->getTranslation('title').' | ||
'.tr('Richiesta', [], ['upper' => true]).' |
'.$documento['richiesta'].' |
||||
'.tr('Descrizione', [], ['upper' => true]).' |
'.$documento['descrizione'].' |
'.tr('Materiale utilizzato e spese aggiuntive', [], ['upper' => true]).' | |||
---|---|---|---|
'.tr('Descrizione').' | '.tr('Q.tà').' | '.tr('Prezzo unitario').' | '.tr('Importo').' |
';
$text = '';
foreach ($riferimenti as $key => $riferimento) {
if (in_array($riga->id, $riferimento)) {
if ($riga->id === $riferimento[0]) {
$riga_ordine = $riga->getOriginalComponent()->getDocument();
$text = ''.$key.' '; if ($options['pricing']) { $text = $text.' | '; } $text = $text.' | ||
';
echo nl2br($text);
}
}
$riga['descrizione'] = str_replace('Rif. '.strtolower((string) $key), '', $riga['descrizione']);
}
$source_type = $riga::class;
if (!setting('Visualizza riferimento su ogni riga in stampa')) {
echo $riga['descrizione'];
} else {
echo nl2br((string) $riga['descrizione']);
}
if ($riga->isArticolo()) {
echo nl2br(' '.$riga->codice.''); } if ($riga->isArticolo()) { // Seriali $seriali = $riga->serials; if (!empty($seriali)) { $text = tr('SN').': '.implode(', ', $seriali); echo ' '.$text.''; } } echo ' | ';
// Quantità
echo '
'.$qta.' '.$riga->um.' | '; // Prezzo unitario echo '
'.($options['pricing'] ? moneyFormat($riga->prezzo_unitario_corrente, $d_importi) : '-');
if ($options['pricing'] && $riga->sconto > 0) {
$text = discountInfo($riga, false);
echo '
'.$text.''; } echo ' | ';
// Prezzo totale
echo '
'.($options['pricing'] ? moneyFormat($riga->importo, $d_importi) : '-').' |
'.tr('Totale', [], ['upper' => true]).': | '.moneyFormat($righe->sum('importo'), $d_totali).' |
'.tr('Ore tecnici', [], ['upper' => true]).' | |||||||
---|---|---|---|---|---|---|---|
'.tr('Tecnico').' | '.tr('Orario').' | '.tr('I dati del ricevente verrano trattati in base alla normativa europea UE 2016/679 del 27 aprile 2016 (GDPR)').' | |||||
'.$sessione->anagrafica->ragione_sociale.' ('.$sessione->tipo->getTranslation('title').') | '; $inizio = new Carbon($sessione['orario_inizio']); $fine = new Carbon($sessione['orario_fine']); if ($inizio->isSameDay($fine)) { $orario = timestampFormat($inizio).' - '.timeFormat($fine); } else { $orario = timestampFormat($inizio).' - '.timestampFormat($fine); } // Orario echo ''.$orario.' | '; // Spazio aggiuntivo if ($i == 0) { echo ''.tr('Si dichiara che i lavori sono stati eseguiti ed i materiali installati nel rispetto delle vigenti normative tecniche').' | '; } else { echo ''; } echo ' | ||||
'.tr('Ore lavorate').': '.$ore_totali.' | ';
// Costo totale manodopera
if ($options['pricing']) {
echo '
'.tr('Totale manodopera').': '.moneyFormat($sessioni->sum('prezzo_manodopera'), $d_totali).' | ';
} else {
echo '
- | '; } // Timbro e firma $firma = !empty($documento['firma_file']) ? '' : ''; echo '
'.$firma.' '; if (empty($documento['firma_file'])) { echo ' ('.tr('Timbro e firma leggibile').')'; } else { echo ' '.$documento['firma_nome'].''; } echo ' |
||||
'.tr('Km percorsi').': '.Translator::numberToLocale($documento->km_totali, $d_qta).' | ';
// Costo trasferta
if ($options['pricing']) {
echo '
'.tr('Costi di trasferta').': '.moneyFormat($sessioni->sum('prezzo_viaggio'), $d_totali).' | ';
} else {
echo '
- | '; } // Diritto di chiamata if ($options['pricing']) { echo '
'.tr('Diritto di chiamata').': '.moneyFormat($sessioni->sum('prezzo_diritto_chiamata'), $d_totali).' | ';
} else {
echo '
- | '; } // Calcoli $imponibile = abs($documento->imponibile); $sconto = $documento->sconto; $totale_imponibile = abs($documento->totale_imponibile); $totale_iva = abs($documento->iva); $totale = abs($documento->totale); $netto_a_pagare = abs($documento->netto); $show_sconto = $sconto > 0; // TOTALE COSTI FINALI if ($options['pricing']) { // Totale imponibile echo '|||
'.tr('Imponibile', [], ['upper' => true]).': | '.moneyFormat($show_sconto ? $imponibile : $totale_imponibile, $d_totali).' | ||||||
'.tr('Sconto', [], ['upper' => true]).': | '.moneyFormat($sconto, $d_totali).' | ||||||
'.tr('Totale imponibile', [], ['upper' => true]).': | '.moneyFormat($totale_imponibile, $d_totali).' | ||||||
'.tr('Iva', [], ['upper' => true]).': | '.moneyFormat($totale_iva, $d_totali).' | ||||||
'.tr('Totale intervento', [], ['upper' => true]).': | '.moneyFormat($totale, $d_totali).' |
CHECKLIST | |
---|---|
'.tr('Impianto', [], ['upper' => true]).' '.$impianto['matricola'].' - '.$impianto['nome'].' |