where('tenant_id', $tenantId) ->where('name', '일일자금일보') ->first(); if (! $dailyFundMenu) { $this->command->error('일일자금일보 메뉴를 찾을 수 없습니다.'); return; } $parentId = $dailyFundMenu->parent_id; // 일반전표입력 메뉴가 이미 있는지 확인 $existingMenu = Menu::withoutGlobalScopes() ->where('tenant_id', $tenantId) ->where('name', '일반전표입력') ->where('parent_id', $parentId) ->first(); if ($existingMenu) { $this->command->info('일반전표입력 메뉴가 이미 존재합니다.'); return; } // 일일자금일보 바로 다음 sort_order로 추가 $newSortOrder = $dailyFundMenu->sort_order + 1; // 기존 메뉴들의 sort_order를 밀어내기 Menu::withoutGlobalScopes() ->where('parent_id', $parentId) ->where('tenant_id', $tenantId) ->where('sort_order', '>=', $newSortOrder) ->increment('sort_order'); $menu = Menu::create([ 'tenant_id' => $tenantId, 'parent_id' => $parentId, 'name' => '일반전표입력', 'url' => '/finance/journal-entries', 'icon' => 'file-text', 'sort_order' => $newSortOrder, 'is_active' => true, ]); $this->command->info("일반전표입력 메뉴 생성: {$menu->url} (sort_order: {$newSortOrder})"); // 결과 출력 $this->command->info(''); $this->command->info('=== 같은 그룹 하위 메뉴 ==='); $children = Menu::withoutGlobalScopes() ->where('parent_id', $parentId) ->where('tenant_id', $tenantId) ->orderBy('sort_order') ->get(['name', 'url', 'sort_order']); foreach ($children as $child) { $this->command->info("{$child->sort_order}. {$child->name} ({$child->url})"); } } }