Commit Graph

148 Commits

Author SHA1 Message Date
김보곤
770bd7e9d7 feat:환불/해지 관리 목업 데이터를 실제 DB CRUD로 전환
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 22:37:37 +09:00
김보곤
9c37b665e9 feat:미지급금 관리 목업 데이터를 실제 DB CRUD로 전환
- 채무관리 메뉴명 → 미지급금 관리로 변경 시더 추가
- Payable 모델/컨트롤러 생성
- 지급 처리 API 추가
- React 프론트엔드 API 호출 전환

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 22:27:18 +09:00
김보곤
7c5f9addbe feat:미수금 관리 목업 데이터를 실제 DB CRUD로 전환
- 채권관리 메뉴명 → 미수금 관리로 변경 시더 추가
- Receivable 모델/컨트롤러 생성
- 수금 처리 API 추가
- React 프론트엔드 API 호출 전환

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 22:22:28 +09:00
김보곤
0657932bbd feat:거래처 관리 목업 데이터를 실제 DB CRUD로 전환
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 22:13:31 +09:00
김보곤
95df5cb669 feat:전자세금계산서 공급자 기초정보 설정 모달 구현
- EtaxController에 getSupplier/updateSupplier 메서드 추가
- etax 라우트 그룹에 GET/POST /supplier 라우트 추가
- SupplierSettingsModal React 컴포넌트 구현 (톱니바퀴 아이콘)
- IssueForm이 supplier state를 props로 참조하도록 변경
- manager_phone → manager_hp 필드명 버그 수정
- FIXED_SUPPLIER → INITIAL_SUPPLIER 상수 리네이밍

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 11:22:20 +09:00
김보곤
9f4d899361 feat:매니저 지정 시 동적 UI 업데이트 구현
- 가망고객 행을 별도 partial(prospect-row.blade.php)로 분리
- 매니저 드롭다운에서 선택 시 HTMX로 해당 행만 새로고침
- 컨트롤러에 getProspectRow 메서드 추가
- 라우트 추가: salesmanagement/dashboard/prospect/{id}/row

이제 매니저 지정 후 새로고침 없이 화면이 동적으로 업데이트됩니다.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 09:26:18 +09:00
김보곤
7ee27d7c2a feat:차량일지 기능 구현
- VehicleLogController: CRUD 및 통계 API 추가
- VehicleLog 모델: 구분/분류 코드 정의 추가
- vehicle-logs.blade.php: React 기반 운행기록부 UI
- routes/web.php: vehicles, summary 엔드포인트 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 20:01:51 +09:00
김보곤
fe15cecbdb feat:차량정비이력 실제 DB 연동 구현 2026-02-03 19:56:44 +09:00
김보곤
ac66e36294 feat:홈택스 세금계산서 로컬 저장 및 동기화 기능 구현
- HometaxInvoice 모델 생성 (로컬 DB 조회/저장)
- HometaxSyncService 서비스 생성 (API 데이터 동기화)
- HometaxController에 로컬 조회/동기화 메서드 추가
- 라우트 추가: local-sales, local-purchases, sync, update-memo, toggle-checked
- UI: 데이터소스 선택 (로컬 DB/바로빌 API), 동기화 버튼 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 17:13:18 +09:00
0f02acf39d Merge remote-tracking branch 'origin/develop' into develop 2026-02-03 14:10:36 +09:00
5dd580623e feat:통계 대시보드 페이지 신규 구현 (/stats/dashboard)
- 모델 7개: StatSalesDaily, StatFinanceDaily, StatProductionDaily,
  StatInventoryDaily, StatSystemDaily, StatSalesMonthly, StatFinanceMonthly
- DashboardStatService: 요약카드, 7일 추이차트, 알림, 월간요약 데이터
- StatDashboardController: HX-Redirect 패턴 적용
- 뷰: 요약카드 6개 + Chart.js 4개 차트 + 알림/월간요약 하단섹션
- 기존 대시보드 "통계 및 리포트" 바로가기 링크 연결
- 헤더 테넌트 선택 기준 전체/개별 테넌트 필터링 지원

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 14:03:58 +09:00
김보곤
0d111bc8ba feat:차량일지(운행기록부) 기능 구현
- VehicleLog 모델 생성
- VehicleLogController (CRUD, 엑셀 다운로드)
- 차량일지 라우트 추가 (/finance/vehicle-logs/*)
- React 기반 UI (vehicle-logs.blade.php)
- VehicleLogMenuSeeder (법인차량관리 > 차량일지 메뉴)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 11:32:42 +09:00
김보곤
f82b34a596 feat:법인차량관리 API 연동 및 CRUD 구현
- CorporateVehicle 모델 추가
- CorporateVehicleController 추가 (목록/등록/수정/삭제)
- 목업 데이터 제거, 실제 DB 연동
- 불필요한 필드(보험만료일, 검사만료일) 제거
- 렌트/리스 차량 전용 필드 지원

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 21:48:01 +09:00
김보곤
b93ceaadd0 feat:수당 날짜 기록/수정/삭제 기능 추가 2026-02-02 20:16:13 +09:00
김보곤
e236390846 fix:매니저 검색 라우트 순서 수정 (리소스 라우트 앞으로 이동) 2026-02-02 17:31:11 +09:00
김보곤
87e3e9d75a feat:상담매니저 선택 UI 실시간 검색으로 개선
- 드롭다운 선택 방식에서 실시간 검색 UI로 변경
- getAllManagerUsers() 메서드 추가 (manager 역할 사용자 조회)
- searchManagers() API 추가 (이름/이메일 검색)
- 자신이 유치한 파트너뿐만 아니라 모든 상담매니저 역할 사용자 선택 가능

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 17:08:24 +09:00
김보곤
3688e76bb8 feat:영업파트너 고객관리 페이지 내부 새로고침 기능 추가
- 헤더에 새로고침 버튼 추가
- HTMX로 콘텐츠 영역만 새로고침 (페이지 전체 리로드 없음)
- 컨트롤러에 refresh 메서드 및 getIndexData 공통 메서드 추가
- content.blade.php partial 분리

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 12:59:58 +09:00
김보곤
2f02390262 feat:영업파트너 고객관리 개발 상태 변경 기능 추가
- 8단계 개발 상태(HQ Status) 드롭다운 추가
- updateHqStatus API 엔드포인트 및 컨트롤러 메서드 추가
- JavaScript AJAX 함수로 상태 변경 처리

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 12:03:08 +09:00
김보곤
11bacef55c feat:영업파트너 고객관리 메뉴 추가 (관리자 전용)
- AdminProspectController 생성 (관리자/슈퍼관리자만 접근)
- 전체 영업파트너의 고객 현황을 한눈에 파악
- 영업파트너별 필터, 상태별 필터 제공
- 영업/매니저 진행률 및 개발 상태 표시
- 상세 모달에서 담당자 정보 및 진행 현황 확인
- AdminProspectMenuSeeder 생성 (메뉴 추가용)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 11:54:37 +09:00
김보곤
3bded18129 feat:가망고객에 매니저 지정 기능 추가 및 수당 구조 변경
- 영업 진행중(가망고객)에도 매니저 드롭다운 추가
- 가망고객용 assign-manager API 라우트 추가
- 매니저 수당: 5% → 1개월 구독료 (고정 금액)
- 역할별 수당 표시에서 관리자 "1개월 구독료" 라벨 추가
- 유치 파트너 현황 예상 수당도 구독료 기준으로 변경

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 11:45:57 +09:00
김보곤
d9757cc567 fix:GET /logout 요청 시 로그인 페이지로 리다이렉트
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 09:32:57 +09:00
4b13786075 Merge remote-tracking branch 'origin/develop' into develop 2026-02-01 20:37:47 +09:00
5e193e9f8e feat:성적서 인쇄뷰 + 문서 편집 버그 수정
- 성적서 인쇄뷰(print.blade.php) 추가: 동적 검사 테이블 렌더링
- DocumentController: print() 메서드, create/edit HTMX HX-Redirect 추가
- 기본필드 field_key: Str::slug→bf_{id} (한글 빈문자열 버그 수정)
- show.blade.php: 성적서 버튼 추가
- 양식 편집 UI 개선 + 복제 기능

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 20:37:01 +09:00
김보곤
ebf1055564 feat:영업관리 대시보드에 도움말 버튼 추가
- 페이지 헤더에 도움말(i) 버튼 추가
- 영업파트너가이드북.md를 모달로 표시
- HTMX로 마크다운 콘텐츠 로드 및 HTML 변환
- max-w-6xl 모달로 가독성 확보

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 21:08:40 +09:00
김보곤
28f129393d feat:개발 진행중 → 승인대기로 이동 기능 추가
- revertToPending 서비스 메서드 추가
- revertToPending 컨트롤러 액션 추가
- /approvals/{id}/revert-pending 라우트 추가
- progress-list에 "승인대기로" 버튼 추가
- JavaScript revertToPending 함수 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 20:33:44 +09:00
김보곤
f83d2a1333 feat:개발 승인 메뉴 구현
- 영업관리 하위에 "개발 승인" 메뉴 추가
- 영업/매니저 100% 완료 고객의 개발 진행 상태 관리
- 3분할 레이아웃: 승인대기 / 개발진행중 / 완료
- 7단계 진행 상태: 대기→검토→기획안작성→개발코드작성→개발테스트→개발완료→통합테스트→인계
- 승인/반려/상태변경 기능 구현
- 통계 카드 및 상세 모달 지원

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-31 20:15:03 +09:00
김보곤
d96cdc1975 feat:가망고객(prospect) 상담 기록 및 첨부파일 기능 추가
- SalesConsultation 모델에 prospect 관련 메서드 추가
  - createTextByProspect(), createAudioByProspect(), createFileByProspect()
  - getByProspectAndType() 조회 메서드
- ConsultationController에 prospect 라우트 추가
  - prospectIndex(), prospectStore(), prospectUploadAudio(), prospectUploadFile()
- scenario-modal.blade.php에서 @if(!$isProspectMode) 조건 제거
  - 가망고객 모드에서도 상담 기록 섹션 표시
- voice-recorder, file-uploader, consultation-log에 prospect 모드 지원
- routes/web.php에 prospect 상담 기록 라우트 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 19:50:46 +09:00
김보곤
fcb3a65cf7 feat:가망고객 단계에서 영업/매니저 시나리오 체크리스트 지원
- SalesTenantManagement, SalesScenarioChecklist에 tenant_prospect_id 지원 추가
- 가망고객 기반 시나리오 컨트롤러 메서드 추가
- 라우트 추가: /sales/scenarios/prospect/{id}/sales, manager
- 대시보드에서 가망고객 행에 영업/매니저 버튼 및 진행률 표시
- 시나리오 모달/스텝 뷰 prospect 모드 지원

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 19:34:49 +09:00
pro
9d00064165 feat:영업파트너 유치 현황 대시보드 탭 추가
- SalesDashboardController에 partnerActivity() 메서드 추가
- 유치 파트너 요약 통계 (파트너 수, 영업권, 계약, 예상수당)
- 파트너별 상세 활동 테이블 (펼침/접기 기능)
- 기존 대시보드에 탭 UI 통합 (내 활동 / 유치 파트너 현황)
- HTMX로 탭 콘텐츠 지연 로드

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 16:15:50 +09:00
pro
1e8474cd62 Merge branch 'develop' of http://114.203.209.83:3000/SamProject/sam-manage into develop 2026-01-31 11:35:38 +09:00
pro
d2ab0d6659 feat:영업파트너 승인 페이지 추가 (본사 관리자 전용)
- 승인 대기 목록 페이지 (/sales/managers/approvals)
- isAdmin() 권한 체크: admin 또는 super_admin만 접근 가능
- 승인/반려 기능 (AJAX 지원)
- 상세 보기 모달
- 승인 대기 통계 (오늘 승인/반려 수)
- DB 메뉴 추가: 영업관리 > 영업파트너 승인

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 11:27:06 +09:00
9cd902af2b feat: 시스템 알림 관리 페이지 (Phase 5)
- sam_stat DB 연결 추가 (config/database.php)
- StatAlert 모델 생성 (sam_stat 연결, 읽기+상태변경)
- SystemAlertController 생성 (목록/읽음/해결/전체읽음)
- 시스템 알림 Blade 페이지 (필터/페이지네이션/HTMX)
- /system/alerts 라우트 등록

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 08:33:33 +09:00
097504e5c9 feat:APK 파일 다운로드 링크 추가
- APK 파일명 클릭 시 다운로드, download_count 자동 증가
- app_releases 디스크 스트리밍 다운로드 라우트 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 23:37:41 +09:00
95ef55470e feat:앱버전 수정 기능 추가 (모달, APK 파일 교체)
- 버전코드/버전명/플랫폼/변경사항/강제업데이트/APK 파일 수정 가능
- 새 APK 업로드 시 기존 파일 삭제 후 교체
- 수정 모달 UI, PUT 라우트 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 22:56:38 +09:00
daaa77badc feat:앱버전 슈퍼관리자 소프트삭제 목록 표시, 복구/영구삭제 기능
- 슈퍼관리자: 삭제된 항목 빨간 배경으로 표시, 복구/영구삭제 버튼
- 소프트 삭제 시 APK 파일 유지, 영구 삭제 시에만 파일 제거
- restore, forceDestroy 라우트 및 서비스 메서드 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 22:39:19 +09:00
78e67eb928 feat: 앱 버전 관리 페이지 구현
- AppVersion 모델, Service, Controller
- 버전 등록 폼 (APK 업로드, 강제 업데이트 설정)
- 버전 목록 테이블 (활성 토글, 다운로드 수, 삭제)
- /app-versions 라우트 추가
- app_releases 스토리지 디스크 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 19:53:09 +09:00
pro
10ec26723f feat:법인카드 서버 저장 기능 구현
- CorporateCard 모델 추가
- CorporateCardController API 추가 (CRUD)
- 라우트 추가 (list, store, update, deactivate, destroy)
- React 컴포넌트 API 연동 (fetch 호출)
- 로딩 상태 UI 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 19:12:07 +09:00
pro
5abec84012 feat:영업 실적(records) 라우트 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 15:21:48 +09:00
b1481e168f Merge remote-tracking branch 'origin/develop' into develop 2026-01-30 13:51:49 +09:00
b6a3c4b506 feat:공통코드/카테고리 벌크 글로벌 복사, 동기화 환경설정 공통화
- 공통코드/카테고리 테넌트→글로벌 체크박스 벌크 복사 기능 추가
- 이미 대상에 존재하는 항목 체크박스 disabled 처리 (양방향)
- 공통코드 토글 크기 카테고리와 동일하게 축소
- 동기화 환경설정 모달을 공통 partial로 분리
- 동기화 리스트에서 불필요한 타입 컬럼 제거

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 13:16:44 +09:00
pro
d840bee519 merge: origin/develop 병합 및 충돌 해결
- labs-menu.blade.php: S/A 탭 구조 유지 (원격 버전)
- routes/web.php: ManagementController + AIController 모두 포함, SalesCommissionController 구현 유지

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 11:50:09 +09:00
pro
32bb5795d1 feat:고객관리 상세/수정 모달창 구현
- 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>
2026-01-29 22:20:32 +09:00
pro
036a021b71 feat:영업파트너 관리 상세/수정 모달 구현
- 목록에서 상세/수정 버튼 클릭 시 모달로 표시
- 모달 열림 시 배경 스크롤 방지
- ESC 키로 모달 닫기 지원

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 21:27:05 +09:00
pro
ca0de89bda fix:영업실적 관리 메뉴 및 라우트 제거
- 영업실적은 수수료 정산에서 자동 산출되므로 별도 등록 불필요
- 메뉴 삭제 (DB)
- 라우트 제거 (/sales/records)
- 대시보드에서 통합 조회로 대체

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 19:54:27 +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
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
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