1
0
mirror of https://github.com/devcode-it/openstamanager.git synced 2025-01-22 03:55:36 +01:00

fix: correzioni su api applicazione

This commit is contained in:
Matteo 2024-10-24 17:28:58 +02:00
parent 8b4089bf39
commit 35f72c6453
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)
{
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) {

View File

@ -58,12 +58,12 @@ class Articoli extends AppResource
`categoria_lang`.`title` AS categoria,
`sottocategoria_lang`.`title` AS sottocategoria
FROM
`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_categorie` as categoria ON (`mg_articoli`.`id_categoria` = `mg_categorie`.`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` as sottocategoria ON (`mg_articoli`.`id_sottocategoria` = `mg_categorie`.`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).')
`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_categorie` as categoria ON (`mg_articoli`.`id_categoria` = `categoria`.`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` = `sottocategoria`.`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
`mg_articoli`.`id` = '.prepare($id);

View File

@ -95,11 +95,7 @@ class Checklists extends AppResource
->select('zz_operations.id_record')
->distinct()
->join('zz_modules', 'zz_modules.id', '=', 'zz_operations.id_module')
->leftJoin('zz_modules_lang', function ($join) {
$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_modules.name', '=', 'Interventi')
->where('zz_operations.op', '=', 'delete_check')
->where('zz_operations.created_at', '>', $last_sync_at)
->pluck('id_record')

View File

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

View File

@ -30,7 +30,7 @@ class Impostazioni extends AppResource
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
$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_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_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
`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_tipianagrafiche_anagrafiche` ON `an_tipianagrafiche_anagrafiche`.`idanagrafica` = `an_anagrafiche`.`idanagrafica`
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
`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')
->distinct()
->join('zz_modules', 'zz_modules.id', '=', 'zz_operations.id_module')
->leftJoin('zz_modules_lang', function ($join) {
$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_modules.name', '=', 'Interventi')
->where('zz_operations.op', '=', 'delete_sessione')
->whereNotNull('zz_operations.options')
->where('zz_operations.created_at', '>', $last_sync_at)