From d2b099a1666fb54d44d8f8b8d3facd075c0aeec0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Thu, 19 Feb 2026 14:24:44 +0900 Subject: [PATCH] =?UTF-8?q?fix:=EC=88=98=EB=8B=B9=20=EC=A0=95=EC=82=B0=20?= =?UTF-8?q?=ED=83=AD=20=ED=85=8C=EB=84=8C=ED=8A=B8=20=ED=91=9C=EC=8B=9C?= =?UTF-8?q?=EB=A5=BC=20=EC=8B=A4=EC=A0=9C=20=EA=B3=A0=EA=B0=9D=EC=82=AC=20?= =?UTF-8?q?=EA=B8=B0=EB=B0=98=EC=9C=BC=EB=A1=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - eager loading에 management.tenant, management.tenantProspect 추가 - 검색 필터를 management 기반 고객사명 검색으로 변경 - 테넌트 컬럼을 management→tenant/tenantProspect 기반으로 표시 - 본사 진행상태(hq_status) 배지 추가 - 입금액 0원일 때 '-' 표시로 개선 Co-Authored-By: Claude Opus 4.6 --- app/Services/SalesCommissionService.php | 15 ++++++---- .../partials/commission/table.blade.php | 28 +++++++++++++++++-- 2 files changed, 35 insertions(+), 8 deletions(-) diff --git a/app/Services/SalesCommissionService.php b/app/Services/SalesCommissionService.php index 9502de54..2360f308 100644 --- a/app/Services/SalesCommissionService.php +++ b/app/Services/SalesCommissionService.php @@ -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}%"); + }); + }); }); } diff --git a/resources/views/finance/settlement/partials/commission/table.blade.php b/resources/views/finance/settlement/partials/commission/table.blade.php index 4b7505d7..e615fe33 100644 --- a/resources/views/finance/settlement/partials/commission/table.blade.php +++ b/resources/views/finance/settlement/partials/commission/table.blade.php @@ -34,8 +34,26 @@ class="commission-checkbox rounded border-gray-300 text-emerald-600 focus:ring-e @endif -
{{ $commission->tenant->name ?? $commission->tenant->company_name ?? '-' }}
-
ID: {{ $commission->tenant_id }}
+
+ {{ $commission->management?->tenant?->company_name ?? $commission->management?->tenantProspect?->company_name ?? '-' }} +
+ @if ($commission->management?->hq_status) + @php + $hqColors = [ + 'pending' => 'bg-gray-100 text-gray-600', + 'review' => 'bg-yellow-100 text-yellow-700', + 'planning' => 'bg-blue-100 text-blue-700', + 'coding' => 'bg-indigo-100 text-indigo-700', + 'dev_test' => 'bg-purple-100 text-purple-700', + 'dev_done' => 'bg-teal-100 text-teal-700', + 'int_test' => 'bg-cyan-100 text-cyan-700', + 'handover' => 'bg-green-100 text-green-700', + ]; + @endphp + + {{ $commission->management->hq_status_label }} + + @endif - {{ number_format($commission->payment_amount) }} + @if ($commission->payment_amount > 0) + {{ number_format($commission->payment_amount) }} + @else + - + @endif {{ $commission->payment_date->format('Y-m-d') }}