Files

51 lines
1.6 KiB
PHP

<?php
include('include/headscript.php');
header('Content-Type: application/json; charset=utf-8');
$id = isset($_POST['id']) ? (int)$_POST['id'] : 0;
if ($id <= 0) {
echo json_encode(['success' => false, 'message' => 'ID mescola non valido']);
exit;
}
try {
$pdo = DBHandlerSelect::getInstance()->getConnection();
// Blocca la cancellazione se ci sono dati collegati: meglio disattivare
$chk = $pdo->prepare("SELECT COUNT(*) FROM mescole_supplier_lots WHERE idmescola = ?");
$chk->execute([$id]);
$nLotti = (int)$chk->fetchColumn();
$chk = $pdo->prepare("SELECT COUNT(*) FROM mescole_files WHERE idmescola = ?");
$chk->execute([$id]);
$nFile = (int)$chk->fetchColumn();
if ($nLotti > 0 || $nFile > 0) {
$parti = [];
if ($nLotti > 0) $parti[] = $nLotti . ' lotto/i fornitore';
if ($nFile > 0) $parti[] = $nFile . ' file';
echo json_encode([
'success' => false,
'message' => 'Impossibile eliminare: la mescola ha ' . implode(' e ', $parti)
. '. Rimuovili prima, oppure disattiva la mescola.'
]);
exit;
}
$pdo->beginTransaction();
// Le associazioni con le linee non sono dati storici: si possono rimuovere
$pdo->prepare("DELETE FROM mescole_lines WHERE idmescola = ?")->execute([$id]);
$pdo->prepare("DELETE FROM mescole WHERE id = ?")->execute([$id]);
$pdo->commit();
echo json_encode(['success' => true]);
} catch (Throwable $e) {
if (isset($pdo) && $pdo->inTransaction()) {
$pdo->rollBack();
}
echo json_encode(['success' => false, 'message' => 'Errore database: ' . $e->getMessage()]);
}