# 재고생산 수정 화면 레이아웃 통일

**날짜:** 2026-03-18
**작업자:** Claude Code

---

## 변경 개요

재고생산 수정 화면(`/sales/stocks/{id}?mode=edit`)을 등록 화면(`BendingLotForm`)과 동일한 레이아웃으로 변경했다. 기존 수주서 형식(`StockProductionForm`)을 삭제하고 `BendingLotForm`에 edit mode를 추가했다.

### 배경

수정 화면이 수주서 형식(`StockProductionForm`)을 복사해서 사용하고 있어 등록 화면(절곡품 전용 `BendingLotForm`)과 레이아웃이 완전히 달랐다. 수주서 형식의 "품목 추가" 모달(층, 도면부호, 가이드레일 등)도 재고생산과 형식이 맞지 않았다.

---

## 수정된 파일

| 파일 | 변경 내용 |
|------|----------|
| `react/src/components/stocks/BendingLotForm.tsx` | edit mode 지원 추가 (initialData 프리필, update API, 기존 LOT 표시) |
| `react/src/components/stocks/actions.ts` | `updateBendingStockOrder()` 함수 추가 |
| `react/src/app/[locale]/(protected)/sales/stocks/[id]/page.tsx` | edit에서 `StockProductionForm` → `BendingLotForm` 전환 |
| `react/src/components/stocks/StockProductionDetail.tsx` | Card+InfoItem → FormSection+Input(disabled) 레이아웃 통일 |
| `react/src/components/stocks/StockProductionForm.tsx` | **삭제** (수주서 형식 복사본) |

---

## 상세 변경 사항

### 1. BendingLotForm edit mode

- `initialData?: StockOrder`, `isEditMode?: boolean` props 추가
- `bendingLot` 데이터(prodCode, specCode, lengthCode, rawLotNo, fabricLotNo)로 폼 프리필
- 코드맵 로드 후 초기 품목 매핑 자동 조회(`resolveBendingItem`)
- LOT 정보 섹션에서 기존 LOT 번호 표시 (프리뷰 대신)
- 저장 시 `updateBendingStockOrder` 호출
- 취소 시 상세 페이지로 복귀

### 2. 등록/수정 화면 공통 레이아웃

```
┌─ 기본 정보 ──────────────────────┐
│ 등록일 | 수량                      │
└──────────────────────────────────┘
┌─ 품목 선택 (캐스케이딩) ──────────┐
│ 품목명 → 종류 → 모양&길이          │
│ [매핑 결과 표시]                    │
└──────────────────────────────────┘
┌─ LOT 정보 ───────────────────────┐
│ 생산품 LOT | 원자재 재질            │
│ 원자재(철판) LOT | 원단 LOT         │
└──────────────────────────────────┘
┌─ 메모 ───────────────────────────┐
│ 메모 입력                          │
└──────────────────────────────────┘
```

### 3. 삭제된 파일

- `StockProductionForm.tsx` — 수주서 형식(생산사유, 목표재고수량, 비고, 품목테이블) 레이아웃. 더 이상 사용하지 않음.

### 4. StockProductionDetail 레이아웃 통일

- Card+InfoItem 방식 → FormSection+Input(disabled) 레이아웃
- 코드맵을 로드하여 품목명/종류/모양&길이 코드를 한글 이름으로 표시
- 매핑된 품목 정보를 green box로 표시 (등록 화면과 동일)
- 기본 정보에 생산번호, 상태, 등록일, 수량 표시

---

## 테스트 체크리스트

- [x] 등록 화면 정상 동작
- [ ] 상세 보기 화면 등록 화면과 동일 레이아웃 확인
- [ ] 상세 보기 코드맵 이름 한글 표시 확인
- [ ] 수정 화면 기존 데이터 프리필 확인
- [ ] 수정 후 저장 정상 동작
- [ ] 취소 시 상세 페이지 복귀
- [ ] 품목 선택 변경 시 매핑 결과 갱신

---

## 관련 문서

- [20260318_stock_production_auto_confirm.md](20260318_stock_production_auto_confirm.md) — 재고생산 자동 확정+생산지시

---

**최종 업데이트**: 2026-03-18
