51 lines
1.6 KiB
PHP
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()]);
|
|
}
|