diff --git a/src/API/App/v1/Contratti.php b/src/API/App/v1/Contratti.php new file mode 100644 index 000000000..93b7ab52e --- /dev/null +++ b/src/API/App/v1/Contratti.php @@ -0,0 +1,63 @@ +fetchArray($query); + + $da_stati = array_column($records, 'id'); + $mancanti = $this->getMissingIDs('co_contratti', 'id'); + + $results = array_unique(array_merge($da_stati, $mancanti)); + + return $results; + } + + protected function getData($last_sync_at) + { + $query = "SELECT DISTINCT(co_contratti.id) AS id FROM co_contratti + INNER JOIN co_staticontratti ON co_staticontratti.id = co_contratti.idstato + INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica = co_contratti.idanagrafica + INNER JOIN an_tipianagrafiche_anagrafiche ON an_tipianagrafiche_anagrafiche.idanagrafica = an_anagrafiche.idanagrafica + INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica = an_tipianagrafiche.idtipoanagrafica + WHERE an_tipianagrafiche.descrizione = 'Cliente' AND co_staticontratti.is_pianificabile = 1 AND an_anagrafiche.deleted_at IS NULL"; + + // Filtro per data + if ($last_sync_at) { + $last_sync = new Carbon($last_sync_at); + $query .= ' AND co_contratti.updated_at > '.prepare($last_sync); + } + + $records = database()->fetchArray($query); + + return array_column($records, 'id'); + } + + protected function retrieveRecord($id) + { + // Gestione della visualizzazione dei dettagli del record + $query = 'SELECT id, + idanagrafica AS id_cliente, + IF(idsede = 0, NULL, idsede) AS id_sede, + nome, + numero, + data, + FROM co_contratti + INNER JOIN co_staticontratti ON co_staticontratti.id = co_contratti.idstato + WHERE co_contratti.id = '.prepare($id); + + $record = database()->fetchOne($query); + + return $record; + } +} diff --git a/src/API/App/v1/Impianti.php b/src/API/App/v1/Impianti.php index 5482377c1..360a4f932 100644 --- a/src/API/App/v1/Impianti.php +++ b/src/API/App/v1/Impianti.php @@ -37,11 +37,22 @@ class Impianti extends AppResource { // Gestione della visualizzazione dei dettagli del record $query = 'SELECT my_impianti.id, - my_impianti.idanagrafica AS id_anagrafica, + my_impianti.idanagrafica AS id_cliente, + my_impianti.idsede AS id_sede, my_impianti.matricola, my_impianti.nome, - my_impianti.descrizione + my_impianti.descrizione, + my_impianti.data AD data_installazione, + my_impianti.proprietario, + my_impianti.ubicazione, + my_impianti.palazzo, + my_impianti.scala, + my_impianti.piano, + my_impianti.interno, + my_impianti.occupante, + my_impianti_categorie.descrizione AS categoria FROM my_impianti + LEFT JOIN my_impianti_categorie ON my_impianti_categorie.id = my_impianti.id_categoria WHERE my_impianti.id = '.prepare($id); $record = database()->fetchOne($query); diff --git a/src/API/App/v1/Interventi.php b/src/API/App/v1/Interventi.php index 80cb17062..65b9cea5f 100644 --- a/src/API/App/v1/Interventi.php +++ b/src/API/App/v1/Interventi.php @@ -94,7 +94,7 @@ class Interventi extends AppResource richiesta, data_richiesta, descrizione, - idanagrafica AS id_anagrafica, + idanagrafica AS id_cliente, idtipointervento AS id_tipo_intervento, idstatointervento AS id_stato_intervento, informazioniaggiuntive AS informazioni_aggiuntive, diff --git a/src/API/App/v1/Login.php b/src/API/App/v1/Login.php index ed249ae5e..692e5fdec 100644 --- a/src/API/App/v1/Login.php +++ b/src/API/App/v1/Login.php @@ -21,7 +21,7 @@ class Login extends Resource implements CreateInterface // Informazioni sull'utente, strettamente collegato ad una anagrafica di tipo Tecnico $utente = $database->fetchOne("SELECT - `an_anagrafiche`.`idanagrafica` AS id_anagrafica, + `an_anagrafiche`.`idanagrafica` AS id_cliente, `an_anagrafiche`.`ragione_sociale` FROM `zz_users` INNER JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica` = `zz_users`.`idanagrafica` diff --git a/src/API/App/v1/Preventivi.php b/src/API/App/v1/Preventivi.php new file mode 100644 index 000000000..4f565253f --- /dev/null +++ b/src/API/App/v1/Preventivi.php @@ -0,0 +1,63 @@ +fetchArray($query); + + $da_stati = array_column($records, 'id'); + $mancanti = $this->getMissingIDs('co_preventivi', 'id'); + + $results = array_unique(array_merge($da_stati, $mancanti)); + + return $results; + } + + protected function getData($last_sync_at) + { + $query = "SELECT DISTINCT(co_preventivi.id) AS id FROM co_preventivi + INNER JOIN co_statipreventivi ON co_statipreventivi.id = co_preventivi.idstato + INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica = co_preventivi.idanagrafica + INNER JOIN an_tipianagrafiche_anagrafiche ON an_tipianagrafiche_anagrafiche.idanagrafica = an_anagrafiche.idanagrafica + INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica = an_tipianagrafiche.idtipoanagrafica + WHERE an_tipianagrafiche.descrizione = 'Cliente' AND co_statipreventivi.is_pianificabile = 1 AND an_anagrafiche.deleted_at IS NULL"; + + // Filtro per data + if ($last_sync_at) { + $last_sync = new Carbon($last_sync_at); + $query .= ' AND co_preventivi.updated_at > '.prepare($last_sync); + } + + $records = database()->fetchArray($query); + + return array_column($records, 'id'); + } + + protected function retrieveRecord($id) + { + // Gestione della visualizzazione dei dettagli del record + $query = 'SELECT id, + idanagrafica AS id_cliente, + IF(idsede = 0, NULL, idsede) AS id_sede, + nome, + numero, + data, + FROM co_preventivi + INNER JOIN co_statipreventivi ON co_statipreventivi.id = co_preventivi.idstato + WHERE co_preventivi.id = '.prepare($id); + + $record = database()->fetchOne($query); + + return $record; + } +} diff --git a/src/API/App/v1/Referenti.php b/src/API/App/v1/Referenti.php index 000c43303..adb876523 100644 --- a/src/API/App/v1/Referenti.php +++ b/src/API/App/v1/Referenti.php @@ -36,7 +36,7 @@ class Referenti extends AppResource implements RetrieveInterface { // Gestione della visualizzazione dei dettagli del record $query = 'SELECT id, - idanagrafica AS id_anagrafica, + idanagrafica AS id_cliente, IF(idsede = 0, NULL, idsede) AS id_sede, nome, mansione, diff --git a/src/API/App/v1/Sedi.php b/src/API/App/v1/Sedi.php index 711c0f0b4..2fbf6f314 100644 --- a/src/API/App/v1/Sedi.php +++ b/src/API/App/v1/Sedi.php @@ -35,7 +35,7 @@ class Sedi extends AppResource { // Gestione della visualizzazione dei dettagli del record $query = 'SELECT an_sedi.id, - an_sedi.idanagrafica AS id_anagrafica, + an_sedi.idanagrafica AS id_cliente, an_sedi.nomesede AS nome, an_sedi.piva AS partita_iva, an_sedi.codice_fiscale,