fix:유치 파트너 현황 총 계약 건수를 가입비 기준으로 계산

- 계약 성사(STATUS_CONVERTED) 기준 대신 가입비(registration_fee > 0) 기준으로 변경
- 예상 수당이 표시되면 총 계약 건수도 함께 표시되도록 수정

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
김보곤
2026-02-02 11:29:02 +09:00
parent 0fc4b20f3b
commit a03c01f97a

View File

@@ -441,10 +441,17 @@ private function calculatePartnerSummaryStats(array $partnerIds, int $currentUse
// 하위 파트너들이 등록한 총 영업권(명함) 수
$totalProspects = TenantProspect::whereIn('registered_by', $partnerIds)->count();
// 하위 파트너들의 계약 성사 건수
$totalConversions = TenantProspect::whereIn('registered_by', $partnerIds)
->where('status', TenantProspect::STATUS_CONVERTED)
->count();
// 예상 수당 계산을 위해 먼저 가입비 정보 조회
$prospectIds = TenantProspect::whereIn('registered_by', $partnerIds)->pluck('id')->toArray();
$managementIds = SalesTenantManagement::whereIn('tenant_prospect_id', $prospectIds)->pluck('id')->toArray();
$totalRegistrationFee = SalesContractProduct::whereIn('management_id', $managementIds)->sum('registration_fee');
// 하위 파트너들의 계약 건수 (가입비가 설정된 건수)
$contractedManagementCount = SalesContractProduct::whereIn('management_id', $managementIds)
->where('registration_fee', '>', 0)
->distinct('management_id')
->count('management_id');
$totalConversions = $contractedManagementCount;
// 확정 수당 (SalesCommission에서)
$confirmedCommission = SalesCommission::where('manager_user_id', $currentUserId)
@@ -452,11 +459,6 @@ private function calculatePartnerSummaryStats(array $partnerIds, int $currentUse
$query->whereIn('user_id', $partnerIds);
})
->sum('manager_commission');
// 예상 수당: 하위 파트너들이 등록한 가망고객의 가입비 × 5%
$prospectIds = TenantProspect::whereIn('registered_by', $partnerIds)->pluck('id')->toArray();
$managementIds = SalesTenantManagement::whereIn('tenant_prospect_id', $prospectIds)->pluck('id')->toArray();
$totalRegistrationFee = SalesContractProduct::whereIn('management_id', $managementIds)->sum('registration_fee');
$expectedFromFee = (int)($totalRegistrationFee * 0.05);
// 최종 예상 수당 (확정 + 예상 중 큰 값)