integer('id')->description('要删除的主数据 ID。')->required() ->boolean('confirmed')->description('用户是否已明确确认删除。必须为 true 才执行。')->required(); } public function handle(array $arguments): ToolResult { $id = (int) ($arguments['id'] ?? 0); $confirmed = (bool) ($arguments['confirmed'] ?? false); if (! $confirmed) { return ToolResult::error('未确认删除。请先 getMasterDetail 列出将删除的内容,征得用户确认后再传 confirmed=true。'); } $detail = $this->bomService->getBomDetail($id); if ($detail === false) { return ToolResult::error("主数据不存在或无权访问:{$id}"); } $bom = $detail['bom'] ?? []; $itemCount = count($detail['items'] ?? []); $label = trim((string) ($bom['bomNo'] ?? '').' '.(string) ($bom['productName'] ?? '')); if ($this->bomService->deleteBom($id)) { return ToolResult::text("主数据已删除:{$label}(ID {$id}),连同 {$itemCount} 行明细一并删除。"); } return ToolResult::error('删除失败(可能无权限)。'); } }