4.0 KiB
4.0 KiB
재공품 검사성적서 검사부위 공백 문제 수정
날짜: 2026-03-21 작업자: Claude Code
변경 개요
작업자화면에서 재공품(WIP) 절곡품의 검사성적서 보기 시 "검사 부위" 컬럼이 공백("-")으로 표시되는 문제를 수정했다. 근본 원인은 템플릿 컬럼 라벨 매칭 실패, WIP 감지 누락, 검사입력 데이터 구조 불일치 등 복합적이었다.
수정된 파일
React (sam/react)
| 파일 | 변경 내용 |
|---|---|
TemplateInspectionContent.tsx |
"검사 부위" 라벨 매칭 추가 ('부위' 조건), 도면치수 품목명에서 추출 |
WorkerScreen/index.tsx |
hasWipItems 판정 보완 (sidebar order fallback), 하단 버튼 분리 유지 |
InspectionInputModal.tsx |
bending_wip도 7제품 폼 사용, 도면치수 실제 길이 반영, 테스트입력 7제품 대응 |
API (sam/api)
이번 수정에서 API 변경 없음 (기존 API가 정상 동작)
상세 변경 사항
1. 템플릿 컬럼 "검사 부위" 라벨 매칭 (핵심)
- 원인:
TemplateInspectionContent가 bending 제품 렌더링 시label.includes('분류')또는label.includes('제품명')만 체크 - 문제: 재공품 템플릿의 컬럼 라벨이 "검사 부위"로 설정되어 있어 매칭 실패 → fallback "-" 표시
- 수정:
label.includes('부위')조건 추가
2. hasWipItems 판정 보완
- 원인:
workItems.some(item => item.isWip)만 체크하는데,isWip는work_order_items.options.is_wip의존 - 문제: item options에
is_wip미설정 시 재공품을 감지하지 못함 - 수정: fallback으로
filteredWorkOrders의projectName === '재고생산'또는salesOrderNo?.startsWith('STK')체크
3. bending_wip 검사입력 7제품 폼 통합
- 원인:
bending_wip은 별도 간소화 폼 사용 (간격 입력 미연동, products 배열 미생성) - 문제: 검사 완료 시 products 배열 없이 저장 → 검사성적서에서 제품별 데이터 복원 불가
- 수정:
isBendingProcess플래그로bending과bending_wip을 동일 7제품 폼으로 통합
4. 도면치수 실제 품목 길이 반영
- 원인:
displayMap에 모든 길이가'3000'으로 하드코딩 - 문제: 2438mm 품목도 검사 입력/성적서에서 3000으로 표시
- 수정:
workItemDimensions.height(입력),order.items[0].productName에서 길이 추출 (성적서)
5. 테스트입력 버튼 7제품 대응
- 원인: 테스트입력 핸들러가
formData만 채우고bendingProducts상태 미갱신 - 수정: 테스트입력 시 7제품 모두 양호 + 도면치수 동일값 입력, 초기화 시 리셋
6. 하단 버튼 분리 유지
- 원인:
hasWipItems가 true가 되면 단일 버튼("작업일지 및 검사성적서")으로 전환되는 기존 로직 - 수정: 재공품에서도 "작업일지 보기" + "검사성적서 보기" 두 개 버튼 유지
데이터 흐름 요약
검사 완료 버튼 (InspectionInputModal)
↓ handleComplete: products 배열 빌드 (7제품)
↓ saveItemInspection API: work_order_items.options.inspection_data에 저장
↓ 절곡 공정: 동일 WO의 모든 item에 자동 복제
검사성적서 보기 (InspectionReportModal)
↓ getInspectionReport API: inspection_data 조회
↓ getInspectionConfig API: 구성품 + gap_points 정의
↓ TemplateInspectionContent: bendingProducts 빌드 → 셀 값 복원 → 렌더링
테스트 체크리스트
- 재공품 검사성적서 보기 시 검사부위 정상 표시
- 재공품 검사 입력 시 7제품 폼 표시
- 테스트입력 버튼 클릭 시 전체 적합 판정
- 도면치수가 실제 품목 길이(2438mm 등) 반영
- 하단 버튼 2개(작업일지/검사성적서) 분리 유지
- 운영서버 배포 후 검증
관련 문서
rules/wip-production-policy.md— 재공품 생산 정책frontend/api-specs/stock-production-api.md— 재고생산 API