diff --git a/src/API/App/v1/Clienti.php b/src/API/App/v1/Clienti.php index c2c861a9f..bd3af2450 100644 --- a/src/API/App/v1/Clienti.php +++ b/src/API/App/v1/Clienti.php @@ -40,11 +40,13 @@ class Clienti extends AppResource INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica = an_tipianagrafiche.idtipoanagrafica WHERE an_tipianagrafiche.descrizione = 'Cliente' AND an_anagrafiche.deleted_at IS NULL"; + // Sincronizzazione limitata ai Clienti con Interventi di interesse per il Tecnico corrente $sincronizza_lavorati = setting('Sincronizza solo i Clienti per cui il Tecnico ha lavorato in passato'); if (!empty($sincronizza_lavorati)) { // Elenco di interventi di interesse $risorsa_interventi = $this->getRisorsaInterventi(); - $interventi = $risorsa_interventi->getModifiedRecords(null); + // Da applicazione, i Clienti sono sincronizzati prima degli Interventi: last_sync_at permette di identificare le stesse modifiche + $interventi = $risorsa_interventi->getModifiedRecords($last_sync_at); if (empty($interventi)) { return []; } @@ -57,8 +59,8 @@ class Clienti extends AppResource )'; } - // Filtro per data - if ($last_sync_at) { + // Filtro per data (solo nel caso in cui la sincronizzazione non sia totale) + elseif ($last_sync_at) { $query .= ' AND an_anagrafiche.updated_at > '.prepare($last_sync_at); } diff --git a/src/API/App/v1/Revisione.php b/src/API/App/v1/Revisione.php new file mode 100644 index 000000000..268877196 --- /dev/null +++ b/src/API/App/v1/Revisione.php @@ -0,0 +1,38 @@ +. + */ + +namespace API\App\v1; + +use API\App\AppResource; +use API\Interfaces\RetrieveInterface; +use API\Resource; +use Illuminate\Database\Eloquent\Builder; +use Modules\Anagrafiche\Anagrafica; + +class Revisione extends Resource implements RetrieveInterface +{ + const REVISION = '1'; + + public function retrieve($request) + { + return [ + 'revisione' => self::REVISION, + ]; + } +} diff --git a/update/2_4_23.sql b/update/2_4_23.sql index ad275d3cd..c27bb58e4 100644 --- a/update/2_4_23.sql +++ b/update/2_4_23.sql @@ -56,4 +56,8 @@ INSERT INTO `zz_api_resources` (`id`, `version`, `type`, `resource`, `class`, `e UPDATE `zz_segments` SET `clause` = '(orario_inizio BETWEEN \'|period_start|\' AND \'|period_end|\' OR orario_fine BETWEEN \'|period_start|\' AND \'|period_end|\')' WHERE `zz_segments`.`name` = 'Attività'; -- Aumentato limite per campo note in scheda anagrafica -ALTER TABLE `an_anagrafiche` CHANGE `note` `note` TEXT NOT NULL; \ No newline at end of file +ALTER TABLE `an_anagrafiche` CHANGE `note` `note` TEXT NOT NULL; + +-- Aggiunta risorsa APi per revisione applicazione +INSERT INTO `zz_api_resources` (`id`, `version`, `type`, `resource`, `class`, `enabled`) VALUES +(NULL, 'app-v1', 'retrieve', 'revisione', 'API\\App\\v1\\Revisione', '1')