diff --git a/changes/20260318_bending_lot_codemap_update.md b/changes/20260318_bending_lot_codemap_update.md index 17bde6e..cb8e046 100644 --- a/changes/20260318_bending_lot_codemap_update.md +++ b/changes/20260318_bending_lot_codemap_update.md @@ -79,14 +79,54 @@ LOT 코드 기준 26개 제품+종류 조합 × 12개 길이 = 320개 조합 중 > `lot_base`, `date_code` 필드 제거. `lot_number`에 일련번호 미포함. +### 4. resolve-item 응답에 expected_code 추가 + +품목 매핑 조회(`GET /api/v1/bending/resolve-item`) 응답에 `expected_code` 필드를 추가했다. +매핑 실패 시 어떤 품목 코드(`BD-XX-nn`)를 찾고 있는지 사용자가 확인할 수 있다. + +**매핑 실패 응답:** +```json +{ + "error": "NOT_MAPPED", + "message": "해당 조합에 매핑된 품목이 없습니다.", + "expected_code": "BD-BE-20" +} +``` + +**매핑 성공 응답:** +```json +{ + "item_id": 16448, + "item_code": "BD-BE-20", + "item_name": "하단마감재(스크린) EGI 2000mm", + "expected_code": "BD-BE-20" +} +``` + --- ## React 영향 (프론트엔드 전달 필요) +### 호환성 (수정 불필요) + - `BendingLotForm.tsx`의 LOT 프리뷰(`lotPreview`)는 이미 올바르게 동작 (일련번호 없는 형태) - 저장 시 `generateBendingLot()` API 응답에서 `lot_base`, `date_code` 필드 제거됨 - 현재 코드에서 `lotData.lot_number`와 `lotData.material`만 사용하므로 **호환성 문제 없음** -- 추가 구현 권장: 3요소 선택 시 매핑 품목이 자동 표시되는 UX 강화 (현재도 동작하나 확인 필요) + +### 구현 요청 + +1. **매핑 실패 경고에 품목 코드 표시** (`BendingLotForm.tsx` 320행): + +```tsx +// 변경 전 +setResolveError('해당 조합에 매핑된 품목이 없습니다.'); + +// 변경 후 +const code = result.data?.expected_code || ''; +setResolveError(`해당 조합에 매핑된 품목이 없습니다. (${code})`); +``` + +2. **매핑 성공 시 품목 코드 함께 표시** (권장) ---