Commit Graph

30 Commits

Author SHA1 Message Date
b5f5ce591f feat(WEB): 절곡품 선생산→재고적재 Phase 3 - 수주 절곡 재고 현황 표시
- orders/actions: checkBendingStock() 서버 액션 추가
- orders/index: BendingStockItem 타입 및 함수 export
- 수주 상세페이지: 절곡품 재고 현황 카드 (충족/부족 뱃지, 테이블)
  - 수주확정 이후 상태에서 자동 로드
2026-02-22 04:19:41 +09:00
7d7d5356ff feat(WEB): 수주 Bulk Delete + Revert Force 프론트엔드 연동
- deleteOrders: for 루프 단건 삭제 → DELETE /api/v1/orders/bulk 단일 호출로 전환
- deleteOrders: force 옵션 추가 (개발환경 물리 삭제용)
- revertProductionOrder: force/reason 파라미터 추가
- 수주 상세: 되돌리기 다이얼로그에 사유 Textarea 추가
- 수주 상세: 개발환경 전용 "완전삭제 (DEV)" 버튼 추가
- 수주 목록: 개발환경 전용 selectionActions "완전삭제 (DEV)" 버튼 추가
2026-02-22 04:19:41 +09:00
f35df29264 fix(WEB): 수주 개소 그룹핑 개선 및 제품명 표시 수정
- floor+code 동일 시 인덱스 기반 균등 분배 로직 추가
- 제품명을 root_nodes[0].options.product_name에서 가져오도록 변경
2026-02-21 01:06:55 +09:00
30ca2afca8 fix(WEB): ApiOrder options 타입에 manager_name 추가 (빌드 에러 수정) 2026-02-20 15:37:57 +09:00
5b987d057b fix(WEB): 수주/작업지시 담당자 표시 누락 수정
- transformApiToFrontend: options.manager_name 우선 참조 (폴백: client.manager_name)
- transformFrontendToApi: options에 manager_name 전송 추가
- 작업지시 상세: salesOrderWriter에 options.manager_name 우선 표시
2026-02-20 10:48:54 +09:00
유병철
f344dc7d00 refactor(WEB): 회계/견적/설정/생산 등 전반적 코드 개선 및 공통화 2차
- 회계 모듈 전면 개선: 청구/입금/출금/매입/매출/세금계산서/일반전표/거래처원장 등
- 견적 모듈 금액 포맷/할인/수식/미리보기 등 코드 정리
- 설정 모듈: 계정관리/직급/직책/권한 상세 간소화
- 생산 모듈: 작업지시서/작업자화면/검수 문서 코드 정리
- UniversalListPage 엑셀 다운로드 및 필터 기능 확장
- 대시보드/게시판/수주 등 날짜 유틸 공통화 적용
- claudedocs 문서 인덱스 업데이트

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 10:45:47 +09:00
b8dcb69e47 feat(WEB): 수주 목록 frameCount에 rootNodes 수량 합계 반영
- ApiOrder 인터페이스에 root_nodes_sum_quantity 필드 추가
- frameCount 매핑: root_nodes_sum_quantity 우선, fallback으로 quantity 사용
2026-02-19 11:18:01 +09:00
유병철
cbb38d48b9 refactor(WEB): 전체 actions.ts에 공통 API 유틸 적용
- buildApiUrl / executePaginatedAction 패턴으로 전환 (40+ actions 파일)
- 직접 URLSearchParams 조립 → buildApiUrl 유틸 사용
- 수동 페이지네이션 메타 변환 → executePaginatedAction 자동 처리
- HandoverReportDocumentModal, OrderDocumentModal 개선
- 급여관리 SalaryManagement 코드 개선
- CLAUDE.md Server Action 공통 유틸 규칙 정리

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 20:59:59 +09:00
6e5ccca038 fix(WEB): 견적→수주→생산지시 데이터 연결 수정
- transformFrontendToApi()에 floor_code/symbol_code 추가 (제품 매핑)
- BomCalculationResultItem에 item_id 필드 추가
- transformV2ToApi()에서 견적 저장 시 item_id 전달 (공정 매핑 근본 수정)
2026-02-10 19:03:19 +09:00
유병철
437d5f6834 refactor(WEB): SearchableSelectionModal 공통화 및 actions lookup 통합
- SearchableSelectionModal<T> 제네릭 컴포넌트 추출 (organisms)
- 검색 모달 5개 리팩토링: SupplierSearch, QuotationSelect, SalesOrderSelect, OrderSelect, ItemSearch
- shared-lookups API 유틸 추가 (거래처/품목/수주 등 공통 조회)
- create-crud-service 확장 (lookup, search 메서드)
- actions.ts 20+개 파일 lookup 패턴 통일
- 공통 페이지 패턴 가이드 문서 추가
- CLAUDE.md Common Component Usage Rules 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 16:01:23 +09:00
유병철
55e0791e16 refactor(WEB): Server Action 공통화 및 보안 강화
- executeServerAction 공통 유틸 도입으로 actions.ts 대폭 간소화 (50+개 파일)
- sanitize 유틸 추가 (XSS 방지)
- middleware CSP 헤더 추가 및 Open Redirect 방지
- 프록시 라우트 로깅 개발환경 한정으로 변경
- 프로덕션 불필요 console.log 제거

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 16:14:06 +09:00
473cfa0052 feat: [수주관리] 프론트엔드 노드별 그룹 UI 구현
- OrderNode 인터페이스 + ApiOrderNode 타입 정의 (actions.ts)
- transformNodeApiToFrontend 변환 함수 (재귀 children/items 포함)
- Order 타입에 nodes 필드, ApiOrder에 root_nodes 필드 추가
- OrderSalesDetailView: 노드 존재 시 개소별 카드 UI, 없으면 레거시 플랫 테이블
- OrderNodeCard: 접기/펼치기, 노드 상태 뱃지, 자재 테이블, 재귀 하위 노드 지원
- index.ts에 OrderNode export 추가
2026-02-06 20:22:31 +09:00
b57fc31297 feat:견적/수주/공정관리 UI 개선
- QuoteFooterBar: 수주전환 버튼 및 상태 표시 개선
- QuoteRegistrationV2: 할인금액 입력 UI 추가
- QuoteManagementClient: 타입 수정
- OrderRegistration: 수주 등록 폼 개선
- StepDetail: 공정 단계 상세 UI 확장
- RuleModal: 규칙 모달 레이아웃 조정
- BadgeSm: 뱃지 컴포넌트 스타일 개선
2026-02-05 21:58:53 +09:00
f1c4ab62bf feat(WEB): 수주등록 품목을 제품 모델+타입별 그룹핑 표시
- 견적의 calculation_inputs에서 productCode 정보를 수주등록으로 전달
- quote_items.note 파싱으로 floor/code 추출 (type_code/symbol 컬럼 부재 대응)
- 제품코드(FG-KWE01-벽면형-SUS)에서 그룹핑 키(KWE01-SUS) 추출
- 그룹 내 동일 품목(item_code 기준) 수량/금액 합산하여 1행으로 표시
- quotes/actions.ts BomCalculationResult 타입을 types.ts와 일치시켜 TS 에러 해결
2026-02-04 23:04:47 +09:00
유병철
a1f4c82cec fix: 프로젝트 전체 TypeScript 타입에러 408개 수정 (tsc --noEmit 0 errors)
- 공통 템플릿 타입 수정 (IntegratedDetailTemplate, UniversalListPage)
- 페이지(app/[locale]) 타입 호환성 수정 (80개)
- 재고/자재 모듈 타입 수정 (StockStatus, ReceivingManagement)
- 생산 모듈 타입 수정 (WorkOrders, WorkerScreen, WorkResults)
- 주문/출고 모듈 타입 수정 (ShipmentManagement, Orders)
- 견적/단가 모듈 타입 수정 (Quotes, Pricing)
- 건설 모듈 타입 수정 (49개, 17개 하위 모듈)
- HR 모듈 타입 수정 (CardManagement, VacationManagement 등)
- 설정 모듈 타입 수정 (PermissionManagement, AccountManagement 등)
- 게시판 모듈 타입 수정 (BoardManagement, BoardList 등)
- 회계 모듈 타입 수정 (VendorManagement, BadDebtCollection 등)
- 기타 모듈 타입 수정 (CEODashboard, clients, vehicle 등)
- 유틸/훅/API 타입 수정 (hooks, contexts, lib)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 10:07:58 +09:00
유병철
3fc63d0b3e feat(WEB): 공정관리/작업지시/작업자화면 기능 강화 및 템플릿 개선
- 공정관리: ProcessDetail/ProcessForm/ProcessList 개선, StepDetail/StepForm 신규 추가
- 작업지시: WorkOrderDetail/Edit/List UI 개선, 작업지시서 문서 추가
- 작업자화면: WorkerScreen 대폭 개선, MaterialInputModal/WorkLogModal 수정, WorkItemCard 신규
- 영업주문: 주문 상세 페이지 개선
- 입고관리: 상세/actions 수정
- 템플릿: IntegratedDetailTemplate/IntegratedListTemplateV2/UniversalListPage 기능 확장
- UI: confirm-dialog 개선

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 22:56:01 +09:00
6bcd298995 feat: 수주/견적 기능 개선 및 PDF 생성 업데이트
- 수주 상세 뷰/수정 컴포넌트 개선
- 견적 위치 패널 업데이트
- PDF 생성 API 수정
- 레이아웃 및 공통코드 API 업데이트
- 패키지 의존성 업데이트
2026-01-29 01:12:58 +09:00
e246459a08 [WEB] feat(OrderManagement): 견적서 기반 수주 등록 기능 추가
- page.tsx: quoteId 파라미터로 견적 데이터 자동 로드
- actions.ts: getQuoteByIdForSelect 함수 추가
- index.ts: getQuoteByIdForSelect export 추가
- quotes/actions.ts: QuotationForSelect, QuotationItem 타입 export
2026-01-27 17:41:16 +09:00
e6f4b9b49c fix(WEB): 수주 품목 item_code 필드 매핑 추가
- ApiOrderItem 인터페이스에 item_code 필드 추가
- transformItemApiToFrontend에서 item_code 직접 매핑
2026-01-26 15:29:45 +09:00
a0343eec93 feat(WEB): 부실채권, 재고, 입고, 수주 UI 개선
- BadDebtCollection 액션/타입 리팩토링
- ReceivingProcessDialog 입고처리 개선
- StockStatusList 재고현황 UI 개선
- OrderSalesDetailView 수주 상세 수정
- UniversalListPage 범용 리스트 개선
- production-order 페이지 수정
2026-01-23 21:32:24 +09:00
6fa69d81f4 CEO 대시보드 API 전환 및 주문 관리 페이지 수정
- CEO 대시보드 mock 데이터 제거, 실제 API 연동
- 대시보드 transformers/types 추가
- 영업 주문 관리 페이지 수정
- 주문 actions 업데이트
2026-01-22 09:47:05 +09:00
d12618f320 fix(WEB): 수주 페이지 필드 매핑 및 제품-부품 트리 구조 개선
- ApiClient 인터페이스: representative → manager_name, contact_person 변경
- transformApiToFrontend: client.representative → client.manager_name 수정
- ApiOrderItem에 floor_code, symbol_code 필드 추가 (제품-부품 매핑)
- ApiOrder에 options 타입 정의 추가
- ApiQuote에 calculation_inputs 타입 정의 추가
- 수주 상세 페이지 제품-부품 트리 구조 UI 개선
2026-01-20 16:14:45 +09:00
f6c8610104 fix: 견적 선택 다이얼로그 개선
- actions.ts: for_order=true 파라미터 추가 (수주 전환된 견적 제외)
- QuotationSelectDialog: 두 번 호출되는 문제 수정
  - 두 개의 useEffect를 하나로 통합
  - 초기 로드는 즉시, 검색은 디바운스 적용
2026-01-15 16:13:30 +09:00
81f7c5aeac feat(WEB): 주문/작업지시 공정 연동 개선
- process_id 필드 추가 (공정 연동)
- 공정별 다중 작업지시 생성 지원 (processIds)
- ApiProductionOrderResponse 타입 수정 (work_orders 배열 지원)
- process 정보 포함 응답 처리
2026-01-13 19:47:39 +09:00
b9f0e24950 feat(WEB): 생산지시 공정관리 연동 및 견적번호 버그 수정
- 생산지시 페이지에 공정관리 API 연동
  - getProcessList API로 사용중 공정 목록 로드
  - 품목-공정 매칭 함수 추가 (classificationRules 기반)
  - 하드코딩된 DEFAULT_PROCESSES 제거, API 데이터로 대체
  - workSteps 없을 시 안내 메시지 표시

- 수주 등록 시 quote_id 미전달 버그 수정
  - transformFrontendToApi에 quote_id 변환 로직 추가
  - 견적 선택 후 수주 등록 시 견적번호 정상 표시
2026-01-12 17:19:14 +09:00
626c138fd2 fix: 수주관리 목록 페이지 서버 에러 수정
- page.tsx: API 응답 데이터 구조 수정 (ordersResult.data → ordersResult.data.items)
- actions.ts: Quote 필드명 수정 (quote_no → quote_number)
2026-01-09 21:27:08 +09:00
c651e7bc72 feat(WEB): 수주관리 Phase 3 완료 - 고급 기능 구현
- 3.1 견적→수주 변환: QuotationSelectDialog API 연동 + createOrderFromQuote()
- 3.2 생산지시 생성 연동: createProductionOrder() + production-order 페이지 개선
- 3.3 상태 흐름 관리: 수주확정 다이얼로그 + updateOrderStatus() 연동

주요 변경:
- [id]/page.tsx: 수주확정 버튼/다이얼로그 추가 (DRAFT→CONFIRMED 상태 전환)
- [id]/production-order/page.tsx: API 연동으로 실제 생산지시 생성
- actions.ts: createProductionOrder(), createOrderFromQuote(), getQuotesForSelect() 추가
- QuotationSelectDialog.tsx: Mock→API 연동 (확정된 견적 조회)
- OrderRegistration.tsx: 견적 연동 처리

수주관리 API 연동 100% 완료 (Phase 1-3)
2026-01-09 10:25:22 +09:00
fde8726e14 feat(WEB): 수주관리 Phase 2 타입 정의 확장 및 공정관리 개별 품목 표시 수정
- Order, OrderItem 인터페이스에 상세 페이지용 필드 추가
- OrderFormData, OrderItemFormData에 수정 페이지용 필드 추가
- 변환 함수에서 새 필드 매핑 처리
- 공정관리 개별 품목을 ID 대신 품목명으로 표시
2026-01-08 20:57:49 +09:00
3d2dea6118 feat: 수주 관리 Phase 3 - Frontend API 연동
- createOrderFromQuote(): 견적→수주 변환 API 호출
- createProductionOrder(): 생산지시 생성 API 호출
- WorkOrder 타입 및 변환 함수 추가
- 변경 내역 문서 작성
2026-01-08 20:17:55 +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