Commit Graph

97 Commits

Author SHA1 Message Date
c65d3f49dc feat: 문서 관리 시스템 MNG 관리자 패널 구현 (Phase 2)
- 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>
2026-01-28 21:51:23 +09:00
김보곤
87379f3665 Merge develop and fix conflicts in routes/web.php (AI config and Categories) 2026-01-28 13:57:34 +09:00
29949d66eb feat:카테고리 관리 기능 추가
- CategoryController: 카테고리 관리 페이지
- CategoryApiController: 테넌트별 카테고리 CRUD API
- GlobalCategoryApiController: 글로벌 카테고리 관리 API
- Category, GlobalCategory 모델 추가
- 카테고리 관리 뷰 (index, partials)
- config/categories.php 설정 파일

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 12:50:15 +09:00
pro
c2d5538f30 feat:TenantProspect 모델에 신분증/통장사본 첨부 기능 추가
- fillable에 id_card_path, bankbook_path 추가
- hasIdCard(), hasBankbook() 메소드 추가
- id_card_url, bankbook_url 속성 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 08:49:32 +09:00
pro
d824b45fc0 feat:AI 설정에 Vertex AI 서비스 계정 인증 방식 추가
- AiConfig 모델에 Vertex AI 헬퍼 메소드 추가
- AI 설정 UI에 인증 방식 선택 (API 키 / Vertex AI)
- Vertex AI 선택 시 프로젝트 ID, 리전, 서비스 계정 경로 입력
- BusinessCardOcrService가 DB 설정 기반으로 동작
- Google AI Studio와 Vertex AI 모두 지원

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 08:08:30 +09:00
pro
9f49501d33 feat:신분증/통장사본 첨부파일 기능 추가
- SalesProspect 모델: id_card_image, bankbook_image 필드 추가
- hasIdCard(), hasBankbook() 메서드 및 URL 접근자 추가
- SalesProspectController: store/update/destroy에 처리 로직 추가
- create.blade.php: 드래그앤드롭 업로드 UI 추가
- edit.blade.php: 기존 이미지 표시 및 교체 UI 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 23:42:31 +09:00
pro
e9f77cb5f1 feat:명함 이미지 저장 및 표시 기능 추가
- SalesProspect 모델에 business_card_image 필드 추가
- hasBusinessCard(), business_card_url 접근자 추가
- SalesProspectController store/update에 이미지 저장 로직
- create.blade.php에 이미지 데이터 전송 hidden input 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 23:36:41 +09:00
pro
a834beaa10 feat:명함 OCR 시스템 구현
- AiConfig 모델: AI API 설정 관리
- BusinessCardOcrService: Gemini Vision API 호출
- BusinessCardOcrController: OCR API 엔드포인트
- AiConfigController: AI 설정 CRUD
- create.blade.php: 드래그앤드롭 명함 인식 UI
- AI 설정 관리 페이지 추가
2026-01-27 23:00:52 +09:00
pro
e04cbcf1e0 feat:영업권(명함등록) 시스템 구현
- TenantProspect 모델, 서비스, 컨트롤러 추가
- 명함 등록 시 2개월 영업권 부여
- 만료 후 1개월 쿨다운 기간 적용
- 테넌트 전환 기능 구현
- 사업자번호 중복 체크 API 추가
- 명함 이미지 업로드 지원

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 22:39:42 +09:00
pro
c6f509c78c feat:영업담당자 User 모듈 통합 및 승인 시스템 구현
- 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>
2026-01-27 20:06:51 +09:00
pro
20d1266953 merge: 원격 변경사항 병합 (MngMenuSeeder 삭제 수락) 2026-01-27 16:56:28 +09:00
pro
d036be1ec3 feat:바로빌 과금 정책 DB 관리 기능 추가
- BarobillPricingPolicy 모델 추가
- BarobillPricingPolicySeeder 추가 (초기 정책 데이터)
- 과금관리 페이지에 정책 관리 탭 추가 (본사 전용)
- 정책 수정 모달 및 API 엔드포인트 추가
- BarobillUsageService에서 DB 정책 사용하도록 수정

정책 항목:
- 법인카드 등록: 기본 3장, 추가 1장당 5,000원
- 계산서 발행: 기본 100건, 추가 50건당 5,000원
- 계좌조회 수집: 기본 1계좌, 추가 1계좌당 10,000원

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 15:17:25 +09:00
pro
39161d1203 feat:바로빌 과금관리 시스템 구현
- 모델: BarobillSubscription, BarobillBillingRecord, BarobillMonthlySummary
- 서비스: BarobillBillingService (구독/과금 처리 로직)
- API 컨트롤러: BarobillBillingController (구독/과금 CRUD)
- 뷰: 과금 현황 탭, 구독 관리 탭, 통계 카드, 상세 모달
- 라우트: 웹/API 라우트 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 15:03:44 +09:00
3f320bbc90 feat:문서양식관리 기능 추가 및 권한 토글 개선
- 문서양식관리 CRUD 기능 구현 (생산관리 > 문서양식관리)
- 결재라인, 섹션, 컬럼 동적 관리 (Vanilla JS)
- 섹션별 이미지 업로드 기능
- SortableJS 드래그앤드롭 순서 변경
- 문서 미리보기 모달
- document_type 글로벌 코드 추가 (품질, 생산, 영업, 구매, 일반, 기타)
- 역할/부서 권한 토글 시 페이지 새로고침 방지 (hx-swap="none")

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 11:31:02 +09:00
f06ea8cc7e feat:테넌트설정, 공통코드관리, 메뉴동기화 기능 추가
- 테넌트 설정 페이지 (재고관리 품목유형 등)
- 공통코드 관리 페이지 (글로벌/테넌트별 코드 관리)
- 메뉴 동기화 기능 (로컬↔개발↔운영 환경간 메뉴 Push/Pull)
2026-01-26 20:16:05 +09:00
347d5c4586 Merge remote-tracking branch 'origin/develop' into develop 2026-01-26 13:04:07 +09:00
0eee22e0f5 feat:감사 로그 뷰어 추가 (시스템 설정 > 감사 로그)
- AuditLogController: 목록/상세 조회, 필터링(액션/테넌트/날짜/검색)
- AuditLog 모델: 재고 변동 액션 및 참조 타입 상수 정의
- Blade 뷰: 통계 카드, 필터, 아코디언(Before/After JSON), 상세 페이지
- 메뉴 DB 등록: 시스템 설정 하위에 감사 로그, 삭제된 데이터 백업 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 12:41:00 +09:00
pro
d39028d92a feat:영업관리 모듈 (salesmanagement) Laravel 마이그레이션
레거시 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>
2026-01-26 11:09:42 +09:00
pro
b6f3bcceb8 feat:거래 분개 모달에 공제/불공 선택 필드 추가
- SplitModal에 공제/불공 선택 드롭다운 추가
- 공제: 녹색 배경, 불공: 붉은색 배경
- CardTransactionSplit 모델에 deduction_type 필드 추가
- 마이그레이션으로 splits 테이블에 deduction_type 컬럼 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 15:55:35 +09:00
pro
4562e5c754 feat:거래 분개 모달에 증빙/판매자상호, 내역 필드 추가
- SplitModal에 증빙/판매자상호, 내역 입력 필드 추가
- CardTransactionSplit 모델에 evidence_name, description 필드 추가
- 마이그레이션으로 splits 테이블에 새 컬럼 추가
- 분개 저장/로드 시 새 필드 처리

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 15:48:18 +09:00
pro
7ad8b00a47 feat:카드 사용내역 공제/증빙/내역 필드 수정 기능 추가
- 공제 필드: 공제/불공 선택 가능 (불공은 적색 표시)
- 증빙/판매자상호 필드: 텍스트 입력으로 수정 가능
- 내역 필드: 텍스트 입력으로 수정 가능
- CardTransaction 모델에 deduction_type, evidence_name, description 필드 추가
- 마이그레이션 추가
- 컨트롤러에서 새 필드 저장/로드 처리

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 15:16:17 +09:00
pro
d868e8d0e9 feat:카드 사용내역 분개 기능 추가
- 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>
2026-01-23 14:08:44 +09:00
pro
7ae66ae7ac feat:카드 사용내역 메뉴 추가 (바로빌 API 연동)
- EcardController: 카드 목록/사용내역 조회, 계정과목 저장, 엑셀 내보내기
- CardTransaction 모델: 카드 사용내역 저장 및 고유키 매칭
- 마이그레이션: barobill_card_transactions 테이블 생성
- React 기반 UI: 카드 선택, 기간 조회, 계정과목 검색/선택 기능
- MngMenuSeeder 메뉴 URL 업데이트

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 12:46:31 +09:00
pro
453d689ab0 feat:계정과목 설정 기능 추가 (더존 표준 계정과목)
- account_codes 테이블 및 모델 생성
- 더존 표준 계정과목 163개 시더 추가
- 계정과목 CRUD API 추가 (추가/수정/삭제/조회)
- 계정과목 설정 모달 UI 구현
- 분류별 필터링 및 검색 기능
- 사용/미사용 토글 기능

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 12:31:10 +09:00
pro
cfbe014731 fix:저장된 계정과목 매칭 키 형식 통일
- decimal과 float 형식 차이로 매칭 실패하는 문제 수정
- 금액을 정수로 변환하여 키 생성

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 11:15:18 +09:00
pro
5675c3cece fix:바로빌 입출금내역 테이블명 변경 (barobill_bank_transactions)
- 기존 bank_transactions 테이블과 충돌 방지
- 테이블명을 barobill_bank_transactions로 변경

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 11:11:28 +09:00
pro
3c32c5917c feat:입출금내역 계정과목 추가 및 엑셀 다운로드 기능
- BankTransaction 모델: 입출금 내역 저장 (계정과목 포함)
- 바로빌 데이터와 DB 저장 데이터 매칭하여 계정과목 유지
- 계정과목 드롭다운 선택 및 저장 기능
- 엑셀(CSV) 다운로드 기능
- 저장된 행은 녹색 배경으로 표시

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-23 11:09:36 +09:00
pro
d3aeb498cb feat:기업 기본정보 및 국세청 사업자등록 상태 조회 기능 추가
- CooconService에 OA08 기업기본정보 API 추가
- NtsBusinessService 신규 생성 (국세청 사업자등록 상태조회)
- CreditInquiry 모델에 회사정보 및 국세청 상태 필드 추가
- 마이그레이션: 기업정보 및 국세청 상태 컬럼 추가
- UI: 리스트에 업체정보/국세청 상태 컬럼 표시
- 원본 데이터 모달에 회사정보 헤더 추가
- 리포트 모달에 회사정보 및 신용요약 표시

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 20:34:43 +09:00
pro
0fe84fdebe feat:신용평가 조회 이력 DB 저장 및 리스트 화면 구현
- credit_inquiries 테이블 마이그레이션 추가
- CreditInquiry 모델 생성 (API 응답 저장, 이슈 카운트 등)
- 조회 이력 리스트 화면으로 변경 (페이지네이션, 필터)
- 원본 데이터 모달 조회 기능 추가
- 신용평가 리포트 모달 (TODO: 가공 형식 구현 예정)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 20:17:23 +09:00
pro
7ed908f53d feat:쿠콘 API 신용평가 조회 기능 구현
- CooconConfig 모델 및 마이그레이션 추가
- CooconService 클래스 구현 (OA12~OA17 API)
- CreditController 확장 (설정 관리, 조회 기능)
- 설정 관리 화면 추가 (CRUD, 활성화 토글)
- 사업자번호 조회 화면 업데이트 (API 연동)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 19:33:51 +09:00
pro
861192a606 feat:바로빌 회원사관리 멀티테넌트 지원
- 전체 테넌트 보기 토글 추가 (바로빌본사용)
- 테이블에 테넌트 컬럼 표시 (전체 모드에서)
- 회원사 등록 시 테넌트 선택 기능 추가
- 통계 API에도 전체 테넌트 모드 적용
- 컨트롤러에서 tenant_id 직접 지정 지원

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 18:58:39 +09:00
pro
ec9bcbe906 feat:바로빌 설정 페이지에 서비스 이용 옵션 체크박스 추가
- 4가지 서비스 옵션 체크박스 추가 (전자세금계산서, 계좌조회, 카드사용내역, 홈텍스매입/매출)
- BarobillSetting 모델 및 BarobillSettingController 생성
- 설정 API 라우트 추가 (/api/admin/barobill/settings)
- 담당자 정보 입력 필드 추가 (이름, 연락처, 이메일)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 16:51:56 +09:00
pro
198ce825f5 fix:바로빌 비밀번호 저장방식 Hash에서 encrypt로 변경
- Hash::make() 대신 Laravel encrypted cast 사용
- 비밀번호 복호화 가능하여 바로빌 API 호출 시 평문 전달 가능
- 바로빌 서비스 클릭 시 비밀번호 재입력 절차 불필요
2026-01-22 15:06:12 +09:00
pro
f60f84670a feat: 바로빌 회원사관리 CRUD 기능 구현
레거시(sam/sales/barobill/registration)를 Laravel 스타일로 마이그레이션

- Migration: barobill_members 테이블 생성
- Model: BarobillMember (상태 라벨, 사업자번호 포맷팅 등)
- API Controller: CRUD + 통계 조회 (HTMX HTML 반환 지원)
- API Routes: /api/admin/barobill/members/*
- Views:
  - index.blade.php (통계 카드, 필터, 테이블, 모달)
  - partials/table.blade.php (HTMX 테이블)
  - partials/stats.blade.php (통계 카드)
  - partials/modal-form.blade.php (등록/수정 폼, 자동완성)

기능:
- 회원사 목록 조회 (검색, 상태 필터)
- 회원사 등록 (사업자번호 중복 체크)
- 회원사 수정 (모달)
- 회원사 삭제 (확인 후)
- 테스트 데이터 자동완성

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 08:49:25 +09:00
김보곤
acad251eec feat:자금계획일정 추가 2026-01-20 20:21:06 +09:00
358c987cc1 feat(comment): 게시글 댓글 CRUD 기능 추가
- 댓글 라우트 추가 (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>
2025-12-29 12:58:06 +09:00
cd6cf9746a feat(mng): 게시판-메뉴 자동 연동 및 URL 패턴 변경
## 주요 변경사항

### 게시판-메뉴 자동 연동
- 게시판 생성 시 메뉴 자동 생성 (BoardService.createBoardFromTemplate)
- 게시판 삭제 시 연결 메뉴 함께 삭제 (Soft Delete 연동)
- 게시판 복원 시 메뉴 재생성
- 게시판 영구삭제 시 메뉴 영구삭제

### 게시판 메뉴 보호
- MenuService: 게시판 연동 메뉴 수동 수정/삭제 방지
- isBoardMenuUrl(), isBoardMenu(), validateNotBoardUrl() 헬퍼 추가
- 8개 CRUD 메서드에 검증 로직 적용

### URL 패턴 변경
- 시스템 게시판: /system-boards/{code} → /customer-center/{code}
- 테넌트 게시판: /boards/{code} (변경 없음)

### UI 개선
- 메뉴 목록에서 게시판 메뉴 "📋 게시판" 뱃지 표시
- 게시판 메뉴는 수정/삭제 버튼 숨김 (활성/숨김 토글만 허용)
- 삭제된 게시판 행 클릭 시 404 오류 수정

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 21:54:48 +09:00
1c4afba86e fix(api-explorer): API 사용 통계 데이터 소스 변경
- api_request_logs 테이블 사용으로 변경 (실제 API 호출 기록)
- 기존 admin_api_histories는 API Explorer 테스트 기록용으로 유지
- ApiRequestLog 모델 추가
- URL에서 엔드포인트 경로 추출 (REGEXP_REPLACE 사용)
- DB facade 사용으로 Eloquent accessor 충돌 방지

변경 전: 테스트 호출 2건만 표시
변경 후: 실제 API 호출 857건+ 표시

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 18:50:37 +09:00
da159cc46e feat(boards): 게시글 파일 시스템 개선 및 이미지 미리보기 추가
- Morph map에 Post, Department 모델 등록 (ClassMorphViolationException 해결)
- 파일 저장 방식을 API 스타일로 변경 (document_id + document_type)
- 파일 미리보기 라우트 및 메서드 추가 (previewFile)
- 게시글 상세 페이지에서 이미지 첨부파일을 본문 상단에 풀 너비로 표시
- 비이미지 첨부파일은 하단에 다운로드 목록으로 분리

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 17:08:53 +09:00
b718234472 feat: 시뮬레이터 동기화를 위한 DB 스키마 확장
- items 테이블에 process_type, item_category 필드 추가
- category_groups 테이블 생성 (면적/중량/수량 기반 단가 계산 분류)
- CategoryGroup 모델 및 단가 계산 헬퍼 메서드 구현
2025-12-24 14:23:53 +09:00
60618ddd04 feat: 견적 시뮬레이터 개선 및 FlowTester 조건 평가기 추가
- 견적 시뮬레이터 UI 레이아웃 개선 (가로 배치, 반응형)
- FlowTester ConditionEvaluator 클래스 추가 (조건부 실행 지원)
- FormulaEvaluatorService 기능 확장
- DependencyResolver 의존성 해결 로직 개선
- PushDeviceToken 모델 확장 (FCM 토큰 관리)
- QuoteFormula API 엔드포인트 추가
- FlowTester 가이드 모달 업데이트
2025-12-23 23:41:37 +09:00
a332e0cee4 fix: Price 모델 items 테이블 참조 및 견적 시더 입력필드 추가
- Price.getSalesPriceByItemCode() products/materials → items 테이블 수정
- SeedQuoteFormulasCommand INPUT 카테고리 및 Design 사이트 동기화
  - PC(제품카테고리), PRODUCT_ID(제품명), GT(설치유형)
  - MP(모터전원), CT(제어기), QTY(수량) 필드 추가
- metadata에 field_type, options 정보 추가
2025-12-22 22:48:03 +09:00
811a04347f feat: 플로우테스터 개선 및 품목 테스트 데이터 업데이트
- LoginToken 모델 수정
- items-bom/crud/search 플로우 데이터 업데이트
- API_FLOW_TESTER_DESIGN 문서 업데이트
- example-flows 뷰 업데이트
2025-12-22 19:51:36 +09:00
3f34e84bfc feat(menus): 메뉴 일괄 선택 삭제/복구/영구삭제 기능 추가
- GlobalMenu 모델에 getSection(), getMeta() 메서드 추가 (import 모드 500 에러 해결)
- table.blade.php: normal 모드에서 체크박스 + 드래그 핸들 분리
- index.blade.php: 선택 삭제/복구/영구삭제 버튼 및 JS 함수 추가
- MenuController: bulkDelete, bulkRestore, bulkForceDelete API 추가
- routes/api.php: bulk 엔드포인트 3개 등록

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-22 10:51:06 +09:00
1cbaf1b873 refactor(dev-tools): 인증 시스템 통합 및 테넌트 사용자 조회 개선
## 인증 모달 통합
- api-explorer, flow-tester, api-logs 3개 페이지의 인증 UI 통합
- 공유 컴포넌트 생성: auth-modal.blade.php, auth-scripts.blade.php
- sessionStorage 기반으로 페이지 간 인증 상태 공유
- DevToolsAuth 글로벌 JavaScript API 제공

## 테넌트 사용자 조회 개선
- 시스템 헤더에서 선택한 테넌트의 사용자 목록 표시
- 관리자가 모든 테넌트의 사용자 조회 가능 (소속 무관)
- session('selected_tenant_id')로 Tenant 모델 직접 조회
- 테넌트 미선택 시 안내 메시지 표시

## 버그 수정
- /users 페이지 HTMX swap 오류 수정 (JSON→HTML 직접 반환)
- 사용자 이름 JavaScript 이스케이프 처리 (@js() 사용)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-21 15:13:01 +09:00
6525bfd715 feat: MNG → DEV 자동 로그인 기능 구현
- LoginToken 모델 생성 (토큰 생성 및 URL 생성)
- UserController에 loginToken API 메서드 추가
- DEV_APP_URL 환경설정 추가 (config/services.php)
- 사용자 목록에 "DEV 접속" 버튼 추가
- openDevSite JavaScript 함수 추가

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-20 13:43:13 +09:00
866e2602a2 feat: 견적 수식 품목 단가 연동 구현
- Price 모델 생성 (prices 테이블 연동)
- getCurrentPrice(): 현재 유효 단가 조회
- getSalesPriceByItemCode(): 품목 코드로 판매단가 조회
- FormulaEvaluatorService.getItemPrice() 구현 완료 (TODO 해결)
2025-12-19 16:02:48 +09:00
c073b82633 feat: FCM 관리자 페이지 추가
- FCM 토큰 관리 페이지 (목록, 활성화/비활성화, 삭제)
- 테스트 발송 페이지 (대상 필터, 미리보기, 발송)
- 발송 이력 페이지 (필터링, 결과 확인)
- FcmSender 서비스 (HTTP v1, 배치 처리)
- fcm_send_logs 테이블 마이그레이션
- google/auth 패키지 추가
2025-12-19 09:57:00 +09:00
15a66a345e feat: API 사용 현황 및 폐기 후보 관리 기능 추가
- API 사용 통계 조회 및 미사용 API 식별 기능
- 폐기 후보 등록/상태변경/삭제 기능
- API Explorer에서 사용 현황 페이지 링크 추가
- 북마크 토글 버그 수정 (라우트-컨트롤러 메서드명 일치)
2025-12-18 20:26:17 +09:00
c075678cd9 [chore] Pint 코드 스타일 자동 수정 2025-12-18 16:08:59 +09:00