Skip to content

Commit b6d4751

Browse files
committed
refactor: miglioria grafica controlli gestionale
1 parent f3533a5 commit b6d4751

7 files changed

Lines changed: 1352 additions & 173 deletions

File tree

modules/aggiornamenti/actions.php

Lines changed: 52 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -168,10 +168,10 @@
168168
$controlli = [
169169
PianoConti::class,
170170
PianoContiRagioneSociale::class,
171+
ReaValidi::class,
171172
DatiFattureElettroniche::class,
172173
ColonneDuplicateViste::class,
173174
PluginDuplicati::class,
174-
ReaValidi::class,
175175
TabelleLanguage::class,
176176
IntegritaFile::class,
177177
];
@@ -190,7 +190,8 @@
190190
break;
191191

192192
case 'controlli-check':
193-
$class = post('controllo');
193+
$class = post('controllo', true);
194+
$controllo_name = post('controllo_name', true);
194195

195196
// Controllo sulla classe
196197
if (!is_subclass_of($class, Controllo::class)) {
@@ -202,12 +203,15 @@
202203
$manager = new $class();
203204
$manager->check();
204205

205-
// Aggiunta del nome del controllo alle opzioni di log
206-
OperationLog::setInfo('options', json_encode(['controllo_name' => $manager->getName()], JSON_UNESCAPED_UNICODE));
206+
// Creazione del log dell'operazione
207+
$nome_finale = !empty($controllo_name) ? $controllo_name : $manager->getName();
208+
209+
OperationLog::setInfo('id_module', $id_module);
210+
OperationLog::setInfo('options', json_encode(['controllo_name' => $nome_finale], JSON_UNESCAPED_UNICODE));
207211

208212
echo json_encode($manager->getResults());
209213

210-
break;
214+
return;
211215

212216
case 'controlli-action':
213217
$class = post('controllo');
@@ -248,5 +252,48 @@
248252

249253
echo json_encode($result);
250254

255+
break;
256+
257+
case 'controlli-ultima-esecuzione':
258+
$controlli = [
259+
PianoConti::class,
260+
PianoContiRagioneSociale::class,
261+
ReaValidi::class,
262+
DatiFattureElettroniche::class,
263+
ColonneDuplicateViste::class,
264+
PluginDuplicati::class,
265+
TabelleLanguage::class,
266+
IntegritaFile::class,
267+
];
268+
269+
$results = [];
270+
foreach ($controlli as $key => $controllo) {
271+
$manager = new $controllo();
272+
$nome_controllo = $manager->getName();
273+
274+
// Recupera l'ultima esecuzione da zz_operations
275+
// Cerca nel campo options che contiene JSON con controllo_name
276+
$query = "SELECT created_at, id_utente FROM zz_operations WHERE options LIKE ? ORDER BY created_at DESC LIMIT 1";
277+
$operation = $database->fetchOne($query, ['%"controllo_name":"' . $nome_controllo . '"%']);
278+
279+
// Recupera il nome dell'utente se disponibile
280+
$user_name = null;
281+
if ($operation && $operation['id_utente']) {
282+
$user_query = "SELECT username FROM zz_users WHERE id = ?";
283+
$user = $database->fetchOne($user_query, [$operation['id_utente']]);
284+
$user_name = $user ? $user['username'] : null;
285+
}
286+
287+
$results[] = [
288+
'id' => $key,
289+
'class' => $controllo,
290+
'name' => $nome_controllo,
291+
'last_execution' => $operation ? $operation['created_at'] : null,
292+
'last_user' => $user_name,
293+
];
294+
}
295+
296+
echo json_encode($results, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
297+
251298
break;
252299
}

0 commit comments

Comments
 (0)