.
*/
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');
$sessioni = $documento->sessioni->sortBy('orario_inizio');
$firma = !empty($documento['firma_file']) ? '' : '';
echo '
'.tr('Cliente', [], ['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('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('Rapporto attività', [], ['upper' => true]).' |
|||||
---|---|---|---|---|---|
'.tr('Codice', [], ['upper' => true]).': |
'.$documento['codice'].' |
'.tr('Data richiesta', [], ['upper' => true]).': |
'.Translator::dateToLocale($documento['data_richiesta']).' |
'.tr('Tipologia', [], ['upper' => true]).': |
'.$documento->tipo->getTranslation('title').' |
'.tr('Preventivo n.', [], ['upper' => true]).': |
'.(!empty($preventivo) ? $preventivo['numero'].' del '.Translator::dateToLocale($preventivo['data_bozza']) : '-').' |
'.tr('Contratto n.', [], ['upper' => true]).': |
'.(!empty($contratto) ? $contratto['numero'].' del '.Translator::dateToLocale($contratto['data_bozza']) : '-').' | ||
'.tr('Impianti', [], ['upper' => true]).': |
'.implode(', ', $impianti).' | ||||
'.tr('Richiesta', [], ['upper' => true]).': '.$documento['richiesta'].' |
|||||
'.tr('Descrizione', [], ['upper' => true]).': '.$documento['descrizione'].' |
'.tr('Materiale utilizzato e spese aggiuntive', [], ['upper' => true]).' |
|||
---|---|---|---|
'.tr('Descrizione', [], ['upper' => true]).' | '.tr('Q.tà', [], ['upper' => true]).' | '.tr('Prezzo unitario', [], ['upper' => true]).' | '.tr('Importo', [], ['upper' => true]).' |
';
$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', [], ['upper' => true]).' | '.tr('Orario', [], ['upper' => true]).' | '.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.' | '; // Testo lavori eseguiti 1/2 if ($i == 0) { echo ''.tr('Si dichiara che i lavori sono stati eseguiti ed i materiali installati nel rispetto delle vigenti normative tecniche').' | '; } // Firma 1/3 if ($i == 1) { echo '
'.$firma.' '; if (empty($documento['firma_file'])) { echo ' ('.tr('Timbro e firma leggibile').')'; } else { echo ' '.$documento['firma_nome'].''; } echo ' | ';
}
echo '
|||||
'.tr('Ore lavorate', [], ['upper' => true]).' '.$ore_totali.' | ';
// Costo totale manodopera
if ($options['pricing']) {
echo '
'.tr('Totale manodopera', [], ['upper' => true]).' '.moneyFormat($sessioni->sum('prezzo_manodopera'), $d_totali).' | ';
} else {
echo '
- | '; } // Testo lavori eseguiti 2/2 if (count($sessioni) == 0) { echo ''.tr('Si dichiara che i lavori sono stati eseguiti ed i materiali installati nel rispetto delle vigenti normative tecniche').' | '; } // Firma 2/3 if (count($sessioni) == 1) { echo '
'.$firma.' '; if (empty($documento['firma_file'])) { echo ' ('.tr('Timbro e firma leggibile').')'; } else { echo ' '.$documento['firma_nome'].''; } echo ' | ';
}
echo '
||||
'.tr('Km percorsi', [], ['upper' => true]).' '.Translator::numberToLocale($documento->km_totali, $d_qta).' | ';
// Costo trasferta
if ($options['pricing']) {
echo '
'.tr('Costi di trasferta', [], ['upper' => true]).' '.moneyFormat($sessioni->sum('prezzo_viaggio'), $d_totali).' | ';
} else {
echo '
- | '; } // Diritto di chiamata if ($options['pricing']) { echo '
'.tr('Diritto di chiamata', [], ['upper' => true]).' '.moneyFormat($sessioni->sum('prezzo_diritto_chiamata'), $d_totali).' | ';
} else {
echo '
- | '; } // Firma 3/3 if (count($sessioni) == 0) { echo '
'.$firma.' '; if (empty($documento['firma_file'])) { echo ' ('.tr('Timbro e firma leggibile').')'; } else { echo ' '.$documento['firma_nome'].''; } 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', [], ['upper' => true]).' | '.moneyFormat($totale, $d_totali).' |
CHECKLIST | |
---|---|
'.tr('Impianto', [], ['upper' => true]).' '.$impianto['matricola'].' - '.$impianto['nome'].' |