fix:수당 정산 탭 테넌트 표시를 실제 고객사 기반으로 수정

- eager loading에 management.tenant, management.tenantProspect 추가
- 검색 필터를 management 기반 고객사명 검색으로 변경
- 테넌트 컬럼을 management→tenant/tenantProspect 기반으로 표시
- 본사 진행상태(hq_status) 배지 추가
- 입금액 0원일 때 '-' 표시로 개선

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
김보곤
2026-02-19 14:24:44 +09:00
parent a1aa6036cf
commit d2b099a166
2 changed files with 35 additions and 8 deletions

View File

@@ -32,7 +32,7 @@ class SalesCommissionService
public function getCommissions(array $filters = [], int $perPage = 20): LengthAwarePaginator
{
$query = SalesCommission::query()
->with(['tenant', 'partner.user', 'manager', 'management', 'referrerPartner.user']);
->with(['tenant', 'partner.user', 'manager', 'management.tenant', 'management.tenantProspect', 'referrerPartner.user']);
// 상태 필터
if (!empty($filters['status'])) {
@@ -77,12 +77,17 @@ public function getCommissions(array $filters = [], int $perPage = 20): LengthAw
}
}
// 테넌트 검색
// 고객사 검색 (management → tenant 또는 tenantProspect)
if (!empty($filters['search'])) {
$search = $filters['search'];
$query->whereHas('tenant', function ($q) use ($search) {
$q->where('name', 'like', "%{$search}%")
->orWhere('company_name', 'like', "%{$search}%");
$query->whereHas('management', function ($q) use ($search) {
$q->where(function ($sub) use ($search) {
$sub->whereHas('tenant', function ($tq) use ($search) {
$tq->where('company_name', 'like', "%{$search}%");
})->orWhereHas('tenantProspect', function ($tpq) use ($search) {
$tpq->where('company_name', 'like', "%{$search}%");
});
});
});
}