Files
sam-docs/features/sales/admin-prospects.md
김보곤 c5b1eb050e docs:영업/매출관리 개발문서 추가 (7개 메뉴)
- 영업관리 대시보드: 수당 현황, 테넌트 진행률, 파트너 활동
- 파트너관리: 영업파트너 CRUD, 역할 관리, 서류 관리
- 영업파트너승인: 신규 파트너 신청 승인/반려 워크플로우
- 상품관리: 카테고리별 상품, 가격/수당률 설정
- 고객관리(관리자): 전사 고객 현황, 본사 진행상태 8단계
- 영업파트너 고객관리: 명함등록 기반 영업권, 테넌트 전환
- 인터뷰 시나리오: 질문 템플릿, 세션 기반 인터뷰 기록

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 17:04:06 +09:00

6.0 KiB

고객 관리 (관리자)

개요

고객 관리(관리자)는 본사 관리자가 모든 영업파트너의 고객을 통합 관리하는 기능입니다. 전사 고객 현황 파악, 본사 진행상태 관리, 수당 지급 기록, 상태 변경을 지원합니다.

  • 라우트: GET /sales/admin-prospects
  • 미들웨어: auth, hq.member + 관리자 권한 체크
  • UI 기술: Blade + HTMX + Tailwind CSS

파일 구조

mng/
├── app/Http/Controllers/Sales/
│   └── AdminProspectController.php       # 메인 컨트롤러 (8개 메서드)
└── resources/views/sales/admin-prospects/
    ├── index.blade.php                   # 전체 고객 목록 (460줄)
    └── partials/
        ├── content.blade.php             # 콘텐츠 새로고침
        └── show-modal.blade.php          # 고객 상세 모달

라우트

// routes/web.php (sales prefix 그룹 내)
GET    /admin-prospects                            index()              전체 고객 목록
GET    /admin-prospects/refresh                    refresh()            HTMX 새로고침
GET    /admin-prospects/{id}/modal-show            modalShow()          상세 모달
POST   /admin-prospects/{id}/hq-status             updateHqStatus()     본사 진행상태 변경
POST   /admin-prospects/{id}/commission-date       updateCommissionDate() 수당 날짜 기록
DELETE /admin-prospects/{id}/commission-date       clearCommissionDate() 수당 날짜 초기화
DELETE /admin-prospects/{id}                       destroy()            삭제 (슈퍼관리자)
POST   /admin-prospects/{id}/toggle-status         toggleStatus()       상태 토글

컨트롤러

AdminProspectController

메서드 HTTP 설명 권한
index() GET 전체 고객 목록 (필터+통계) 관리자/슈퍼관리자
refresh() GET 콘텐츠 새로고침 (HTMX) 관리자/슈퍼관리자
modalShow() GET 고객 상세 모달 (진행률 포함) 관리자/슈퍼관리자
updateHqStatus() POST 본사 진행상태 변경 관리자/슈퍼관리자
updateCommissionDate() POST 수당 지급 날짜 기록/수정 관리자/슈퍼관리자
clearCommissionDate() DELETE 수당 날짜 초기화 관리자/슈퍼관리자
toggleStatus() POST 상태 토글 (영업중 ↔ 완료) 관리자/슈퍼관리자
destroy() DELETE 삭제 슈퍼관리자 전용

본사 진행상태 (HQ Status) 8단계

pending (대기)
  → review (검토)
    → planning (기획안작성)
      → coding (개발코드작성)
        → dev_test (개발테스트)
          → dev_done (개발완료)
            → int_test (통합테스트)
              → handover (인계)

수당 날짜 관리

updateCommissionDate():
  - 납입일(membership_paid_at) 입력 시
  - 자동 지급일 계산: 익월 10일
  - commission_paid_at 기록

모델

SalesTenantManagement (핵심 모델)

테이블: sales_tenant_managements

필드 타입 설명
tenant_id bigint (FK, unique) 테넌트 ID (1:1)
tenant_prospect_id bigint (FK) 가망고객 ID
sales_partner_id bigint (FK) 영업 담당자 ID
manager_user_id bigint (FK) 상담매니저 사용자 ID
sales_scenario_step int 영업 시나리오 단계 (1-6)
manager_scenario_step int 매니저 시나리오 단계 (1-6)
status enum 영업 상태
hq_status enum 본사 진행상태
first_contact_at timestamp 최초 접촉일
contracted_at timestamp 계약 체결일
onboarding_completed_at timestamp 온보딩 완료일
membership_fee decimal 가입비
membership_paid_at timestamp 가입비 입금일
membership_status enum pending / partial / paid / refunded
sales_commission decimal 영업 수당
manager_commission decimal 관리 수당
commission_paid_at timestamp 수당 지급일
sales_progress tinyint 영업 진행률 (%)
manager_progress tinyint 매니저 진행률 (%)
incentive_status enum pending / eligible / paid
notes text 메모

영업 상태 흐름

prospect (잠재) → approach (접근) → negotiation (협상)
  → contracted (계약) → onboarding (온보딩) → active (활성) / churned (이탈)

수당 상태

pending (대기) → eligible (지급대상) → paid (지급완료)

뷰 구성

index.blade.php

┌─ 페이지 헤더 ──────────────────────
│  제목: "고객 관리"
│  [새로고침] 버튼
│
├─ 통계 카드 ────────────────────────
│  전체 | 활성 | 완료 | 인계완료
│
├─ 필터 영역 ────────────────────────
│  검색 (회사명, 사업자번호, 대표자, 연락처)
│  상태: active / expired / converted / progress_complete
│  인계: hq_status = 'handover'
│  영업파트너: registered_by 필터
│
├─ 고객 목록 테이블 ────────────────
│  회사명 | 사업자번호 | 대표자 | 영업파트너
│  영업진행률 | 매니저진행률 | 본사상태 | 작업
│  └─ 본사상태: 8단계 프로그레스바
│  └─ 작업: 상세, 상태변경, 삭제
│
└─ 상세 모달 ───────────────────────
   기본 정보 (회사명, 사업자번호, 대표자, 연락처)
   영업 진행률 (영업 시나리오, 매니저 시나리오)
   본사 진행상태 (8단계 프로그레스바 + 변경 드롭다운)
   수당 정보 (납입일, 지급일, 자동 계산)
   담당 매니저 정보

HTMX 호환성

  • Blade + HTMX 기반으로 HX-Redirect 불필요
  • hx-get으로 부분 새로고침
  • 모달로 상세 조회 및 상태 변경