# 역할/부서 권한 관리 - 테넌트별 그룹핑

## 변경 일자
2025-11-26

## 변경 목적
- "전체" 테넌트 선택 시 역할/부서가 혼합되어 표시되는 문제 해결
- 테넌트별로 그룹핑하여 가독성 향상

## 변경 파일

### 1. Controllers
| 파일 | 변경 내용 |
|------|----------|
| `app/Http/Controllers/RolePermissionController.php` | 테넌트별 역할 그룹핑 로직 추가 |
| `app/Http/Controllers/DepartmentPermissionController.php` | 테넌트별 부서 그룹핑 로직 추가 |

**주요 로직:**
```php
if ($tenantId && $tenantId !== 'all') {
    // 특정 테넌트 선택 시 기존 방식
    $roles = $rolesQuery->where('tenant_id', $tenantId)->get();
    $rolesByTenant = null;
} else {
    // 전체 선택 시 테넌트별 그룹핑
    $roles = $rolesQuery->get();
    $rolesByTenant = $roles->groupBy('tenant_id');
    $tenantIds = $rolesByTenant->keys()->filter()->toArray();
    $tenants = Tenant::whereIn('id', $tenantIds)->pluck('company_name', 'id');
}
```

### 2. Views
| 파일 | 변경 내용 |
|------|----------|
| `resources/views/role-permissions/index.blade.php` | 테넌트별 섹션 헤더 및 그룹핑 UI |
| `resources/views/department-permissions/index.blade.php` | 테넌트별 섹션 헤더 및 그룹핑 UI |

**UI 변경:**
- 전체 테넌트 선택 시: 테넌트별 섹션으로 구분 (회색 라벨)
- 선택된 역할/부서 표시: `[테넌트명] 역할명 역할` 형식
- 기존 단일 테넌트 선택 시: 기존 UI 유지

## 테스트 결과
- PHP 문법 검사: 통과
- Laravel Pint: 통과
- 브라우저 테스트: 테넌트별 그룹핑 정상 동작

## 관련 이슈
- tenants 테이블 컬럼명: `company_name` (name 아님)
