1
0
mirror of https://github.com/devcode-it/openstamanager.git synced 2025-02-21 14:00:53 +01:00

fix: correzioni su api applicazione

This commit is contained in:
Matteo 2024-10-24 17:28:58 +02:00 committed by valentina
parent 6d9a06e450
commit 69de15c397
8 changed files with 47 additions and 46 deletions

View File

@ -188,7 +188,9 @@ abstract class AppResource extends Resource implements RetrieveInterface, Create
protected function mapModifiedRecords($records) protected function mapModifiedRecords($records)
{ {
if ($records instanceof Collection) { if ($records instanceof Collection) {
return $records->mapToGroups(fn ($item, $key) => [$item['id'] => $item])->toArray(); return $records->mapWithKeys(function ($item) {
return [$item['id'] => $item];
})->toArray();
} }
return array_reduce($records, function ($accumulator, $item) { return array_reduce($records, function ($accumulator, $item) {

View File

@ -60,10 +60,10 @@ class Articoli extends AppResource
FROM FROM
`mg_articoli` `mg_articoli`
LEFT JOIN `mg_articoli_lang` ON (`mg_articoli`.`id` = `mg_articoli_lang`.`id_record` AND `mg_articoli_lang`.`id_lang` = '.prepare(\Models\Locale::getDefault()->id).') LEFT JOIN `mg_articoli_lang` ON (`mg_articoli`.`id` = `mg_articoli_lang`.`id_record` AND `mg_articoli_lang`.`id_lang` = '.prepare(\Models\Locale::getDefault()->id).')
LEFT JOIN `mg_categorie` as categoria ON (`mg_articoli`.`id_categoria` = `mg_categorie`.`id`) LEFT JOIN `mg_categorie` as categoria ON (`mg_articoli`.`id_categoria` = `categoria`.`id`)
LEFT JOIN `mg_categorie_lang` as categoria_lang ON (`mg_categorie`.`id` = `mg_categorie_lang`.`id_record` AND `mg_categorie_lang`.`id_lang` = '.prepare(\Models\Locale::getDefault()->id).') LEFT JOIN `mg_categorie_lang` as categoria_lang ON (`categoria`.`id` = `categoria_lang`.`id_record` AND `categoria_lang`.`id_lang` = '.prepare(\Models\Locale::getDefault()->id).')
LEFT JOIN `mg_categorie` as sottocategoria ON (`mg_articoli`.`id_sottocategoria` = `mg_categorie`.`id`) LEFT JOIN `mg_categorie` as sottocategoria ON (`mg_articoli`.`id_sottocategoria` = `sottocategoria`.`id`)
LEFT JOIN `mg_categorie_lang` as sottocategoria_lang ON (`mg_categorie`.`id` = `mg_categorie_lang`.`id_record` AND `mg_categorie_lang`.`id_lang` = '.prepare(\Models\Locale::getDefault()->id).') LEFT JOIN `mg_categorie_lang` as sottocategoria_lang ON (`sottocategoria`.`id` = `sottocategoria_lang`.`id_record` AND `sottocategoria_lang`.`id_lang` = '.prepare(\Models\Locale::getDefault()->id).')
WHERE WHERE
`mg_articoli`.`id` = '.prepare($id); `mg_articoli`.`id` = '.prepare($id);

View File

@ -95,11 +95,7 @@ class Checklists extends AppResource
->select('zz_operations.id_record') ->select('zz_operations.id_record')
->distinct() ->distinct()
->join('zz_modules', 'zz_modules.id', '=', 'zz_operations.id_module') ->join('zz_modules', 'zz_modules.id', '=', 'zz_operations.id_module')
->leftJoin('zz_modules_lang', function ($join) { ->where('zz_modules.name', '=', 'Interventi')
$join->on('zz_modules.id', '=', 'zz_modules_lang.id_record')
->where('zz_modules_lang.id_lang', '=', \Models\Locale::getDefault()->id);
})
->where('zz_modules_lang.name', '=', 'Interventi')
->where('zz_operations.op', '=', 'delete_check') ->where('zz_operations.op', '=', 'delete_check')
->where('zz_operations.created_at', '>', $last_sync_at) ->where('zz_operations.created_at', '>', $last_sync_at)
->pluck('id_record') ->pluck('id_record')

View File

@ -34,11 +34,7 @@ class Impianti extends AppResource
->select('zz_operations.id_record') ->select('zz_operations.id_record')
->distinct() ->distinct()
->join('zz_modules', 'zz_modules.id', '=', 'zz_operations.id_module') ->join('zz_modules', 'zz_modules.id', '=', 'zz_operations.id_module')
->leftJoin('zz_modules_lang', function ($join) { ->where('zz_modules.name', '=', 'Impianti')
$join->on('zz_modules.id', '=', 'zz_modules_lang.id_record')
->where('zz_modules_lang.id_lang', '=', \Models\Locale::getDefault()->id);
})
->where('zz_modules_lang.name', '=', 'Impianti')
->where('zz_operations.op', '=', 'delete') ->where('zz_operations.op', '=', 'delete')
->whereNotNull('zz_operations.options') ->whereNotNull('zz_operations.options')
->where('zz_operations.created_at', '>', $last_sync_at) ->where('zz_operations.created_at', '>', $last_sync_at)
@ -77,28 +73,39 @@ class Impianti extends AppResource
{ {
// Gestione della visualizzazione dei dettagli del record // Gestione della visualizzazione dei dettagli del record
$query = 'SELECT $query = 'SELECT
`my_impianti`.`id`, `impianti`.`id`,
`my_impianti`.`idanagrafica` AS id_cliente, `impianti`.`idanagrafica` AS id_cliente,
`my_impianti`.`idsede` AS id_sede, `impianti`.`idsede` AS id_sede,
`my_impianti`.`matricola`, `impianti`.`matricola`,
`my_impianti`.`nome`, `impianti`.`nome`,
`my_impianti`.`descrizione`, `impianti`.`descrizione`,
`my_impianti`.`data` AS data_installazione, `impianti`.`data` AS data_installazione,
`my_impianti`.`proprietario`, `impianti`.`proprietario`,
`my_impianti`.`ubicazione`, `impianti`.`ubicazione`,
`my_impianti`.`palazzo`, `impianti`.`palazzo`,
`my_impianti`.`scala`, `impianti`.`scala`,
`my_impianti`.`piano`, `impianti`.`piano`,
`my_impianti`.`interno`, `impianti`.`interno`,
`my_impianti`.`occupante`, `impianti`.`occupante`,
`categorie_lang`.`title` AS categoria `categorie_lang`.`title` AS categoria,
`sottocategorie_lang`.`title` AS sottocategoria `sottocategorie_lang`.`title` AS sottocategoria
FROM `my_impianti` FROM
LEFT JOIN `my_impianti_categorie` ON `my_impianti_categorie`.`id` = `my_impianti`.`id_categoria` my_impianti AS impianti
LEFT JOIN `my_impianti_categorie_lang` as categorie_lang ON (`categorie_lang`.`id_record` = `my_impianti_categorie`.`id` AND `categorie_lang`.|lang|) LEFT JOIN
LEFT JOIN `my_impianti_categorie` as sottocategorie ON (`sottocategorie`.`id` = `my_impianti_categorie`.`id_sottocategoria`) my_impianti_categorie AS categorie
LEFT JOIN `my_impianti_categorie_lang` as sottocategorie_lang ON (`sottocategorie_lang`.`id_record` = `sottocategorie`.`id` AND `sottocategorie_lang`.|lang|) ON categorie.id = impianti.id_categoria
WHERE `my_impianti`.`id` = '.prepare($id); LEFT JOIN
my_impianti_categorie_lang AS categorie_lang
ON categorie_lang.id_record = categorie.id
AND categorie_lang.id_lang = '.prepare(\Models\Locale::getDefault()->id).'
LEFT JOIN
my_impianti_categorie AS sottocategorie
ON sottocategorie.id = impianti.id_sottocategoria
LEFT JOIN
my_impianti_categorie_lang AS sottocategorie_lang
ON sottocategorie_lang.id_record = sottocategorie.id
AND sottocategorie_lang.id_lang = '.prepare(\Models\Locale::getDefault()->id).'
WHERE `impianti`.`id` = '.prepare($id);
$record = database()->fetchOne($query); $record = database()->fetchOne($query);

View File

@ -30,7 +30,7 @@ class Impostazioni extends AppResource
public function getModifiedRecords($last_sync_at) public function getModifiedRecords($last_sync_at)
{ {
$query = 'SELECT `zz_settings`.`id`, `zz_settings`.`updated_at` FROM `zz_settings` LEFT JOIN `zz_settings_lang` ON (`zz_settings`.`id` = `zz_settings_lang`.`id_record` AND `zz_settings_lang`.`id_lang` = '.prepare(\App::getLang()).") WHERE `sezione` = 'Applicazione'"; $query = 'SELECT `zz_settings`.`id`, `zz_settings`.`updated_at` FROM `zz_settings` LEFT JOIN `zz_settings_lang` ON (`zz_settings`.`id` = `zz_settings_lang`.`id_record` AND `zz_settings_lang`.`id_lang` = '.prepare(\Models\Locale::getDefault()->id).") WHERE `sezione` = 'Applicazione'";
// Aggiunta delle impostazioni esterne alla sezione Applicazione // Aggiunta delle impostazioni esterne alla sezione Applicazione
$impostazioni_esterne = $this->getImpostazioniEsterne(); $impostazioni_esterne = $this->getImpostazioniEsterne();

View File

@ -57,7 +57,7 @@ class Preventivi extends AppResource implements RetrieveInterface
INNER JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica` = `co_preventivi`.`idanagrafica` 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_anagrafiche` ON `an_tipianagrafiche_anagrafiche`.`idanagrafica` = `an_anagrafiche`.`idanagrafica`
INNER JOIN `an_tipianagrafiche` ON `an_tipianagrafiche_anagrafiche`.`idtipoanagrafica` = `an_tipianagrafiche`.`id` INNER JOIN `an_tipianagrafiche` ON `an_tipianagrafiche_anagrafiche`.`idtipoanagrafica` = `an_tipianagrafiche`.`id`
INNER JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche`.`id` = `an_tipianagrafiche_lang`.`id_record` AND `an_tipianagrafiche_lang`.`id_lang` = '.\App::getLang().") INNER JOIN `an_tipianagrafiche_lang` ON (`an_tipianagrafiche`.`id` = `an_tipianagrafiche_lang`.`id_record` AND `an_tipianagrafiche_lang`.`id_lang` = '.\Models\Locale::getDefault()->id.")
WHERE WHERE
`an_tipianagrafiche_lang`.`title` = 'Cliente' AND `co_statipreventivi`.`is_pianificabile` = 1 AND `an_anagrafiche`.`deleted_at` IS NULL"; `an_tipianagrafiche_lang`.`title` = 'Cliente' AND `co_statipreventivi`.`is_pianificabile` = 1 AND `an_anagrafiche`.`deleted_at` IS NULL";

View File

@ -39,7 +39,7 @@ class Referenti extends AppResource implements RetrieveInterface
INNER JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica` = `an_referenti`.`idanagrafica` INNER JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica` = `an_referenti`.`idanagrafica`
INNER JOIN `an_tipianagrafiche_anagrafiche` ON `an_tipianagrafiche_anagrafiche`.`idanagrafica` = `an_anagrafiche`.`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`.`id` 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)." 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 WHERE
`an_tipianagrafiche_lang`.`title` = 'Cliente' AND (an_anagrafiche.deleted_at IS NULL OR an_anagrafiche.idanagrafica IN(SELECT in_interventi.idanagrafica FROM in_interventi))"; `an_tipianagrafiche_lang`.`title` = 'Cliente' AND (an_anagrafiche.deleted_at IS NULL OR an_anagrafiche.idanagrafica IN(SELECT in_interventi.idanagrafica FROM in_interventi))";

View File

@ -35,11 +35,7 @@ class SessioniInterventi extends AppResource
->select('zz_operations.id_record') ->select('zz_operations.id_record')
->distinct() ->distinct()
->join('zz_modules', 'zz_modules.id', '=', 'zz_operations.id_module') ->join('zz_modules', 'zz_modules.id', '=', 'zz_operations.id_module')
->leftJoin('zz_modules_lang', function ($join) { ->where('zz_modules.name', '=', 'Interventi')
$join->on('zz_modules.id', '=', 'zz_modules_lang.id_record')
->where('zz_modules_lang.id_lang', '=', \Models\Locale::getDefault()->id);
})
->where('zz_modules_lang.name', '=', 'Interventi')
->where('zz_operations.op', '=', 'delete_sessione') ->where('zz_operations.op', '=', 'delete_sessione')
->whereNotNull('zz_operations.options') ->whereNotNull('zz_operations.options')
->where('zz_operations.created_at', '>', $last_sync_at) ->where('zz_operations.created_at', '>', $last_sync_at)