Aggiornamento lato PERSONALE
This commit is contained in:
@@ -4,19 +4,67 @@
|
|||||||
require_once __DIR__ . "/../config/database.php";
|
require_once __DIR__ . "/../config/database.php";
|
||||||
$idPersonale = (int) $_SESSION["idUtente"];
|
$idPersonale = (int) $_SESSION["idUtente"];
|
||||||
$conteggi = [];
|
$conteggi = [];
|
||||||
/*
|
|
||||||
* QUERY 11 - Conteggio degli ordini attivi divisi per stato di avanzamento
|
$stmt = $pdo->prepare("
|
||||||
* Input: nessuno (l'id $idPersonale è disponibile per il contesto UI)
|
SELECT
|
||||||
* Output atteso: idStatoOrdine, nomeStato, posizione, numeroOrdini
|
ss1.idOrdine,
|
||||||
* TODO SQL: implementare manualmente la Query 11.
|
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 = "..";
|
$pageTitle = "Dashboard personale"; $basePath = "..";
|
||||||
require __DIR__ . "/../includes/header.php";
|
require __DIR__ . "/../includes/header.php";
|
||||||
?>
|
?>
|
||||||
<h1 class="h3">Dashboard personale</h1>
|
<h1 class="h3">Dashboard personale</h1>
|
||||||
<p>Panoramica degli ordini attivi.</p>
|
<p>Panoramica degli ordini attivi.</p>
|
||||||
<?php if (!$conteggi): ?>
|
<?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; ?>
|
<?php endif; ?>
|
||||||
<div class="row g-3 mb-4">
|
<div class="row g-3 mb-4">
|
||||||
<?php foreach ($conteggi as $c): ?>
|
<?php foreach ($conteggi as $c): ?>
|
||||||
@@ -24,9 +72,14 @@
|
|||||||
<div class="card text-center h-100 shadow-sm">
|
<div class="card text-center h-100 shadow-sm">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="display-6">
|
<div class="display-6">
|
||||||
<?= e($c["numeroOrdini"]) ?>
|
<?= "N. Ordini: " . e($c["numeroOrdini"]) ?>
|
||||||
</div>
|
</div>
|
||||||
<div><?= e($c["nomeStato"]) ?>
|
<div>
|
||||||
|
<?= "ID Ordine: " . e($c["idOrdine"]) ?>
|
||||||
|
<br>
|
||||||
|
<?= "Stato: " . e($c["nomeStato"]) ?>
|
||||||
|
<br>
|
||||||
|
<?= "Posizione: " . e($c["posizione"]) ?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user