Aggiornamento lato PERSONALE

This commit is contained in:
Emanuele Slusarz
2026-08-22 16:38:17 +02:00
parent c796788339
commit 42979685fb
+62 -9
View File
@@ -4,19 +4,67 @@
require_once __DIR__ . "/../config/database.php";
$idPersonale = (int) $_SESSION["idUtente"];
$conteggi = [];
/*
* QUERY 11 - Conteggio degli ordini attivi divisi per stato di avanzamento
* Input: nessuno (l'id $idPersonale è disponibile per il contesto UI)
* Output atteso: idStatoOrdine, nomeStato, posizione, numeroOrdini
* TODO SQL: implementare manualmente la Query 11.
*/
$stmt = $pdo->prepare("
SELECT
ss1.idOrdine,
ss1.idStatoOrdine,
so1.nomeStato,
so1.posizione,
conteggioOrdiniPerOrdine.numeroOrdini
FROM
storicoStato AS ss1
JOIN statoOrdine AS so1
ON ss1.idStatoOrdine = so1.idStatoOrdine
LEFT JOIN (
SELECT
o3.idOrdine,
COALESCE(
SUM(ro3.quantita),
0
) AS numeroOrdini
FROM
ordine AS o3
JOIN rigaOrdine AS ro3
ON o3.idOrdine = ro3.idOrdine
GROUP BY
o3.idOrdine
) AS conteggioOrdiniPerOrdine
ON ss1.idOrdine = conteggioOrdiniPerOrdine.idOrdine
WHERE
so1.posizione = (
SELECT
MAX(so2.posizione)
FROM
storicoStato AS ss2
JOIN statoOrdine AS so2
ON ss2.idStatoOrdine = so2.idStatoOrdine
WHERE
ss2.idOrdine = ss1.idOrdine
)
");
$stmt->execute();
$conteggi = $stmt->fetchAll(PDO::FETCH_ASSOC);
$pageTitle = "Dashboard personale"; $basePath = "..";
require __DIR__ . "/../includes/header.php";
?>
<h1 class="h3">Dashboard personale</h1>
<p>Panoramica degli ordini attivi.</p>
<?php if (!$conteggi): ?>
<div class="alert alert-info">I conteggi saranno mostrati dopo l'implementazione della Query 11.</div>
<div class="alert alert-info">Non ci sono ordini!</div>
<?php endif; ?>
<div class="row g-3 mb-4">
<?php foreach ($conteggi as $c): ?>
@@ -24,9 +72,14 @@
<div class="card text-center h-100 shadow-sm">
<div class="card-body">
<div class="display-6">
<?= e($c["numeroOrdini"]) ?>
<?= "N. Ordini: " . e($c["numeroOrdini"]) ?>
</div>
<div><?= e($c["nomeStato"]) ?>
<div>
<?= "ID Ordine: " . e($c["idOrdine"]) ?>
<br>
<?= "Stato: " . e($c["nomeStato"]) ?>
<br>
<?= "Posizione: " . e($c["posizione"]) ?>
</div>
</div>
</div>