prepare("SELECT * FROM maint_interventions WHERE id = ?"); $stmt->execute([$id]); $intervention = $stmt->fetch(PDO::FETCH_ASSOC); if (!$intervention) { mnt_json_fail('Intervento non trovato.'); } $stmt = $pdo->prepare("SELECT stored_name FROM maint_intervention_files WHERE intervention_id = ?"); $stmt->execute([$id]); $storedNames = $stmt->fetchAll(PDO::FETCH_COLUMN); if (!empty($intervention['signature_path'])) { $storedNames[] = $intervention['signature_path']; } $pdo->prepare("DELETE FROM maint_interventions WHERE id = ?")->execute([$id]); foreach (array_filter($storedNames) as $storedName) { mnt_delete_stored_file($storedName); } // Removing the last completed intervention must roll the due date back mnt_recalc_maintenance($pdo, (int)$intervention['maintenance_id']); mnt_log( $pdo, 'intervention_deleted', (int)$intervention['equipment_id'], (int)$intervention['maintenance_id'], null, $currentUserId, null, 'Intervento del ' . $intervention['performed_at'] ); mnt_json_ok(); } catch (Throwable $e) { mnt_json_fail('Errore: ' . $e->getMessage()); }