Commit Graph

346 Commits

Author SHA1 Message Date
pro
036a021b71 feat:영업파트너 관리 상세/수정 모달 구현
- 목록에서 상세/수정 버튼 클릭 시 모달로 표시
- 모달 열림 시 배경 스크롤 방지
- ESC 키로 모달 닫기 지원

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 21:27:05 +09:00
pro
12c7dfc947 fix:사용자 영구삭제 시 DB::table()로 하드 삭제
- SoftDeletes 모델의 delete()는 soft delete만 수행
- DB::table()로 직접 삭제하여 외래 키 제약 조건 해결

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 21:04:40 +09:00
pro
ad0d991940 fix:사용자 영구삭제 시 관련 데이터 함께 삭제
- user_roles, department_user 삭제
- sales_partners, sales_manager_documents 삭제
- 하위 사용자의 parent_id 해제

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 21:03:07 +09:00
pro
23c50c5051 feat:영업파트너 등록 시 영업팀 부서 자동 할당
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 20:57:54 +09:00
pro
5d7de6d13b feat:영업수수료 정산 기능 구현
[모델]
- SalesCommission: 영업수수료 정산 모델
- SalesCommissionDetail: 상품별 수당 내역 모델
- SalesTenantManagement: 입금 정보 필드 추가

[서비스/컨트롤러]
- SalesCommissionService: 수당 생성, 승인, 지급 처리 로직
- SalesCommissionController: 정산 관리 CRUD

[뷰]
- 본사 정산 관리 화면 (필터, 통계, 테이블)
- 입금 등록 모달
- 상세 보기 모달
- 영업파트너 대시보드 수당 카드

[라우트]
- /finance/sales-commissions/* 라우트 추가
- 기존 sales-commission 리다이렉트 호환

[메뉴]
- SalesCommissionMenuSeeder: 정산관리 > 영업수수료정산 메뉴 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 18:14:11 +09:00
pro
e6515e5b36 fix:진행률 계산 시 config에 존재하는 체크포인트만 카운트
- 체크포인트 축소 시 DB에 남아있는 이전 데이터 때문에 100% 초과 문제 수정
- validCheckpointKeys 배열로 config 기준 유효성 검증

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 17:10:42 +09:00
pro
3d12829dcb feat:영업 시나리오 계약체결 탭에 상품관리 데이터 연동 (registration_fee 사용) 2026-01-29 16:38:44 +09:00
pro
ac8afef985 feat:상품 수정 시 개발비/가입비 분리 입력 지원 2026-01-29 16:31:59 +09:00
pro
5381399731 feat:수당율 영업파트너/매니저 분리 (파트너 20%, 매니저 5%) 2026-01-29 16:18:29 +09:00
pro
3676f0c59d fix:상품관리 HTMX 부분 로드 시 Alpine.js 오류 수정 (HX-Redirect 적용) 2026-01-29 15:41:39 +09:00
pro
7547a63284 feat:계약 체결 단계에 상품 선택 기능 추가
- 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>
2026-01-29 15:04:26 +09:00
pro
f48d4b036a feat:영업 상품관리 기능 구현
- SalesProductController: CRUD + 카테고리 관리
- Models: SalesProductCategory, SalesProduct, SalesContractProduct
- Views: 상품관리 UI (Tailwind + Alpine.js + HTMX)
- Routes: /sales/products/* 라우트 등록

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 15:02:09 +09:00
pro
20d8c774f6 fix:시나리오 단계 버튼 및 완료 시 진행률 반영
- 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>
2026-01-29 13:02:52 +09:00
pro
d124078fd4 feat:본사 진행 상태 및 수당 지급 상태 UI 추가
- SalesTenantManagement 모델에 본사 진행 상태 7단계 추가
  (대기, 검토, 기획안작성, 개발코드작성, 개발테스트, 개발완료, 통합테스트, 인계)
- 수당 지급 상태 3단계 추가 (대기, 지급대상, 지급완료)
- tenant-list.blade.php에 본사 진행 상태 스텝 인디케이터 추가
- 매니저 100% 완료 시 본사 진행 활성화
- 수당 지급 상태 배지 표시

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 11:39:10 +09:00
pro
9588abb272 feat:테넌트 리스트에 영업/매니저 진행률 표시
- SalesScenarioChecklist: getSimpleProgress(), getTenantProgress() 메서드 추가
- tenant-list: 진행률 컬럼 추가 (영업/매니저 각각 프로그레스 바)
- 레이아웃 재조정: 버튼 compact화, 컬럼 비율 조정
- 오른쪽 빈 공간 활용하여 정보 밀도 향상

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 10:42:56 +09:00
pro
9e39567604 fix:오디오/파일 다운로드 반환 타입 오류 수정
- downloadAudio: Response → BinaryFileResponse|RedirectResponse
- downloadFile: Response → BinaryFileResponse
- GCS 리다이렉트: response()->redirectTo() → redirect()->away()

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 10:00:27 +09:00
pro
6b54e19a42 feat:GCS 환경변수(.env) 기반 설정 지원
- config/gcs.php 추가: 환경변수 기반 설정
- GoogleCloudStorageService 우선순위 변경:
  1. DB 설정 (UI 오버라이드용)
  2. 환경변수 (.env) - 기본
  3. 레거시 파일 (fallback)
- .env.example에 GCS 설정 추가
- 서버 배포 시 .env만 설정하면 DB 설정 불필요

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 09:39:49 +09:00
pro
50becbdd28 feat:AI 설정 페이지에 GCS 스토리지 설정 통합
- AI 설정과 스토리지 설정을 탭으로 구분
- GCS 버킷 이름, 서비스 계정 (JSON 직접입력/파일경로) 설정 가능
- GCS 연결 테스트 기능 추가
- GoogleCloudStorageService가 DB 설정 우선 사용 (fallback: 레거시 파일)
- AiConfig 모델에 gcs provider 및 관련 메서드 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 09:22:12 +09:00
pro
dd86d70503 feat:음성 녹음 GCS 업로드 및 다운로드 기능 추가
- 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>
2026-01-29 09:15:13 +09:00
pro
bdf00f9c36 fix:체크리스트 토글 checkpoint_index NOT NULL 오류 수정
- 새 레코드 생성 시 checkpoint_index 기본값 0 설정

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 08:53:55 +09:00
pro
5d15acebba fix:시나리오 모달 500 에러 및 무한 루프 수정
- SalesScenarioChecklist::toggle()에서 user_id 설정 추가 (DB NOT NULL 오류 해결)
- scenario-modal.blade.php에서 @scenario-modal-closed.window 이벤트 리스너 제거 (무한 루프 해결)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 08:20:04 +09:00
pro
8c089e54a7 fix:영업파트너 등록 시 본사 관리자도 추천인으로 설정
- 기존: 본사 관리자 등록 시 parent_id = null
- 변경: 누가 등록하든 등록자가 추천인(parent_id)으로 설정

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 08:09:28 +09:00
pro
9f6218bc07 refactor:영업담당자 → 영업파트너 용어 변경 및 드롭다운 로직 수정
- 전체 코드에서 '영업담당자' → '영업파트너'로 용어 통일
- 관리 드롭다운: 모든 HQ 사용자 → 내가 유치한 하위 영업파트너만 표시
- User.php children() 관계 활용

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 07:57:30 +09:00
pro
92c4e15273 feat:계약 현황 페이지네이션 추가 (10건 단위)
- 최신 계약이 상단에 표시되도록 정렬
- 10건 초과 시 HTMX 페이지네이션 표시
- 현재 페이지 범위 및 총 건수 표시

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 07:51:41 +09:00
pro
0a0afe1df0 fix:매니저 드롭다운 API 호출 제거, 서버사이드 렌더링으로 변경
- 기존: 드롭다운 열 때 API 호출 → 로딩 스피너 문제
- 변경: 컨트롤러에서 allManagers 전달 → 즉시 렌더링
- 로딩 상태 제거로 UX 개선

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 07:05:45 +09:00
pro
b4163d6ffd fix:영업관리 대시보드에 가망고객 전환 테넌트만 표시
- 기존: 로그인 사용자의 모든 테넌트 표시 (HQ 제외)
- 변경: 가망고객(tenant_prospects)에서 전환된 테넌트만 표시
- TenantProspect.STATUS_CONVERTED 상태의 tenant_id만 조회

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 06:47:37 +09:00
pro
329c58e63b refactor:영업관리 데이터를 DB 테이블로 변경
- 모델 추가: SalesPartner, SalesTenantManagement, SalesScenarioChecklist, SalesConsultation
- 모델 위치 이동: app/Models/ → app/Models/Sales/
- 컨트롤러 수정: 캐시 대신 DB 모델 사용
- 뷰 수정: Eloquent 모델 속성 사용

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 06:42:32 +09:00
pro
2f381b2285 feat:레거시 영업관리 시스템 MNG 마이그레이션
- 영업/매니저 시나리오 모달 구현 (6단계 체크리스트)
- 상담 기록 기능 (텍스트, 음성, 첨부파일)
- 음성 녹음 + Speech-to-Text 변환
- 첨부파일 Drag & Drop 업로드
- 매니저 지정 드롭다운

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 21:45:11 +09:00
pro
c20624ad0d fix:테넌트 전환 시 user_tenants에 자동 연결
- 전환한 사용자를 새 테넌트에 자동 연결
- 대시보드에서 관리 테넌트로 표시되도록 함

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 20:54:39 +09:00
pro
e960e0c0e1 fix:테넌트 전환 시 고유 코드 자동 생성
- code 필드 추가 (T + 날짜 + 랜덤 4자리)
- 예: T260128ABC1

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 20:34:25 +09:00
pro
f874acdaff fix:테넌트 전환 시 tenant_type을 STD로 수정
- customer → STD (ENUM 허용값에 맞게 수정)
- created_by 필드 제거 (테이블에 없는 컬럼)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 20:33:01 +09:00
pro
9980c334e4 fix:테넌트 조회를 user_tenants 관계로 변경
- registered_by 컬럼 대신 user_tenants 관계 사용
- 현재 사용자가 속한 테넌트 중 HQ 제외하고 조회

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 20:23:42 +09:00
pro
70300ccf3a fix:테넌트 목록을 현재 사용자가 등록한 것만 표시
- registered_by로 현재 로그인 사용자가 등록한 테넌트만 조회
- 영업 진행 버튼 → 영업실적 등록 페이지 연결
- 상세계약 설정 버튼 → 테넌트 편집 페이지 연결
- 매니저 진행 버튼 → 영업담당자 관리 페이지 연결
- 삭제 버튼에 확인 다이얼로그 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 20:22:54 +09:00
pro
f993d3de79 feat:영업관리 대시보드에 테넌트 및 계약 관리 섹션 추가
- 테넌트 목록 표시 (업체명, 담당자, 등록일)
- 계약관리 버튼 (영업 진행, 상세계약 설정, 매니저 진행)
- 행 클릭 시 상세 정보 토글
- 신규 테넌트 등록 버튼 제외 (가망고객 관리에서 처리)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 20:15:38 +09:00
pro
6cb9e703d2 fix:PermissionController Tenant 모델 네임스페이스 수정
- App\Models\Tenant → App\Models\Tenants\Tenant

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 20:00:14 +09:00
pro
39e9ae39c6 fix:R&D LABS A 탭 메뉴 전체 제거 (AI/Automation) 2026-01-28 19:14:31 +09:00
pro
55d04537fc feat:신용평가 조회회수 집계 기능 추가
- 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>
2026-01-28 16:49:13 +09:00
pro
45aa0f9c72 fix:명함 OCR 이미지 저장 안되던 버그 수정
- TenantProspectController: business_card_image_data (Base64) validation 및 처리 추가
- TenantProspectService: saveBase64Image 메서드 추가로 Base64 이미지 저장 지원
- OCR로 인식한 명함 이미지가 DB에 정상 저장되도록 수정

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 16:31:10 +09:00
pro
b8d035f639 fix:세무전략, 채권추심전략, MRP해외사례 컨트롤러/뷰 삭제
- StrategyController: tax(), debt(), mrpOverseas() 메서드 제거
- views/lab/strategy/: tax, debt, mrp-overseas 뷰 파일 삭제

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 16:23:36 +09:00
pro
8d73cc3f79 fix:쿨다운 → 재등록 대기 기간으로 용어 변경
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 15:42:40 +09:00
pro
b0b34b44bb fix:전자세금계산서 발행 시 전송일자 자동 기록
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 15:36:49 +09:00
pro
8ea2b7e754 fix:전자세금계산서 작성일자/전송일자 필드 수정
- 공급일자 → 작성일자로 명칭 변경
- 전송일자 컬럼 추가 (목록 및 상세 모달)
- sendToNts 메서드에서 sentAt 타임스탬프 기록

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 15:31:40 +09:00
pro
da706bae04 fix:바로빌 홈택스 API 파라미터 오류 수정
- TaxType: 0(전체) → 1(과세+영세), 3(면세) 각각 조회 후 합침
  (바로빌 API에서 TaxType=0은 미지원)
- DateType: 1(작성일) → 3(전송일자)로 변경 (권장사항)
- 에러 메시지 업데이트:
  - -11010: 과세형태 오류 안내
  - -10008: 날짜형식 오류 안내 (YYYYMMDD)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 15:09:43 +09:00
pro
4cf0be0ab6 refactor:가망고객 추가서류 섹션 제거 및 파트너 서류타입 정리
- prospects/create, edit, show에서 신분증/통장 사본 업로드 UI 제거
- SalesManagerDocument DOCUMENT_TYPES를 등본사본, 통장사본만 유지
- 계약서는 모두의싸인 통해 별도 처리 예정

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 14:39:53 +09:00
김보곤
87379f3665 Merge develop and fix conflicts in routes/web.php (AI config and Categories) 2026-01-28 13:57:34 +09:00
pro
8e6fa5b8a7 refactor:SAM AI 메뉴 이동/알람음 제작 메뉴 삭제
- routes/web.php에서 sam-ai-menu, sam-ai-alarm 라우트 제거
- AIController에서 samAiMenu, samAiAlarm 메서드 제거
- sidebar-static.blade.php에서 메뉴 항목 제거
- sam-ai-menu.blade.php, sam-ai-alarm.blade.php 뷰 파일 삭제

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 13:47:39 +09:00
pro
45ccbaebb9 refactor:R&D Labs M. Management 메뉴 전체 삭제
- ManagementController.php 삭제
- lab/management/ 뷰 디렉토리 전체 삭제 (11개 파일)
- sidebar-static.blade.php에서 M. Management 섹션 제거
- routes/web.php에서 lab.management.* 라우트 제거

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 13:26:33 +09:00
pro
8622a63e6b fix:R&D LABS에서 사업자등록증 OCR 메뉴 제거
Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-28 13:18:41 +09:00
pro
df97176829 fix:R&D LABS에서 GPS 출퇴근 관리 메뉴 제거
Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-28 13:14:40 +09:00
pro
a905c000d8 fix:R&D LABS에서 기업개황 조회 메뉴 제거
Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-28 13:13:15 +09:00