fix:중복 정산관리 메뉴 시더 제거

- 기존 재무관리 메뉴에 영업수수료 정산이 이미 존재
- 중복 생성한 정산관리 > 영업수수료정산 메뉴 시더 삭제
- DB에서 중복 메뉴 정리 및 기존 메뉴 URL 업데이트

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
pro
2026-01-29 19:17:50 +09:00
parent 5d7de6d13b
commit 154312798a

View File

@@ -1,101 +0,0 @@
<?php
namespace Database\Seeders;
use App\Models\Commons\Menu;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
/**
* 영업수수료정산 메뉴 시더
*
* 실행 방법:
* docker exec sam-mng-1 php artisan db:seed --class=SalesCommissionMenuSeeder
*/
class SalesCommissionMenuSeeder extends Seeder
{
public function run(): void
{
// 재무관리 메뉴 찾기 (tenant_id = 1인 HQ 테넌트용)
$financeMenu = Menu::withoutGlobalScopes()
->where('tenant_id', 1)
->where('name', '재무관리')
->first();
if (!$financeMenu) {
$this->command->warn('재무관리 메뉴를 찾을 수 없습니다. 먼저 재무관리 메뉴를 생성해주세요.');
return;
}
// 정산관리 서브메뉴 찾기 또는 생성
$settlementMenu = Menu::withoutGlobalScopes()
->where('tenant_id', 1)
->where('parent_id', $financeMenu->id)
->where('name', '정산관리')
->first();
if (!$settlementMenu) {
// 정산관리 메뉴가 없으면 생성
$maxOrder = Menu::withoutGlobalScopes()
->where('tenant_id', 1)
->where('parent_id', $financeMenu->id)
->max('sort_order') ?? 0;
$settlementMenu = Menu::create([
'tenant_id' => 1,
'parent_id' => $financeMenu->id,
'name' => '정산관리',
'url' => '#',
'icon' => 'calculator',
'is_active' => true,
'hidden' => false,
'sort_order' => $maxOrder + 1,
]);
$this->command->info('정산관리 메뉴를 생성했습니다.');
}
// 영업수수료정산 메뉴 추가/업데이트
$existingMenu = Menu::withoutGlobalScopes()
->where('tenant_id', 1)
->where('parent_id', $settlementMenu->id)
->where('url', '/finance/sales-commissions')
->first();
if ($existingMenu) {
$existingMenu->update([
'name' => '영업수수료정산',
'is_active' => true,
'hidden' => false,
'options' => [
'route_name' => 'finance.sales-commissions.index',
'description' => '영업파트너 및 매니저 수당 정산 관리',
],
]);
$this->command->info('영업수수료정산 메뉴를 업데이트했습니다.');
} else {
$maxOrder = Menu::withoutGlobalScopes()
->where('tenant_id', 1)
->where('parent_id', $settlementMenu->id)
->max('sort_order') ?? 0;
Menu::create([
'tenant_id' => 1,
'parent_id' => $settlementMenu->id,
'name' => '영업수수료정산',
'url' => '/finance/sales-commissions',
'icon' => 'currency-dollar',
'is_active' => true,
'hidden' => false,
'sort_order' => $maxOrder + 1,
'options' => [
'route_name' => 'finance.sales-commissions.index',
'description' => '영업파트너 및 매니저 수당 정산 관리',
],
]);
$this->command->info('영업수수료정산 메뉴를 생성했습니다.');
}
$this->command->info('메뉴 시더 완료!');
}
}