From 147c607054862ce006ee83f279b2edf961189885 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Wed, 18 Mar 2026 21:28:11 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20=EC=9E=AC=EA=B3=A0=EC=83=9D=EC=82=B0=20?= =?UTF-8?q?=EC=88=98=EC=A0=95=20=ED=99=94=EB=A9=B4=20=EB=A0=88=EC=9D=B4?= =?UTF-8?q?=EC=95=84=EC=9B=83=20=ED=86=B5=EC=9D=BC=20=EB=B3=80=EA=B2=BD?= =?UTF-8?q?=EC=9D=B4=EB=A0=A5=20=EA=B0=B1=EC=8B=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- INDEX.md | 2 +- ...60318_stock_production_item_add_removal.md | 56 +++++++++++++------ 2 files changed, 39 insertions(+), 19 deletions(-) diff --git a/INDEX.md b/INDEX.md index 0fdff66..6d8e603 100644 --- a/INDEX.md +++ b/INDEX.md @@ -266,7 +266,7 @@ DB 도메인별: | [20260318_bending_lot_codemap_update.md](changes/20260318_bending_lot_codemap_update.md) | 절곡품 LOT 코드맵 최신화 + 품목 222건 등록 + 일련번호 제거 | | [20260318_stock_production_auto_confirm.md](changes/20260318_stock_production_auto_confirm.md) | 재고생산 자동 확정+생산지시 (3단계→1단계, 확정 버튼 제거) | | [20260318_api_response_extra_fields.md](changes/20260318_api_response_extra_fields.md) | ApiResponse 에러 신호 배열 추가 필드 전달 (expected_code 등) | -| [20260318_stock_production_item_add_removal.md](changes/20260318_stock_production_item_add_removal.md) | 재고생산 품목추가 버튼 제거 (수주용 모달 형식 불일치) | +| [20260318_stock_production_item_add_removal.md](changes/20260318_stock_production_item_add_removal.md) | 재고생산 수정 화면 레이아웃 통일 (등록과 동일 BendingLotForm 사용) | --- diff --git a/changes/20260318_stock_production_item_add_removal.md b/changes/20260318_stock_production_item_add_removal.md index 3a78a8d..e6ecf6f 100644 --- a/changes/20260318_stock_production_item_add_removal.md +++ b/changes/20260318_stock_production_item_add_removal.md @@ -1,4 +1,4 @@ -# 재고생산 품목추가 버튼 제거 +# 재고생산 수정 화면 레이아웃 통일 **날짜:** 2026-03-18 **작업자:** Claude Code @@ -7,13 +7,11 @@ ## 변경 개요 -재고생산 수정 화면(`/sales/stocks/{id}?mode=edit`)의 "품목 추가" 버튼과 `ItemAddDialog` 모달을 제거했다. +재고생산 수정 화면(`/sales/stocks/{id}?mode=edit`)을 등록 화면(`BendingLotForm`)과 동일한 레이아웃으로 변경했다. 기존 수주서 형식(`StockProductionForm`)을 삭제하고 `BendingLotForm`에 edit mode를 추가했다. ### 배경 -"품목 추가" 버튼은 `ItemAddDialog`(수주용 품목 추가 모달)를 호출한다. 이 모달은 수주 품목 형식(층, 도면부호, 가이드레일 타입, 마감 등)으로 설계되어 있어 재고생산 품목(절곡품 등)과 형식이 맞지 않는다. - -재고생산 품목은 저장 시 API에서 BOM 기반으로 자동 생성되므로, 수동 품목 추가 기능은 불필요하다. +수정 화면이 수주서 형식(`StockProductionForm`)을 복사해서 사용하고 있어 등록 화면(절곡품 전용 `BendingLotForm`)과 레이아웃이 완전히 달랐다. 수주서 형식의 "품목 추가" 모달(층, 도면부호, 가이드레일 등)도 재고생산과 형식이 맞지 않았다. --- @@ -21,34 +19,56 @@ | 파일 | 변경 내용 | |------|----------| -| `react/src/components/stocks/StockProductionForm.tsx` | "품목 추가" 버튼 2개 제거, `ItemAddDialog` 렌더링 제거, 관련 state/handler 정리 | +| `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/StockProductionForm.tsx` | **삭제** (수주서 형식 복사본) | --- ## 상세 변경 사항 -### 제거 항목 +### 1. BendingLotForm edit mode -1. **헤더 "품목 추가" 버튼** — 품목 내역 섹션 우상단 -2. **빈 상태 "품목 추가" 버튼** — 품목 없을 때 중앙 안내 -3. **`ItemAddDialog` 컴포넌트** — 수주용 품목 추가 모달 -4. **`isItemDialogOpen` state** — 모달 열림 상태 -5. **`handleAddItem` handler** — 품목 추가 콜백 -6. **`Plus` 아이콘 import** — 미사용 +- `initialData?: StockOrder`, `isEditMode?: boolean` props 추가 +- `bendingLot` 데이터(prodCode, specCode, lengthCode, rawLotNo, fabricLotNo)로 폼 프리필 +- 코드맵 로드 후 초기 품목 매핑 자동 조회(`resolveBendingItem`) +- LOT 정보 섹션에서 기존 LOT 번호 표시 (프리뷰 대신) +- 저장 시 `updateBendingStockOrder` 호출 +- 취소 시 상세 페이지로 복귀 -### 변경 후 빈 상태 안내 문구 +### 2. 등록/수정 화면 공통 레이아웃 ``` -품목이 없습니다. 재고생산 저장 시 자동으로 추가됩니다. +┌─ 기본 정보 ──────────────────────┐ +│ 등록일 | 수량 │ +└──────────────────────────────────┘ +┌─ 품목 선택 (캐스케이딩) ──────────┐ +│ 품목명 → 종류 → 모양&길이 │ +│ [매핑 결과 표시] │ +└──────────────────────────────────┘ +┌─ LOT 정보 ───────────────────────┐ +│ 생산품 LOT | 원자재 재질 │ +│ 원자재(철판) LOT | 원단 LOT │ +└──────────────────────────────────┘ +┌─ 메모 ───────────────────────────┐ +│ 메모 입력 │ +└──────────────────────────────────┘ ``` +### 3. 삭제된 파일 + +- `StockProductionForm.tsx` — 수주서 형식(생산사유, 목표재고수량, 비고, 품목테이블) 레이아웃. 더 이상 사용하지 않음. + --- ## 테스트 체크리스트 -- [x] 재고생산 수정 화면에서 "품목 추가" 버튼 미표시 -- [x] 기존 품목 목록 정상 표시 -- [x] 품목 수량 변경, 삭제 기능 정상 동작 +- [x] 등록 화면 정상 동작 +- [ ] 수정 화면 기존 데이터 프리필 확인 +- [ ] 수정 후 저장 정상 동작 +- [ ] 취소 시 상세 페이지 복귀 +- [ ] 품목 선택 변경 시 매핑 결과 갱신 ---