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'); 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_contratti_promemoria.idtipointervento) AS tempo_standard FROM co_contratti_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', 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']; } if (empty($data)) { if (null !== filter('data')) { $data = filter('data'); } else { $data = date(Translator::getFormatter()->getDatePattern()); } } $_SESSION['superselect']['idanagrafica'] = $idanagrafica; // Calcolo del nuovo codice $idintervento_template = setting('Formato codice intervento'); $idintervento_template = str_replace('#', '%', $idintervento_template); // Calcolo codice intervento successivo $rs = $dbo->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']); } ?>