feat:단체(그룹) 수당 체계 통합 (단체 30%, 유치 3%, 매니저 0%)
- SalesPartner: referrer_partner_id, referrer/referredGroups 관계, isGroup() 헬퍼 - SalesCommission: 유치수당 필드, referrerPartner 관계, 지급 추적 메서드 - SalesCommissionService: 단체/개인 분기 수당 계산 로직 - SalesManagerService: 단체 등록 시 수당률 자동 설정 - SalesManagerController: 유형 선택 및 유치 파트너 지정 기능 - 대시보드: 유치수당 카드 표시 및 합산 - UI: purple 색상 처리 추가 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\Sales\SalesManagerDocument;
|
||||
use App\Models\Sales\SalesPartner;
|
||||
use App\Models\User;
|
||||
use App\Services\Sales\SalesManagerService;
|
||||
use Illuminate\Http\Request;
|
||||
@@ -52,7 +53,13 @@ public function create(): View
|
||||
// 문서 타입 목록
|
||||
$documentTypes = SalesManagerDocument::DOCUMENT_TYPES;
|
||||
|
||||
return view('sales.managers.create', compact('roles', 'documentTypes'));
|
||||
// 활성 개인 파트너 목록 (유치 파트너 선택용)
|
||||
$activePartners = SalesPartner::active()
|
||||
->with('user')
|
||||
->where('partner_type', 'individual')
|
||||
->get();
|
||||
|
||||
return view('sales.managers.create', compact('roles', 'documentTypes', 'activePartners'));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -71,6 +78,8 @@ public function store(Request $request)
|
||||
'company_name' => 'nullable|string|max:100',
|
||||
'biz_no' => 'nullable|string|max:20',
|
||||
'address' => 'nullable|string|max:255',
|
||||
'partner_type' => 'nullable|in:individual,corporate',
|
||||
'referrer_partner_id' => 'nullable|exists:sales_partners,id',
|
||||
'documents' => 'nullable|array',
|
||||
'documents.*.file' => 'nullable|file|max:10240',
|
||||
'documents.*.document_type' => 'nullable|string',
|
||||
|
||||
Reference in New Issue
Block a user