diff --git a/PHP/personale/dashboard.php b/PHP/personale/dashboard.php index bb31546..2e9086b 100755 --- a/PHP/personale/dashboard.php +++ b/PHP/personale/dashboard.php @@ -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"; ?>

Dashboard personale

Panoramica degli ordini attivi.

-
I conteggi saranno mostrati dopo l'implementazione della Query 11.
+
Non ci sono ordini!
@@ -24,9 +72,14 @@
- +
-
+
+ +
+ +
+