Aggiunto supporto a Contratti e Preventivi via API
This commit is contained in:
parent
49cc7423a5
commit
cb70da8eb8
|
@ -0,0 +1,63 @@
|
|||
<?php
|
||||
|
||||
namespace API\App\v1;
|
||||
|
||||
use API\App\AppResource;
|
||||
use API\Interfaces\RetrieveInterface;
|
||||
use Carbon\Carbon;
|
||||
|
||||
class Contratti extends AppResource implements RetrieveInterface
|
||||
{
|
||||
protected function getCleanupData()
|
||||
{
|
||||
$query = 'SELECT DISTINCT(co_contratti.id) AS id FROM co_contratti
|
||||
INNER JOIN co_staticontratti ON co_staticontratti.id = co_contratti.idstato
|
||||
WHERE co_staticontratti.is_pianificabile = 0';
|
||||
$records = database()->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;
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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`
|
||||
|
|
|
@ -0,0 +1,63 @@
|
|||
<?php
|
||||
|
||||
namespace API\App\v1;
|
||||
|
||||
use API\App\AppResource;
|
||||
use API\Interfaces\RetrieveInterface;
|
||||
use Carbon\Carbon;
|
||||
|
||||
class Preventivi extends AppResource implements RetrieveInterface
|
||||
{
|
||||
protected function getCleanupData()
|
||||
{
|
||||
$query = 'SELECT DISTINCT(co_preventivi.id) AS id FROM co_preventivi
|
||||
INNER JOIN co_statipreventivi ON co_statipreventivi.id = co_preventivi.idstato
|
||||
WHERE co_statipreventivi.is_pianificabile = 0';
|
||||
$records = database()->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;
|
||||
}
|
||||
}
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
Loading…
Reference in New Issue