Skip to content

HBIV212_수량 변경·반품 모달

(Hereby) 재고관리 > 수량 변경·반품 모달

재고관리 (HBIV)
대상 사용자조건1 [재고관리 권한]
프로토타입TBU
관련 정책TBU
Statusreview
Owner카나 (PM)

개요

  • 품목 목록([[HBIV210_재고관리 (품목 목록)]]) row 작업의 "수량" / "반품" 클릭 시 열리는 2개 모달을 다룬다.
  • 수량 변경은 현재 수량 + 변경량(+ 입고 / - 출고) + "변경 후: n" 실시간 미리보기 + 사유로 delta 조정하는 destructive 액션이다(변경량 0이면 "변경" disabled). 반품 관리는 "반품 대상으로 표시" 체크 단일로 flag를 저장한다.
  • 현재 수량 변경은 delta + 사유 수준이며, 입출고 이력을 영속하는 InventoryLedger(입고/출고/조정 immutable ledger)는 미구현 = Donue 정본 설계 원칙 후보(TBU).

문서 히스토리

날짜작성자변경 내용
2026-07-06카나PM최초 작성
2026-07-10카나PM라이브 기능 검토 반영
2026-07-13카나PM버튼 행동 명세 보강
2026-07-21카나PMGC700 깊이 재작성 + 확정 스타일

Data I/O

Server → Client

변수엔티티.컬럼값 없을 때비고
$inventory_items.name-선택 품목명. 예시 "test"
$item.quantity0"현재 수량 n" 표시. 예시 "현재 수량 0"
$현재 수량 + 변경량 (computed)현재 수량"변경 후: n" 실시간 미리보기
$inventory_items.isRefundCandidatefalse반품 flag 초기 체크 상태 (추정)

Client → Server

액션전달 값tRPC procedure권한 토큰
수량 변경itemId, delta, reasonsdk.inventory.quantity.adjust() (추정)inventory:write (추정), destructive, 사람 확정
반품 flag 저장itemId, refundTargetsdk.inventory.refund.mark() (추정)inventory:write (추정)

화면 플로우

수량 변경 모달 사양표

번호항목/기능명타입사양 및 기능 설명연관/영향 범위비고
00노출 조건-품목 row "수량" 클릭InventoryQuantityAdjustment
10제목Text"수량 변경"
20품목명Text• 선택 품목명 표시. "test"inventory_items.name
30현재 수량Output• 조정 전 현재 수량 표시. "현재 수량 0"item.quantity
40변경량Input• 입고(+)/출고(-) delta 입력. "변경량 (+ 입고 / - 출고)"
• 입력 시: "변경 후" 미리보기 실시간 갱신
delta
50변경 후Output• 현재 수량 + 변경량 실시간 미리보기. "변경 후: n". 예시 "변경 후: 0"computed실시간 반영
60사유Input Box• 조정 사유 입력(audit 최소 필드). "사유", placeholder "입고, 소모, 폐기 등"
• 입력 시: adjustment.reason 바인딩
adjustment.reasonaudit 최소 필드
70취소Button• 조정을 버리고 모달을 닫는 기능. "취소"
• 클릭 시: 즉시 실행, 모달 닫기 (조정 없음)
close
80변경Button• 변경량만큼 수량을 delta 조정하는 기능(destructive). "변경"
• 클릭 시:
 - CASE01 [변경량 0]: disabled (실행 불가)
 - CASE02 [변경량 비0]: delta + 사유로 수량 조정 mutation
quantity adjustmentdestructive, 변경량 0 disabled, 미실행

반품 관리 모달 사양표

번호항목/기능명타입사양 및 기능 설명연관/영향 범위비고
00노출 조건-품목 row "반품" 클릭RefundCandidate
10제목Text"반품 관리"
20품목명Text• 선택 품목명 표시. "test"inventory_items.name
30반품 flagCheckbox• 품목을 반품 대상으로 표시하는 단일 체크(memo/quantity/status 필드 미노출). "반품 대상으로 표시"
• 클릭 시: isRefundCandidate 토글 (체크 상태 반영)
inventory_items.isRefundCandidate단일 체크
40취소Button• 변경을 버리고 모달을 닫는 기능. "취소"
• 클릭 시: 즉시 실행, 모달 닫기 (저장 없음)
close
50저장Button• 반품 flag를 저장하는 기능. "저장"
• 클릭 시: refund flag 저장 mutation → [[HBIV230_관리 (반품 대상 목록)]] 집계 반영
refund flag savemutation, 미실행

Open Question

  • 수량 변경 history/audit 조회 UI 존재 여부, 입출고 이력 InventoryTransaction 존재 여부 = TBU
  • ledger 영속: 현재 delta+reason 수준. Donue InventoryLedger(입고/출고/조정/반품/폐기 immutable, actor+timestamp+before/after) 원칙 = 설계 후보(TBU)
  • 반품 모달 memo(refundMemo) / quantity(refundQuantity) / status 필드는 ERD에 존재하나 라이브 flag만 확인 = TBU