- 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>
- HometaxController 생성 (HOMETAX.asmx SOAP API 연동)
- 매출 세금계산서 목록 조회 (GetHomeTaxTIBySalesEx)
- 매입 세금계산서 목록 조회 (GetHomeTaxTIByPurchaseEx)
- 홈택스 수집 요청 및 상태 조회 기능
- React 기반 UI (매출/매입 탭 전환, 통계 대시보드)
- CSV 엑셀 다운로드 기능
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- GET → POST 방식으로 변경
- 저장된 DB 데이터 대신 현재 화면에 표시된 데이터 내보내기
- 프론트엔드에서 logs, splits 데이터를 JSON으로 전송
- Blob 다운로드 방식으로 파일 저장
- 금액 필드에 콤마 포맷팅 적용
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- CardTransactionSplit 모델 및 마이그레이션 추가
- EcardController에 splits, saveSplits, deleteSplits API 추가
- 분개 라우트 추가 (GET/POST/DELETE /barobill/ecard/splits)
- 프론트엔드 SplitModal 컴포넌트 추가
- 각 거래 행에 +/- 버튼으로 분개 추가/삭제
- 분개 행 시각적 구분 (들여쓰기, 배경색)
- 분개 금액 합계 검증
- 고유키(cardNum|useDt|approvalNum|amount)로 원본 데이터 연결
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- EcardController: 카드 목록/사용내역 조회, 계정과목 저장, 엑셀 내보내기
- CardTransaction 모델: 카드 사용내역 저장 및 고유키 매칭
- 마이그레이션: barobill_card_transactions 테이블 생성
- React 기반 UI: 카드 선택, 기간 조회, 계정과목 검색/선택 기능
- MngMenuSeeder 메뉴 URL 업데이트
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- account_codes 테이블 및 모델 생성
- 더존 표준 계정과목 163개 시더 추가
- 계정과목 CRUD API 추가 (추가/수정/삭제/조회)
- 계정과목 설정 모달 UI 구현
- 분류별 필터링 및 검색 기능
- 사용/미사용 토글 기능
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- BankTransaction 모델: 입출금 내역 저장 (계정과목 포함)
- 바로빌 데이터와 DB 저장 데이터 매칭하여 계정과목 유지
- 계정과목 드롭다운 선택 및 저장 기능
- 엑셀(CSV) 다운로드 기능
- 저장된 행은 녹색 배경으로 표시
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- EaccountController.php: 바로빌 BANKACCOUNT.asmx SOAP API 연동
- GetBankAccountEx: 등록된 계좌 목록 조회
- GetPeriodBankAccountTransLog: 계좌 입출금내역 조회
- index.blade.php: React 기반 UI (전자세금계산서와 동일 구조)
- 테넌트 정보 카드
- 통계 카드 (입금/출금/계좌수/거래건수)
- 계좌 선택 버튼
- 기간 조회 필터 (이번달/지난달 버튼)
- 입출금 내역 테이블 (스크롤)
- 라우트 추가: /barobill/eaccount
- 메뉴 시더 업데이트
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- EtaxController 생성 (세금계산서 발행/조회/삭제/국세청 전송)
- React 기반 Blade 뷰 페이지 생성
- 라우트 설정 (/barobill/etax)
- 메뉴 시더 업데이트
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- credit_inquiries 테이블 마이그레이션 추가
- CreditInquiry 모델 생성 (API 응답 저장, 이슈 카운트 등)
- 조회 이력 리스트 화면으로 변경 (페이지네이션, 필터)
- 원본 데이터 모달 조회 기능 추가
- 신용평가 리포트 모달 (TODO: 가공 형식 구현 예정)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- CooconConfig 모델 및 마이그레이션 추가
- CooconService 클래스 구현 (OA12~OA17 API)
- CreditController 확장 (설정 관리, 조회 기능)
- 설정 관리 화면 추가 (CRUD, 활성화 토글)
- 사업자번호 조회 화면 업데이트 (API 연동)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- MngMenuSeeder에 바로빌 그룹메뉴와 회원사관리 하위메뉴 추가
- BarobillController 생성 (회원사관리 페이지)
- /barobill/members 라우트 추가
- 회원사관리 기본 뷰 파일 생성 (샘플 테이블 포함)
메뉴 적용: php artisan db:seed --class=MngMenuSeeder
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1. /menus 페이지 hx-boost 네비게이션 시 SortableJS 미실행 수정
- htmx:afterSettle 이벤트로 페이지별 스크립트 초기화
- menu-sortable.js로 SortableJS 로직 분리
- 중복 코드 제거
2. 세션 만료 시 자동 갱신 로직 추가
- /auth/refresh-session 엔드포인트 추가
- Remember Token으로 자동 재인증 (자동 로그인 사용자)
- 재인증 실패 시 로그인 페이지 리다이렉트
- 인증 모달에 회사(테넌트) 선택 드롭다운 추가
- 헤더의 $globalTenants 재사용
- tenant.switch 라우트와 동기화
- 회사 변경 시 사용자 목록 자동 갱신
- Bearer 토큰 표시 및 복사 기능 추가
- 토큰 발급 API 엔드포인트 추가 (POST /dev-tools/api-explorer/issue-token)
- 현재 상태 영역에 토큰 표시
- 클립보드 복사 버튼 (Clipboard API + fallback)
- 적용 후 모달 유지하여 토큰 복사 가능
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 댓글 라우트 추가 (store, update, destroy)
- PostService에 댓글 관리 메서드 추가
- PostController에 댓글 컨트롤러 메서드 추가
- 게시글 상세 페이지에 댓글 섹션 UI 추가 (AlpineJS)
- 계층형 댓글 지원 (부모/대댓글)
- BoardComment 모델 추가
- HTMLPurifier 패키지 및 설정 추가
- 게시글 목록에 첨부파일/댓글 수 표시
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
## 슈퍼관리자 삭제 게시물 관리
- 삭제된 게시물 목록에 표시 (빨간색 배경, 취소선)
- 게시물 복원 기능 추가 (POST /{post}/restore)
- 게시물 영구삭제 기능 추가 (DELETE /{post}/force)
- 통계 카드에 삭제됨 카운트 추가
## 페이지 타이틀 회사명 표시
- /boards: "회사명 게시판 관리" 형식으로 표시
- /boards/{code}/posts: "회사명 게시판명" 형식으로 표시
- 회사명 파란색으로 구분 표시
## 버그 수정
- 통계 카드 CSS: Tailwind 동적 클래스 문제 해결
(grid-cols-{{ }} → 정적 클래스로 변경)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Route Model Binding → 수동 조회로 변경 (board_code + tenant_id)
- PostController: resolveBoard() 헬퍼 추가
- t 파라미터 → 시스템 게시판 → 로그인 회원 tenant 순서
- 사이드바 메뉴 리다이렉트: tenant_id ?? 1 fallback 추가
- SidebarMenuService와 동일한 로직으로 일관성 확보
- 게시판 목록 테이블에 게시글 수 컬럼 추가
- 모든 posts View에 tenant_id 파라미터 추가
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- /customer-center/{code} → /boards/{id}/posts 리다이렉트
- 시스템 게시판(tenant_id=null) + 활성화된 게시판만 대상
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>