613 Commits

Author SHA1 Message Date
2d7809b4e0 feat: [시공관리] 계약관리 Frontend API 연동
- actions.ts Mock 데이터 → 실제 API 호출로 전환
- apiRequest 헬퍼 함수 구현 (인증, 에러 처리)
- API 응답 snake_case → camelCase 변환 함수 추가
- CRUD 전체 기능 API 연동 완료
2026-01-09 10:18:57 +09:00
12b4259ebc refactor(work-orders): 코드 리뷰 기반 프론트엔드 개선
## 수정 내용
- 검색 debounce: WorkOrderList, SalesOrderSelectModal에 300ms debounce 적용
- 작업 버튼: 상태별 시작/완료 버튼 구현 (WorkOrderDetail)
- API 경로: /sales-orders → /orders 수정
- 다중 담당자: assignees 타입 및 변환 함수 추가
- scheduledDate 필드 매핑 수정

## 변경 파일
- WorkOrderList.tsx, SalesOrderSelectModal.tsx (debounce)
- WorkOrderDetail.tsx (action buttons)
- actions.ts (API path fix)
- types.ts (assignees type)
2026-01-09 08:32:52 +09:00
fde8726e14 feat(WEB): 수주관리 Phase 2 타입 정의 확장 및 공정관리 개별 품목 표시 수정
- Order, OrderItem 인터페이스에 상세 페이지용 필드 추가
- OrderFormData, OrderItemFormData에 수정 페이지용 필드 추가
- 변환 함수에서 새 필드 매핑 처리
- 공정관리 개별 품목을 ID 대신 품목명으로 표시
2026-01-08 20:57:49 +09:00
ba36c0ec19 feat: 공정 관리 Frontend actions 업데이트
- Process 관련 API 호출 로직 수정
2026-01-08 20:23:58 +09:00
d797868c17 fix(WEB): 공정관리 개별 품목 저장 안되는 버그 수정
- selectedItemCodes → selectedItemIds로 변경
- item.code 대신 item.id 사용하여 API에 올바른 ID 전달
- 검색어 유효성 검사 추가 (한글 1자, 영문 2자 이상)
- 품목 조회 size 100 → 1000으로 변경
2026-01-08 20:20:08 +09:00
3d2dea6118 feat: 수주 관리 Phase 3 - Frontend API 연동
- createOrderFromQuote(): 견적→수주 변환 API 호출
- createProductionOrder(): 생산지시 생성 API 호출
- WorkOrder 타입 및 변환 함수 추가
- 변경 내역 문서 작성
2026-01-08 20:17:55 +09:00
6632943c7e Merge remote-tracking branch 'origin/master' 2026-01-08 18:41:48 +09:00
byeongcheolryu
0d539628f3 chore(WEB): actions.ts 에러 핸들링 및 CEO 대시보드 개선
- 전체 모듈 actions.ts redirect 에러 핸들링 추가
- CEODashboard DetailModal 추가
- MonthlyExpenseSection 개선
- fetch-wrapper redirect 에러 처리
- redirect-error 유틸 추가

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

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-08 18:41:15 +09:00
288871cb39 feat(WEB): 직원 관리 폼 직급/부서/직책 Select 드롭다운 연동
- 직급(rank) 필드를 API 기반 Select 드롭다운으로 변경
- 부서/직책 필드를 API 데이터 기반 Select로 변경
- handleDepartmentSelect, handlePositionSelect 핸들러 추가
- view 모드에서 Select disabled 상태 처리
2026-01-08 17:52:48 +09:00
byeongcheolryu
9885085259 chore(WEB): CEO 대시보드 및 레이아웃 수정
- CEODashboard 컴포넌트 수정
- ShipmentList 컴포넌트 수정
- AuthenticatedLayout 업데이트

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

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-08 17:50:30 +09:00
572ffe81cf feat(orders): Phase 2 - Frontend API 연동 완료
- actions.ts 생성: Server Actions 패턴으로 Order API 클라이언트 구현
  - getOrders, getOrderById, createOrder, updateOrder, deleteOrder(s)
  - updateOrderStatus, getOrderStats
  - API snake_case → Frontend camelCase 변환
  - 상태 매핑 (DRAFT→order_registered 등)

- 목록 페이지(page.tsx):
  - SAMPLE_ORDERS 제거, API 연동 state 추가
  - loadData() 함수로 API 호출
  - 삭제/일괄삭제 API 연동

- 상세 페이지([id]/page.tsx):
  - SAMPLE_ITEMS/ORDERS 제거
  - getOrderById, updateOrderStatus API 연동

- 수정 페이지([id]/edit/page.tsx):
  - SAMPLE_ORDER 제거
  - getOrderById, updateOrder API 연동

- 등록 페이지(new/page.tsx):
  - createOrder API 연동
2026-01-08 17:29:06 +09:00
byeongcheolryu
29e7b41615 chore(WEB): 다수 컴포넌트 개선 및 CEO 대시보드 추가
- CEO 대시보드 컴포넌트 추가
- AuthenticatedLayout 개선
- 각 모듈 actions.ts 에러 핸들링 개선
- API fetch-wrapper, refresh-token 로직 개선
- ReceivablesStatus 컴포넌트 업데이트
- globals.css 스타일 업데이트
- 기타 다수 컴포넌트 수정

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

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-08 17:15:42 +09:00
byeongcheolryu
387672b5b2 refactor(WEB): URL 경로 juil → construction 변경
- /juil/ 경로를 /construction/으로 변경
- 컴포넌트 폴더명 juil → construction 변경
- 컴포넌트명 Juil* → Construction* 변경
- 테스트 URL 페이지 경로 업데이트
- claudedocs 문서 경로 업데이트

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

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-08 17:13:22 +09:00
byeongcheolryu
8812290f8a chore(WEB): 빌드 시 서버 자동 재시작 스크립트 추가
- build:restart 스크립트 추가
- 포트 3000 서버 종료 → 빌드 → 성공 시 서버 자동 시작

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 20:21:12 +09:00
0d4e6ee7ea fix(WEB): FCM 초기화 및 프록시 경로 수정
- FCMProvider를 layout.tsx에 추가 (import만 되고 사용 안 됨 → 수정)
- fcm.ts proxyBasePath: /api/proxy/v1 → /api/proxy (경로 중복 수정)
- .env.production 환경변수 이름 동기화
2026-01-07 15:46:17 +09:00
c367ba4ad9 fix(WEB): FCM 모듈 오류 수정 및 중복 타입 제거
- fcm.ts: npm 패키지 import → window.Capacitor 전역 객체 사용
  - Capacitor 앱이 런타임에 주입하는 전역 객체 활용
  - 웹 빌드 시 '@capacitor/core' 모듈 오류 해결
- next.config.ts: Capacitor 패키지 webpack fallback 추가
- types.ts: VendorManagement 중복 선언 제거 (59줄 감소)
2026-01-07 13:23:20 +09:00
df51cf6852 fix(WEB): FCM 토큰 등록을 위한 is_authenticated 쿠키 추가
- HttpOnly 쿠키(access_token)는 JavaScript에서 읽을 수 없어 FCM 초기화 실패
- non-HttpOnly is_authenticated 쿠키 추가로 클라이언트에서 인증 상태 확인 가능
- login/logout/refresh/proxy 라우트에서 쿠키 설정/삭제 처리
- hasAuthToken()이 is_authenticated 쿠키 확인하도록 변경
2026-01-06 21:47:57 +09:00
50a01e1e47 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	src/components/accounting/ReceivablesStatus/index.tsx
2026-01-06 21:22:23 +09:00
ed40569ac9 docs(WEB): 작업 현황 문서 업데이트 2026-01-06 21:21:16 +09:00
9a134bc83a chore(WEB): 견적 컴포넌트 export 및 발주서 개선
- index.ts: 타입 및 함수 export 정리
- PurchaseOrderDocument.tsx: 발주서 문서 개선
2026-01-06 21:21:10 +09:00
14556251f1 fix(WEB): 견적 수정 화면 탭 복원 개선 (#8)
이슈 #8: 수정 화면에서 14개 탭 대신 1개 탭으로 올바르게 표시

주요 변경:
- edit/page.tsx: calculation_inputs.items 기반 폼 복원
- [id]/page.tsx: 상세 화면 데이터 표시 개선
- new/page.tsx: 신규 등록 화면 개선
2026-01-06 21:21:03 +09:00
b52e9c70af fix(WEB): 산출내역서 BOM 자재 표시 개선 (#5, #6)
이슈 #5: 산출내역서 담당자/연락처/단위 표시
이슈 #6: 세부산출내역 vs 소요자재내역 분리

주요 변경:
- QuoteCalculationReport.tsx: bomMaterials 사용하여 소요자재 내역 표시
- 세부산출내역과 소요자재내역 데이터 소스 분리
2026-01-06 21:20:56 +09:00
1c338f4d3f fix(WEB): 견적서 문서 표시 개선 (#3, #4)
이슈 #3: 상세 견적서 담당자/연락처 표시
이슈 #4: 품목내역 올바른 단위 표시

주요 변경:
- QuoteDocument.tsx: 품목별 unit 필드 사용하여 올바른 단위 표시
- QuoteRegistration.tsx: manager, contact, remarks 필드 폼에 반영
2026-01-06 21:20:49 +09:00
bf08447cd6 fix(WEB): 견적 타입 및 API 연동 개선 (#1, #2, #7)
이슈 #1: 리스트 화면 담당자/비고 컬럼 표시
이슈 #2: 상세 화면 담당자/연락처 표시
이슈 #7: 수정 화면 기본정보 필드 표시

주요 변경:
- types.ts: Quote/QuoteApiData에 manager, contact, remarks 필드 추가
- types.ts: CalculationInputs, BomMaterial 타입 추가
- types.ts: transformApiToFrontend에서 새 필드 변환 로직 추가
- types.ts: transformQuoteToFormData에서 calculation_inputs 기반 폼 복원
- actions.ts: API 요청/응답 필드 매핑 개선
- api/quote.ts: API 엔드포인트 호출 개선
2026-01-06 21:20:41 +09:00
a74f41228d feat(WEB): 종합분석 컴포넌트 개선
- 목데이터 적용 및 UI 개선
2026-01-06 21:20:31 +09:00
810a348f31 feat(WEB): 회계 관리 기능 개선
- 입금관리: API 연동 개선
- 출금관리: API 연동 개선
- 미수현황: 조회 로직 및 UI 개선
- 거래처관리: 상세 정보 표시 개선
2026-01-06 21:20:25 +09:00
byeongcheolryu
6e483deea8 feat: 품목기준관리 Zustand 리팩토링 및 422 에러 팝업
- Zustand store 도입 (useItemMasterStore)
- 훅 분리 및 구조 개선 (hooks/, contexts/)
- 422 ValidationException 에러 AlertDialog 팝업 추가
- API 함수 분리 (src/lib/api/item-master.ts)
- 타입 정의 정리 (item-master.types.ts, item-master-api.ts)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-06 20:49:37 +09:00
byeongcheolryu
3b52847d89 feat: 422 ValidationException 에러 AlertDialog 팝업 추가
- ErrorAlertContext 생성 (전역 에러 알림 상태 관리)
- useFieldManagement, useMasterFieldManagement, useTemplateManagement에 적용
- 중복 이름, 예약어 사용 시 디자인된 AlertDialog 팝업 표시
- toast 대신 모달 위에 표시되는 팝업으로 변경

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

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-06 20:13:06 +09:00
byeongcheolryu
eccfd959fe fix(WEB): React/Next.js 보안 업데이트 및 캘린더/주문관리 개선
- 보안: next 15.5.7 → 15.5.9 (CVE-2025-55184, CVE-2025-55183, CVE-2025-67779)
- 보안: react/react-dom 19.2.1 → 19.2.3
- 캘린더: MonthView, ScheduleBar 개선
- 주문관리: 리스트/액션/타입 수정

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-06 11:03:33 +09:00
byeongcheolryu
a938da9e22 feat(WEB): 회계/HR/주문관리 모듈 개선 및 알림설정 리팩토링
- 회계: 거래처, 매입/매출, 입출금 상세 페이지 개선
- HR: 직원 관리 및 출퇴근 설정 기능 수정
- 주문관리: 상세폼 구조 분리 (cards, dialogs, hooks, tables)
- 알림설정: 컴포넌트 구조 단순화 및 리팩토링
- 캘린더: 헤더 및 일정 타입 개선
- 출고관리: 액션 및 타입 정의 추가

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-06 09:58:10 +09:00
byeongcheolryu
386cd30bc0 feat(WEB): 입찰/계약/주문관리 기능 추가 및 견적 상세 리팩토링
- 입찰관리: 목록/상세/수정 페이지 및 목업 데이터
- 계약관리: 목록/상세/수정 페이지 구현
- 주문관리: 수주/발주 목록 및 상세 페이지 구현
- 견적 상세 폼: 섹션별 분리 및 hooks/utils 리팩토링
- 품목관리, 카테고리관리, 단가관리 기능 추가
- 현장설명회/협력업체 폼 개선
- 프린트 유틸리티 공통화 (print-utils.ts)
- 문서 모달 공통 컴포넌트 정리
- IntegratedListTemplateV2, StatCards 개선

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-05 18:59:04 +09:00
byeongcheolryu
4b1a3abf05 feat(WEB): 헤더 바로가기 버튼 추가 및 종합분석 목데이터 적용
- 공용 헤더에 종합분석/품질인정심사 바로가기 버튼 추가 (데스크톱/모바일)
- 종합분석 페이지 목데이터 적용 (API 호출 비활성화)
- 로그인 페이지 기본 계정 설정
- QMS 필터/모달 컴포넌트 개선
- 메뉴 폴링 및 fetch-wrapper 유틸리티 개선

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-31 18:40:50 +09:00
d4e64c290c fix(WEB): 프로필 이미지 업로드 및 회사 로고 기능 수정
AccountInfoManagement:
- toAbsoluteUrl() 함수 추가 (상대경로 → 절대 URL 변환)
- getAccountInfo()에서 /api/v1/profiles/me 조회 추가 (이미지 새로고침 후 유지)
- uploadProfileImage() 구현 (2단계: 파일 업로드 → 프로필 업데이트)
- updateAgreements() 구현 (약관 동의 수정)
- withdrawAccount()에 password 파라미터 추가

CompanyInfoManagement:
- toAbsoluteUrl() 함수 추가 (로고 이미지 경로 변환)

fetch-wrapper:
- FormData 전송 시 Content-Type 헤더 제외 (브라우저 자동 설정)
2025-12-30 23:03:05 +09:00
c885844a3a feat: 구독 페이지 API 호출 사용량 표시 연동
- UsageApiData에 api_calls 타입 추가
- transformApiToFrontend에서 apiCallsUsed/apiCallsLimit 처리
- 기본 제한값 10,000으로 설정
2025-12-30 23:03:01 +09:00
5011bac596 feat(WEB): 출퇴근 설정 페이지 부서 트리 구조 연동
- MultiSelectCombobox에 depth 옵션 추가 (계층 들여쓰기)
- AttendanceSettings actions.ts: serverFetch 패턴 적용 및 트리 API 사용
- getDepartments(): /departments/tree API 호출 후 평탄화
- 부서 선택 시 계층 구조(depth)에 따른 들여쓰기 표시
2025-12-30 23:02:56 +09:00
258c8e4179 refactor(WEB): 직급/직책 관리 Server Actions 전환
- 클라이언트 직접 API 호출 → Server Actions 방식으로 변경
- RankManagement/actions.ts 신규 생성
- TitleManagement/actions.ts 신규 생성
- API_KEY 환경변수를 서버에서만 사용하도록 변경 (보안 강화)
- 기존 lib/api/positions.ts 삭제
2025-12-30 23:02:52 +09:00
5ab1354bcc fix(WEB): 계정 관리 페이지 API 연동 개선
- AccountInfoManagement/actions.ts: 내 정보 관리 API 연동
- AccountManagement/actions.ts: 계정 관리 API 연동 개선
2025-12-30 23:02:46 +09:00
2a14ae72ff fix(WEB): 권한관리 상세 페이지 버그 수정
- types.ts: PermissionMatrix 인터페이스 수정
  - API 응답 구조에 맞게 menus → permissions 객체로 변경
- PermissionDetailClient.tsx:
  - getMenuPermission 함수 수정 (matrix.permissions[menuId] 사용)
  - 숨김 스위치 토글 시 자동 저장 기능 추가
- actions.ts: API 연동 함수 개선
2025-12-30 23:02:42 +09:00
byeongcheolryu
f8dbc6b2ae feat(WEB): 동적 게시판, 파트너 관리, 공지 팝업 모달 추가
- 동적 게시판 시스템 구현 (/boards/[boardCode])
- 파트너 관리 페이지 및 폼 추가
- 공지 팝업 모달 컴포넌트 (NoticePopupModal)
  - localStorage 기반 1일간 숨김 기능
  - 테스트 페이지 (/test/popup)
- IntegratedListTemplateV2 개선
- 기타 버그 수정 및 타입 개선

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-30 21:56:01 +09:00
7b917fcbcd fix(WEB): EmployeeForm toast 중복 import 제거
- sonner의 toast가 6번, 21번 줄에서 중복 import되어 빌드 실패
- 21번 줄의 중복 import 제거하여 빌드 오류 해결
2025-12-30 18:06:54 +09:00
bf558a0243 fix : api url 수정 2025-12-30 18:04:59 +09:00
581dde8679 fix : API_URL -> NEXT_PUBLIC_API_URL 일괄 변경 2025-12-30 17:55:49 +09:00
5d0e453a68 refactor(WEB): 레이아웃 및 설정 관리 개선
- AuthenticatedLayout: FCM 통합 및 레이아웃 개선
- logout: 로그아웃 시 FCM 토큰 정리 로직 추가
- AccountInfoManagement: 계정 정보 관리 UI 개선
- not-found 페이지 스타일 개선
- 환경변수 예시 파일 업데이트
2025-12-30 17:43:59 +09:00
ec0ad53837 feat(WEB): 결재/회계/품목 관리 개선
- ApprovalLineSection/ReferenceSection: 결재선 설정 개선
- DepositManagement/WithdrawalManagement: 입출금 관리 UI 개선
- bills/pricing-management 페이지 수정
- ItemDetailClient: 품목 상세 표시 개선
2025-12-30 17:42:03 +09:00
62bf081adb feat(WEB): 공정 관리 UI 개선
- ProcessDetail: 공정 상세 정보 표시 개선
- ProcessForm: 공정 등록/수정 폼 유효성 검사 강화
- RuleModal: 공정 규칙 설정 모달 리팩토링
2025-12-30 17:41:20 +09:00
68babd54be feat(WEB): 직원 관리 폼 및 API 연동 개선
- EmployeeForm: 직원 등록/수정 폼 기능 강화
- 프로필 이미지 업로드 기능 추가
- 직급/직책/부서 선택 API 연동
- 유효성 검사 및 에러 처리 개선
2025-12-30 17:41:15 +09:00
2443c0dc63 feat(WEB): 근태 설정 및 관리 시스템 개선
- AttendanceSettingsManagement: 근무시간/휴식시간 설정 API 연동
- AttendanceManagement: 출퇴근 기록 조회/수정 기능 강화
- 근태 상태 필터링 및 검색 기능 개선
- 근태 actions 공통 로직 정리
2025-12-30 17:36:17 +09:00
a45ff9af28 feat(WEB): 직급/직책 관리 API 연동 완료
- RankManagement: 직급 목록/생성/수정/삭제 API 연동
- TitleManagement: 직책 목록/생성/수정/삭제 API 연동
- RankDialog/TitleDialog 폼 유효성 검사 개선
- 정렬 순서, 활성화 상태 관리 기능 추가
2025-12-30 17:31:36 +09:00
1fcefb1d2b feat(WEB): 권한 관리 UI 개선 및 API 연동
- PermissionDetailClient 역할별 권한 설정 기능 강화
- 권한 관리 메인 페이지 API 연동 완료
- 타입 정의 확장 및 actions 추가
- 시스템 역할/사용자 역할 구분 UI
2025-12-30 17:31:33 +09:00
f400f01db7 feat(WEB): FCM 푸시 알림 시스템 구현
- FCMProvider 컨텍스트 및 useFCM 훅 추가
- Capacitor FCM 플러그인 통합
- 알림 사운드 파일 추가 (default.wav, push_notification.wav)
- Firebase 메시징 패키지 의존성 추가
2025-12-30 17:31:23 +09:00