prepare( "SELECT r.*, c.name AS company_name, i.invoice_number FROM risk_scores r LEFT JOIN companies c ON c.id = r.company_id LEFT JOIN invoices i ON i.id = r.invoice_id WHERE r.tenant_id = ? AND r.is_resolved = 0 ORDER BY r.score ASC, r.created_at DESC" ); $stmt->execute([$request->tenantId]); Response::json([ 'success' => true, 'data' => $stmt->fetchAll(), ]); } public function resolve(Request $request, string $id): void { $db = Database::getInstance(); $resolvedBy = $request->user->user_id ?? null; $stmt = $db->prepare( "UPDATE risk_scores SET is_resolved = 1, resolved_by = ?, resolved_at = NOW() WHERE id = ? AND tenant_id = ?" ); $stmt->execute([$resolvedBy, $id, $request->tenantId]); if ($stmt->rowCount() === 0) { Response::error('تنبيه المخاطر غير موجود', 'NOT_FOUND', 404); return; } Response::json([ 'success' => true, 'message' => 'تم حل التنبيه بنجاح', ]); } }