fetchArray('SELECT idcontratto FROM co_promemoria WHERE idintervento='.prepare($id_record)); $idcontratto = $rs[0]['idcontratto']; $ore = 1; $inizio = date('Y-m-d H:\0\0'); $fine = date_modify(date_create(date('Y-m-d H:\0\0')), '+'.$ore.' hours')->format('Y-m-d H:\0\0'); add_tecnico($id_record, $idtecnico, $inizio, $fine, $idcontratto); break; // RIMOZIONE SESSIONE DI LAVORO case 'del_sessione': $id = get('id'); $tecnico = $dbo->fetchOne('SELECT an_anagrafiche.email FROM an_anagrafiche INNER JOIN in_interventi_tecnici ON in_interventi_tecnici.idtecnico = an_anagrafiche.idanagrafica WHERE in_interventi_tecnici.id = '.prepare($id)); $dbo->query('DELETE FROM in_interventi_tecnici WHERE id='.prepare($id)); // Notifica nuovo intervento al tecnico if (!empty($tecnico['email'])) { $n = new Notifications\EmailNotification(); $n->setTemplate('Notifica rimozione intervento', $id_record); $n->setReceivers($tecnico['email']); $n->send(); } break; } $show_costi = true; // Limitazione delle azioni dei tecnici if ($user['gruppo'] == 'Tecnici') { $show_costi = !empty($user['idanagrafica']) && setting('Mostra i prezzi al tecnico'); } // RECUPERO IL TIPO DI INTERVENTO $rss = $dbo->fetchArray('SELECT idtipointervento, idstatointervento FROM in_interventi WHERE id='.prepare($id_record)); $idtipointervento = $rss[0]['idtipointervento']; $idstatointervento = $rss[0]['idstatointervento']; $rss = $dbo->fetchArray('SELECT completato AS flag_completato FROM in_statiintervento WHERE idstatointervento='.prepare($idstatointervento)); $flag_completato = $rss[0]['flag_completato']; $query = 'SELECT * FROM an_anagrafiche JOIN in_interventi_tecnici ON in_interventi_tecnici.idtecnico = an_anagrafiche.idanagrafica WHERE idintervento='.prepare($id_record)." AND idanagrafica IN (SELECT idanagrafica FROM an_tipianagrafiche_anagrafiche WHERE idtipoanagrafica = (SELECT idtipoanagrafica FROM an_tipianagrafiche WHERE descrizione = 'Tecnico')) ORDER BY ragione_sociale ASC, in_interventi_tecnici.orario_inizio ASC, in_interventi_tecnici.id ASC"; $rs2 = $dbo->fetchArray($query); $prev_tecnico = ''; if ($flag_completato) { $readonly = 'readonly'; } else { $readonly = ''; } if (!empty($rs2)) { foreach ($rs2 as $key => $r) { $idtecnico = $r['idanagrafica']; // Intestazione tecnico if ($prev_tecnico != $r['ragione_sociale']) { $prev_tecnico = $r['ragione_sociale']; echo '
'; } $id = $r['id']; // Lettura costi unitari salvati al momento dell'intervento $sconto_unitario = $r['sconto_unitario']; $tipo_sconto = $r['tipo_sconto']; $scontokm_unitario = $r['scontokm_unitario']; $tipo_scontokm = $r['tipo_scontokm']; $sconto = $r['sconto']; $scontokm = $r['scontokm']; $costo_ore_unitario = $r['prezzo_ore_unitario']; $costo_km_unitario = $r['prezzo_km_unitario']; $costo_dirittochiamata = $r['prezzo_dirittochiamata']; $costo_ore_unitario_tecnico = $r['prezzo_ore_unitario_tecnico']; $costo_km_unitario_tecnico = $r['prezzo_km_unitario_tecnico']; $costo_dirittochiamata_tecnico = $r['prezzo_dirittochiamata_tecnico']; $costo_km_consuntivo_tecnico = $r['prezzo_km_consuntivo_tecnico']; $costo_ore_consuntivo_tecnico = $r['prezzo_ore_consuntivo_tecnico']; $costo_km_consuntivo = $r['prezzo_km_consuntivo']; $costo_ore_consuntivo = $r['prezzo_ore_consuntivo']; $orario_inizio = $r['orario_inizio']; $orario_fine = $r['orario_fine']; $km = $r['km']; $ore = $r['ore']; // Costi unitari echo ' '; // Elenco tipologie di interventi echo ' '; // Orario di inizio echo ' '; // Orario di fine echo ' '; // ORE echo ' '; // KM echo ' '; // Sconto ore echo ' '; // Sconto km echo ' '; // Pulsante eliminazione sessione echo ' '; // Intestazione tecnico if (!isset($rs2[$key + 1]['ragione_sociale']) || $r['ragione_sociale'] != $rs2[$key + 1]['ragione_sociale']) { echo '
'.$r['ragione_sociale'].' '.(($r['deleted']) ? '('.tr('Eliminato').')' : '').' '.tr('Orario inizio').' '.tr('Orario fine').' '.tr('Ore').' '.tr('Km').' '.tr('Sconto ore').' '.tr('Sconto km').'
{[ "type": "select", "name": "idtipointerventot['.$id.']", "value": "'.$r['idtipointervento'].'", "values": "query=SELECT idtipointervento AS id, descrizione, IFNULL((SELECT costo_ore FROM in_tariffe WHERE idtipointervento=in_tipiintervento.idtipointervento AND idtecnico='.prepare($r['idtecnico']).'), 0) AS costo_orario FROM in_tipiintervento ORDER BY descrizione", "extra": "'.$readonly.'" ]} {[ "type": "timestamp", "name": "orario_inizio['.$id.']", "id": "inizio_'.$id.'", "value": "'.$orario_inizio.'", "class": "orari min-width", "extra": "'.$readonly.'" ]} {[ "type": "timestamp", "name": "orario_fine['.$id.']", "id": "fine_'.$id.'", "value": "'.$orario_fine.'", "class": "orari min-width", "min-date": "'.$orario_inizio.'", "extra": "'.$readonly.'" ]} {[ "type": "number", "name": "ore['.$id.']", "value": "'.$ore.'", "disabled": 1, "class": "small-width" ]}
'.tr('Costo').':'.Translator::numberToLocale($costo_ore_consuntivo_tecnico)."".Translator::numberToLocale($costo_ore_unitario_tecnico).'x'.Translator::numberToLocale($ore).'
+'.Translator::numberToLocale($costo_dirittochiamata_tecnico).'
'.tr('Addebito').':'.Translator::numberToLocale($costo_ore_consuntivo).''.Translator::numberToLocale($costo_ore_unitario).'x'.Translator::numberToLocale($ore).'
+'.Translator::numberToLocale($costo_dirittochiamata).'
'.tr('Scontato').':'.Translator::numberToLocale($costo_ore_consuntivo - $sconto).'
{[ "type": "number", "name": "km['.$id.']", "value": "'.$km.'", "class": "small-width", "extra": "'.$readonly.'" ]}
'.tr('Costo').': '.Translator::numberToLocale($costo_km_consuntivo_tecnico).' '.Translator::numberToLocale($costo_km_unitario_tecnico).'x'.Translator::numberToLocale($km).'
'.tr('Addebito').': '.Translator::numberToLocale($costo_km_consuntivo).' '.Translator::numberToLocale($costo_km_unitario).'x'.Translator::numberToLocale($km).'
'.tr('Scontato').': '.Translator::numberToLocale($costo_km_consuntivo - $scontokm).'
'; if ($user['idanagrafica'] == 0 || $show_costi) { echo ' {[ "type": "number", "name": "sconto['.$id.']", "value": "'.$sconto_unitario.'", "icon-after": "choice|untprc|'.$tipo_sconto.'|'.$readonly.'", "class": "small-width", "extra": "'.$readonly.'" ]}'; } else { echo ' '; } echo ' '; if ($user['idanagrafica'] == 0 || $show_costi) { echo ' {[ "type": "number", "name": "scontokm['.$id.']", "value": "'.$scontokm_unitario.'", "icon-after": "choice|untprc|'.$tipo_scontokm.'|'.$readonly.'", "class": "small-width", "extra": "'.$readonly.'" ]}'; } else { echo ' '; } echo ' '; if (!$flag_completato) { echo ' '; } echo '
'; } } } else { echo '
'.tr('Nessun tecnico assegnato').'.
'; } if (!$flag_completato) { echo '
{[ "type": "select", "label": "'.tr('Aggiungi tecnico').'", "name": "nuovotecnico", "ajax-source": "tecnici" ]}

'; } ?>