mirror of
https://github.com/devcode-it/openstamanager.git
synced 2024-12-27 00:06:14 +01:00
Aggiunte op retrieve per APP OSM
This commit is contained in:
parent
2a62329408
commit
148eb8df01
@ -13,8 +13,42 @@ switch ($resource) {
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 'clienti':
|
||||
$q = "SELECT AN.idanagrafica,
|
||||
AN.ragione_sociale,
|
||||
AN.piva,
|
||||
AN.codice_fiscale,
|
||||
AN.indirizzo,
|
||||
AN.indirizzo2,
|
||||
AN.citta,
|
||||
AN.cap,
|
||||
AN.provincia,
|
||||
AN.km,
|
||||
IFNULL(AN.lat, 0.00) AS latitudine,
|
||||
IFNULL(AN.lng, 0.00) AS longitudine,
|
||||
NAZIONE.nome AS nazione,
|
||||
AN.telefono,
|
||||
AN.fax,
|
||||
AN.cellulare,
|
||||
AN.email,
|
||||
AN.sitoweb,
|
||||
AN.note,
|
||||
AN.idzona,
|
||||
AN.deleted
|
||||
FROM (an_anagrafiche AS AN
|
||||
LEFT OUTER JOIN an_nazioni NAZIONE ON AN.id_nazione=NAZIONE.id)
|
||||
HAVING 1=1 AND
|
||||
AN.deleted=0 AND
|
||||
AN.idanagrafica IN (SELECT idanagrafica FROM an_tipianagrafiche_anagrafiche WHERE idtipoanagrafica=1)
|
||||
ORDER BY AN.ragione_sociale";
|
||||
|
||||
$results = $dbo->fetchArray( $q );
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
return [
|
||||
'an_anagrafiche',
|
||||
'an_anagrafiche',
|
||||
'clienti',
|
||||
];
|
||||
|
@ -43,8 +43,71 @@ switch ($resource) {
|
||||
$results['custom'] .= "END:VCALENDAR\n";
|
||||
|
||||
break;
|
||||
|
||||
// per APP ufficiale OpenSTAManager
|
||||
case 'interventi':
|
||||
|
||||
// periodo per selezionare interventi
|
||||
// in questo modo recupero sempre tutti gli interventi che non vengono chiusi
|
||||
// vedi anche lista degli stati intervento presenti nella query
|
||||
// se un intervento è stato pre-chiuso dal tecnico oppure chiuso dall'ufficio non viene scaricato da APP
|
||||
$today = date("Y-m-d");
|
||||
$period_start = "2000-01-01" ;
|
||||
$period_end = date('Y-m-d', strtotime($today . " +7 days"));
|
||||
|
||||
$q = "SELECT `in_interventi`.id,
|
||||
`in_interventi`.codice,
|
||||
DATE_FORMAT( MAX(`in_interventi`.`data_richiesta`), '%Y%m%d' ) AS `data_richiesta`,
|
||||
`in_interventi`.richiesta,
|
||||
`in_interventi`.descrizione,
|
||||
`in_interventi`.idtipointervento,
|
||||
`in_interventi`.idanagrafica,
|
||||
`an_anagrafiche`.idzona AS zona_anagrafica,
|
||||
`in_interventi`.idsede,
|
||||
`an_sedi`.idzona AS zona_sede,
|
||||
`in_interventi`.idstatointervento,
|
||||
`in_interventi`.informazioniaggiuntive,
|
||||
`in_interventi`.idsede,
|
||||
`in_interventi`.idclientefinale,
|
||||
`in_interventi`.firma_file,
|
||||
IF( MAX(firma_data)='0000-00-00 00:00:00', '', DATE_FORMAT(MAX(firma_data),'%d/%m/%Y %T') ) AS `firma_data`,
|
||||
`in_interventi`.firma_nome,
|
||||
IFNULL((SELECT GROUP_CONCAT( CONCAT(my_impianti.matricola, ' - ', my_impianti.nome) SEPARATOR ', ')
|
||||
FROM (my_impianti_interventi INNER JOIN my_impianti ON my_impianti_interventi.idimpianto=my_impianti.id)
|
||||
WHERE my_impianti_interventi.idintervento=`in_interventi`.`id`),'') AS `impianti`,
|
||||
DATE_FORMAT( MAX(`orario_fine`), '%Y%m%d' ) AS `data`,
|
||||
(SELECT GROUP_CONCAT(ragione_sociale SEPARATOR ', ') FROM (`in_interventi_tecnici` INNER JOIN `an_anagrafiche` ON `in_interventi_tecnici`.`idtecnico`=`an_anagrafiche`.`idanagrafica`) WHERE `in_interventi_tecnici`.`idintervento`=`in_interventi`.`id`) AS `tecnici`,
|
||||
`in_statiintervento`.`colore` AS `bgcolor`,
|
||||
`in_statiintervento`.`descrizione` AS `stato`,
|
||||
`in_interventi`.`idtipointervento` AS `tipo`,
|
||||
DATE_FORMAT( MAX(`orario_inizio`), '%d/%m/%Y %T' ) AS `orario_inizio_leggibile`,
|
||||
DATE_FORMAT( MAX(`orario_fine`), '%d/%m/%Y %T' ) AS `orario_fine_leggibile`,
|
||||
`orario_inizio`, `orario_fine`
|
||||
FROM (`in_interventi`
|
||||
INNER JOIN `in_statiintervento` ON `in_interventi`.`idstatointervento`=`in_statiintervento`.`idstatointervento`)
|
||||
INNER JOIN `in_interventi_tecnici` ON `in_interventi_tecnici`.`idintervento`=`in_interventi`.`id`
|
||||
INNER JOIN `an_anagrafiche` ON `in_interventi`.`idanagrafica`=`an_anagrafiche`.`idanagrafica`
|
||||
LEFT OUTER JOIN `an_sedi` ON `in_interventi`.`idsede`=`an_sedi`.`id`
|
||||
GROUP BY `in_interventi`.`id`
|
||||
HAVING (DATE_FORMAT( `orario_fine`, '%Y-%m-%d' ) >= '".$period_start."' AND
|
||||
DATE_FORMAT( `orario_fine`, '%Y-%m-%d' ) <= '".$period_end."')
|
||||
ORDER BY `orario_fine` DESC";
|
||||
|
||||
// TODO: rimosse seguenti clausole:
|
||||
|
||||
// WHERE `in_interventi`.idstatointervento IN(SELECT idstatointervento FROM in_statiintervento WHERE app_download=1)
|
||||
// nel database ufficiale manca in_statiintervento.app_download
|
||||
|
||||
// AND `in_interventi_tecnici`.`idtecnico`='".$tecnico[0]['idanagrafica']."'
|
||||
// nell'inner join con in_interventi_tecnici -> ad oggi 16-05-2018 non gestisco ancora idtecnico
|
||||
|
||||
$results = $dbo->fetchArray( $q );
|
||||
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
return [
|
||||
'sync',
|
||||
];
|
||||
'interventi',
|
||||
];
|
Loading…
Reference in New Issue
Block a user