docs: [changes] 재공품 검사성적서 검사부위 수정 변경이력
This commit is contained in:
1
INDEX.md
1
INDEX.md
@@ -312,6 +312,7 @@ DB 도메인별:
|
||||
| [20260321_process_duplicate_feature.md](changes/20260321_process_duplicate_feature.md) | 공정관리 공정 복제(복사) 기능 추가 (API+React) |
|
||||
| [20260321_bending_api_internal_url_fix.md](changes/20260321_bending_api_internal_url_fix.md) | Docker 환경 MNG→API 호출 internal_url 미적용 500 에러 수정 |
|
||||
| [20260321_process_parent_id_tree.md](changes/20260321_process_parent_id_tree.md) | 공정관리 parent_id 트리 구조 도입 (2depth, 작업자 화면 그룹 탭) |
|
||||
| [20260321_wip_inspection_report_fix.md](changes/20260321_wip_inspection_report_fix.md) | 재공품 검사성적서 검사부위 공백/도면치수/테스트입력 수정 |
|
||||
|
||||
---
|
||||
|
||||
|
||||
86
changes/20260321_wip_inspection_report_fix.md
Normal file
86
changes/20260321_wip_inspection_report_fix.md
Normal file
@@ -0,0 +1,86 @@
|
||||
# 재공품 검사성적서 검사부위 공백 문제 수정
|
||||
|
||||
**날짜:** 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 빌드 → 셀 값 복원 → 렌더링
|
||||
```
|
||||
|
||||
## 테스트 체크리스트
|
||||
|
||||
- [x] 재공품 검사성적서 보기 시 검사부위 정상 표시
|
||||
- [x] 재공품 검사 입력 시 7제품 폼 표시
|
||||
- [x] 테스트입력 버튼 클릭 시 전체 적합 판정
|
||||
- [x] 도면치수가 실제 품목 길이(2438mm 등) 반영
|
||||
- [x] 하단 버튼 2개(작업일지/검사성적서) 분리 유지
|
||||
- [ ] 운영서버 배포 후 검증
|
||||
|
||||
## 관련 문서
|
||||
|
||||
- `rules/wip-production-policy.md` — 재공품 생산 정책
|
||||
- `frontend/api-specs/stock-production-api.md` — 재고생산 API
|
||||
Reference in New Issue
Block a user