fetchArray('SELECT codice FROM in_interventi WHERE codice=(SELECT MAX(CAST(codice AS SIGNED)) FROM in_interventi) AND codice LIKE '.prepare($idintervento_template).' ORDER BY codice DESC LIMIT 0,1'); if (!empty($rs[0]['codice'])) { $new_codice = Util\Generator::generate(setting('Formato codice intervento'), $rs[0]['codice']); } if (empty($new_codice)) { $rs = $dbo->fetchArray('SELECT codice FROM in_interventi WHERE codice LIKE '.prepare($idintervento_template).' ORDER BY codice DESC LIMIT 0,1'); $new_codice = Util\Generator::generate(setting('Formato codice intervento'), $rs[0]['codice']); } // Se ho passato l'idanagrafica, carico il tipo di intervento di default $idanagrafica = filter('idanagrafica'); $idsede = filter('idsede'); $idimpianto = null; $idzona = null; $idtipointervento = null; $idstatointervento = null; $richiesta = null; $impianti = []; // Come tecnico posso aprire attività solo a mio nome if ($user['gruppo'] == 'Tecnici' && !empty($user['idanagrafica'])) { $idtecnico = $user['idanagrafica']; } else { $idtecnico = null; } if (!empty($idanagrafica)) { $rs = $dbo->fetchArray('SELECT idtipointervento_default, idzona FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica)); $idtipointervento = $rs[0]['idtipointervento_default']; $idzona = $rs[0]['idzona']; $idstatointervento = 'WIP'; $richiesta = filter('richiesta'); } // Calcolo orario di inizio e fine di default if (null !== filter('orario_inizio') && '00:00:00' != filter('orario_inizio')) { $orario_inizio = filter('orario_inizio'); $orario_fine = filter('orario_fine'); } else { $orario_inizio = date('H').':00'; $orario_fine = date('H', time() + 60 * 60).':00'; } // Se sto pianificando un contratto, leggo tutti i dati del contratto per predisporre l'aggiunta intervento $idcontratto = filter('idcontratto'); $idordineservizio = filter('idordineservizio'); $idcontratto_riga = filter('idcontratto_riga'); $id_intervento = filter('id_intervento'); if (!empty($idcontratto) && !empty($idordineservizio)) { $rs = $dbo->fetchArray('SELECT *, (SELECT idzona FROM an_anagrafiche WHERE idanagrafica = co_contratti.idanagrafica) AS idzona FROM co_contratti WHERE id='.prepare($idcontratto)); $idanagrafica = $rs[0]['idanagrafica']; $idzona = $rs[0]['idzona']; // Info riga pianificata $rs = $dbo->fetchArray('SELECT * FROM co_ordiniservizio WHERE idcontratto='.prepare($idcontratto).' AND id='.prepare($idordineservizio)); $data = $rs[0]['data_scadenza']; $idimpianto = $rs[0]['id']; // Seleziono "Ordine di servizio" come tipo intervento $rs = $dbo->fetchArray("SELECT idtipointervento FROM in_tipiintervento WHERE descrizione='Ordine di servizio'"); $idtipointervento = $rs[0]['idtipointervento']; // Spunto il tecnico di default assegnato all'impianto $rs = $dbo->fetchArray('SELECT idtecnico FROM my_impianti WHERE id='.prepare($idimpianto)); $idtecnico = $rs[0]['idtecnico'] ?: ''; } // Se sto pianificando un contratto, leggo tutti i dati del contratto per predisporre l'aggiunta intervento elseif (!empty($idcontratto) && !empty($idcontratto_riga)) { $rs = $dbo->fetchArray('SELECT *, (SELECT idzona FROM an_anagrafiche WHERE idanagrafica = co_contratti.idanagrafica) AS idzona FROM co_contratti WHERE id='.prepare($idcontratto)); $idanagrafica = $rs[0]['idanagrafica']; $idzona = $rs[0]['idzona']; // Info riga pianificata $rs = $dbo->fetchArray('SELECT *, (SELECT tempo_standard FROM in_tipiintervento WHERE idtipointervento = co_promemoria.idtipointervento) AS tempo_standard FROM co_promemoria WHERE idcontratto='.prepare($idcontratto).' AND id='.prepare($idcontratto_riga)); $idtipointervento = $rs[0]['idtipointervento']; $data = (null !== filter('data')) ? filter('data') : $rs[0]['data_richiesta']; $richiesta = $rs[0]['richiesta']; $idsede = $rs[0]['idsede']; $idimpianti = $rs[0]['idimpianti']; // aumento orario inizio del tempo standard definito dalla tipologia dell'intervento (PRESO DAL PROMEMORIA) if (!empty($rs[0]['tempo_standard'])) { $orario_fine = date('H:i:s', strtotime($orario_inizio) + ((60 * 60) * $rs[0]['tempo_standard'])); } // se gli impianti non sono stati definiti nel promemoria, carico tutti gli impianti a contratto if (empty($idimpianti)) { $rs = $dbo->fetchArray('SELECT idimpianto FROM my_impianti_contratti WHERE idcontratto='.prepare($idcontratto)); $idimpianto = implode(',', array_column($rs, 'idimpianto')); } else { $idimpianto = $idimpianti; // Spunto il tecnico di default assegnato all'impianto $rs = $dbo->fetchArray('SELECT idtecnico FROM my_impianti WHERE id='.prepare($idimpianto)); $idtecnico = $rs[0]['idtecnico'] ?: ''; } // Seleziono "In programmazione" come stato $rs = $dbo->fetchArray("SELECT * FROM in_statiintervento WHERE idstatointervento='WIP'"); $idstatointervento = $rs[0]['idstatointervento']; } // Intervento senza sessioni elseif (!empty($id_intervento)) { // Info riga pianificata $rs = $dbo->fetchArray('SELECT *, (SELECT idcontratto FROM co_promemoria WHERE idintervento=in_interventi.id LIMIT 0,1) AS idcontratto, in_interventi.id_preventivo as idpreventivo, (SELECT tempo_standard FROM in_tipiintervento WHERE idtipointervento = in_interventi.idtipointervento) AS tempo_standard FROM in_interventi WHERE id='.prepare($id_intervento)); $idtipointervento = $rs[0]['idtipointervento']; $data = (null !== filter('data')) ? filter('data') : $rs[0]['data_richiesta']; $richiesta = $rs[0]['richiesta']; $idsede = $rs[0]['idsede']; $idanagrafica = $rs[0]['idanagrafica']; $idclientefinale = $rs[0]['idclientefinale']; $idstatointervento = $rs[0]['idstatointervento']; $idcontratto = $rs[0]['idcontratto']; $idpreventivo = $rs[0]['idpreventivo']; $idzona = $rs[0]['idzona']; // Aumento orario inizio del tempo standard definito dalla tipologia dell'intervento (PRESO DAL PROMEMORIA) if (!empty($rs[0]['tempo_standard'])) { $orario_fine = date('H:i:s', strtotime($orario_inizio) + ((60 * 60) * $rs[0]['tempo_standard'])); } $rs = $dbo->fetchArray('SELECT idimpianto FROM my_impianti_interventi WHERE idintervento='.prepare($id_intervento)); $idimpianto = implode(',', array_column($rs, 'idimpianto')); } if (empty($data)) { if (null !== filter('data')) { $data = filter('data'); } else { $data = date(Translator::getFormatter()->getDatePattern()); } } $_SESSION['superselect']['idanagrafica'] = $idanagrafica; $orario_inizio = $data.' '.$orario_inizio; $orario_fine = $data.' '.$orario_fine; ?>
'; } if (!empty($idordineservizio)) { echo ''; } if (!empty($id_intervento)) { echo ''; } ?>

{[ "type": "select", "label": "", "name": "idanagrafica", "required": 1, "value": "", "ajax-source": "clienti", "icon-after": "add||tipoanagrafica=Cliente||", "data-heavy": 0 ]}
{[ "type": "select", "label": "", "name": "idsede", "value": "", "placheholder": "...", "ajax-source": "sedi" ]}
{[ "type": "select", "label": "", "name": "idclientefinale", "value": "", "ajax-source": "clienti" ]}
{[ "type": "select", "label": "", "name": "idpreventivo", "value": "", "ajax-source": "preventivi" ]}
{[ "type": "select", "label": "", "name": "idcontratto", "value": "", "ajax-source": "contratti" ]}
{[ "type": "select", "label": "", "multiple": 1, "name": "idimpianti[]", "value": "", "ajax-source": "impianti-cliente", "icon-after": "add||source=Attività|", "data-heavy": 0 ]}
{[ "type": "select", "label": "", "multiple": 1, "name": "componenti[]", "placeholder": "...", "ajax-source": "componenti" ]}

{[ "type": "timestamp", "label": "", "name": "data_richiesta", "required": 1, "value": "-now-" ]}
{[ "type": "select", "label": "", "name": "idzona", "values": "query=SELECT id, CONCAT_WS( ' - ', nome, descrizione) AS descrizione FROM an_zone ORDER BY nome", "value": "", "placeholder": "", "help":".", "extra": "readonly", "value": "" ]}
{[ "type": "select", "label": "", "name": "idtipointervento", "required": 1, "values": "query=SELECT idtipointervento AS id, descrizione FROM in_tipiintervento ORDER BY descrizione ASC", "value": "", "ajax-source": "tipiintervento" ]}
{[ "type": "select", "label": "", "name": "idstatointervento", "required": 1, "values": "query=SELECT idstatointervento AS id, descrizione, colore AS _bgcolor_ FROM in_statiintervento WHERE deleted_at IS NULL", "value": "" ]}
{[ "type": "textarea", "label": "", "name": "richiesta", "required": 1, "value": "", "extra": "style='max-height:80px; ' " ]}

{[ "type": "timestamp", "label": "", "name": "orario_inizio", "required": , "value": "" ]}
{[ "type": "timestamp", "label": "", "name": "orario_fine", "required": , "value": "" ]}
{[ "type": "select", "label": "", "multiple": "1", "name": "idtecnico[]", "required": , "ajax-source": "tecnici", "value": "" ]}