Compare commits

...

2 Commits

Author SHA1 Message Date
Matteo 2e915b70ce Fix filtro per attività in api contratti e impianti 2024-07-30 18:49:28 +02:00
Matteo f3fa95033b Introdotta colonna Valore su vista Giacenze sedi 2024-07-30 18:46:24 +02:00
3 changed files with 10 additions and 20 deletions

View File

@ -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) {

View File

@ -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();

View File

@ -127,4 +127,11 @@ UPDATE `zz_widgets` SET `more_link` = "$(\'#th_Tipo input\').val(\'\').trigger(\
-- Spostata impostazione Stato dell'attività alla chiusura (utilizzata solo da APP)
UPDATE `zz_settings` SET `sezione` = 'Applicazione' WHERE `zz_settings`.`nome` = "Stato dell\'attività alla chiusura";
UPDATE `zz_settings` SET `sezione` = 'Applicazione' WHERE `zz_settings`.`nome` = "Stato dell\'attività alla chiusura";
-- Viste modulo adattatori di archiviazione
INSERT INTO `zz_views` (`id`, `id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `html_format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES
(NULL, (SELECT id FROM zz_modules WHERE directory='giacenze_sedi'), 'Valore', '(prezzo_acquisto*movimenti.qta)', 11, 1, 0, 1, 0, '', '', 1, 1, 0);
INSERT INTO `zz_views_lang` (`id`, `id_lang`, `id_record`, `title`) VALUES
(NULL, 1, (SELECT id FROM zz_views WHERE id_module = (SELECT id FROM zz_modules WHERE directory='giacenze_sedi') AND query = '(prezzo_acquisto*qta)'), 'Valore');