Compare commits

..

5 Commits

Author SHA1 Message Date
Matteo 35f72c6453 fix: correzioni su api applicazione 2024-10-24 17:28:58 +02:00
Luca 8b4089bf39 fix: struttura scheda preventivo / contratto 2024-10-24 16:27:03 +02:00
Luca a73af9c926 fix: label scheda ddt 2024-10-24 16:19:13 +02:00
Luca eacba9b3bc fix: struttura dati cliente/fornitore ddt uscita/entrata 2024-10-24 16:16:11 +02:00
valentina 8e14aff240 fix: query di aggiornamento 2024-10-24 11:24:27 +02:00
12 changed files with 104 additions and 107 deletions

View File

@ -52,7 +52,7 @@ echo '
</div> </div>
</div> </div>
<div class="card-body">
<div class="card-body"> <div class="card-body">
<!-- RIGA 1 --> <!-- RIGA 1 -->
<div class="row"> <div class="row">
@ -73,15 +73,13 @@ echo '
if ($record['idagente'] != 0) { if ($record['idagente'] != 0) {
echo Modules::link('Anagrafiche', $record['idagente'], null, null, 'class="pull-right"'); echo Modules::link('Anagrafiche', $record['idagente'], null, null, 'class="pull-right"');
} }
echo '
{[ "type": "select", "label": "' . tr('Agente') . '", "name": "idagente", "ajax-source": "agenti", "select-options": {"idanagrafica": ' . $record['idanagrafica'] . '}, "value": "$idagente$" ]}
</div>
</div>
</div>
</div>';
?> ?>
{[ "type": "select", "label": "<?php echo tr('Agente'); ?>", "name": "idagente", "ajax-source": "agenti", "select-options": {"idanagrafica": <?php echo $record['idanagrafica']; ?>}, "value": "$idagente$" ]}
</div>
</div>
</div>
</div>
</div>
<div class="card card-primary"> <div class="card card-primary">
<div class="card-header"> <div class="card-header">
<h3 class="card-title"><?php echo tr('Intestazione'); ?></h3> <h3 class="card-title"><?php echo tr('Intestazione'); ?></h3>

View File

@ -126,7 +126,7 @@ echo '
<!-- DATI INTESTAZIONE --> <!-- DATI INTESTAZIONE -->
<div class="card card-primary collapsable"> <div class="card card-primary collapsable">
<div class="card-header with-border"> <div class="card-header with-border">
<h3 class="card-title">'.($dir == 'entrata' ? tr('Dati cliente') : tr('Dati fornitore')).'</h3> <h3 class="card-title">'.($dir == 'entrata' ? tr('Dati destinatario') : tr('Dati mittente')).'</h3>
<div class="card-tools pull-right"> <div class="card-tools pull-right">
<button type="button" class="btn btn-tool" data-card-widget="collapse"> <button type="button" class="btn btn-tool" data-card-widget="collapse">
<i class="fa fa-minus"></i> <i class="fa fa-minus"></i>
@ -134,7 +134,7 @@ echo '
</div> </div>
</div> </div>
<div class="card-body">
<div class="card-body"> <div class="card-body">
<!-- RIGA 1 --> <!-- RIGA 1 -->
<div class="row"> <div class="row">
@ -162,7 +162,6 @@ echo '
</div> </div>
</div> </div>
</div> </div>
</div>
</div>'; </div>';
?> ?>
<div class="row"> <div class="row">

View File

@ -57,7 +57,7 @@ if (count($preventivo->revisioni) > 1) {
</div> </div>
</div> </div>
<div class="card-body">
<div class="card-body"> <div class="card-body">
<!-- RIGA 1 --> <!-- RIGA 1 -->
<div class="row"> <div class="row">
@ -87,7 +87,6 @@ echo '
</div> </div>
</div> </div>
</div> </div>
</div>
</div>'; </div>';
?> ?>

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)

View File

@ -12,7 +12,7 @@ INSERT INTO `zz_modules` (`name`, `directory`, `options`, `options2`, `icon`, `v
SELECT @id_module := `id` FROM `zz_modules` WHERE `name` = 'Marchi'; SELECT @id_module := `id` FROM `zz_modules` WHERE `name` = 'Marchi';
INSERT INTO `zz_modules_lang` (`id_lang`, `id_record`, `title`) VALUES INSERT INTO `zz_modules_lang` (`id_lang`, `id_record`, `title`) VALUES
('1', @id_module, 'Marchi') ('1', @id_module, 'Marchi'),
('2', @id_module, 'Marchi'); ('2', @id_module, 'Marchi');
SELECT @id_module := `id` FROM `zz_modules` WHERE `name` = 'Marchi'; SELECT @id_module := `id` FROM `zz_modules` WHERE `name` = 'Marchi';