. */ include_once __DIR__.'/../../core.php'; use Util\Query; switch (get('op')) { case 'get_markers': $idanagrafica = get('idanagrafica'); $checks = get('check'); $where = []; // Filtro per anagrafica if (!empty($idanagrafica) && $idanagrafica != 'null') { $where[] = 'in_interventi.idanagrafica='.prepare($idanagrafica); } // Filtri per stato $checks = explode(',', $checks); $where[] = "in_statiintervento.descrizione IN ('".implode("','", $checks)."')"; $add_query = 'WHERE 1=1 AND '.implode(' AND ', $where); // Filtri per data $add_query .= ' |date_period(`orario_inizio`,`data_richiesta`)|'; $query = 'SELECT *, in_interventi.id AS idintervento, an_anagrafiche.lat AS lat_anagrafica, an_anagrafiche.lng AS lng_anagrafica, an_anagrafiche.indirizzo AS indirizzo_anagrafica, an_anagrafiche.cap AS cap_anagrafica, an_anagrafiche.citta AS citta_anagrafica, an_anagrafiche.provincia AS provincia_anagrafica, an_sedi.lat AS lat_sede, an_sedi.lng AS lng_sede, an_sedi.indirizzo AS indirizzo_sede, an_sedi.cap AS cap_sede, an_sedi.citta AS citta_sede, an_sedi.provincia AS provincia_sede, in_statiintervento.descrizione AS stato FROM in_interventi INNER JOIN an_anagrafiche ON in_interventi.idanagrafica=an_anagrafiche.idanagrafica LEFT JOIN an_sedi ON in_interventi.idsede_destinazione=an_sedi.id INNER JOIN in_statiintervento ON in_interventi.idstatointervento=in_statiintervento.idstatointervento LEFT JOIN in_interventi_tecnici ON in_interventi_tecnici.idintervento = in_interventi.id '.$add_query; $query = Query::replacePlaceholder($query); $query = Modules::replaceAdditionals(Modules::get('Interventi')['id'], $query); $records = $dbo->fetchArray($query); $rs = []; if (sizeof($records) > 0) { for ($i = 0; $i < sizeof($records); ++$i) { if (!empty($records[$i]['idsede_destinazione'])) { $lat = $records[$i]['lat_sede']; $lng = $records[$i]['lng_sede']; $indirizzo = $records[$i]['indirizzo_sede']; $cap = $records[$i]['cap_anagrafica_sede']; $citta = $records[$i]['citta_anagrafica_sede']; $provincia = $records[$i]['provincia_anagrafica_sede']; } else { $lat = $records[$i]['lat_anagrafica']; $lng = $records[$i]['lng_anagrafica']; $indirizzo = $records[$i]['indirizzo_anagrafica']; $cap = $records[$i]['cap_anagrafica']; $citta = $records[$i]['citta_anagrafica']; $provincia = $records[$i]['provincia_anagrafica']; } if ($lat != '0.00000000' && $lng != '0.00000000') { $descrizione = ''; $descrizione .= ' Ragione sociale: '.$records[$i]['ragione_sociale'].' '."\n
"; if (!empty($indirizzo)) { $descrizione .= ' Indirizzo: '.$indirizzo."\n
"; } if (!empty($cap)) { $descrizione .= ' '.$cap; } if (!empty($citta)) { $descrizione .= ', '.$citta; } if (!empty($provincia)) { $descrizione .= ' '.$provincia; } $descrizione .= '
'; $descrizione .= ' Calcola percorso '; // dettagli intervento $rs_sessioni = $dbo->fetchOne("SELECT MIN(orario_inizio) AS data, GROUP_CONCAT(DISTINCT ragione_sociale SEPARATOR ', ') AS tecnici FROM in_interventi_tecnici INNER JOIN an_anagrafiche ON in_interventi_tecnici.idtecnico=an_anagrafiche.idanagrafica WHERE idintervento=".prepare($records[$i]['idintervento']).' GROUP BY idintervento'); $descrizione .= '
'; $descrizione .= 'Data: '.(!empty($rs_sessioni['data']) ? Translator::dateToLocale($rs_sessioni['data']) : Translator::dateToLocale($records[$i]['data_richiesta'])).'
'; $descrizione .= 'Stato: '.$records[$i]['stato'].'
'; $descrizione .= 'Richiesta: '.substr(strip_tags($records[$i]['richiesta']), 0, 200).'
'; if (!empty($rs_sessioni['tecnici'])) { $descrizione .= 'Tecnici: '.$rs_sessioni['tecnici']; } $descrizione .= '
'; $descrizione .= ' Apri attività '; $descrizione .= '
'; $rs[] = ['descrizione' => $descrizione, 'lat' => $lat, 'lng' => $lng]; } } } echo json_encode($rs); break; }