From 12c61754709a5c4aab114231e249d2befa0baeab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Tue, 3 Feb 2026 16:20:09 +0900 Subject: [PATCH] =?UTF-8?q?refactor:=EC=9A=A9=EC=96=B4=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD=20-=20=EA=B0=80=EC=9E=85=EB=B9=84=20=E2=86=92=20?= =?UTF-8?q?=EA=B0=9C=EB=B0=9C=EB=B9=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 영업 관련 코드 및 문서 전체에서 "가입비"를 "개발비"로 변경 - 컨트롤러, 서비스, 모델 - 뷰 템플릿 (blade 파일) - 가이드북 문서 (마크다운) - 설정 파일 Co-Authored-By: Claude Opus 4.5 --- .../Sales/SalesContractController.php | 2 +- .../Sales/SalesDashboardController.php | 18 +++++----- app/Models/Sales/SalesContractProduct.php | 2 +- app/Models/Sales/SalesProduct.php | 2 +- app/Services/SalesCommissionService.php | 4 +-- app/Services/SalesScenarioService.php | 2 +- config/sales_scenario.php | 2 +- resources/markdown/영업파트너가이드북.md | 36 +++++++++---------- .../partials/detail-modal.blade.php | 4 +-- .../partials/payment-form.blade.php | 8 ++--- .../partials/my-commission.blade.php | 8 ++--- .../sales/dashboard/partials/stats.blade.php | 10 +++--- .../dashboard/partials/tenant-list.blade.php | 8 ++--- .../dashboard/partials/tenant-stats.blade.php | 16 ++++----- .../partials/detail-modal.blade.php | 2 +- .../partials/product-selection.blade.php | 4 +-- .../views/sales/products/index.blade.php | 4 +-- .../products/partials/product-list.blade.php | 2 +- 18 files changed, 67 insertions(+), 67 deletions(-) diff --git a/app/Http/Controllers/Sales/SalesContractController.php b/app/Http/Controllers/Sales/SalesContractController.php index c29e0146..0bb1b661 100644 --- a/app/Http/Controllers/Sales/SalesContractController.php +++ b/app/Http/Controllers/Sales/SalesContractController.php @@ -75,7 +75,7 @@ public function saveProducts(Request $request): JsonResponse ]); } - // 총 가입비 업데이트 + // 총 개발비 업데이트 $totalRegistrationFee = SalesContractProduct::where('management_id', $management->id) ->sum('registration_fee'); $management->update(['total_registration_fee' => $totalRegistrationFee]); diff --git a/app/Http/Controllers/Sales/SalesDashboardController.php b/app/Http/Controllers/Sales/SalesDashboardController.php index 70b5744e..9b2c7ee9 100644 --- a/app/Http/Controllers/Sales/SalesDashboardController.php +++ b/app/Http/Controllers/Sales/SalesDashboardController.php @@ -107,7 +107,7 @@ private function getDashboardData(Request $request): array $commissionRate = $totalCommission > 0 ? round(($paidCommission / $totalCommission) * 100, 1) : 0; $stats = [ - 'total_membership_fee' => $totalMembershipFee, // 총 가입비 + 'total_membership_fee' => $totalMembershipFee, // 총 개발비 'total_commission' => $totalCommission, // 총 수당 'commission_rate' => $commissionRate, // 지급 완료 비율 'total_contracts' => $totalContracts, // 전체 건수 @@ -141,7 +141,7 @@ private function getDashboardData(Request $request): array [ 'name' => '협업지원금', 'rate' => null, // 메뉴당 2,000원 - 'amount' => null, // 가입비 완납 시 계산 + 'amount' => null, // 개발비 완납 시 계산 'color' => 'purple', ], ]; @@ -157,12 +157,12 @@ private function getDashboardData(Request $request): array ->where('hq_status', SalesTenantManagement::HQ_STATUS_HANDOVER) ->get(); - // 인계 완료된 계약의 가입비 합계 + // 인계 완료된 계약의 개발비 합계 $handoverManagementIds = $handoverManagements->pluck('id')->toArray(); $handoverTotalRegFee = SalesContractProduct::whereIn('management_id', $handoverManagementIds) ->sum('registration_fee'); - // 수당 계산: 가입비 × 50% × 20% = 가입비 × 10% + // 수당 계산: 개발비 × 50% × 20% = 개발비 × 10% $handoverPartnerCommission = (int)($handoverTotalRegFee * 0.10); // 내가 매니저로 지정된 인계 완료 건의 수당 계산 @@ -185,7 +185,7 @@ private function getDashboardData(Request $request): array $commissionByRole[0]['amount'] = $partnerCommissionTotal; $commissionByRole[1]['amount'] = $managerCommissionTotal; - // 총 가입비 대비 수당 비율 + // 총 개발비 대비 수당 비율 $totalCommissionRatio = $totalMembershipFee > 0 ? round(($totalCommission / $totalMembershipFee) * 100, 1) : 0; // 1) 내가 등록한 가망고객에서 전환된 tenant_id (20% 수당) @@ -231,7 +231,7 @@ private function getDashboardData(Request $request): array $tenantStats = [ 'total_tenants' => count($convertedTenantIds) + $handoverProspectCount, // 관리 테넌트 + 인계완료 'total_prospects' => $prospects->count(), // 진행중 가망고객 - 'total_membership_revenue' => $totalMembershipFee, // 총 가입비 실적 + 'total_membership_revenue' => $totalMembershipFee, // 총 개발비 실적 'total_commission_accumulated' => $totalCommission, // 누적 수당 'confirmed_commission' => $paidCommission, // 확정(지급완료) 수당 ]; @@ -257,7 +257,7 @@ private function getDashboardData(Request $request): array ->toArray(); $devInProgressRegFee = SalesContractProduct::whereIn('management_id', $devInProgressManagementIds) ->sum('registration_fee'); - $expectedFromDevInProgress = (int)($devInProgressRegFee * 0.10); // 가입비 × 10% + $expectedFromDevInProgress = (int)($devInProgressRegFee * 0.10); // 개발비 × 10% // 2) 인계 완료 중 지급 미완료 건 $handoverUnpaidRegFee = SalesContractProduct::whereIn('management_id', $handoverManagementIds) @@ -614,11 +614,11 @@ private function calculatePartnerSummaryStats(array $partnerIds, int $currentUse // 하위 파트너들이 등록한 총 영업권(명함) 수 $totalProspects = TenantProspect::whereIn('registered_by', $partnerIds)->count(); - // 예상 수당 계산을 위해 먼저 가입비/구독료 정보 조회 + // 예상 수당 계산을 위해 먼저 개발비/구독료 정보 조회 $prospectIds = TenantProspect::whereIn('registered_by', $partnerIds)->pluck('id')->toArray(); $managementIds = SalesTenantManagement::whereIn('tenant_prospect_id', $prospectIds)->pluck('id')->toArray(); - // 하위 파트너들의 계약 건수 (가입비가 설정된 건수) + // 하위 파트너들의 계약 건수 (개발비가 설정된 건수) $contractedManagementCount = SalesContractProduct::whereIn('management_id', $managementIds) ->where('registration_fee', '>', 0) ->distinct('management_id') diff --git a/app/Models/Sales/SalesContractProduct.php b/app/Models/Sales/SalesContractProduct.php index 0a49b66c..b1bfdfbb 100644 --- a/app/Models/Sales/SalesContractProduct.php +++ b/app/Models/Sales/SalesContractProduct.php @@ -89,7 +89,7 @@ public function creator(): BelongsTo } /** - * 테넌트별 총 가입비 + * 테넌트별 총 개발비 */ public static function getTotalRegistrationFee(int $tenantId): float { diff --git a/app/Models/Sales/SalesProduct.php b/app/Models/Sales/SalesProduct.php index 4e8643bd..510cecd2 100644 --- a/app/Models/Sales/SalesProduct.php +++ b/app/Models/Sales/SalesProduct.php @@ -108,7 +108,7 @@ public function getFormattedDevelopmentFeeAttribute(): string } /** - * 포맷된 가입비 + * 포맷된 개발비 */ public function getFormattedRegistrationFeeAttribute(): string { diff --git a/app/Services/SalesCommissionService.php b/app/Services/SalesCommissionService.php index 8cb3cfa6..384bb07c 100644 --- a/app/Services/SalesCommissionService.php +++ b/app/Services/SalesCommissionService.php @@ -116,7 +116,7 @@ public function createCommission(int $managementId, string $paymentType, float $ // 계약 상품이 없으면 기본 계산 $contractProducts = $management->contractProducts; $totalRegistrationFee = $contractProducts->sum('registration_fee') ?: $paymentAmount * 2; - $baseAmount = $totalRegistrationFee / 2; // 가입비의 50% + $baseAmount = $totalRegistrationFee / 2; // 개발비의 50% // 수당률 (영업파트너 설정 또는 기본값) $partnerRate = $partner->commission_rate ?? self::DEFAULT_PARTNER_RATE; @@ -183,7 +183,7 @@ public function createCommission(int $managementId, string $paymentType, float $ ]; } - // 총 가입비 업데이트 + // 총 개발비 업데이트 $updateData['total_registration_fee'] = $totalRegistrationFee; $management->update($updateData); diff --git a/app/Services/SalesScenarioService.php b/app/Services/SalesScenarioService.php index cc7771de..764783e4 100644 --- a/app/Services/SalesScenarioService.php +++ b/app/Services/SalesScenarioService.php @@ -227,7 +227,7 @@ public static function getScenarioSteps(): array ], [ 'title' => '세금계산서 및 입금', - 'detail' => '가입비(초기 도입비)에 대한 세금계산서를 발행하고, 입금 기한 내 수금을 확인하세요.', + 'detail' => '개발비(초기 도입비)에 대한 세금계산서를 발행하고, 입금 기한 내 수금을 확인하세요.', 'pro_tip' => '세금계산서 발행 시 사업자등록증 사본과 이메일 주소를 다시 한번 정확히 확인하세요.', ], [ diff --git a/config/sales_scenario.php b/config/sales_scenario.php index 91c45408..383de2c3 100644 --- a/config/sales_scenario.php +++ b/config/sales_scenario.php @@ -178,7 +178,7 @@ 'id' => 'close_1', 'title' => '계약 체결 완료', 'detail' => '계약서 날인/교부, 세금계산서 발행, 후속 지원 일정까지 한 번에 진행하세요.', - 'pro_tip' => '가입비 입금이 완료되어야 매니저에게 프로젝트가 이관됩니다.', + 'pro_tip' => '개발비 입금이 완료되어야 매니저에게 프로젝트가 이관됩니다.', ], ], ], diff --git a/resources/markdown/영업파트너가이드북.md b/resources/markdown/영업파트너가이드북.md index 6a3d6651..64eab522 100644 --- a/resources/markdown/영업파트너가이드북.md +++ b/resources/markdown/영업파트너가이드북.md @@ -49,7 +49,7 @@ #### [내 활동] 탭 | 항목 | 설명 | | ----------- | ---------------------------------- | | 관리 테넌트 | 본인이 담당하는 업체 수 | -| 총 가입비 | 계약된 가입비 합계 | +| 총 개발비 | 계약된 개발비 합계 | | 확정 수당 | 받을 수당 총액 (클릭 시 상세 보기) | | 승인 대기 | 가입/지급 승인 대기 건수 | @@ -57,7 +57,7 @@ #### [내 활동] 탭 - 본인이 담당하는 테넌트(업체) 목록 - 각 업체의 영업/매니저 진행률 확인 -- 계약 금액(가입비, 월 구독료) 확인 +- 계약 금액(개발비, 월 구독료) 확인 #### [유치 파트너 현황] 탭 @@ -139,7 +139,7 @@ #### 영업 시나리오 (영업파트너 담당) | 5. 협상 및 조율 | Negotiation | 가격/조건 협상, 의사결정권자 설득 | | 6. 계약 체결 | Closing | 계약서 날인/교부, 세금계산서 발행, 후속 지원 일정 | -> **Tip:** 가입비 입금이 완료되어야 매니저에게 프로젝트가 이관됩니다. +> **Tip:** 개발비 입금이 완료되어야 매니저에게 프로젝트가 이관됩니다. #### 매니저 시나리오 (매니저 담당) @@ -238,7 +238,7 @@ ### 상세 정보 확인 - 개발 진행 상태 (8단계 프로그레스 바) - 영업/매니저 진행률 - 고객 정보 (업체명, 사업자번호, 대표자, 연락처, 주소) -- 계약 상품 목록 (가입비, 월 구독료) +- 계약 상품 목록 (개발비, 월 구독료) - 메모 (반려 사유 등) --- @@ -255,21 +255,21 @@ ### 수당 구조 ### 수당 계산 기준 -- **기준 금액**: 가입비의 50% +- **기준 금액**: 개발비의 50% - **판매자 수당**: 기준금액 × 20% - **관리자 수당**: 기준금액 × 5% ### 1차/2차 수당 분할 지급 -가입비 수당은 **1차/2차로 50%씩 분할 지급**됩니다. +개발비 수당은 **1차/2차로 50%씩 분할 지급**됩니다. | 구분 | 지급 시점 | 금액 | |------|----------|------| -| 1차 수당 | 가입비 1차 입금 완료 후 익월 10일 | 수당의 50% | -| 2차 수당 | 가입비 2차(잔금) 입금 완료 후 익월 10일 | 수당의 50% | +| 1차 수당 | 개발비 1차 입금 완료 후 익월 10일 | 수당의 50% | +| 2차 수당 | 개발비 2차(잔금) 입금 완료 후 익월 10일 | 수당의 50% | -**예시**: 가입비 1,000만원 계약 시 -- 기준 금액: 500만원 (가입비의 50%) +**예시**: 개발비 1,000만원 계약 시 +- 기준 금액: 500만원 (개발비의 50%) - 판매자 수당: 100만원 (기준금액의 20%) - 1차 수당: 50만원 (1차 입금 후) - 2차 수당: 50만원 (2차 입금 후) @@ -280,21 +280,21 @@ ### 수당 상태 구분 | 상태 | 색상 | 설명 | |------|------|------| -| 납입대기 | 회색 | 고객의 가입비 입금 대기 중 | -| 지급예정 | 노란색 | 가입비 입금 완료, 익월 10일 지급 예정 | +| 납입대기 | 회색 | 고객의 개발비 입금 대기 중 | +| 지급예정 | 노란색 | 개발비 입금 완료, 익월 10일 지급 예정 | | 지급완료 | 초록색 | 수당 지급 완료 | ### 수당 지급 프로세스 ``` -납입대기 → 가입비 입금 → 지급예정 → 익월 10일 → 지급완료 +납입대기 → 개발비 입금 → 지급예정 → 익월 10일 → 지급완료 ``` -1. **납입대기**: 고객의 가입비 입금을 기다리는 상태 -2. **지급예정**: 가입비가 입금되면 자동으로 지급예정 상태로 변경 +1. **납입대기**: 고객의 개발비 입금을 기다리는 상태 +2. **지급예정**: 개발비가 입금되면 자동으로 지급예정 상태로 변경 3. **지급완료**: 매월 10일에 지급예정 건을 일괄 지급 -> **중요**: 가입비 수당은 가입비 완료 후 지급됩니다. 1차/2차 분할 입금 시 각각의 입금 완료 후 해당 차수 수당이 지급됩니다. +> **중요**: 개발비 수당은 개발비 완료 후 지급됩니다. 1차/2차 분할 입금 시 각각의 입금 완료 후 해당 차수 수당이 지급됩니다. ### 수당 현황 확인 @@ -383,7 +383,7 @@ ### 지급 승인 프로세스 영업 수당 지급도 본사 승인이 필요합니다. **1. 수당 발생** -- 테넌트 계약 완료 및 가입비 입금 +- 테넌트 계약 완료 및 개발비 입금 - 수당이 자동 계산되어 지급 대기 상태 **2. 지급 승인 (관리자)** @@ -432,7 +432,7 @@ ### Q. 같은 업체를 다른 파트너가 이미 등록했어요 ### Q. 수당은 언제 지급되나요? -> 가입비 입금 완료 후 본사 승인을 거쳐 **익월 10일**에 지급됩니다. +> 개발비 입금 완료 후 본사 승인을 거쳐 **익월 10일**에 지급됩니다. ### Q. 유치한 파트너가 비활동 상태입니다 diff --git a/resources/views/finance/sales-commission/partials/detail-modal.blade.php b/resources/views/finance/sales-commission/partials/detail-modal.blade.php index 4437755e..e6f7a207 100644 --- a/resources/views/finance/sales-commission/partials/detail-modal.blade.php +++ b/resources/views/finance/sales-commission/partials/detail-modal.blade.php @@ -54,7 +54,7 @@ {{ number_format($commission->payment_amount) }}원
- 수당 기준액 (가입비 50%) + 수당 기준액 (개발비 50%) {{ number_format($commission->base_amount) }}원
@@ -142,7 +142,7 @@ 상품 - 가입비 + 개발비 파트너수당 매니저수당 diff --git a/resources/views/finance/sales-commission/partials/payment-form.blade.php b/resources/views/finance/sales-commission/partials/payment-form.blade.php index ae0f33f7..06df8fdc 100644 --- a/resources/views/finance/sales-commission/partials/payment-form.blade.php +++ b/resources/views/finance/sales-commission/partials/payment-form.blade.php @@ -41,7 +41,7 @@ class="w-full rounded-lg border-gray-300 focus:border-emerald-500 focus:ring-eme 상품명 - 가입비 + 개발비 @@ -54,7 +54,7 @@ class="w-full rounded-lg border-gray-300 focus:border-emerald-500 focus:ring-eme - 총 가입비 + 총 개발비 {{ number_format($management->contractProducts->sum('registration_fee')) }}원 @@ -124,7 +124,7 @@ class="text-emerald-600 focus:ring-emerald-500"> class="w-full rounded-lg border-gray-300 focus:border-emerald-500 focus:ring-emerald-500 pr-12"> -

총 가입비의 50%를 입금받습니다.

+

총 개발비의 50%를 입금받습니다.

{{-- 입금일 --}} @@ -151,7 +151,7 @@ class="w-full rounded-lg border-gray-300 focus:border-emerald-500 focus:ring-eme

수당 미리보기

- 기준액 (가입비의 50%) + 기준액 (개발비의 50%) {{ number_format($baseAmount) }}원
diff --git a/resources/views/sales/dashboard/partials/my-commission.blade.php b/resources/views/sales/dashboard/partials/my-commission.blade.php index a8bf0c56..b0fb695f 100644 --- a/resources/views/sales/dashboard/partials/my-commission.blade.php +++ b/resources/views/sales/dashboard/partials/my-commission.blade.php @@ -53,8 +53,8 @@ class="text-sm text-emerald-600 hover:text-emerald-700"> - 가입비 수당 지급 현황 - (가입비의 50%씩 1차/2차 분할 지급) + 개발비 수당 지급 현황 + (개발비의 50%씩 1차/2차 분할 지급)
@@ -143,8 +143,8 @@ class="text-sm text-emerald-600 hover:text-emerald-700">

수당 지급 프로세스:

-

납입대기: 고객의 가입비 입금 대기 중

-

지급예정: 가입비 입금 완료, 익월 10일 수당 지급 예정

+

납입대기: 고객의 개발비 입금 대기 중

+

지급예정: 개발비 입금 완료, 익월 10일 수당 지급 예정

지급완료: 수당 지급 완료

diff --git a/resources/views/sales/dashboard/partials/stats.blade.php b/resources/views/sales/dashboard/partials/stats.blade.php index 6a33f074..0660ae4c 100644 --- a/resources/views/sales/dashboard/partials/stats.blade.php +++ b/resources/views/sales/dashboard/partials/stats.blade.php @@ -44,10 +44,10 @@

{{ $tenantStats['total_tenants'] ?? 0 }}

- {{-- 총 가입비 --}} + {{-- 총 개발비 --}}
- 총 가입비 + 총 개발비 @@ -84,8 +84,8 @@ class="bg-emerald-50 border border-emerald-200 rounded-lg p-3 text-left hover:bg - 가입비 수당 지급 현황 - (가입비의 50%씩 1차/2차 분할) + 개발비 수당 지급 현황 + (개발비의 50%씩 1차/2차 분할)
@@ -150,7 +150,7 @@ class="bg-emerald-50 border border-emerald-200 rounded-lg p-3 text-left hover:bg 납입대기 → - 가입비 입금 → + 개발비 입금 → 지급예정 → 익월 10일 → 지급완료 diff --git a/resources/views/sales/dashboard/partials/tenant-list.blade.php b/resources/views/sales/dashboard/partials/tenant-list.blade.php index 051a2c67..6aff4fe9 100644 --- a/resources/views/sales/dashboard/partials/tenant-list.blade.php +++ b/resources/views/sales/dashboard/partials/tenant-list.blade.php @@ -239,7 +239,7 @@ class="inline-flex items-center gap-1 px-2 py-1 rounded text-xs font-medium bg-g @if($prospectProductCount > 0)
-

가입비

+

개발비

₩{{ number_format($prospectTotalRegFee) }}

@@ -399,7 +399,7 @@ class="inline-flex items-center gap-1 px-2 py-1 rounded text-xs font-medium bg-g @if($prospectProductCount > 0)
-

가입비

+

개발비

₩{{ number_format($prospectTotalRegFee) }}

@@ -619,7 +619,7 @@ class="inline-flex items-center gap-1 px-2 py-1 rounded text-xs font-medium bg-g @if($productCount > 0)
-

가입비

+

개발비

₩{{ number_format($totalRegFee) }}

@@ -630,7 +630,7 @@ class="inline-flex items-center gap-1 px-2 py-1 rounded text-xs font-medium bg-g @else
-

가입비

+

개발비

-

diff --git a/resources/views/sales/dashboard/partials/tenant-stats.blade.php b/resources/views/sales/dashboard/partials/tenant-stats.blade.php index ef61b021..c0d4ab01 100644 --- a/resources/views/sales/dashboard/partials/tenant-stats.blade.php +++ b/resources/views/sales/dashboard/partials/tenant-stats.blade.php @@ -24,10 +24,10 @@

등록된 총 업체 수

- +
- 총 가입비 실적 + 총 개발비 실적
@@ -35,13 +35,13 @@

₩{{ number_format($tenantStats['total_membership_revenue'] ?? 0) }}

-

전체 가입비 합계

+

전체 개발비 합계

- +
- 누적 가입비 수당 + 누적 개발비 수당
@@ -49,13 +49,13 @@

₩{{ number_format($tenantStats['total_commission_accumulated'] ?? 0) }}

-

전체 가입비 수당 합계

+

전체 개발비 수당 합계

- +
- 확정 가입비 수당 (지급대상) + 확정 개발비 수당 (지급대상)
diff --git a/resources/views/sales/development/partials/detail-modal.blade.php b/resources/views/sales/development/partials/detail-modal.blade.php index 921ccea1..b81e35fa 100644 --- a/resources/views/sales/development/partials/detail-modal.blade.php +++ b/resources/views/sales/development/partials/detail-modal.blade.php @@ -131,7 +131,7 @@ class="text-gray-400 hover:text-gray-600 transition">
상품명 - 가입비 + 개발비 월 구독료
diff --git a/resources/views/sales/modals/partials/product-selection.blade.php b/resources/views/sales/modals/partials/product-selection.blade.php index 369435d1..b2b07079 100644 --- a/resources/views/sales/modals/partials/product-selection.blade.php +++ b/resources/views/sales/modals/partials/product-selection.blade.php @@ -104,7 +104,7 @@ class="w-3 h-3 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24"

{{ $product->description }}

@endif
- 가입비: + 개발비: {{ $product->formatted_development_fee }} {{ $product->formatted_registration_fee }} @@ -128,7 +128,7 @@ class="w-3 h-3 text-white" fill="none" stroke="currentColor" viewBox="0 0 24 24"

-

총 가입비

+

총 개발비

diff --git a/resources/views/sales/products/index.blade.php b/resources/views/sales/products/index.blade.php index 8d4c7eef..9fddee97 100644 --- a/resources/views/sales/products/index.blade.php +++ b/resources/views/sales/products/index.blade.php @@ -125,7 +125,7 @@ class="w-full px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:rin placeholder="0" required>
- + {{-- 가격 정보 --}}
- 가입비 + 개발비
{{ $product->formatted_development_fee }} {{ $product->formatted_registration_fee }}