feat:유치 파트너 현황에 매니저 진행 건 표시

- 파트너가 매니저로 지정된 가망고객 조회 로직 추가
- 파트너 헤더에 매니저 진행 건수 표시
- 펼침 영역에 "매니저로 진행 중" 섹션 추가
- 등록 영업권이 없어도 매니저 진행 건이 있으면 표시

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
김보곤
2026-02-02 14:42:05 +09:00
parent 27572611f9
commit 1c02874982
2 changed files with 113 additions and 2 deletions

View File

@@ -617,12 +617,31 @@ private function getPartnerActivitiesDetail($recruitedPartners, int $currentUser
->limit(5)
->get();
// 파트너의 모든 가망고객 (진행률 조회용)
// 파트너의 모든 가망고객 (진행률 조회용) - 직접 등록한 건
$allProspects = TenantProspect::where('registered_by', $partner->id)
->whereIn('status', [TenantProspect::STATUS_ACTIVE, TenantProspect::STATUS_EXPIRED])
->orderBy('created_at', 'desc')
->get();
// 파트너가 매니저로 참여하는 가망고객 (다른 사람이 등록, 이 파트너가 매니저)
$managerProspects = collect();
$managerManagements = SalesTenantManagement::where('manager_user_id', $partner->id)
->whereNotNull('tenant_prospect_id')
->with(['tenantProspect.registeredBy'])
->get();
foreach ($managerManagements as $mgmt) {
$prospect = $mgmt->tenantProspect;
// 본인이 등록한 건은 제외 (이미 allProspects에 포함됨)
if ($prospect && $prospect->registered_by !== $partner->id) {
$managerProspects->push([
'prospect' => $prospect,
'management' => $mgmt,
'registeredBy' => $prospect->registeredBy,
]);
}
}
// 활동 상태 판단
$lastActivity = TenantProspect::where('registered_by', $partner->id)
->orderBy('updated_at', 'desc')
@@ -652,6 +671,7 @@ private function getPartnerActivitiesDetail($recruitedPartners, int $currentUser
'status' => $status,
'recent_tenants' => $recentTenants,
'all_prospects' => $allProspects,
'manager_prospects' => $managerProspects, // 매니저로만 참여하는 건
];
}