Commit Graph

287 Commits

Author SHA1 Message Date
pro
154b65b4d2 docs: 바로빌 회원사관리 레거시 마이그레이션 계획 문서 추가
- 레거시 분석 (DB 구조, API, UI 기능)
- Laravel 마이그레이션 계획 (Model, Controller, View)
- 구현 순서 체크리스트

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 08:43:29 +09:00
pro
238db50797 docs: Docker 환경 및 메뉴 관리 절차 추가
- Docker 컨테이너 목록 및 artisan 실행 방법
- 메뉴 추가/수정 시 시더 실행 절차 문서화
- 메뉴 변경 시 반드시 시더 실행 필요 명시

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 08:14:09 +09:00
pro
bc6bfe0556 feat: 재무관리 그룹메뉴 추가 및 바로빌 위치 조정
- 재무관리 그룹 추가 (콘텐츠 관리 아래)
  - 재무 대시보드
  - 계좌관리
  - 계좌거래내역
  - 자금계획일정
  - 일일자금일보
- 바로빌 그룹을 재무관리 아래에 배치

메뉴 적용: php artisan db:seed --class=MngMenuSeeder

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 21:25:24 +09:00
pro
348c529732 feat: 바로빌 그룹메뉴 및 회원사관리 페이지 추가
- MngMenuSeeder에 바로빌 그룹메뉴와 회원사관리 하위메뉴 추가
- BarobillController 생성 (회원사관리 페이지)
- /barobill/members 라우트 추가
- 회원사관리 기본 뷰 파일 생성 (샘플 테이블 포함)

메뉴 적용: php artisan db:seed --class=MngMenuSeeder

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 21:16:06 +09:00
pro
a6e9a01719 fix: sales-strategy HTMX 네비게이션 시 nextSlide 오류 수정
슬라이드 프레젠테이션 스크립트 로딩을 위해 HX-Redirect 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 21:05:20 +09:00
pro
f84b5e0d5f fix: permission-analyze HTMX 네비게이션 시 selectMenu 오류 수정
HTMX 요청 시 HX-Redirect 헤더로 전체 페이지 리로드하여
@push('scripts') 블록의 스크립트가 정상 로드되도록 수정

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-21 21:01:56 +09:00
pro
278940142b fix:presentation 레이아웃 페이지 HTMX targetError 수정 (HX-Redirect 추가) 2026-01-21 20:52:45 +09:00
pro
fd171453cf fix:header.blade.php userMenu null 참조 오류 수정 2026-01-21 20:49:02 +09:00
pro
0096ba3be8 fix:web-recording toggleRecording 오류 수정 (HX-Redirect 및 이벤트 리스너) 2026-01-21 20:46:25 +09:00
pro
92a6cf27f8 fix:계좌거래내역 구분에서 이체 제거 (입금/출금만 유지) 2026-01-21 20:34:39 +09:00
pro
0be0f41bd9 fix:daily-logs toggleAttentionItem 이벤트 위임 방식으로 변경 2026-01-21 20:20:10 +09:00
pro
cd74809f2e docs:CLAUDE.md Claude Code 설정 파일 커밋 규칙 추가 2026-01-21 19:42:16 +09:00
pro
1971cfe092 docs:CLAUDE.md Git 커밋 규칙 업데이트 - sam 하위 폴더 전체 적용 2026-01-21 19:37:09 +09:00
pro
93f2941a58 feat:BankAccount, FundSchedule 시더 추가 2026-01-21 19:11:37 +09:00
pro
d20e106964 chore:CLAUDE.md 프로젝트 설정 파일 추가 2026-01-21 19:11:25 +09:00
pro
79c60f074c fix:계좌관리 페이지 버튼 색상 및 스타일 수정 2026-01-21 19:11:19 +09:00
pro
335ea915a6 fix:FcmApiService apiKey nullable 타입 수정 2026-01-21 19:11:11 +09:00
pro
da29274f24 fix:sidebar.blade.php JavaScript null 참조 오류 수정 2026-01-21 19:11:05 +09:00
pro
828534917e fix:HTMX 네비게이션 리다이렉트 처리 개선 2026-01-21 19:10:59 +09:00
pro
0917c774f1 feat:재무 대시보드 페이지 추가 2026-01-21 19:10:52 +09:00
pro
c7fc872de7 feat:재무관리 React 페이지 추가 (VAT, 미수금, 미지급금 등 20개) 2026-01-21 19:10:44 +09:00
김보곤
acad251eec feat:자금계획일정 추가 2026-01-20 20:21:06 +09:00
김보곤
75a4a2b766 fix :메뉴 아이콘 추가 2026-01-20 15:40:12 +09:00
86acb2bbd2 chore: .gitignore 카테고리별 정리 및 패턴 확장 2026-01-20 13:57:33 +09:00
7c0bed7dd9 fix(MNG): HTMX 네비게이션 스크립트 초기화 및 세션 자동 갱신
1. /menus 페이지 hx-boost 네비게이션 시 SortableJS 미실행 수정
   - htmx:afterSettle 이벤트로 페이지별 스크립트 초기화
   - menu-sortable.js로 SortableJS 로직 분리
   - 중복 코드 제거

2. 세션 만료 시 자동 갱신 로직 추가
   - /auth/refresh-session 엔드포인트 추가
   - Remember Token으로 자동 재인증 (자동 로그인 사용자)
   - 재인증 실패 시 로그인 페이지 리다이렉트
2026-01-20 13:42:28 +09:00
dff9721d10 fix(WEB): API 로그 목록 정렬 순서 수정
- ApiLogController에서 항상 최신순으로 정렬하도록 변경
- 조건부 정렬 제거하고 고정 내림차순 정렬 적용

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 15:39:08 +09:00
82a1d52976 fix(MNG): HTMX 401 에러 시 세션 만료 알림 및 로그인 리다이렉트 추가
- htmx:responseError 이벤트에서 401 상태 감지
- SweetAlert2로 세션 만료 알림 표시
- 확인 후 /login 페이지로 자동 이동
- 중복 리다이렉트 방지 플래그 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 14:49:29 +09:00
8e1f39defe feat: 알림음 시스템 - FCM 발송 UI 타입 드롭다운 추가
- 알림 타입 선택 드롭다운 추가 (6개 타입)
- channel_id 검증 로직 추가
- sound_key 파라미터 제거

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

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-07 20:10:19 +09:00
85d50e9d8b fix(mng): HTMX 요청 시 JSON 에러 응답 반환 및 Role 테넌트 분리
- EnsureHQMember: HTMX/AJAX 요청 시 JSON 응답 반환
- EnsureSuperAdmin: HX-Request 헤더 체크 추가
- bootstrap/app.php: 전역 Exception Handler에서 HTMX 요청 처리
- RoleService: SpatieRole → App\Models\Role로 변경하여 테넌트별 역할 분리

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 19:52:45 +09:00
f70f75fb22 feat(dev-tools): 인증 모달에 회사 선택 및 토큰 표시 기능 추가
- 인증 모달에 회사(테넌트) 선택 드롭다운 추가
  - 헤더의 $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>
2026-01-05 15:10:09 +09:00
301f2da23e feat(MNG): Design 자동 견적 샘플 품목 Seeder 추가
- SampleItemsSeeder: Design sampleQuoteData_Complete.ts와 동일한 데이터 구조
- 원자재 (RM) 20종, 부자재 (SM) 25종
- 스크린 반제품 (SF-SCR) 20종
- 철재/절곡 반제품 (SF-STL/BND) 20종
- 완제품 (FG) 14종 (스크린 5 + 철재 5 + 절곡 4)
- 총 99개 샘플 품목 생성

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 22:58:51 +09:00
5d7a813bb4 fix: 시뮬레이터 공정별 품목 8개 제한 제거
- items.slice(0, 8) 제거하여 모든 품목 표시
- max-h-80 overflow-y-auto로 스크롤 가능하게 변경

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 22:08:30 +09:00
d03fc53248 fix: MNG 시뮬레이터 옵션값 Design과 동일하게 수정
- GT(가이드레일): wall/ceiling/floor → 벽면형/측면형
- MP(모터전원): single/three → 220V/380V
- CT(제어기): basic/smart/premium → 단독/연동
- JavaScript 기본값도 동일하게 업데이트

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 21:36:30 +09:00
0c39f710f0 fix(mng): 좌측 메뉴 접근 시 페이지네이션 설정 미적용 버그 수정
- HTMX 로드 직후 htmx:configRequest 이벤트 리스너를 head에 등록
- 모든 HTMX 요청에서 쿠키의 per_page 값을 적용하도록 수정
- 기존 body 끝의 중복 코드 제거
- 타이밍 이슈로 인한 load 트리거 선행 실행 문제 해결

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 19:06:41 +09:00
33367406a0 feat(MNG): 견적 공식 시뮬레이터 UI 개선
- FormulaEvaluatorService: 공식 평가 로직 개선
- simulator.blade.php: 시뮬레이터 UI/UX 개선
  - 입력 필드 레이아웃 최적화
  - 계산 결과 표시 개선
  - 에러 처리 강화

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 17:27:01 +09:00
dcf06641c8 feat(Quote): 제품 카테고리별 동적 마진값/중량 계산 로직 구현
- 완제품 조회 순서 변경 (마진값 결정을 위해 선행 조회)
- 제품 카테고리(SCREEN/STEEL)에 따른 마진값 동적 결정
  - 스크린: W+140, H+350
  - 철재: W+110, H+350
- 제품 카테고리에 따른 중량(K) 계산 로직 구현
  - 스크린: M×2 + W0/1000×14.17
  - 철재: M×25
- getItemDetails()에 item_category, process_type 필드 추가

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 14:46:26 +09:00
595d57ce31 feat(seeder): 시뮬레이터용 단가 시더 추가
- DesignPriceSeeder 생성
- items.attributes.salesPrice → prices 테이블 마이그레이션
- 85개 품목 단가 데이터 추가 완료
- 대상: SF-SCR-%, SF-STL-%, SF-BND-%, SM-%, RM-%

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 21:43:28 +09:00
dcae003e32 fix: htmx 중복 로드 시 JavaScript 변수 재선언 에러 수정
- GuideModal, ExampleFlows, ExamplesModal 변수를 const에서 window 패턴으로 변경
- htmx가 콘텐츠를 다시 로드할 때 'Identifier has already been declared' 에러 방지
- window.XXX = window.XXX || {} 패턴으로 중복 선언 방지

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 14:41:20 +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
a546215f45 fix(board,menu): 테넌트 게시판 수정 및 메뉴 페이지네이션 오류 수정
테넌트 게시판 수정 404 오류:
- BoardService.getBoardById()에 $systemOnly 파라미터 추가
- BoardController.edit()에서 systemOnly=false로 테넌트 게시판 조회 가능
- Api/Admin/BoardController에서 show/update 메서드 테넌트 게시판 지원
- updateAnyBoard() 메서드 사용하여 시스템/테넌트 게시판 공통 수정

메뉴 페이지네이션 쿠키 값 미적용 오류:
- HTMX 요청 시 htmx:configRequest 이벤트로 쿠키 값 적용
- pagination_per_page 쿠키에서 per_page 값 읽어서 요청 파라미터에 설정

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 10:12:29 +09:00
0db6e99a22 feat(board): 슈퍼관리자 삭제 게시물 관리 및 회사명 표시 기능 추가
## 슈퍼관리자 삭제 게시물 관리
- 삭제된 게시물 목록에 표시 (빨간색 배경, 취소선)
- 게시물 복원 기능 추가 (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>
2025-12-29 09:11:21 +09:00
d77dc37068 feat(tenant): 테넌트 저장소 사용량 자동 추적 기능 추가
- FileObserver: 파일 생성/삭제 시 tenant.storage_used 자동 업데이트
- RecalculateTenantStorageCommand: 기존 데이터 재계산 명령어
  - php artisan tenant:recalculate-storage [--tenant=ID] [--dry-run]
- 음수 storage_used 방지 로직 포함

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-28 02:20:08 +09:00
504eb697e4 feat(board): 본사(HQ) 테넌트만 시스템 게시판 표시 및 우선 정렬
- 본사(tenant_type=HQ) 선택 시: 시스템 게시판 + 본사 게시판 표시
- 일반 테넌트 선택 시: 해당 테넌트 게시판만 표시
- 정렬: is_system DESC 추가 (시스템 게시판 우선)

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-28 01:43:06 +09:00
a30410643b fix(board): 게시판 URL tenant_id 처리 및 게시글 수 표시 추가
- 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>
2025-12-28 01:30:50 +09:00
5b8ecf02ab fix(dev-tools): HTMX 호환성 문제 수정
- api-logs: let→var 변경으로 스크립트 재실행 오류 해결
- api-explorer: @push('styles')→content 내 style로 hx-boost 호환

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-28 01:04:50 +09:00
5d96ff871d feat(board): 게시판 수정 시 메뉴 URL/이름 자동 업데이트
- MenuService::updateMenuForBoard() 메서드 추가
- 시스템 게시판: global_menus + 연결된 모든 menus URL 업데이트
- 테넌트 게시판: 해당 테넌트의 menus만 URL 업데이트
- BoardService::updateAnyBoard()에서 board_code/name 변경 감지 시 호출

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-28 00:17:53 +09:00
12f5d9e280 fix(board): 테넌트 게시판 메뉴 우선순위 및 라우트 수정
- 테넌트 게시판 부모 메뉴 우선순위 변경: /boards → /customer-center
- 테넌트 게시판 리다이렉트 라우트 추가: /boards/{code} → /boards/{id}/posts

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 23:40:33 +09:00
e241b96c72 fix(menu): 테넌트 Menu 생성 시 global_menu_id 연결 추가
- createMenuForBoard(): GlobalMenu 조회/생성 후 테넌트 Menu에 global_menu_id 설정
- restoreMenuForBoard(): 복원/생성 시에도 global_menu_id 연결
- is_customized: false 추가하여 글로벌 메뉴 연동 표시

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 23:18:24 +09:00
cfb6b3edc2 fix(menu): Tenant 모델의 active() 스코프 사용으로 수정
- Tenant::where('is_active', true) → Tenant::active()
- tenants 테이블에 is_active 컬럼이 없어 발생한 SQL 오류 수정

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 23:14:21 +09:00
a84fc9ab77 feat(board-menu): 시스템 게시판 메뉴를 모든 테넌트에 자동 생성/삭제/복원
- createMenuForBoard(): 시스템 게시판 생성 시 GlobalMenu + 모든 활성 테넌트의 Menu에 추가
- deleteMenuForBoard(): 시스템 게시판 삭제 시 GlobalMenu + 모든 테넌트의 Menu 삭제
- restoreMenuForBoard(): 시스템 게시판 복원 시 GlobalMenu + 모든 테넌트의 Menu 복원/생성
- /menus 페이지(테넌트 메뉴)에서 시스템 게시판 메뉴가 모든 테넌트에 표시됨

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-27 23:12:04 +09:00