Files
scappoinspiaggianew/public/userarea/stats_save_lims_samples.php
T

37 lines
1.2 KiB
PHP

<?php
include('include/headscript.php');
header('Content-Type: application/json');
// Usa la connessione in scrittura se disponibile nel tuo progetto;
// qui riuso il pattern del resto dell'app.
$dbHandler = DBHandlerSelect::getInstance();
$pdo = $dbHandler->getConnection();
try {
$date = $_POST['date'] ?? null;
$total = $_POST['total_samples'] ?? null;
$d = $date ? DateTime::createFromFormat('Y-m-d', $date) : null;
if (!$d || $d->format('Y-m-d') !== $date) {
throw new Exception('Data non valida');
}
if (!is_numeric($total) || (int)$total < 0) {
throw new Exception('Valore campioni non valido');
}
$total = (int)$total;
// Upsert: un solo record per giornata (unique su sample_date)
$stmt = $pdo->prepare("
INSERT INTO lims_daily_samples (sample_date, total_samples)
VALUES (:d, :t)
ON DUPLICATE KEY UPDATE total_samples = VALUES(total_samples)
");
$stmt->execute(['d' => $date, 't' => $total]);
echo json_encode(['success' => true, 'date' => $date, 'total_samples' => $total]);
} catch (Exception $e) {
error_log('Save LIMS samples error: ' . $e->getMessage());
echo json_encode(['success' => false, 'message' => $e->getMessage()]);
}