664 Commits

Author SHA1 Message Date
911b6ca31a feat(WEB): 중간검사 입력 모달 템플릿 기반 렌더링 개선
- measurement_type 기반 항목별 렌더링 (OK/NG 체크 vs 수치 입력 분리)
- 섹션 구분선 간소화, isNumericItem/resolveDesignValue 헬퍼 추가
2026-02-11 15:58:49 +09:00
0ba7ec25df Merge remote-tracking branch 'origin/master' 2026-02-11 15:54:35 +09:00
유병철
4c36dc5bbe chore(WEB): 글로벌 스타일 수정 및 레이아웃 미세 조정
- globals.css 스타일 업데이트
- AuthenticatedLayout 수정
- claudedocs 문서 인덱스 업데이트

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 15:53:49 +09:00
유병철
5f6830434d refactor(WEB): HeaderFavoritesBar 리팩토링 및 즐겨찾기 관련 코드 개선
- HeaderFavoritesBar 컴포넌트 코드 간소화
- Sidebar 즐겨찾기 연동 수정
- favoritesStore 로직 개선

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 15:29:46 +09:00
434a73ccc0 fix(WEB): 검사성적서 모달이 항상 첫 번째 작업지시 데이터를 표시하는 버그 수정
- getTargetOrder()가 filteredWorkOrders[0]만 반환하던 로직 수정
- selectedSidebarOrderId 기반으로 선택된 작업지시를 우선 반환하도록 변경
2026-02-11 15:25:19 +09:00
b0d2f2810a Merge remote-tracking branch 'origin/master' 2026-02-11 15:10:15 +09:00
유병철
a38996b751 refactor(WEB): V2 파일 통합, store 구조 정리 및 대시보드 개선
- V2 컴포넌트를 원본에 통합 후 V2 파일 삭제 (InspectionModal, BillDetail, ContractDocumentModal, LaborDetailClient, PricingDetailClient, QuoteRegistration)
- store → stores 디렉토리 이동 및 favoritesStore 추가
- dashboard_type3~5 추가 및 기존 대시보드 차트/훅 분리
- Sidebar 리팩토링 및 HeaderFavoritesBar 추가
- DashboardSwitcher 컴포넌트 추가
- 백업 파일(.v1-backup) 및 불필요 코드 정리
- InspectionPreviewModal 레이아웃 개선

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 15:09:51 +09:00
5104a8b012 feat(WEB): 공정 단계 설정(검사여부/연결정보/완료정보) → WorkerScreen 연동
- WorkStepData 타입에 stepProgressId, needsInspection, connectionType, connectionTarget, completionType 추가
- getWorkOrderDetail step 변환에서 needs_inspection, connection_type, completion_type 추출
- PROCESS_STEPS 폴백 시 processListCache 단계 설정 매칭하여 enrichStep 헬퍼로 주입
- handleStepClick에 connectionType='팝업' + connectionTarget='중간검사' 분기 추가
- handleInspectionComplete에서 completionType='검사완료 시 완료' 단계 toggleStepProgress API 호출
- TemplateInspectionContent: reference_attribute → workItem 치수 연동
- InspectionInputModal: workItemDimensions prop으로 실제 치수 기반 설계값 표시
2026-02-11 14:30:46 +09:00
8a993bc0c3 Merge remote-tracking branch 'origin/master' 2026-02-11 11:03:50 +09:00
유병철
e14335b635 refactor(WEB): DataTable 개선 및 회계 상세 컴포넌트 리팩토링
- DataTable 컴포넌트 기능 확장 및 코드 개선
- 회계 상세 컴포넌트(Bill/Deposit/Purchase/Sales/Withdrawal) 리팩토링
- 엑셀 다운로드 유틸리티 개선
- 대시보드 및 각종 리스트 페이지 업데이트
- dashboard_type2 페이지 추가
- 프론트엔드 개선 로드맵 문서 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 11:03:19 +09:00
9b2b708538 fix(WEB): DevToolbar 모바일 반응형 및 안드로이드 하단바 대응
- bottom-4 → bottom-9로 변경하여 안드로이드 하단 네비게이션바 회피
- max-w-[calc(100vw-1rem)] 추가하여 모바일 화면 넘침 방지
- 버튼 영역에 flex-wrap 적용하여 모바일에서 줄바꿈 지원
2026-02-11 10:12:10 +09:00
973c3a9018 feat(WEB): 작업일지/검사성적서 버튼 공정 레벨 설정 연동
- Process 타입에 documentTemplateId, needsWorkLog 필드 추가 (ProcessStep에서 이동)
- ProcessForm에 중간검사 양식/작업일지 설정 UI 추가
- StepForm에서 해당 UI 제거
- WorkerScreen 하단 버튼 조건부 렌더링: needsWorkLog/documentTemplateId 기반
2026-02-11 09:51:38 +09:00
df668316c9 Merge remote-tracking branch 'origin/master' 2026-02-11 08:51:01 +09:00
유병철
0db6302652 refactor(WEB): 코드 품질 개선 및 불필요 코드 제거
- 미사용 import/변수/console.log 대량 정리 (100+개 파일)
- ItemMasterContext 간소화 (미사용 로직 제거)
- IntegratedListTemplateV2 / UniversalListPage 개선
- 결재 컴포넌트(ApprovalBox, DraftBox, ReferenceBox) 정리
- HR 컴포넌트(급여/휴가/부서) 코드 간소화
- globals.css 스타일 정리 및 개선
- AuthenticatedLayout 개선
- middleware CSP 정리
- proxy route 불필요 로깅 제거

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 20:55:11 +09:00
fbe03aaea4 fix(WEB): StepDetailClient mode 판별을 useMemo로 변경 2026-02-10 20:13:12 +09:00
de2b7dd6ce fix(WEB): 작업지시 상세/작업자 화면 개소(층/부호) 표시 수정
- WorkOrderDetail: 개소 그룹핑을 order_node_id → floor_code/symbol_code 기반으로 변경
- WorkerScreen: 아이템 그룹핑을 floor_code/symbol_code 기반으로 변경, '미지정' 라벨 제거
- types.ts: source_order_item에 floor_code/symbol_code 필드 추가, floorCode 변환 로직 적용
2026-02-10 20:13:11 +09:00
e508014224 fix(WEB): Turbopack use server 파일 간 export type 런타임 에러 수정
- 검사 템플릿 타입(InspectionTemplateData 등)을 WorkerScreen/types.ts로 분리
- use server 파일에서 export type 제거 (Turbopack 모듈 평가 시 값으로 처리되는 문제)
- 모든 타입 import를 types.ts 직접 참조로 변경
2026-02-10 19:27:45 +09:00
6e5ccca038 fix(WEB): 견적→수주→생산지시 데이터 연결 수정
- transformFrontendToApi()에 floor_code/symbol_code 추가 (제품 매핑)
- BomCalculationResultItem에 item_id 필드 추가
- transformV2ToApi()에서 견적 저장 시 item_id 전달 (공정 매핑 근본 수정)
2026-02-10 19:03:19 +09:00
c6cce7fe61 Merge remote-tracking branch 'origin/master' 2026-02-10 16:01:57 +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
bd7e70f3da Merge remote-tracking branch 'origin/master' 2026-02-10 10:27:21 +09:00
12a423051a feat(WEB): 중간검사 문서 템플릿 동적 연동 - 공정관리 선택기 + Worker Screen 동적 폼
- ProcessStep 타입에 documentTemplateId/documentTemplateName 추가
- 공정관리 actions.ts: document_template_id 매핑 + getDocumentTemplates 서버 액션
- StepForm: 검사여부 사용 시 문서양식 선택 드롭다운 추가
- WorkerScreen actions.ts: getInspectionTemplate, saveInspectionDocument 서버 액션 추가
- InspectionInputModal: tolerance 기반 자동 판정 + 동적 폼(DynamicInspectionForm) 추가
  - evaluateTolerance: symmetric/asymmetric/range 3가지 tolerance 판정
  - 기존 공정별 하드코딩은 템플릿 없을 때 레거시 모드로 유지
- InspectionReportModal: 템플릿 모드 동적 렌더링 (기준서/DATA/결재라인)
- WorkerScreen index: handleInspectionComplete에서 Document 저장 호출 추가
2026-02-10 08:36:12 +09:00
유병철
0643d56194 feat(WEB): 공정관리 상세 체크리스트 연동 및 리팩토링 문서 업데이트
- ProcessDetail: 체크리스트 연동 UI 추가
- Process 타입 체크리스트 필드 확장
- 리팩토링 로드맵 및 Phase1 체크리스트 진행상황 업데이트
- claudedocs 인덱스 정리

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 21:49:45 +09:00
14b84cc08d fix(WEB): BomCalculationResult import 경로 수정
- actions.ts에서 제거된 type re-export를 types.ts에서 직접 import로 변경
2026-02-09 21:39:08 +09:00
c82724153f Merge remote-tracking branch 'origin/master' 2026-02-09 21:32:50 +09:00
58700c1097 chore(WEB): package-lock.json 업데이트 2026-02-09 21:31:11 +09:00
2f3f7a486c feat(WEB): 작업자화면 중간검사 자동판정 로직 추가
- InspectionInputModal: 공정별(screen/slat/bending) 자동 판정 계산 로직
- JudgmentToggle → JudgmentDisplay로 변경 (수동 → 자동 판정)
- computeJudgment: 검사 항목 상태 기반 적합/부적합 자동 산출
- index.tsx: 관련 타입/로직 보강
2026-02-09 21:31:07 +09:00
6d8116713f feat(WEB): 공정관리 품목 제거 기능 및 리팩토링
- ProcessDetail: 개별 품목 제거(removeProcessItem) 기능 추가
- ProcessDetail: onProcessUpdate 콜백으로 부모 컴포넌트 동기화
- ProcessDetail: 삭제 다이얼로그 제거, 품목 목록 flatMap 추출 방식 개선
- ProcessForm: 규칙 모달 관련 코드 추가
- RuleModal: UI 개선
- actions.ts: removeProcessItem API 함수 추가
2026-02-09 21:31:00 +09:00
2ad27d738f fix(WEB): 수주 삭제 조건 강화 및 개별삭제 기능 추가
- 삭제 버튼 수주등록/수주확정 상태에서만 표시 (생산지시 이후 삭제 불가)
- deleteItem 핸들러 추가하여 개별 삭제 지원
- 삭제 후 통계(stats) 자동 갱신
2026-02-09 21:30:52 +09:00
유병철
4d79b178e3 refactor(WEB): 공통 훅(useDeleteDialog, useStatsLoader) 및 CRUD 서비스 추출
- useDeleteDialog 훅 추출로 삭제 다이얼로그 로직 공통화
- useStatsLoader 훅 추출로 통계 로딩 패턴 공통화
- create-crud-service 유틸 추가
- 차량관리/견적/출고/검사 등 리스트 컴포넌트 간소화
- RankManagement actions 정리
- 프로덕션 로거 불필요 출력 제거

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 20:42:05 +09:00
9aae26b4f2 feat(WEB): 중간검사 기준서 연동 및 mock 데이터 필터링
- InspectionStandardSection 공유 컴포넌트 추가 (inspectionSetting 기반)
- mng 등록 inspectionStandardImage 있으면 하드코딩 테이블 대체, 없으면 fallback
- 5개 InspectionContent 컴포넌트에 inspectionSetting props 연동
- InspectionReportModal에서 mock- prefix workItems 필터링 (7→4개소 버그 수정)
2026-02-09 19:53:31 +09:00
bff1a2fd07 Merge remote-tracking branch 'origin/master' 2026-02-09 18:02:40 +09:00
유병철
3ea6a57a10 feat(WEB): 공정관리 드래그 순서변경, 수주서/출고증 리디자인, 체크리스트 관리 추가
- 공정관리: 드래그&드롭 순서 변경 기능 추가 (reorderProcesses API)
- 수주서(SalesOrderDocument): 기획서 D1.8 기준 리디자인, 출고증과 동일 자재 섹션 구조
- 출고증(ShipmentOrderDocument): 레이아웃 개선
- 체크리스트 관리 페이지 신규 추가 (master-data/checklist-management)
- QMS 품질감사: 타입 및 목데이터 수정
- menuRefresh 유틸 정리

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 17:52:43 +09:00
a9ae162c90 feat(WEB): Phase 4 중간검사 성적서 API 연동 및 컴포넌트 리팩토링
- Phase 4.1: InspectionReportModal API 연동 (getInspectionReport 서버 액션)
- Phase 4.2: 5개 InspectionContent 공통 코드 추출 (inspection-shared.tsx)
  - 공통 컴포넌트: InspectionLayout, CheckStatusCell, JudgmentCell, InspectionFooter
  - 공통 유틸: convertToCheckStatus, calculateOverallResult, getOrderInfo
  - 총 코드량 2,376줄 → 1,583줄 (33% 감소)
- InspectionInputModal 기본값 null로 수정 (적합 버튼 미선택 상태 시작)
2026-02-09 17:37:49 +09:00
6a32400118 fix(WEB): 자재투입 모달 필요수량 컬럼 추가 및 너비 조정
- 필요수량 컬럼 추가 (6컬럼: 로트번호/품목명/필요수량/가용수량/단위/투입수량)
- 모달 너비 max-w-2xl → !max-w-3xl로 소폭 확대
2026-02-09 16:47:52 +09:00
ce36101929 Merge remote-tracking branch 'origin/master' 2026-02-09 16:14:40 +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
a99c215db0 chore(WEB): .env 파일 이력관리 제거
- .env.example, .env.production 등 추적 중이던 env 파일 모두 제거
- .gitignore에 .env* 포괄 패턴은 이전 커밋에서 적용 완료
2026-02-09 16:11:48 +09:00
318cc415ed chore(WEB): .env 파일 이력관리 제거 및 .gitignore 강화
- .gitignore에 .env* 포괄 패턴 추가
- 추적 중이던 .env.example, .env.production 등 모든 env 파일 git rm --cached
2026-02-09 16:11:07 +09:00
53b4f43b14 fix(WEB): 견적번호 표시 수정, type re-export 제거, 발주처 검색 활성화
- quotes/types.ts: QuoteFormDataV2에 quoteNumber 필드 추가 및 transformApiToV2 매핑
- quotes/actions.ts: 'use server' 파일에서 불허되는 type re-export 제거
- ReceivingDetail.tsx: SupplierSearchModal 주석 해제하여 발주처 검색 활성화
2026-02-09 16:03:41 +09:00
d014227e9c Merge remote-tracking branch 'origin/master' 2026-02-09 10:46:02 +09:00
유병철
f320ec7d37 feat(WEB): Vercel 배포 대응 및 타입 안정성 개선
- puppeteer → puppeteer-core + @sparticuz/chromium 전환 (Vercel 서버리스 호환)
- PDF 생성 API 로컬/Vercel 환경 분기 처리
- next.config.ts: ignoreBuildErrors false로 전환
- WorkOrder items에 orderNodeId/orderNodeName 필드 추가
- 결재선 데이터에 name/dept 필드 추가
- OrderSalesDetailView 타입 캐스팅 안전하게 수정
- vercel.json 설정 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 10:45:57 +09:00
7bd1269aad feat: [WEB] 중간검사 프론트엔드 저장 연동 (Phase 2)
- WorkerScreen/actions.ts에 saveItemInspection, getWorkOrderInspectionData 서버 액션 추가
- handleInspectionComplete에서 POST /items/{itemId}/inspection API 호출 연동
- 작업지시 선택 시 GET /inspection-data로 기존 검사 데이터 자동 로드
- InspectionInputModal에 initialData prop 추가 (재클릭 시 저장된 값 표시)
- WorkItemData에 apiItemId, workOrderId 필드 추가 (실제 DB ID 보존)
- 기존 saveInspectionData deprecated 처리
2026-02-09 10:33:02 +09:00
유병철
f3b07ac875 chore(WEB): claudedocs 디렉토리 도메인별 재구조화
- 루트 문서 30개를 도메인별 하위 폴더로 이동
- accounting/, architecture/, dev/, guides/, security/ 등 카테고리 분류
- archive/ 폴더에 QA 스크린샷 이동
- _index.md 문서 맵 업데이트

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 09:35:22 +09:00
61bf95b58e style: [WEB] 중간검사 모달 스타일을 수입검사 모달과 동일하게 변경
- Dialog 레이아웃: p-0, flex col, max-h-[90vh] 적용
- 헤더/스크롤/하단 3영역 분리 (판정+버튼 하단 고정)
- 토글 버튼 스타일 통일 (black/gray-100 border)
- 인풋 h-11 rounded-lg border-gray-300 적용
- 라벨 text-sm font-bold span으로 변경
- 검사완료 버튼 bg-black, 취소 버튼 outline 스타일
2026-02-07 05:10:29 +09:00
1fca5ed477 fix: [자재투입] 입고 로트번호 표시 및 로트별 수량 투입으로 변경
- MaterialForInput 타입: stockLotId, lotNo, lotAvailableQty 추가
- 로트번호 컬럼에 실제 입고 로트번호(lot_no) 표시
- 수량 컬럼을 가용수량(lotAvailableQty)으로 변경
- 가용수량 초과 검증 추가
- registerMaterialInput: stock_lot_id+qty 로트별 투입 방식으로 변경
2026-02-07 05:06:34 +09:00
a523bb482e fix:견적확정 밸리데이션 필드명 수정 (managerName→manager) 2026-02-07 03:53:11 +09:00
cbb16388fe fix:작업자 화면 자재투입 노드 ID 매칭 수정 2026-02-07 03:53:07 +09:00
98498918ed fix:수입검사 성적서 결재라인 한글 라벨/부서 표시 및 저장값 로드 2026-02-07 03:53:03 +09:00
393a092653 fix:수입검사 모달 파일 첨부에 PDF 허용 추가 2026-02-07 03:51:38 +09:00