Fix filtro per attività in api contratti e impianti
This commit is contained in:
parent
f3fa95033b
commit
2e915b70ce
|
@ -44,14 +44,6 @@ class Contratti extends AppResource implements RetrieveInterface
|
|||
|
||||
public function getModifiedRecords($last_sync_at)
|
||||
{
|
||||
$risorsa_interventi = $this->getRisorsaInterventi();
|
||||
$interventi = $risorsa_interventi->getModifiedRecords(null);
|
||||
if (empty($interventi)) {
|
||||
return [];
|
||||
}
|
||||
|
||||
$id_interventi = array_keys($interventi);
|
||||
|
||||
$query = 'SELECT
|
||||
DISTINCT(`co_contratti`.`id`) AS id,
|
||||
`co_contratti`.`updated_at`
|
||||
|
@ -63,7 +55,7 @@ class Contratti extends AppResource implements RetrieveInterface
|
|||
INNER JOIN `an_tipianagrafiche` ON `an_tipianagrafiche_anagrafiche`.`idtipoanagrafica` = `an_tipianagrafiche`.`id`
|
||||
LEFT JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche_lang`.`id_record` = `an_tipianagrafiche`.`id` AND `an_tipianagrafiche_lang`.`id_lang` = '.prepare(\Models\Locale::getDefault()->id).")
|
||||
WHERE
|
||||
`an_tipianagrafiche_lang`.`title` = 'Cliente' AND `co_staticontratti`.`is_pianificabile` = 1 AND `an_anagrafiche`.`deleted_at` IS NULL AND (SELECT COUNT(id) FROM in_interventi WHERE id_contratto=co_contratti.id AND id IN (".implode(',', $id_interventi).')) > 0';
|
||||
`an_tipianagrafiche_lang`.`title` = 'Cliente' AND `co_staticontratti`.`is_pianificabile` = 1 AND `an_anagrafiche`.`deleted_at` IS NULL";
|
||||
|
||||
// Filtro per data
|
||||
if ($last_sync_at) {
|
||||
|
|
|
@ -65,16 +65,7 @@ class Impianti extends AppResource
|
|||
if ($limite_impianti == 1 && !\Auth::user()->is_admin) {
|
||||
$id_tecnico = \Auth::user()->id_anagrafica;
|
||||
|
||||
// Elenco di interventi di interesse
|
||||
$risorsa_interventi = $this->getRisorsaInterventi();
|
||||
// Da applicazione, i Clienti sono sincronizzati prima degli Interventi: last_sync_at permette di identificare le stesse modifiche
|
||||
$interventi = $risorsa_interventi->getModifiedRecords(null);
|
||||
$id_interventi = array_keys($interventi);
|
||||
|
||||
$rs_impianti = database()->fetchArray('SELECT idimpianto FROM my_impianti_interventi WHERE idintervento IN ('.implode(',', $id_interventi).')');
|
||||
$id_impianti = array_column($rs_impianti, 'idimpianto');
|
||||
|
||||
$statement->where('idtecnico', $id_tecnico)->orWhereIn('id', $id_impianti);
|
||||
$statement->where('idtecnico', $id_tecnico);
|
||||
}
|
||||
|
||||
$records = $statement->get();
|
||||
|
|
Loading…
Reference in New Issue