- AppVersion 모델, Service, Controller
- 버전 등록 폼 (APK 업로드, 강제 업데이트 설정)
- 버전 목록 테이블 (활성 토글, 다운로드 수, 삭제)
- /app-versions 라우트 추가
- app_releases 스토리지 디스크 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- CorporateCard 모델 추가
- CorporateCardController API 추가 (CRUD)
- 라우트 추가 (list, store, update, deactivate, destroy)
- React 컴포넌트 API 연동 (fetch 호출)
- 로딩 상태 UI 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 공통코드/카테고리 테넌트→글로벌 체크박스 벌크 복사 기능 추가
- 이미 대상에 존재하는 항목 체크박스 disabled 처리 (양방향)
- 공통코드 토글 크기 카테고리와 동일하게 축소
- 동기화 환경설정 모달을 공통 partial로 분리
- 동기화 리스트에서 불필요한 타입 컬럼 제거
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- labs-menu.blade.php: S/A 탭 구조 유지 (원격 버전)
- routes/web.php: ManagementController + AIController 모두 포함, SalesCommissionController 구현 유지
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- TenantProspectController에 modalShow, modalEdit 메서드 추가
- prospects 라우트에 modal-show, modal-edit 엔드포인트 추가
- index.blade.php에 모달 컨테이너 및 JavaScript 추가
- partials/show-modal.blade.php, edit-modal.blade.php 신규 생성
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
[모델]
- SalesCommission: 영업수수료 정산 모델
- SalesCommissionDetail: 상품별 수당 내역 모델
- SalesTenantManagement: 입금 정보 필드 추가
[서비스/컨트롤러]
- SalesCommissionService: 수당 생성, 승인, 지급 처리 로직
- SalesCommissionController: 정산 관리 CRUD
[뷰]
- 본사 정산 관리 화면 (필터, 통계, 테이블)
- 입금 등록 모달
- 상세 보기 모달
- 영업파트너 대시보드 수당 카드
[라우트]
- /finance/sales-commissions/* 라우트 추가
- 기존 sales-commission 리다이렉트 호환
[메뉴]
- SalesCommissionMenuSeeder: 정산관리 > 영업수수료정산 메뉴 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- SalesContractController: 계약 상품 저장/조회 API
- product-selection.blade.php: 상품 선택 UI 컴포넌트
- scenario-step.blade.php: 6단계에서 상품 선택 컴포넌트 표시
- routes/web.php: /sales/contracts/* 라우트 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- scenario-step: $totalSteps 명시적 계산으로 다음 단계 버튼 표시 수정
- scenario-step: 완료 버튼 클릭 시 scenario-completed 이벤트 발송
- scenario-modal: completeAndRefresh 함수 추가 (테넌트 리스트 새로고침)
- SalesDashboardController: refreshTenantList 메서드 추가
- routes/web.php: salesmanagement.dashboard.tenants 라우트 추가
- tenant-list: id="tenant-list-container" 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- AI 설정과 스토리지 설정을 탭으로 구분
- GCS 버킷 이름, 서비스 계정 (JSON 직접입력/파일경로) 설정 가능
- GCS 연결 테스트 기능 추가
- GoogleCloudStorageService가 DB 설정 우선 사용 (fallback: 레거시 파일)
- AiConfig 모델에 gcs provider 및 관련 메서드 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- GoogleCloudStorageService 생성 (레거시 방식 JWT 인증)
- 10MB 이상 파일은 Google Cloud Storage에 백업 (본사 연구용)
- 오디오/파일 다운로드 라우트 추가
- voice-recorder.blade.php 인라인 x-data로 변경 (HTMX 호환)
- SalesConsultation 모델에 gcs_uri 필드 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- CommonCodeSyncController, CategorySyncController 생성
- 환경설정은 메뉴 동기화와 공유 (TenantSetting)
- Export/Import API 추가 (/common-code-sync, /category-sync)
- Push(로컬→원격), Pull(원격→로컬) 양방향 동기화
- 동일 코드 존재 시 체크박스 비활성화 (충돌 방지)
- 글로벌 + 테넌트 코드 모두 동기화 가능
- 공통코드/카테고리 관리 페이지에 동기화 버튼 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Document 관련 모델 4개 생성 (Document, DocumentApproval, DocumentData, DocumentAttachment)
- DocumentController 생성 (목록/생성/상세/수정 페이지)
- DocumentApiController 생성 (AJAX CRUD 처리)
- 문서 관리 뷰 3개 생성 (index, edit, show)
- 웹/API 라우트 등록
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 영업/매니저 시나리오 모달 구현 (6단계 체크리스트)
- 상담 기록 기능 (텍스트, 음성, 첨부파일)
- 음성 녹음 + Speech-to-Text 변환
- 첨부파일 Drag & Drop 업로드
- 매니저 지정 드롭다운
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- CreditUsageController: 조회회수 집계 컨트롤러 신규 생성
- credit/usage/index.blade.php: 집계 화면 (월별/연간/기간별)
- 과금 정책: 월 5건 무료, 추가건당 2,000원
- 본사(tenant_id=1)는 전체 테넌트 조회 가능
- CreditInquiry 모델에 tenant_id 필드 추가
- 신용평가 조회 시 tenant_id 저장하도록 수정
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- CategoryController: 카테고리 관리 페이지
- CategoryApiController: 테넌트별 카테고리 CRUD API
- GlobalCategoryApiController: 글로벌 카테고리 관리 API
- Category, GlobalCategory 모델 추가
- 카테고리 관리 뷰 (index, partials)
- config/categories.php 설정 파일
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- AiConfig 모델: AI API 설정 관리
- BusinessCardOcrService: Gemini Vision API 호출
- BusinessCardOcrController: OCR API 엔드포인트
- AiConfigController: AI 설정 CRUD
- create.blade.php: 드래그앤드롭 명함 인식 UI
- AI 설정 관리 페이지 추가
- TenantProspect 모델, 서비스, 컨트롤러 추가
- 명함 등록 시 2개월 영업권 부여
- 만료 후 1개월 쿨다운 기간 적용
- 테넌트 전환 기능 구현
- 사업자번호 중복 체크 API 추가
- 명함 이미지 업로드 지원
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 역할 위임/부여/제거 기능 추가 (delegateRole, assignRole, removeRole)
- '상위 관리자' → '추천인(유치자)' 용어 변경
- 역할 코드 변경: sales_operator/sales_admin/sales_manager → sales/manager/recruiter
- 뷰 파일 전면 수정 (영업파트너 구조 반영)
- 역할 관리 UI 추가 (show.blade.php)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- SalesManagerController: User 시스템 기반으로 재구현
- SalesManagerService: 영업담당자 CRUD, 승인/반려 로직
- SalesManagerDocument: 멀티파일 업로드 모델
- User 모델에 parent, approval 관계 및 메서드 추가
- SalesRoleSeeder: 영업 역할 시더 (sales_operator, sales_admin, sales_manager)
- 뷰 파일 전면 수정 (역할 체크박스, 멀티파일 업로드, 승인/반려 UI)
- 라우트 추가 (approve, reject, documents)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 기간별 조회 및 실적 새로고침 시 전체 페이지가 아닌 데이터 영역만 갱신
- partial 뷰 분리 (stats, commission-by-role, tenant-stats, no-data)
- 컨트롤러에 refresh 메서드 추가
- 로딩 인디케이터 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- SalesDashboardController 생성
- 대시보드 뷰 생성 (/sales/salesmanagement/dashboard)
- 전체 누적 실적, 기간별 조회, 역할별 수당 상세 섹션
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 문서양식관리 CRUD 기능 구현 (생산관리 > 문서양식관리)
- 결재라인, 섹션, 컬럼 동적 관리 (Vanilla JS)
- 섹션별 이미지 업로드 기능
- SortableJS 드래그앤드롭 순서 변경
- 문서 미리보기 모달
- document_type 글로벌 코드 추가 (품질, 생산, 영업, 구매, 일반, 기타)
- 역할/부서 권한 토글 시 페이지 새로고침 방지 (hx-swap="none")
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- AuditLogController: 목록/상세 조회, 필터링(액션/테넌트/날짜/검색)
- AuditLog 모델: 재고 변동 액션 및 참조 타입 상수 정의
- Blade 뷰: 통계 카드, 필터, 아코디언(Before/After JSON), 상세 페이지
- 메뉴 DB 등록: 시스템 설정 하위에 감사 로그, 삭제된 데이터 백업 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
레거시 sales 시스템에서 MNG로 마이그레이션:
- 마이그레이션: sales_managers, sales_prospects, sales_records 등 6개 테이블
- 모델: SalesManager, SalesProspect, SalesRecord 등 6개 모델
- 컨트롤러: SalesManagerController, SalesProspectController, SalesRecordController
- 뷰: managers, prospects, records CRUD 화면
- 라우트: /sales/* 경로 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- HometaxController에 서비스 진단 메소드 추가 (diagnose)
- 홈택스 스크래핑 URL 조회 메소드 추가 (getScrapRequestUrl)
- 홈택스 스크래핑 갱신 요청 메소드 추가 (refreshScrap)
- 뷰에 서비스 진단 모달 UI 추가
- 라우트: scrap-url, refresh-scrap, diagnose 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>