RAPPORTO OPERAZIONI E INTERVENTI Intervento numero: '.$records[0]['codice'].' Data: '.Translator::dateToLocale($records[0]['data_richiesta']).' Preventivo No: '.$records[0]['numero_preventivo'].' Contratto No: '.$records[0]['numero_contratto'].' '; // Dati cliente echo ' Cliente: '.$c_ragionesociale.' '; //Codice fiscale echo ' P.iva: '.strtoupper($c_piva).' '; //riga 2 echo ' Via: '.$c_indirizzo.' - Cap: '.$c_cap.' - Comune: '.$c_citta.' ('.strtoupper($c_provincia).') '; echo ' Telefono: '.$c_telefono.''; if (!empty($c_cellulare)) { echo' - 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($idintervento)); $impianti = []; for ($j = 0; $j < sizeof($rs2); ++$j) { $impianti[] = ''.$rs2[$j]['nome']." (".$rs2[$j]['matricola'].')'; } echo ' Impianti: '.implode(', ', $impianti).' '; if (!empty($records[0]['richiesta'])) { //Richiesta echo ' Richiesta:

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

'; } if (!empty($records[0]['descrizione_intervento'])) { //descrizione echo ' Descrizione: '.nl2br($records[0]['descrizione_intervento']).' '; } echo ' '; $totale = []; // MATERIALE UTILIZZATO // Conteggio articoli utilizzati $rs2 = $dbo->fetchArray('SELECT *, (SELECT codice FROM mg_articoli WHERE id=idarticolo) AS codice_art, SUM(qta) AS sumqta FROM `mg_articoli_interventi` HAVING idintervento='.prepare($idintervento)." AND NOT idarticolo='0' ORDER BY idarticolo ASC"); if (!empty($rs2)) { echo ' '; $totale_articoli = []; foreach ($rs2 as $r) { echo ' '; // Codice echo ' '; // Descrizione echo ' '; // Quantità echo ' '; // Prezzo unitario echo ' '; // Sconto unitario if ($r['sconto_unitario'] > 0) { $sconto = Translator::numberToLocale($r['sconto_unitario']).($r['tipo_sconto'] == 'PRC' ? '%' : ' €'); } else { $sconto = '-'; } echo ' '; // Netto $netto = ($r['prezzo_vendita'] - $r['sconto']) * $r['sumqta']; echo ' '; // Totale $totale_articoli[] = $netto; } $totale_articoli = sum($totale_articoli); $totale[] = $totale_articoli; // Totale spesa articoli if ($visualizza_costi) { echo ' '; } echo '
'.tr('Materiale utilizzato', [], ['upper' => true]).'
'.tr('Codice').' '.tr('Descrizione').' '.tr('Q.tà').' '.tr('Prezzo listino').' '.tr('Sconto').' '.tr('Subtot. netto').'
'.$r['codice_art'].' '.$r['descrizione'].' '.Translator::numberToLocale($r['sumqta'], 2).' '.$r['um'].' '.($visualizza_costi ? Translator::numberToLocale($r['prezzo_vendita'], 2).' €' : '-').' '.($visualizza_costi ? $sconto : '-').' '.($visualizza_costi ? Translator::numberToLocale($netto, 2) : '-').'
'.tr('Totale materiale utilizzato', [], ['upper' => true]).': '.Translator::numberToLocale($totale_articoli, 2).' €
'; } // FINE MATERIALE UTILIZZATO // Conteggio SPESE AGGIUNTIVE $rs2 = $dbo->fetchArray('SELECT * FROM in_righe_interventi WHERE idintervento='.prepare($idintervento).' ORDER BY id ASC'); if (!empty($rs2)) { echo ' '; $totale_righe = []; foreach ($rs2 as $r) { // Articolo echo ' '; // Quantità echo ' '; // Prezzo unitario echo ' '; // Sconto unitario if ($r['sconto_unitario'] > 0) { $sconto = Translator::numberToLocale($r['sconto_unitario']).($r['tipo_sconto'] == 'PRC' ? '%' : ' €'); } else { $sconto = '-'; } echo ' '; // Prezzo totale $netto = ($r['prezzo_vendita'] - $r['sconto']) * $r['qta']; echo ' '; // Subtot $totale_righe[] = $netto; } $totale_righe = sum($totale_righe); $totale[] = $totale_righe; if ($visualizza_costi) { // Totale spese aggiuntive echo ' '; } echo '
'.tr('Spese aggiuntive', [], ['upper' => true]).'
'.tr('Descrizione').' '.tr('Q.tà').' '.tr('Prezzo listino').' '.tr('Sconto').' '.tr('Subtot. netto').'
'.nl2br($r['descrizione']).' '.Translator::numberToLocale($r['qta'], 2).' '.($visualizza_costi ? Translator::numberToLocale($r['prezzo_vendita'], 2).' €' : '-').' '.($visualizza_costi ? $sconto : '-').' '.($visualizza_costi ? Translator::numberToLocale($netto, 2) : '-').'
'.tr('Totale spese aggiuntive', [], ['upper' => true]).': '.Translator::numberToLocale($totale_righe, 2).' €
'; } // FINE SPESE AGGIUNTIVE // ORE TECNICI + FIRMA echo ' '; // 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($idintervento).' ORDER BY in_interventi_tecnici.orario_inizio'); $totale_ore = 0; $totale_costo_ore = 0; $totale_costo_km = 0; $totale_sconto = 0; $totale_sconto_km = 0; $totale_manodopera = 0; $totale_viaggio = 0; foreach ($rst as $r) { echo ' '; // nome tecnico echo ' '; // data echo ' '; // ora inizio echo ' '; // ora fine echo ' '; // Sconto echo ' '; $totale_ore += $r['ore']; $totale_km += $r['km']; $totale_costo_ore = sum($totale_costo_ore, $r['prezzo_ore_consuntivo']); $totale_sconto = sum($totale_sconto, $r['sconto']); $totale_costo_km = sum($totale_costo_km, $r['prezzo_km_consuntivo']); $totale_sconto_km = sum($totale_sconto_km, $r['scontokm']); } $totale_manodopera = sum($totale_costo_ore, -$totale_sconto); $totale_viaggio = sum($totale_costo_km, -$totale_sconto_km); $totale_intervento = sum($totale_manodopera, $totale_viaggio); $totale[] = $totale_intervento; echo '
'.tr('Ore tecnici', [], ['upper' => true]).'
'.tr('Tecnico').' '.tr('Data').' '.tr('Dalle').' '.tr('Alle').' '.tr('Sconto').'
'.$r['ragione_sociale'].' '.Translator::dateToLocale($r['orario_inizio'], '-').' '.Translator::timeToLocale($r['orario_inizio'], '-').' '.Translator::timeToLocale($r['orario_fine'], '-').' '.($r['sconto_unitario'] > 0 ? Translator::numberToLocale($r['sconto_unitario']).($r['tipo_sconto'] == 'PRC' ? '%' : ' €') : '-').'
'; // ore lavorate echo ' '; // Ore lavoro echo ' '; if ($visualizza_costi) { echo ' '; } else { echo ' '; } echo ' '; // Ore di viaggio if ($totale_km > 0) { echo ' '; if ($visualizza_costi) { echo ' '; } else { echo ' '; } echo ' '; } // Subtotale manodopera + viaggio if ($visualizza_costi) { echo ' '; } echo '
'.tr('Descrizione').' '.tr('Q.tà').' '.tr('Prezzo listino').' '.tr('Subtot. netto').'
'.tr('Ore tecnici').' '.Translator::numberToLocale($totale_ore, 2).' ore '.Translator::numberToLocale($totale_costo_ore, 2).' € '.Translator::numberToLocale($totale_manodopera, 2).' € - -
'.tr('Km / viaggio').' '.Translator::numberToLocale($totale_km, 2).' km '.Translator::numberToLocale($totale_costo_km, 2).' € '.Translator::numberToLocale($totale_viaggio, 2).' € - -
'.tr('Totale intervento', [], ['upper' => true]).': '.Translator::numberToLocale($totale_intervento, 2).' €
'; $totale = sum($totale); // TOTALE COSTI FINALI if ($visualizza_costi) { echo '
'; // Totale imponibile echo ' '; // Eventuale sconto incondizionato if ($records[0]['sconto_globale'] > 0) { $prc = ($records[0]['tipo_sconto'] == 'PRC'); $records[0]['sconto_globale'] = $prc ? $totale * $records[0]['sconto_globale'] / 100 : $records[0]['sconto_globale']; $sconto = Translator::numberToLocale($records[0]['sconto_globale'], ($prc ? 0 : 2)).($prc ? '%' : '€'); $totale = sum($totale, -$records[0]['sconto_globale']); echo ' '; // Imponibile scontato echo ' '; } // Leggo iva da applicare $q1 = 'SELECT percentuale FROM co_iva WHERE id='.prepare(get_var('Iva predefinita')); $rs1 = $dbo->fetchArray($q1); $percentuale_iva = $rs1[0]['percentuale']; $iva = ($totale / 100 * $percentuale_iva); // IVA // Totale intervento echo ' '; $totale = sum($totale, $iva); // TOTALE INTERVENTO echo '
'.tr('Imponibile', [], ['upper' => true]).': '.Translator::numberToLocale($totale, 2).' €
'.tr('Sconto incondizionato', [], ['upper' => true]).': -'.Translator::numberToLocale($sconto, 2).' €
'.tr('Imponibile scontato', [], ['upper' => true]).': '.Translator::numberToLocale($totale, 2).' €
'.tr('Iva (_PRC_%)', [ '_PRC_' => Translator::numberToLocale($percentuale_iva, 0), ], ['upper' => true]).': '.Translator::numberToLocale($iva, 2).' €
'.tr('Totale intervento', [], ['upper' => true]).': '.Translator::numberToLocale($totale, 2).' €
'; } // timbro e firma if ($records[0]['firma_file'] != '') { $firma = ''; } else { $firma = ''; } echo '
'.tr('Si dichiara che i lavori sono stati eseguiti ed i materiali installati').'.
'.tr('I dati del ricevente verrano trattati in base al D.lgs n. 196/2003').'.
'.$firma.'
('.tr('Timbro e firma leggibile').'.)
';