Commit Graph

38 Commits

Author SHA1 Message Date
dac1d9bc2b feat: 견적서 모달 회사정보 API 연동
- getCompanyInfo() API 함수 추가 (GET /api/v1/tenants)
- EstimateDocumentModal에 회사정보 API 연동
- 하드코딩된 회사명/주소/연락처 제거
- 결재란 견적자명 동적 표시
- constants.ts 모듈 유효성 수정
2026-01-20 16:10:27 +09:00
2465d739fe feat: 견적서 목업 데이터 → API 연동 전환
- EstimateDetailTableSection: 하드코딩된 셀렉트 옵션 → API 데이터 연동
  - 재료/도장/모터/제어기/시공비: getCommonCodeOptions() 사용
  - 공과 품목: getExpenseItemOptions() 사용
- EstimateListClient: 거래처/견적자 필터 API 연동
  - MOCK_PARTNERS → getClientOptions()
  - MOCK_ESTIMATORS → getUserOptions()
- actions.ts: 공통코드/거래처/사용자/공과품목 API 함수 추가
- constants.ts: MOCK_MATERIALS 제거
- EstimateDetailForm: MOCK_MATERIALS import 제거
2026-01-20 16:10:23 +09:00
유병철
61e3a0ed60 feat(WEB): Phase 6 IntegratedDetailTemplate 마이그레이션 완료
Phase 6 마이그레이션 (41개 컴포넌트 완료):
- 건설/시공: 협력업체, 시공관리, 기성관리, 발주관리, 계약관리 등
- 영업: 견적관리(V2), 고객관리(V2), 수주관리
- 회계: 청구관리, 매입관리, 매출관리, 거래처관리, 악성채권 등
- 생산: 작업지시, 검수관리
- 출고: 출하관리
- 자재: 입고관리, 재고현황
- 고객센터: 문의관리, 이벤트관리, 공지관리
- 인사: 직원관리
- 설정: 권한관리

주요 변경사항:
- 34개 xxxConfig.ts 파일 생성 (설정 기반 페이지 구성)
- PageLayout/PageHeader → IntegratedDetailTemplate 통합
- 일관된 타이틀/버튼 영역 (목록, 상세, 수정, 삭제)
- 1112줄 코드 감소 (중복 제거)

프로젝트 공통화 현황 분석 문서 추가:
- 상세 페이지 62%, 목록 페이지 82% 공통화 달성
- 추가 공통화 기회 및 로드맵 정리

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 15:51:02 +09:00
유병철
36322a0927 feat(WEB): Phase 4-5 V2 URL 패턴 통합 마이그레이션 완료
Phase 5 완료 (5개 페이지):
- 입금관리, 출금관리, 단가관리(건설): Pattern A (기존 V2 컴포넌트 활용)
- 판매수주관리, 품목관리: Pattern B (View/Edit 컴포넌트 분리)

신규 컴포넌트:
- OrderSalesDetailView.tsx, OrderSalesDetailEdit.tsx
- ItemDetailView.tsx, ItemDetailEdit.tsx

기타 정리:
- backup 파일 삭제 (Dashboard, ItemMasterDataManagement 등)
- 타입 정의 개선 (건설 도메인 types.ts)
- useAuthGuard 훅 정리

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-20 09:00:27 +09:00
유병철
1d7b028693 feat(WEB): Phase 2-3 V2 마이그레이션 완료 및 ServerErrorPage 적용
Phase 2 완료 (4개):
- 노무관리, 단가관리(건설), 입금, 출금

Phase 3 라우팅 구조 변경 완료 (22개):
- 거래처(영업), 팝업관리, 공정관리, 게시판관리, 대손추심, Q&A
- 현장관리, 실행내역, 견적관리, 견적(테스트)
- 입찰관리, 이슈관리, 현장설명회, 견적서(건설)
- 협력업체, 시공관리, 기성관리, 품목관리(건설)
- 회계 도메인: 거래처, 매출, 세금계산서, 매입

신규 컴포넌트:
- ErrorCard: 에러 페이지 UI 통일
- ServerErrorPage: V2 페이지 에러 처리 필수
- V2 Client 컴포넌트 및 Config 파일들

총 47개 상세 페이지 중 28개 완료, 19개 제외/불필요

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 17:31:28 +09:00
abc3fea293 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	src/components/hr/SalaryManagement/index.tsx
#	src/components/production/WorkResults/WorkResultList.tsx
#	tsconfig.tsbuildinfo
2026-01-16 15:47:13 +09:00
98b65a6ca4 feat(WEB): 작업지시 수정 페이지 및 생산 관리 기능 개선
신규 기능:
- 작업지시 수정 페이지 추가 (/production/work-orders/[id]/edit)
- WorkOrderEdit 컴포넌트 신규 생성
- bulk-actions.ts 일괄 작업 유틸리티 추가
- toast-utils.ts 알림 유틸리티 추가

기능 개선:
- ProductionDashboard 대시보드 액션 및 표시 개선
- WorkOrderCreate 생성 화면 개선
- WorkResultList 작업 결과 목록 타입 및 표시 개선
- EstimateDetailForm 견적 폼 개선
- QuoteRegistration 견적 등록 개선
- client-management-sales-admin 거래처 관리 개선
- error-handler.ts 에러 처리 개선
2026-01-16 15:39:02 +09:00
byeongcheolryu
60505f52ea Merge branch 'feature/universal-list-component' into master
UniversalListPage 전체 마이그레이션 머지
- 충돌 해결: VendorManagement, WorkResultList, tsconfig.tsbuildinfo
- feature 브랜치의 UniversalListPage 마이그레이션 버전으로 통일

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 15:24:21 +09:00
byeongcheolryu
ad493bcea6 feat(WEB): UniversalListPage 전체 마이그레이션 및 코드 정리
- UniversalListPage/IntegratedListTemplateV2 컴포넌트 기능 개선
- 회계, HR, 건설, 고객센터, 결재, 설정 등 전체 리스트 컴포넌트 마이그레이션
- 테스트 페이지 및 미사용 API 라우트 정리 (board-test, order-management-test 등)
- 미들웨어 토큰 갱신 로직 개선
- AuthenticatedLayout 구조 개선
- claudedocs 문서 업데이트

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 15:19:09 +09:00
b14ea842f8 fix: 견적서 공과 상세 품목 조회 API 응답 파싱 수정
- getExpenseItemOptions() 함수의 API 응답 구조 수정
- response.data → response.data.data로 페이지네이션 응답 올바르게 파싱
- items 테이블에서 item_type='RM' 품목 정상 조회되도록 수정
2026-01-16 12:47:16 +09:00
0f8f40fc7b fix: 견적관리 공과 품목 API 파라미터 및 MES 기능 개선
- 공과 상세 셀렉트 박스 API 파라미터 수정 (type → item_type)
- VendorManagement 목록 컴포넌트 개선
- 작업지시/작업실적 타입 및 UI 개선
- 검사관리 actions 수정
2026-01-15 08:52:40 +09:00
6dc91daaca fix: 품목관리 API 응답 파싱 및 필드명 수정
- ApiItem 인터페이스: code → item_code 변경 (API 응답 구조 반영)
- transformItem: item_code 필드 사용하도록 수정
- transformItemToApi: item_type → product_type으로 변경 (API 요청 필드명)
- getItemList: Laravel 페이지네이션 응답 구조 처리 개선
- getItem: API 응답 구조(success, message, data) 처리
- getCategoryOptions: 페이지네이션 응답 파싱 수정
- createItem: 응답에서 ID 추출 로직 개선
- 디버깅용 console.log 추가
2026-01-14 20:04:44 +09:00
byeongcheolryu
8639eee5df Merge branch 'master' into feature/universal-list-component 2026-01-14 15:30:57 +09:00
byeongcheolryu
e76fac0ab1 feat(WEB): UniversalListPage 컴포넌트 및 파일럿 마이그레이션
- UniversalListPage 템플릿 컴포넌트 생성
- 카드관리(HR) 파일럿 마이그레이션 (기본 케이스)
- 게시판목록 파일럿 마이그레이션 (동적 탭 fetchTabs)
- 발주관리 파일럿 마이그레이션 (ScheduleCalendar beforeTableContent)
- 클라이언트 사이드 필터링 지원 (customFilterFn, customSortFn)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 15:27:59 +09:00
8f02f68390 feat: 건설 견적 상세 페이지 API 연동 완료
- 견적요약, 공과상세, 품목 단가조정 데이터 API 연동
- options JSON 필드에서 데이터 읽기/쓰기 처리
- view/edit 페이지에서 목업 데이터 제거
2026-01-14 12:35:11 +09:00
e5851e91b8 fix(WEB): Next.js 빌드 오류 수정
- xlsx 패키지 설치 (LocationListPanel.tsx에서 사용)
- createContract 중복 선언 제거 (actions.ts)
2026-01-13 20:21:04 +09:00
f67832f228 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	src/app/[locale]/(protected)/construction/project/bidding/estimates/[id]/edit/page.tsx
#	src/app/[locale]/(protected)/construction/project/bidding/estimates/[id]/page.tsx
2026-01-13 19:58:09 +09:00
777872486a feat(WEB): 건설 노무/협력사/현장관리 개선
- 노무관리 actions API 연동 개선
- 협력사 폼 및 actions 개선
- 현장관리 actions 추가
2026-01-13 19:47:57 +09:00
8083c0e015 fix(WEB): 건설 견적 관리 개선
- 견적 상세/수정 페이지 타입 수정
- actions.ts API 연동 개선
2026-01-13 19:47:51 +09:00
e162ad5a12 feat(WEB): 현장설명회 실제 API 연동
- mock 데이터 제거하고 실제 API 연동
- apiClient 표준화 적용
- SiteBriefingFormData 타입 추가
- CRUD 액션 API 호출로 변경
2026-01-13 19:47:33 +09:00
byeongcheolryu
ea8d701a8d refactor(WEB): 공사관리 리스트 페이지 모바일 필터 마이그레이션
- BiddingListClient: MobileFilter 컴포넌트 적용
- ContractListClient: MobileFilter 컴포넌트 적용
- EstimateListClient: MobileFilter 컴포넌트 적용
- HandoverReportListClient: MobileFilter 컴포넌트 적용
- IssueManagementListClient: MobileFilter 컴포넌트 적용
- ItemManagementClient: MobileFilter 컴포넌트 적용
- LaborManagementClient: MobileFilter 컴포넌트 적용
- PricingListClient: MobileFilter 컴포넌트 적용
- SiteBriefingListClient: MobileFilter 컴포넌트 적용
- SiteManagementListClient: MobileFilter 컴포넌트 적용
- StructureReviewListClient: MobileFilter 컴포넌트 적용
- WorkerStatusListClient: MobileFilter 컴포넌트 적용
- TodayIssueSection: CEO 대시보드 이슈 섹션 개선
- EmployeeForm: 사원등록 폼 개선

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 18:33:39 +09:00
byeongcheolryu
db47a15544 feat(WEB): 공사관리 시스템 및 CEO 대시보드 기능 확장
- 공사현장관리: 프로젝트 상세, 공정관리, 칸반보드 구현
- 이슈관리: 현장 이슈 등록/조회 기능 추가
- 근로자현황: 일별 근로자 출역 현황 페이지 추가
- 유틸리티관리: 현장 유틸리티 관리 페이지 추가
- 기성청구: 기성청구 관리 페이지 추가
- CEO 대시보드: 현황판(StatusBoardSection) 추가, 설정 다이얼로그 개선
- 발주관리: 모바일 필터 적용, 리스트 UI 개선
- 공용 컴포넌트: MobileFilter, IntegratedListTemplateV2 개선, CalendarHeader 반응형 개선

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 17:18:29 +09:00
2b9c70b550 fix(WEB): 건설 견적관리 API 연동 수정
- actions.ts: /quotes API 호출로 변경 (quote_type=construction 필터)
- actions.ts: API 응답 파싱 수정 (response.data.data 구조 처리)
- EstimateListClient.tsx: size 1000→100 (API 최대값 준수)
2026-01-13 09:55:23 +09:00
byeongcheolryu
d036ce4f42 feat(WEB): 견적서 V2 컴포넌트 개선 및 미리보기 모달 패턴 적용
- LocationDetailPanel: 6개 탭 구현 (본체, 가이드레일, 케이스, 하단마감재, 모터&제어기, 부자재)
- 각 탭별 다른 테이블 컬럼 구조 적용
- QuoteSummaryPanel: 개소별/상세별 합계 패널 개선
- QuotePreviewModal: EstimateDocumentModal 패턴 적용 (헤더+버튼 영역 분리)
- Input value → defaultValue 변경으로 React 경고 해결
- 팩스/카카오톡 버튼 제거

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 15:26:17 +09:00
ee9f7a4d81 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	src/components/production/WorkOrders/WorkOrderCreate.tsx
#	src/components/production/WorkOrders/WorkOrderDetail.tsx
#	src/components/production/WorkOrders/WorkOrderList.tsx
2026-01-12 09:00:32 +09:00
byeongcheolryu
e56b7d53a4 fix(WEB): 토큰 만료 시 무한 로딩 대신 로그인 리다이렉트 처리
- 52개 이상의 컴포넌트에 isNextRedirectError 처리 추가
- Server Action의 redirect() 에러가 catch 블록에서 삼켜지는 문제 해결
- access_token + refresh_token 모두 만료 시 정상적으로 로그인 페이지로 리다이렉트

수정된 영역:
- accounting: 10개 컴포넌트
- production: 12개 컴포넌트
- hr: 5개 컴포넌트
- settings: 8개 컴포넌트
- approval: 5개 컴포넌트
- items: 20개+ 컴포넌트
- board: 5개 컴포넌트
- quality: 4개 컴포넌트
- material, outbound, quotes 등 기타 컴포넌트

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-11 17:19:11 +09:00
e4b5e6ae30 feat(construction): Phase 3.1 카테고리관리 API 연동 완료
- apiClient에 patch 메서드 추가
- apiClient.get에 params 옵션 지원 추가
- updateCategory: PUT → PATCH 수정
- reorderCategories: PUT → POST 수정
2026-01-09 22:01:47 +09:00
ae90bd7c52 feat(construction): 구조검토관리 Frontend API 연동
- Mock 데이터 제거
- apiClient 기반 실제 API 호출로 전환
- 타입 변환 함수 구현 (snake_case ↔ camelCase)

API Functions:
- getStructureReviewList: 목록 조회 + 검색/필터/정렬/페이지네이션
- getStructureReviewStats: 통계 조회
- getStructureReview: 상세 조회
- createStructureReview: 생성
- updateStructureReview: 수정
- deleteStructureReview: 단일 삭제
- deleteStructureReviews: 일괄 삭제
2026-01-09 21:31:42 +09:00
d43433295d feat(construction): Phase L 건설관리 3개 모듈 Mock → API 연동
- pricing-management: Mock → apiClient 표준화, types.ts 타입 추가
- estimates: Mock → apiClient 표준화 (복잡한 중첩 타입 처리)
- category-management: Mock → apiClient 표준화 (에러 타입 처리)
2026-01-09 19:57:30 +09:00
5db6e59bbc refactor(construction): 건설관리 3개 모듈 apiClient 표준화
- contract/actions.ts: 커스텀 apiRequest → apiClient 변환
- partners/actions.ts: 커스텀 apiRequest → apiClient 변환
- site-management/actions.ts: 커스텀 apiRequest → apiClient 변환

공통 변경사항:
- cookies() 직접 import 제거
- API_BASE_URL, API_KEY 상수 제거
- import { apiClient } from '@/lib/api' 사용
- 명시적 API 타입 정의 추가 (ApiContract, ApiPartner, ApiSite 등)
2026-01-09 19:21:34 +09:00
b7b8b90398 refactor(handover-report): 커스텀 fetch → apiClient 표준화
- 커스텀 apiRequest 함수 제거 (52줄)
- cookies() 직접 사용 제거
- @/lib/api의 apiClient 사용으로 통일
- 명시적 API 타입 정의 추가
  - ApiHandoverReport, ApiManager, ApiContractItem
  - ApiExternalEquipmentCost, ApiHandoverReportStats
- 코드량 499줄 → 452줄 (47줄 감소)
2026-01-09 19:08:28 +09:00
6615f39466 feat(order-management): Mock → API 연동 및 common-codes 유틸리티 추가
- common-codes.ts 신규 생성 (공용 코드 조회 유틸리티)
  - getCommonCodes(), getCommonCodeOptions() 기본 함수
  - getOrderStatusOptions(), getOrderTypeOptions() 등 편의 함수
- order-management/actions.ts Mock 데이터 → 실제 API 연동
  - 상태 변환 함수 (Frontend ↔ Backend 매핑)
  - getOrderList(), getOrderStats(), createOrder(), updateOrder() 등 구현
- lib/api/index.ts에 common-codes 모듈 export 추가
2026-01-09 17:25:24 +09:00
5fa20c837a feat(item-management): Mock → API 연동 완료
Phase 2.3 자재관리 API 연동:
- actions.ts Mock 데이터 제거, 실제 API 연동
- 8개 API 함수 구현 (getItemList, getItemStats, getItem, createItem, updateItem, deleteItem, deleteItems, getCategoryOptions)
- 타입 변환 함수 구현 (Frontend ↔ Backend)
- 품목유형 매핑 (제품↔FG, 부품↔PT, 소모품↔CS, 공과↔RM)
- Frontend 전용 필터링 (specification, orderType, dateRange, sortBy)
2026-01-09 16:58:50 +09:00
749f0ce3c3 feat: 거래처관리 API 연동 (Phase 2.2)
- partners/actions.ts: Mock → API 연동 전환
- apiRequest 헬퍼 함수 추가 (쿠키 기반 인증)
- transform 함수: client_type ↔ partnerType 변환
- getPartnerList, getPartner, createPartner, updatePartner
- getPartnerStats, deletePartner, deletePartners
- 구현 문서 추가
2026-01-09 16:46:32 +09:00
273d5709cd feat(시공사): 2.1 현장관리 - Frontend API 연동
- actions.ts: Mock 데이터 → API 연동
- types.ts: SiteStats에 suspended, pending 추가
- 문서: API 연동 상세 문서 추가
2026-01-09 16:35:12 +09:00
9d30555265 feat(시공사): 1.2 인수인계보고서 - Frontend API 연동
- Mock 데이터 제거, 실제 API 연동으로 변환
- apiRequest 헬퍼 함수 구현 (쿠키 기반 인증)
- 7개 API 함수 구현: list, stats, detail, create, update, delete, bulk-delete
- snake_case → camelCase 타입 변환 함수 추가
2026-01-09 16:08:18 +09:00
2d7809b4e0 feat: [시공관리] 계약관리 Frontend API 연동
- actions.ts Mock 데이터 → 실제 API 호출로 전환
- apiRequest 헬퍼 함수 구현 (인증, 에러 처리)
- API 응답 snake_case → camelCase 변환 함수 추가
- CRUD 전체 기능 API 연동 완료
2026-01-09 10:18:57 +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