docs: [stock] 재고 조정 위치 이동 프론트엔드 요청서 추가

- 입고관리 → 재고현황 > 재고 상세 화면으로 이동
- 기본 정보 섹션 아래에 재고 조정 이력 테이블 배치
This commit is contained in:
김보곤
2026-03-17 20:38:07 +09:00
parent 3b99197157
commit 9c470d2f4a
2 changed files with 131 additions and 0 deletions

View File

@@ -286,6 +286,7 @@ DB 도메인별:
| [bending-lot-react-request.md](plans/bending-lot-react-request.md) | 절곡품 LOT 재고생산 React 구현 요청서 (캐스케이딩 드롭다운, LOT 자동생성, 취소 복원) |
| [barobill-react-improvement-request.md](plans/barobill-react-improvement-request.md) | 바로빌 React 개선 요청서 (동기화 버튼, 인증서/잔액 표시, 계좌/카드 목록, Server Action 6개) |
| [receiving-lot-auto-generate-request.md](plans/receiving-lot-auto-generate-request.md) | 입고등록 원자재로트번호 자동채번 적용 요청 (읽기전용 변경, API 자동생성) |
| [stock-detail-inventory-adjustment-request.md](plans/stock-detail-inventory-adjustment-request.md) | 재고 조정 위치 이동 요청 (입고관리 → 재고 상세 화면) |
### frontend/integration/ — 프론트엔드 개발 가이드

View File

@@ -0,0 +1,130 @@
# 재고 조정 위치 이동 요청 — 입고관리 → 재고 상세
**날짜:** 2026-03-17
**요청자:** R&D실 (백엔드)
**대상:** React 프론트엔드
---
## 변경 요약
**재고 조정** 기능을 입고관리 화면에서 분리하여 **재고현황 > 재고 상세** 화면으로 이동한다.
---
## 현재 구조 (AS-IS)
```
입고관리 (/material/receiving-management)
└─ 입고 상세 (ReceivingDetail.tsx)
├─ 기본 정보
├─ 수입검사 정보
└─ 재고 조정 섹션 ← 여기에 있음 (InventoryAdjustmentDialog.tsx)
```
**문제**: 재고 조정은 특정 입고 건과 무관하게 품목 재고를 직접 증감하는 기능이므로, 입고관리보다 재고현황에 위치하는 것이 적합하다.
---
## 변경 구조 (TO-BE)
```
재고현황 (/material/stock-status)
└─ 재고 상세 (/material/stock-status/{id})
├─ 기본 정보 (기존)
│ ├─ 자재번호, 품목코드, 품목유형, 품목명
│ ├─ 규격, 단위, 재고량, 안전재고
│ └─ 재공품, 상태
└─ 재고 조정 섹션 ← 기본 정보 바로 아래에 추가
├─ 이력 테이블 (No, 조정일시, 증감 수량, 검수자)
└─ + 추가 버튼
```
---
## 대상 컴포넌트
### 제거 (입고관리)
| 파일 | 변경 |
|------|------|
| `ReceivingManagement/ReceivingDetail.tsx` | 재고 조정 섹션 렌더링 제거 |
| `ReceivingManagement/types.ts` | `InventoryAdjustmentRecord` 타입은 유지 (공유) 또는 이동 |
### 추가 (재고 상세)
| 파일 | 변경 |
|------|------|
| `StockStatus/StockStatusDetail.tsx` | 기본 정보 카드 아래에 재고 조정 섹션 추가 |
### 재사용
| 파일 | 설명 |
|------|------|
| `ReceivingManagement/InventoryAdjustmentDialog.tsx` | 재고 조정 다이얼로그 (이동 또는 공통 위치로 추출) |
---
## 재고 조정 섹션 UI 명세
### 이력 테이블
```
┌──────────────────────────────────────────────────────────┐
│ 재고 조정 [+ 추가] │
├──────────────────────────────────────────────────────────┤
│ No │ 조정일시 │ 증감 수량 │ 검수자 │
├──────┼─────────────────────┼────────────┼───────────────┤
│ 1 │ 2026-03-17 14:30 │ +100 │ 김보곤 │
│ 2 │ 2026-03-16 10:15 │ -50 │ 홍길동 │
├──────────────────────────────────────────────────────────┤
│ 재고 조정 이력이 없습니다. │
└──────────────────────────────────────────────────────────┘
```
### 컬럼 정의
| 컬럼 | 필드 | 설명 |
|------|------|------|
| No | (순번) | 행 번호 |
| 조정일시 | `adjusted_at` | 조정 시각 (YYYY-MM-DD HH:mm) |
| 증감 수량 | `quantity` | 양수(+): 증가, 음수(-): 감소 |
| 검수자 | `inspector` | 조정 승인자 이름 |
### + 추가 버튼 동작
1. 클릭 시 `InventoryAdjustmentDialog` 모달 오픈
2. 증감 수량 및 사유 입력
3. 저장 시 API 호출 → 이력 테이블에 신규 행 추가
4. 재고량 자동 갱신 (기본 정보의 재고량 반영)
---
## API 엔드포인트
> 현재 재고 조정 API가 미구현 상태. 백엔드에서 구현 예정.
### 예상 엔드포인트
```
GET /api/v1/stocks/{id}/adjustments
→ 해당 재고의 조정 이력 조회
→ 응답: { data: InventoryAdjustmentRecord[] }
POST /api/v1/stocks/{id}/adjustments
→ 재고 조정 등록
→ 요청: { quantity: number, remark?: string }
→ 응답: { data: { id, adjusted_at, quantity, inspector, ... } }
```
> API 구현 완료 후 별도 안내 예정. 우선 UI 배치 작업을 진행해주세요.
---
## 참고
- 재고 상세 화면: `/material/stock-status/{id}`
- 기존 재고 조정 컴포넌트: `ReceivingManagement/InventoryAdjustmentDialog.tsx`
- 재고 상세 컴포넌트: `StockStatus/StockStatusDetail.tsx`
- 채번규칙 문서: `docs/rules/numbering-rules.md`