first commit
This commit is contained in:
Executable
+22
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
require_once __DIR__."/../includes/auth.php";requireRole("proprietario");require_once __DIR__."/../config/database.php";
|
||||
$idProdotto=filter_input(INPUT_GET,"idProdotto",FILTER_VALIDATE_INT)?:filter_input(INPUT_POST,"idProdotto",FILTER_VALIDATE_INT);$idCaratteristica=filter_input(INPUT_POST,"idCaratteristica",FILTER_VALIDATE_INT);$azione=$_POST["azione"]??null;$caratteristiche=[];$prodotti=[];$gruppi=[];$messaggio=null;
|
||||
/* TODO SQL DI SUPPORTO - Caricare prodotti, caratteristiche e gruppi esclusione.
|
||||
* Input: $idProdotto. Output: identificativi e campi omonimi dello schema. */
|
||||
if(postMethod()&&$azione==="elimina"){
|
||||
/*
|
||||
* QUERY 2 - Eliminazione di una caratteristica associata a un prodotto
|
||||
* Input: $idProdotto, $idCaratteristica
|
||||
* Output: numero di righe eliminate/esito
|
||||
* TODO SQL: implementare manualmente la Query 2.
|
||||
*/$messaggio="Query 2 predisposta: eliminazione non ancora eseguita.";
|
||||
}elseif(postMethod()){
|
||||
/* TODO SQL DI SUPPORTO - Inserire/modificare caratteristica o gruppo esclusione.
|
||||
* Input: campi POST corrispondenti allo schema. Output: esito. */$messaggio="Salvataggio predisposto: completare il TODO SQL.";}
|
||||
$pageTitle="Caratteristiche";$basePath="..";require __DIR__."/../includes/header.php";
|
||||
?>
|
||||
<h1 class="h3">Caratteristiche dei prodotti</h1><?php if($messaggio):?><div class="alert alert-warning"><?=e($messaggio)?></div><?php endif;?>
|
||||
<form method="get" class="card card-body mb-3"><div class="row align-items-end"><div class="col-md-6"><label class="form-label" for="filtroProdotto">Prodotto</label><select class="form-select" id="filtroProdotto" name="idProdotto"><option value="">Tutti</option><?php foreach($prodotti as $p):?><option value="<?=e($p["idProdotto"])?>" <?=$idProdotto==($p["idProdotto"]??null)?"selected":""?>><?=e($p["nome"])?></option><?php endforeach;?></select></div><div class="col-md-3 mt-2"><button class="btn btn-primary">Filtra</button></div></div></form>
|
||||
<?php if(!$caratteristiche):?><div class="alert alert-info">Completare il TODO SQL per caricare le caratteristiche.</div><?php endif;?><div class="table-responsive"><table class="table table-striped"><thead><tr><th>Prodotto</th><th>Nome</th><th>Differenza</th><th>Default</th><th>Gruppo</th><th></th></tr></thead><tbody><?php foreach($caratteristiche as $c):?><tr><td><?=e($c["nomeProdotto"])?></td><td><?=e($c["nome"])?></td><td>€ <?=e($c["differenzaPrezzo"])?></td><td><?=!empty($c["predefinita"])?"Sì":"No"?></td><td><?=e($c["nomeGruppo"]??"—")?></td><td><form method="post"><input type="hidden" name="azione" value="elimina"><input type="hidden" name="idProdotto" value="<?=e($c["idProdotto"])?>"><input type="hidden" name="idCaratteristica" value="<?=e($c["idCaratteristica"])?>"><button class="btn btn-sm btn-danger">Elimina (Q2)</button></form></td></tr><?php endforeach;?></tbody></table></div>
|
||||
<form method="post" class="card card-body shadow-sm"><h2 class="h5">Nuova caratteristica</h2><input type="hidden" name="azione" value="salva"><div class="row g-3"><div class="col-md-4"><label class="form-label">ID caratteristica</label><input class="form-control" type="number" min="1" name="idCaratteristica" required></div><div class="col-md-4"><label class="form-label">ID prodotto</label><input class="form-control" type="number" min="1" name="idProdotto" required></div><div class="col-md-4"><label class="form-label">Nome</label><input class="form-control" name="nome" required></div><div class="col-md-8"><label class="form-label">Descrizione</label><textarea class="form-control" name="descrizione" required></textarea></div><div class="col-md-4"><label class="form-label">Differenza prezzo</label><input class="form-control" type="number" min="0" step=".01" name="differenzaPrezzo" required></div><div class="col-md-4"><label class="form-label">ID gruppo (opzionale)</label><input class="form-control" type="number" min="1" name="idGruppoEsclusione"></div><div class="col-md-4 form-check mt-5"><input class="form-check-input" type="checkbox" name="predefinita" value="1" id="predefinita"><label class="form-check-label" for="predefinita">Predefinita</label></div><div class="col-md-4 form-check mt-5"><input class="form-check-input" type="checkbox" name="disponibile" value="1" id="disponibile"><label class="form-check-label" for="disponibile">Disponibile</label></div></div><button class="btn btn-primary mt-3">Salva</button></form>
|
||||
<?php require __DIR__."/../includes/footer.php";?>
|
||||
Executable
+16
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
require_once __DIR__ . "/../includes/auth.php";
|
||||
requireRole("proprietario");
|
||||
$pageTitle = "Dashboard proprietario"; $basePath = "..";
|
||||
require __DIR__ . "/../includes/header.php";
|
||||
?>
|
||||
<h1 class="h3">Dashboard proprietario</h1><p>Gestione dell'attività e monitoraggio.</p>
|
||||
<div class="row g-3"><?php foreach ([
|
||||
["Ordini", "Monitora ordini passati, attivi ed evasi", "ordini.php"],
|
||||
["Prodotti", "Anagrafica, ingredienti e preparazione", "prodotti.php"],
|
||||
["Caratteristiche", "Personalizzazioni e gruppi di esclusione", "caratteristiche.php"],
|
||||
["Menu", "Disponibilità dei prodotti", "menu.php"],
|
||||
["Personale", "Registra membri del personale", "personale.php"],
|
||||
["Statistiche", "Report delle operazioni aggregate", "statistiche.php"],
|
||||
] as [$t,$d,$u]): ?><div class="col-md-6 col-lg-4"><div class="card h-100 shadow-sm"><div class="card-body"><h2 class="h5"><?= e($t) ?></h2><p><?= e($d) ?></p><a class="btn btn-primary" href="<?= e($u) ?>">Apri</a></div></div></div><?php endforeach; ?></div>
|
||||
<?php require __DIR__ . "/../includes/footer.php"; ?>
|
||||
Executable
+10
@@ -0,0 +1,10 @@
|
||||
<?php
|
||||
require_once __DIR__."/../includes/auth.php";requireRole("proprietario");require_once __DIR__."/../config/database.php";
|
||||
$prodotti=[];$messaggio=null;$idProdotto=filter_input(INPUT_POST,"idProdotto",FILTER_VALIDATE_INT);$disponibile=isset($_POST["disponibile"])?1:0;
|
||||
/* TODO SQL DI SUPPORTO - Elencare prodotti con disponibilità. Output: idProdotto, nome, prezzoBase, disponibile. */
|
||||
if(postMethod()){/* TODO SQL DI SUPPORTO - Aggiornare prodotto.disponibile. Input: $idProdotto, $disponibile. Output: esito. */$messaggio="Disponibilità predisposta: completare il TODO SQL.";}
|
||||
$pageTitle="Gestione menu";$basePath="..";require __DIR__."/../includes/header.php";
|
||||
?>
|
||||
<h1 class="h3">Composizione menu</h1><p>La disponibilità determina quali prodotti vengono proposti al cliente.</p><?php if($messaggio):?><div class="alert alert-warning"><?=e($messaggio)?></div><?php endif;?><?php if(!$prodotti):?><div class="alert alert-info">Completare il TODO SQL per caricare il menu.</div><?php endif;?>
|
||||
<?php foreach($prodotti as $p):?><form method="post" class="card card-body mb-2 d-flex flex-row justify-content-between align-items-center"><input type="hidden" name="idProdotto" value="<?=e($p["idProdotto"])?>"><div><strong><?=e($p["nome"])?></strong><br>€ <?=e($p["prezzoBase"])?></div><div class="form-check form-switch"><input class="form-check-input" type="checkbox" name="disponibile" id="p<?=e($p["idProdotto"])?>" <?=!empty($p["disponibile"])?"checked":""?>><label class="form-check-label" for="p<?=e($p["idProdotto"])?>">Disponibile</label></div><button class="btn btn-sm btn-primary">Aggiorna</button></form><?php endforeach;?>
|
||||
<?php require __DIR__."/../includes/footer.php";?>
|
||||
Executable
+20
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
require_once __DIR__."/../includes/auth.php";requireRole("proprietario");require_once __DIR__."/../config/database.php";
|
||||
$idOrdine=filter_input(INPUT_GET,"idOrdine",FILTER_VALIDATE_INT);$stato=trim($_GET["stato"]??"");$ordini=[];$personaleOrdine=[];
|
||||
/* TODO SQL DI SUPPORTO - Monitorare ordini passati, attivi ed evasi.
|
||||
* Input: $stato. Output: idOrdine, cliente, dataOraCreazione, statoConferma,
|
||||
* nomeStato, orarioConsegna, totale, indirizzo. */
|
||||
if($idOrdine){
|
||||
/*
|
||||
* QUERY 13 - Membri del personale che hanno lavorato a un ordine
|
||||
* Input: $idOrdine
|
||||
* Output atteso: idUtente, nome, cognome, email, numeroCambiStato,
|
||||
* primoIntervento, ultimoIntervento
|
||||
* TODO SQL: implementare manualmente la Query 13.
|
||||
*/}
|
||||
$pageTitle="Monitoraggio ordini";$basePath="..";require __DIR__."/../includes/header.php";
|
||||
?>
|
||||
<h1 class="h3">Monitoraggio ordini</h1><form method="get" class="card card-body mb-3"><div class="row g-3 align-items-end"><div class="col-md-4"><label class="form-label">Stato</label><select class="form-select" name="stato"><option value="">Tutti</option><?php foreach(["inserito","in preparazione","pronto","in consegna","consegnato"] as $s):?><option <?=$stato===$s?"selected":""?>><?=e($s)?></option><?php endforeach;?></select></div><div class="col-md-4"><label class="form-label">ID ordine per personale (Q13)</label><input class="form-control" type="number" min="1" name="idOrdine" value="<?=e($idOrdine)?>"></div><div class="col-md-2"><button class="btn btn-primary">Applica</button></div></div></form>
|
||||
<?php if(!$ordini):?><div class="alert alert-info">Completare il TODO SQL per visualizzare gli ordini.</div><?php endif;?><div class="table-responsive"><table class="table table-striped"><thead><tr><th>ID</th><th>Cliente</th><th>Creazione</th><th>Conferma</th><th>Stato</th><th>Consegna</th><th>Totale</th></tr></thead><tbody><?php foreach($ordini as $o):?><tr><td><?=e($o["idOrdine"])?></td><td><?=e($o["cliente"])?></td><td><?=e($o["dataOraCreazione"])?></td><td><?=e($o["statoConferma"])?></td><td><?=e($o["nomeStato"]??"—")?></td><td><?=e($o["orarioConsegna"])?></td><td>€ <?=e($o["totale"])?></td></tr><?php endforeach;?></tbody></table></div>
|
||||
<?php if($idOrdine):?><div class="card card-body mt-4"><h2 class="h5">Personale dell'ordine #<?=e($idOrdine)?> (Q13)</h2><?php if(!$personaleOrdine):?><p class="text-muted">Risultati disponibili dopo la Query 13.</p><?php endif;?><table class="table"><thead><tr><th>Nome</th><th>Email</th><th>Cambi stato</th><th>Primo</th><th>Ultimo</th></tr></thead><tbody><?php foreach($personaleOrdine as $p):?><tr><td><?=e($p["nome"]." ".$p["cognome"])?></td><td><?=e($p["email"])?></td><td><?=e($p["numeroCambiStato"])?></td><td><?=e($p["primoIntervento"])?></td><td><?=e($p["ultimoIntervento"])?></td></tr><?php endforeach;?></tbody></table></div><?php endif;?>
|
||||
<?php require __DIR__."/../includes/footer.php";?>
|
||||
Executable
+14
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
require_once __DIR__."/../includes/auth.php";requireRole("proprietario");require_once __DIR__."/../config/database.php";
|
||||
$personale=[];$messaggio=null;
|
||||
/* TODO SQL DI SUPPORTO - Elencare membri del personale.
|
||||
* Output: idUtente, nome, cognome, email, attivo, dataRegistrazione. */
|
||||
if(postMethod()){
|
||||
$nome=trim($_POST["nome"]??"");$cognome=trim($_POST["cognome"]??"");$email=trim($_POST["email"]??"");$password=$_POST["password"]??"";$passwordHash=$password!==""?password_hash($password,PASSWORD_DEFAULT):null;
|
||||
/* TODO SQL DI SUPPORTO - Registrare utente e specializzazione personale in transazione.
|
||||
* Input: $nome, $cognome, $email, $passwordHash. Output: idUtente creato.
|
||||
* dataRegistrazione deve essere valorizzata secondo lo schema. */$messaggio="Registrazione predisposta: completare il TODO SQL.";}
|
||||
$pageTitle="Gestione personale";$basePath="..";require __DIR__."/../includes/header.php";
|
||||
?>
|
||||
<h1 class="h3">Personale</h1><?php if($messaggio):?><div class="alert alert-warning"><?=e($messaggio)?></div><?php endif;?><div class="row g-4"><div class="col-lg-7"><table class="table table-striped"><thead><tr><th>Nome</th><th>Email</th><th>Registrazione</th><th>Attivo</th></tr></thead><tbody><?php foreach($personale as $p):?><tr><td><?=e($p["nome"]." ".$p["cognome"])?></td><td><?=e($p["email"])?></td><td><?=e($p["dataRegistrazione"])?></td><td><?=!empty($p["attivo"])?"Sì":"No"?></td></tr><?php endforeach;?></tbody></table><?php if(!$personale):?><div class="alert alert-info">Completare il TODO SQL per visualizzare il personale.</div><?php endif;?></div><div class="col-lg-5"><form method="post" class="card card-body shadow-sm"><h2 class="h5">Registra membro</h2><label class="form-label">Nome</label><input class="form-control mb-3" name="nome" required><label class="form-label">Cognome</label><input class="form-control mb-3" name="cognome" required><label class="form-label">Email</label><input class="form-control mb-3" type="email" name="email" required><label class="form-label">Password iniziale</label><input class="form-control mb-3" type="password" name="password" required><button class="btn btn-primary">Registra</button></form></div></div>
|
||||
<?php require __DIR__."/../includes/footer.php";?>
|
||||
Executable
+15
@@ -0,0 +1,15 @@
|
||||
<?php
|
||||
require_once __DIR__ . "/../includes/auth.php"; requireRole("proprietario");
|
||||
require_once __DIR__ . "/../config/database.php";
|
||||
$azione = $_POST["azione"] ?? null; $prodotti = []; $messaggio = null;
|
||||
/* TODO SQL DI SUPPORTO - Elencare i prodotti.
|
||||
* Output: idProdotto, nome, descrizione, prezzoBase, tempoPreparazione, disponibile. */
|
||||
if (postMethod()) { /* TODO SQL DI SUPPORTO - Inserire/modificare un prodotto.
|
||||
* Input POST: idProdotto, nome, descrizione, prezzoBase, tempoPreparazione,
|
||||
* proceduraPreparazione, disponibile. Output: esito. */ $messaggio = "Salvataggio predisposto: completare il TODO SQL."; }
|
||||
$pageTitle="Gestione prodotti"; $basePath=".."; require __DIR__."/../includes/header.php";
|
||||
?>
|
||||
<h1 class="h3">Gestione prodotti</h1><?php if($messaggio):?><div class="alert alert-warning"><?=e($messaggio)?></div><?php endif;?>
|
||||
<div class="row g-4"><div class="col-lg-7"><div class="table-responsive"><table class="table table-striped"><thead><tr><th>ID</th><th>Nome</th><th>Prezzo</th><th>Tempo</th><th>Disponibile</th><th></th></tr></thead><tbody><?php foreach($prodotti as $p):?><tr><td><?=e($p["idProdotto"])?></td><td><?=e($p["nome"])?></td><td>€ <?=e($p["prezzoBase"])?></td><td><?=e($p["tempoPreparazione"])?> min</td><td><?=!empty($p["disponibile"])?"Sì":"No"?></td><td><a class="btn btn-sm btn-outline-primary" href="prodotto.php?idProdotto=<?=e($p["idProdotto"])?>">Dettaglio</a></td></tr><?php endforeach;?></tbody></table></div><?php if(!$prodotti):?><div class="alert alert-info">Completare il TODO SQL per caricare i prodotti.</div><?php endif;?></div>
|
||||
<div class="col-lg-5"><form method="post" class="card card-body shadow-sm"><h2 class="h5">Nuovo prodotto</h2><input type="hidden" name="azione" value="inserisci"><label class="form-label" for="idProdotto">ID prodotto</label><input class="form-control mb-3" type="number" min="1" id="idProdotto" name="idProdotto" required><label class="form-label" for="nome">Nome</label><input class="form-control mb-3" id="nome" name="nome" required><label class="form-label" for="descrizione">Descrizione</label><textarea class="form-control mb-3" id="descrizione" name="descrizione" required></textarea><div class="row"><div class="col"><label class="form-label" for="prezzoBase">Prezzo base</label><input class="form-control mb-3" type="number" min="0" step="0.01" id="prezzoBase" name="prezzoBase" required></div><div class="col"><label class="form-label" for="tempoPreparazione">Minuti</label><input class="form-control mb-3" type="number" min="0" id="tempoPreparazione" name="tempoPreparazione" required></div></div><label class="form-label" for="proceduraPreparazione">Procedura</label><textarea class="form-control mb-3" id="proceduraPreparazione" name="proceduraPreparazione" required></textarea><div class="form-check mb-3"><input class="form-check-input" type="checkbox" id="disponibile" name="disponibile" value="1"><label class="form-check-label" for="disponibile">Disponibile</label></div><button class="btn btn-primary">Salva</button></form></div></div>
|
||||
<?php require __DIR__."/../includes/footer.php";?>
|
||||
Executable
+12
@@ -0,0 +1,12 @@
|
||||
<?php
|
||||
require_once __DIR__."/../includes/auth.php"; requireRole("proprietario"); require_once __DIR__."/../config/database.php";
|
||||
$idProdotto=filter_input(INPUT_GET,"idProdotto",FILTER_VALIDATE_INT)?:filter_input(INPUT_POST,"idProdotto",FILTER_VALIDATE_INT); $prodotto=null; $ingredienti=[]; $messaggio=null;
|
||||
/* TODO SQL DI SUPPORTO - Caricare prodotto e ingredienti con quantità.
|
||||
* Input: $idProdotto. Output: campi prodotto; idIngrediente, nomeIngrediente, unitaMisura, quantita. */
|
||||
if(postMethod()){ /* TODO SQL DI SUPPORTO - Modificare prodotto e associazioni ingrediente.
|
||||
* Input: $idProdotto e campi POST aderenti allo schema. Output: esito. */ $messaggio="Modifica predisposta: completare il TODO SQL."; }
|
||||
$pageTitle="Dettaglio prodotto";$basePath="..";require __DIR__."/../includes/header.php";
|
||||
?>
|
||||
<h1 class="h3">Dettaglio prodotto #<?=e($idProdotto?:"—")?></h1><?php if($messaggio):?><div class="alert alert-warning"><?=e($messaggio)?></div><?php endif;?><?php if(!$prodotto):?><div class="alert alert-info">Dati disponibili dopo il TODO SQL.</div><?php endif;?>
|
||||
<div class="row g-4"><div class="col-lg-7"><form method="post" class="card card-body shadow-sm"><input type="hidden" name="idProdotto" value="<?=e($idProdotto)?>"><label class="form-label">Nome</label><input class="form-control mb-3" name="nome" value="<?=e($prodotto["nome"]??"")?>" required><label class="form-label">Descrizione</label><textarea class="form-control mb-3" name="descrizione" required><?=e($prodotto["descrizione"]??"")?></textarea><label class="form-label">Procedura preparazione</label><textarea class="form-control mb-3" name="proceduraPreparazione" required><?=e($prodotto["proceduraPreparazione"]??"")?></textarea><div class="row"><div class="col"><label class="form-label">Prezzo</label><input class="form-control mb-3" type="number" min="0" step=".01" name="prezzoBase" value="<?=e($prodotto["prezzoBase"]??"")?>" required></div><div class="col"><label class="form-label">Tempo</label><input class="form-control mb-3" type="number" min="0" name="tempoPreparazione" value="<?=e($prodotto["tempoPreparazione"]??"")?>" required></div></div><button class="btn btn-primary">Salva modifiche</button></form></div><div class="col-lg-5"><div class="card card-body shadow-sm"><h2 class="h5">Ingredienti</h2><table class="table"><thead><tr><th>Ingrediente</th><th>Quantità</th></tr></thead><tbody><?php foreach($ingredienti as $i):?><tr><td><?=e($i["nomeIngrediente"])?></td><td><?=e($i["quantita"]." ".$i["unitaMisura"])?></td></tr><?php endforeach;?></tbody></table><p class="small text-muted">La gestione delle associazioni è predisposta nel TODO SQL di supporto.</p></div></div></div>
|
||||
<?php require __DIR__."/../includes/footer.php";?>
|
||||
Executable
+42
@@ -0,0 +1,42 @@
|
||||
<?php
|
||||
require_once __DIR__."/../includes/auth.php";requireRole("proprietario");require_once __DIR__."/../config/database.php";
|
||||
$report=$_GET["report"]??null;$anno=filter_input(INPUT_GET,"anno",FILTER_VALIDATE_INT);$data=$_GET["data"]??null;
|
||||
$tempiMedi=[];$classifica=[];$incasso=null;$consumi=[];$ordiniSmaltiti=null;
|
||||
|
||||
if($report==="q6"){
|
||||
/* QUERY 6 - Tempo medio tra "in consegna" e "consegnato" per addetto.
|
||||
* Input: nessuno. Output: idUtente, nome, cognome, numeroConsegne, tempoMedioMinuti.
|
||||
* TODO SQL: implementare manualmente la Query 6. */
|
||||
}
|
||||
if($report==="q7"){
|
||||
/* QUERY 7 - Classifica di gradimento dei prodotti.
|
||||
* Input: nessuno. Output: idProdotto, nome, numeroOrdini, quantitaTotale, posizione.
|
||||
* TODO SQL: implementare manualmente la Query 7. */
|
||||
}
|
||||
if($report==="q8"&&$data){
|
||||
/* QUERY 8 - Calcolo dell'incasso giornaliero.
|
||||
* Input: $data. Output atteso: incasso, numeroOrdini.
|
||||
* TODO SQL: implementare manualmente la Query 8. */
|
||||
}
|
||||
if($report==="q9"&&$anno){
|
||||
/* QUERY 9 - Prospetto del consumo di ingredienti in un anno.
|
||||
* Input: $anno. Output: idIngrediente, nome, unitaMisura, quantitaConsumata.
|
||||
* TODO SQL: implementare manualmente la Query 9. */
|
||||
}
|
||||
if($report==="q12"&&$data){
|
||||
/* QUERY 12 - Conteggio degli ordini consegnati in uno specifico giorno.
|
||||
* Input: $data. Output atteso: numeroOrdiniConsegnati.
|
||||
* TODO SQL: implementare manualmente la Query 12. */
|
||||
}
|
||||
$pageTitle="Statistiche";$basePath="..";require __DIR__."/../includes/header.php";
|
||||
?>
|
||||
<h1 class="h3">Statistiche</h1><p class="text-muted">Ogni sezione corrisponde a un'operazione aggregata della specifica.</p>
|
||||
<div class="row g-4">
|
||||
<div class="col-lg-6"><section class="card h-100 shadow-sm"><div class="card-body"><h2 class="h5">Q6 — Tempo medio di consegna</h2><form method="get" class="mb-3"><input type="hidden" name="report" value="q6"><button class="btn btn-primary">Calcola per addetto</button></form><?php if($report==="q6"&&!$tempiMedi):?><div class="alert alert-info">Implementare la Query 6.</div><?php endif;?><table class="table"><thead><tr><th>Addetto</th><th>Consegne</th><th>Media (min)</th></tr></thead><tbody><?php foreach($tempiMedi as $r):?><tr><td><?=e($r["nome"]." ".$r["cognome"])?></td><td><?=e($r["numeroConsegne"])?></td><td><?=e($r["tempoMedioMinuti"])?></td></tr><?php endforeach;?></tbody></table></div></section></div>
|
||||
<div class="col-lg-6"><section class="card h-100 shadow-sm"><div class="card-body"><h2 class="h5">Q7 — Classifica prodotti</h2><form method="get" class="mb-3"><input type="hidden" name="report" value="q7"><button class="btn btn-primary">Genera classifica</button></form><?php if($report==="q7"&&!$classifica):?><div class="alert alert-info">Implementare la Query 7.</div><?php endif;?><table class="table"><thead><tr><th>#</th><th>Prodotto</th><th>Ordini</th><th>Quantità</th></tr></thead><tbody><?php foreach($classifica as $n=>$r):?><tr><td><?=e($r["posizione"]??$n+1)?></td><td><?=e($r["nome"])?></td><td><?=e($r["numeroOrdini"])?></td><td><?=e($r["quantitaTotale"])?></td></tr><?php endforeach;?></tbody></table></div></section></div>
|
||||
<div class="col-lg-6"><section class="card h-100 shadow-sm"><div class="card-body"><h2 class="h5">Q8 — Incasso giornaliero</h2><form method="get"><input type="hidden" name="report" value="q8"><label class="form-label" for="dataQ8">Giorno</label><input class="form-control mb-3" type="date" id="dataQ8" name="data" value="<?=e($report==="q8"?$data:"")?>" required><button class="btn btn-primary">Calcola</button></form><?php if($report==="q8"):?><hr><p class="display-6">€ <?=e($incasso["incasso"]??"—")?></p><p>Ordini conteggiati: <?=e($incasso["numeroOrdini"]??"—")?></p><div class="alert alert-info">Implementare la Query 8.</div><?php endif;?></div></section></div>
|
||||
<div class="col-lg-6"><section class="card h-100 shadow-sm"><div class="card-body"><h2 class="h5">Q9 — Consumo ingredienti</h2><form method="get"><input type="hidden" name="report" value="q9"><label class="form-label" for="anno">Anno</label><input class="form-control mb-3" type="number" min="2000" max="2100" id="anno" name="anno" value="<?=e($anno?:date("Y"))?>" required><button class="btn btn-primary">Genera prospetto</button></form><?php if($report==="q9"&&!$consumi):?><div class="alert alert-info mt-3">Implementare la Query 9.</div><?php endif;?><table class="table mt-3"><thead><tr><th>Ingrediente</th><th>Consumo</th></tr></thead><tbody><?php foreach($consumi as $r):?><tr><td><?=e($r["nome"])?></td><td><?=e($r["quantitaConsumata"]." ".$r["unitaMisura"])?></td></tr><?php endforeach;?></tbody></table></div></section></div>
|
||||
<div class="col-lg-6"><section class="card h-100 shadow-sm"><div class="card-body"><h2 class="h5">Q12 — Ordini consegnati nel giorno</h2><form method="get"><input type="hidden" name="report" value="q12"><label class="form-label" for="dataQ12">Giorno</label><input class="form-control mb-3" type="date" id="dataQ12" name="data" value="<?=e($report==="q12"?$data:"")?>" required><button class="btn btn-primary">Conta</button></form><?php if($report==="q12"):?><hr><p class="display-6"><?=e($ordiniSmaltiti["numeroOrdiniConsegnati"]??"—")?></p><div class="alert alert-info">Implementare la Query 12.</div><?php endif;?></div></section></div>
|
||||
<div class="col-lg-6"><section class="card h-100 shadow-sm"><div class="card-body"><h2 class="h5">Ordini attivi</h2><p>Il conteggio diviso per stato corrisponde alla <strong>Query 11</strong> ed è predisposto nella dashboard del personale.</p><a class="btn btn-outline-primary" href="ordini.php">Monitora gli ordini</a><p class="small text-muted mt-3 mb-0">La pagina proprietario consente il monitoraggio, mentre il conteggio operativo Q11 resta protetto per il ruolo personale.</p></div></section></div>
|
||||
</div>
|
||||
<?php require __DIR__."/../includes/footer.php";?>
|
||||
Reference in New Issue
Block a user