145 lines
3.6 KiB
PHP
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;
|
|
}
|