'.tr('Rapporto operazioni e interventi', [], ['upper' => true]).' '.tr('Intervento num.').': '.$records[0]['codice'].' '.tr('Data').': '.Translator::dateToLocale($records[0]['data_richiesta']).' '.tr('Preventivo num.').': '.$records[0]['numero_preventivo'].' '.tr('Contratto num.').': '.$records[0]['numero_contratto'].' '; // Dati cliente echo ' '.tr('Cliente').': '.$c_ragionesociale.' '; // Codice fiscale o P.Iva if (!empty($c_piva)) { echo ' '.tr('P.Iva').': '.strtoupper($c_piva).' '; } else { echo ' '.tr('C.F.').': '.strtoupper($c_codicefiscale).' '; } echo ''; //Indirizzo if (!empty($c_indirizzo) or !empty($c_cap) or !empty($c_citta) or !empty($c_provincia)) { echo ' '.((!empty($c_indirizzo)) ? tr('Via').': '.$c_indirizzo.'' : '').' '.((!empty($c_cap)) ? tr('CAP').': '.$c_cap.'' : '').' '.((!empty($c_citta)) ? tr('Città').': '.$c_citta.'' : '').' '.((!empty($c_provincia)) ? tr('Provincia').': '.strtoupper($c_provincia).'' : '').' '; } echo ' '.tr('Telefono').': '.$c_telefono.''; if (!empty($c_cellulare)) { echo' - '.tr('Cellulare').': '.$c_cellulare.''; } echo ' '; // riga 3 // Elenco impianti su cui è stato fatto l'intervento $rs2 = $dbo->fetchArray('SELECT *, (SELECT nome FROM my_impianti WHERE id=my_impianti_interventi.idimpianto) AS nome, (SELECT matricola FROM my_impianti WHERE id=my_impianti_interventi.idimpianto) AS matricola FROM my_impianti_interventi WHERE idintervento='.prepare($id_record)); $impianti = []; for ($j = 0; $j < count($rs2); ++$j) { $impianti[] = ''.$rs2[$j]['nome']." (".$rs2[$j]['matricola'].')'; } echo ' '.tr('Impianti').': '.implode(', ', $impianti).' '; // Tipo intervento echo ' '.tr('Tipo intervento').': '.$records[0]['tipointervento'].' '; // Richiesta echo ' '.tr('Richiesta').':

'.nl2br($records[0]['richiesta']).'

'; // Descrizione echo ' '.tr('Descrizione').':

'.nl2br($records[0]['descrizione_intervento']).'

'; echo ' '; $totale = []; // MATERIALE UTILIZZATO $rs2 = $dbo->fetchArray("SELECT *, (SELECT codice FROM mg_articoli WHERE id=idarticolo) AS codice_art, (SELECT GROUP_CONCAT(`serial` SEPARATOR ', ') FROM `mg_prodotti` WHERE `id_riga_intervento` = `mg_articoli_interventi`.`idintervento`) AS seriali FROM `mg_articoli_interventi` WHERE idintervento=".prepare($id_record)." AND NOT idarticolo='0' ORDER BY idarticolo ASC"); if (!empty($rs2)) { echo ' '; foreach ($rs2 as $r) { echo ' '; // Codice echo ' '; // Descrizione echo ' '; // Quantità echo ' '; // Netto $netto = $r['prezzo_vendita'] * $r['qta'] - $r['sconto']; echo ' '; } echo ' '; // Totale spesa articoli if ($options['pricing']) { echo ' '; } echo '
'.tr('Materiale utilizzato', [], ['upper' => true]).'
'.tr('Codice').' '.tr('Descrizione').' '.tr('Q.tà').' '.tr('Prezzo').'
'.$r['codice_art'].' '.$r['descrizione']; // Seriali if (!empty($r['seriali'])) { echo '
'.tr('SN').': '.$r['seriali'].''; } echo '
'.Translator::numberToLocale($r['qta'], 'qta').' '.$r['um'].' '.($options['pricing'] ? Translator::numberToLocale($netto) : '-').'
'.tr('Totale materiale utilizzato', [], ['upper' => true]).': '.Translator::numberToLocale($costi_intervento['ricambi_scontato']).' '.currency().'
'; } // FINE MATERIALE UTILIZZATO // Conteggio SPESE AGGIUNTIVE $rs2 = $dbo->fetchArray('SELECT * FROM in_righe_interventi WHERE idintervento='.prepare($id_record).' ORDER BY id ASC'); if (!empty($rs2)) { echo ' '; foreach ($rs2 as $r) { // Articolo echo ' '; // Quantità echo ' '; // Prezzo unitario echo ' '; // Prezzo totale $netto = $r['prezzo_vendita'] * $r['qta'] - $r['sconto']; echo ' '; } echo ' '; if ($options['pricing']) { // Totale spese aggiuntive echo ' '; } echo '
'.tr('Spese aggiuntive', [], ['upper' => true]).'
'.tr('Descrizione').' '.tr('Q.tà').' '.tr('Prezzo unitario').' '.tr('Subtot.').'
'.nl2br($r['descrizione']).' '.Translator::numberToLocale($r['qta'], 'qta').' '.$r['um'].' '.($options['pricing'] ? Translator::numberToLocale($r['prezzo_vendita']).' '.currency() : '-'); if ($options['pricing'] && $r['sconto'] > 0) { echo "
".tr('sconto _TOT_ _TYPE_', [ '_TOT_' => Translator::numberToLocale($r['sconto_unitario']), '_TYPE_' => ($r['tipo_sconto'] == 'PRC' ? '%' : currency()), ]).''; } echo '
'.($options['pricing'] ? Translator::numberToLocale($netto) : '-').'
'.tr('Totale spese aggiuntive', [], ['upper' => true]).': '.Translator::numberToLocale($costi_intervento['altro_scontato']).' '.currency().'
'; } // FINE SPESE AGGIUNTIVE // INTESTAZIONE ELENCO TECNICI echo ' '; // Sessioni di lavoro dei tecnici $rst = $dbo->fetchArray('SELECT an_anagrafiche.*, in_interventi_tecnici.* FROM in_interventi_tecnici JOIN an_anagrafiche ON in_interventi_tecnici.idtecnico=an_anagrafiche.idanagrafica WHERE in_interventi_tecnici.idintervento='.prepare($id_record).' ORDER BY in_interventi_tecnici.orario_inizio'); foreach ($rst as $i => $r) { echo ' '; // nome tecnico echo ' '; // data echo ' '; // ora inizio echo ' '; // ora fine echo ' '; // Spazio aggiuntivo if ($i == 0) { echo ' '; } else { echo ' '; } echo ' '; } // Ore lavorate $ore = get_ore_intervento($id_record); echo ' '; // Costo totale manodopera if ($options['pricing']) { echo ' '; } else { echo ' '; } // Timbro e firma $firma = !empty($records[0]['firma_file']) ? '' : ''; echo ' '; // Totale km echo ' '; // Costo trasferta if ($options['pricing']) { echo ' '; } else { echo ' '; } // Diritto di chiamata if ($options['pricing']) { echo ' '; } else { echo ' '; } // TOTALE COSTI FINALI if ($options['pricing']) { // Totale imponibile echo ' '; $totale_sconto = $costi_intervento['totale_addebito'] - $costi_intervento['totale_scontato']; // Eventuale sconto totale if (!empty($totale_sconto)) { echo ' '; // Imponibile scontato echo ' '; } // IVA // Totale intervento echo ' '; // TOTALE INTERVENTO echo ' '; } echo '
'.tr('Ore tecnici', [], ['upper' => true]).'
'.tr('Tecnico').' '.tr('Data').' '.tr('Dalle').' '.tr('Alle').' '.tr('I dati del ricevente verrano trattati in base alla normativa europea UE 2016/679 del 27 aprile 2016 (GDPR)').'
'.$r['ragione_sociale'].' '.Translator::dateToLocale($r['orario_inizio'], '-').' '.Translator::timeToLocale($r['orario_inizio'], '-').' '.Translator::timeToLocale($r['orario_fine'], '-').' '.tr('Si dichiara che i lavori sono stati eseguiti ed i materiali installati').'
'.tr('Ore lavorate').':
'.Translator::numberToLocale($ore).'
'.tr('Totale manodopera').':
'.Translator::numberToLocale($costi_intervento['manodopera_addebito']).' '.currency().'
- '.$firma.'
('.tr('Timbro e firma leggibile').'.)
'.tr('Km percorsi').':
'.Translator::numberToLocale($records[0]['tot_km']).'
'.tr('Costi di trasferta').':
'.Translator::numberToLocale($records[0]['tot_km_consuntivo']).' '.currency().'
- '.tr('Diritto di chiamata').':
'.Translator::numberToLocale($records[0]['tot_dirittochiamata']).' '.currency().'
-
'.tr('Imponibile', [], ['upper' => true]).': '.Translator::numberToLocale($costi_intervento['totale_addebito']).' '.currency().'
'.tr('Sconto', [], ['upper' => true]).': -'.Translator::numberToLocale($totale_sconto).' '.currency().'
'.tr('Imponibile scontato', [], ['upper' => true]).': '.Translator::numberToLocale($costi_intervento['totale_scontato']).' '.currency().'
'.tr('Iva', [], ['upper' => true]).': '.Translator::numberToLocale($costi_intervento['iva_totale']).' '.currency().'
'.tr('Totale intervento', [], ['upper' => true]).': '.Translator::numberToLocale($costi_intervento['totale']).' '.currency().'
';