HBIV211_품목 추가·수정 모달
(Hereby) 재고관리 > 품목 추가·수정 모달
| 앱 | 재고관리 (HBIV) |
| 대상 사용자 | 조건1 [재고관리 권한] |
| 프로토타입 | TBU |
| 관련 정책 | TBU |
| Status | review |
| Owner | 카나 (PM) |
개요
- 품목 목록([[HBIV210_재고관리 (품목 목록)]])에서 "+ 품목 추가" 또는 row "수정" 클릭 시 열리는 모달이다. inventory_items 필드를 입력/수정한다.
- 필수 필드는 품목명·카테고리이며, 나머지는 선택이다. lot/UDI/바코드는 라이브 미노출(TBU).
문서 히스토리
| 날짜 | 작성자 | 팀 | 변경 내용 |
|---|---|---|---|
| 2026-07-06 | 카나 | PM | 최초 작성 |
| 2026-07-10 | 카나 | PM | 라이브 기능 검토 반영 |
| 2026-07-13 | 카나 | PM | 버튼 행동 명세 보강 |
| 2026-07-21 | 카나 | PM | GC700 깊이 재작성 + 확정 스타일 |
Data I/O
Server → Client
| 변수 | 엔티티.컬럼 | 값 없을 때 | 비고 |
|---|---|---|---|
| $ | InventoryCategory[] | 빈 옵션 | 카테고리 dropdown 옵션 (항정신성 의약품 / 의약품1) |
| $ | InventoryItem (수정 시 prefill) | 빈 폼 (추가 모드) | 수정 모드에서 기존 값 채움 (추정) |
Client → Server
| 액션 | 전달 값 | tRPC procedure | 권한 토큰 |
|---|---|---|---|
| 저장 | name, code, categoryId, quantity, unit, minimumStock, expirationDate, location, supplier, notes | sdk.inventory.item.create/update() (추정) | inventory:write (추정), 사람 확정 |
화면 플로우
품목 추가·수정 모달 사양표
| 번호 | 항목/기능명 | 타입 | 사양 및 기능 설명 | 연관/영향 범위 | 비고 |
|---|---|---|---|---|---|
| 00 | 노출 조건 | - | "+ 품목 추가" 또는 row "수정" 클릭 | InventoryItem create/update | 저장 미실행 |
| 10 | 제목 | Text | "품목 추가" (수정 시 편집 모드) | ||
| 20 | 품목명 | Input Box | • 품목 이름 입력. "품목명 *", placeholder "품목 이름" • 입력 시: inventory_items.name 바인딩 | inventory_items.name | 필수 |
| 30 | 코드 | Input Box | • 품목 코드 입력. "코드", placeholder "선택 (SKU 등)" • 입력 시: inventory_items.code 바인딩 | inventory_items.code | 선택 |
| 40 | 카테고리 | Dropdown | • 카테고리 선택. "카테고리 *", options "항정신성 의약품" / "의약품1" • 선택 시: inventory_items.categoryId 바인딩 | inventory_items.categoryId | 필수 |
| 50 | 수량 | Stepper/Input | • 초기 수량 입력. "수량", 기본값 "0" • 입력 시: inventory_items.quantity 바인딩 | inventory_items.quantity | |
| 60 | 단위 | Input Box | • 수량 단위 입력. "단위", placeholder "개, 박스, 통", 기본값 "개" • 입력 시: inventory_items.unit 바인딩 | inventory_items.unit | |
| 70 | 최소재고 | Stepper/Input | • 재고 부족 alert 기준값 입력. "최소재고", 기본값 "0" • 입력 시: inventory_items.minimumStock 바인딩 | inventory_items.minimumStock | 재고부족 alert 기준 |
| 80 | 유효기간 | DatePicker | • 만료일 선택. "유효기간", placeholder "날짜 선택" • 선택 시: inventory_items.expirationDate 바인딩 | inventory_items.expirationDate | lot 단위 지원 TBU |
| 90 | 보관위치 | Input Box | • 보관 위치 입력. "보관위치", placeholder "예: 1층 약품창고" • 입력 시: inventory_items.location 바인딩 | inventory_items.location | |
| 100 | 공급업체 | Input Box | • 공급업체명 입력(text field). "공급업체", placeholder "공급업체명" • 입력 시: inventory_items.supplier 바인딩 | inventory_items.supplier | text field, 공급사 master TBU |
| 110 | 비고 | Input Box | • 메모 입력. "비고", placeholder "메모 (선택)" • 입력 시: inventory_items.notes 바인딩 | inventory_items.notes | |
| 120 | 취소 | Button | • 입력을 버리고 모달을 닫는 기능. "취소" • 클릭 시: 즉시 실행, 모달 닫기 (저장 없음) | close | |
| 130 | 저장 | Button | • 입력 값으로 품목을 생성/수정하는 기능. "저장" • 클릭 시: item create/update mutation → 목록 반영 (추정) | inventory_items | mutation, 미실행 |
Open Question
- lot / UDI / 바코드 필드는 라이브 미노출 = TBU (Donue 신규 SCM 입고검수(HBIV840) 설계 영역 후보)
- 수정 모달과 추가 모달의 필드 차이(코드/카테고리 편집 제약) = TBU
- 공급사 master 연결 및 dropdown 전환 여부 = TBU