Files
2026-08-22 19:53:41 +02:00

91 lines
2.6 KiB
PHP
Executable File

<?php
require_once __DIR__ . "/../includes/auth.php";
requireRole("personale");
require_once __DIR__ . "/../config/database.php";
$idPersonale = (int) $_SESSION["idUtente"];
$conteggi = [];
$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">Non ci sono ordini!</div>
<?php endif; ?>
<div class="row g-3 mb-4">
<?php foreach ($conteggi as $c): ?>
<div class="col-sm-6 col-lg">
<div class="card text-center h-100 shadow-sm">
<div class="card-body">
<div class="display-6">
<?= "N. Ordini: " . e($c["numeroOrdini"]) ?>
</div>
<div>
<?= "ID Ordine: " . e($c["idOrdine"]) ?>
<br>
<?= "Stato: " . e($c["nomeStato"]) ?>
<br>
<?= "Posizione: " . e($c["posizione"]) ?>
</div>
</div>
</div>
</div>
<?php endforeach; ?></div>
<a class="btn btn-primary" href="ordini.php">Apri gli ordini correnti</a>
<?php require __DIR__ . "/../includes/footer.php"; ?>