zibo-dashboard/public/userarea/update_mescola_supplier_lot.php
2026-04-01 14:57:20 +02:00

145 lines
3.6 KiB
PHP

<?php
header('Content-Type: application/json; charset=utf-8');
ini_set('display_errors', '0');
error_reporting(E_ALL);
try {
require_once __DIR__ . '/class/db-functions.php';
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
echo json_encode([
'success' => false,
'message' => 'Metodo non consentito'
]);
exit;
}
$id = isset($_POST['id']) ? (int)$_POST['id'] : 0;
$idmescola = isset($_POST['idmescola']) ? (int)$_POST['idmescola'] : 0;
$idsupplier = isset($_POST['idsupplier']) ? (int)$_POST['idsupplier'] : 0;
$supplier_mix_name = trim($_POST['supplier_mix_name'] ?? '');
$lot_code = trim($_POST['lot_code'] ?? '');
$expiry_date = trim($_POST['expiry_date'] ?? '');
$qty = isset($_POST['qty']) ? str_replace(',', '.', trim((string)$_POST['qty'])) : '0';
if ($id <= 0) {
echo json_encode([
'success' => false,
'message' => 'ID record non valido'
]);
exit;
}
if ($idmescola <= 0) {
echo json_encode([
'success' => false,
'message' => 'ID mescola non valido'
]);
exit;
}
if ($idsupplier <= 0) {
echo json_encode([
'success' => false,
'message' => 'Fornitore obbligatorio'
]);
exit;
}
if ($supplier_mix_name === '') {
echo json_encode([
'success' => false,
'message' => 'Il nome mescola fornitore è obbligatorio'
]);
exit;
}
if ($qty === '' || !is_numeric($qty)) {
echo json_encode([
'success' => false,
'message' => 'Quantità non valida'
]);
exit;
}
$qty = (float)$qty;
if ($expiry_date === '') {
$expiry_date = null;
} else {
$dt = DateTime::createFromFormat('Y-m-d', $expiry_date);
if (!$dt || $dt->format('Y-m-d') !== $expiry_date) {
echo json_encode([
'success' => false,
'message' => 'Data scadenza non valida'
]);
exit;
}
}
$db = DBHandlerSelect::getInstance();
$pdo = $db->getConnection();
// Verifica che il record esista
$check = $pdo->prepare("
SELECT id
FROM mescole_supplier_lots
WHERE id = ?
LIMIT 1
");
$check->execute([$id]);
if (!$check->fetch(PDO::FETCH_ASSOC)) {
echo json_encode([
'success' => false,
'message' => 'Record non trovato'
]);
exit;
}
$sql = "
UPDATE mescole_supplier_lots
SET
idmescola = :idmescola,
idsupplier = :idsupplier,
supplier_mix_name = :supplier_mix_name,
lot_code = :lot_code,
expiry_date = :expiry_date,
qty = :qty
WHERE id = :id
LIMIT 1
";
$stmt = $pdo->prepare($sql);
$ok = $stmt->execute([
':idmescola' => $idmescola,
':idsupplier' => $idsupplier,
':supplier_mix_name' => $supplier_mix_name,
':lot_code' => $lot_code !== '' ? $lot_code : null,
':expiry_date' => $expiry_date,
':qty' => $qty,
':id' => $id
]);
if ($ok) {
echo json_encode([
'success' => true,
'message' => 'Record aggiornato correttamente'
]);
exit;
}
echo json_encode([
'success' => false,
'message' => 'Aggiornamento non riuscito'
]);
exit;
} catch (Throwable $e) {
echo json_encode([
'success' => false,
'message' => 'Errore server: ' . $e->getMessage()
]);
exit;
}