핵심 결정
메뉴
신규 「재고관리」 메뉴 신설 · 현행 MFC 센터재고관리와 별개
단가
재고 단가 = 내 공급가(넷) · 재고 소진되면 다음 로트 단가로 자동 전환
선입선출
먼저 등록 / 유통기한 빠른 것 먼저 소진 → 다음 로트로 이관 · 이번엔 "이관 되는지"만
로그
조정 = ±수량 + 넷공급가 → 일시·작성자와 로그 · 모달↔메뉴 양방향
제외
취소·반품·분실·미입고 = 뒷단 정산 · 매출원가(COGS) 자동계산은 후속(발주 붙을 때)
용어 정의
정책 (규칙)
범위이번 = 등록/조정(±수량+넷공급가) + 로그 + 선입선출 이관 동작 + 엑셀 업로드 + 소비기한 칸 · 후속 = 매출원가 자동계산·주문 시 자동 차감(발주 MD-02 연결 시)
02ERD
수불 로그(append-only) 중심 원장 + 집계
stock_entry WRITE
idPK bigint
hero_codeFK
center_codeFK
change_qtyint ±
net_supply_priceint 원
expiry_datedate null
priorityint null
sourceenum
created_byvarchar
created_atdatetime
모든 변동을 append (입고 +, 출고 −, 조정 ±) — 로그이자 원장
stock_balance 집계
hero_codePK
center_codePK
total_qtyint
updated_atdatetime
= SUM(stock_entry.change_qty) · 뷰 또는 캐시
product / center READ
hero_code기존
group_name노출명
center_code기존
center_name
기존 마스터 참조만 (변경 없음)
stock_entry.hero_code → product.hero_code
stock_entry.center_code → center.center_code
stock_balance = SUM(stock_entry.change_qty) GROUP BY (hero_code, center_code)
선입선출 원가 = 입고분(+) 등록순/유통기한순 큐 → 출고분(−) 매칭 소진 → 남은 로트의 net_supply_price
-- 수불 로그 (append-only 원장)
CREATE TABLE stock_entry (
id BIGSERIAL PRIMARY KEY,
hero_code VARCHAR NOT NULL REFERENCES product(hero_code),
center_code VARCHAR NOT NULL REFERENCES center(center_code),
change_qty INT NOT NULL, -- + 입고 / − 출고
net_supply_price INT, -- 넷 공급가(입고 시)
expiry_date DATE, -- 소비기한(선택)
priority INT, -- 소진 우선순위(선택)
source VARCHAR NOT NULL, -- modal / menu / excel / order
memo TEXT,
created_by VARCHAR NOT NULL,
created_at TIMESTAMPTZ DEFAULT now()
);
CREATE INDEX ON stock_entry (hero_code, center_code, created_at);
03스토리보드 — 실제 화면 · 변경 포인트
상품 관리 › 센터 재고 관리 (실제 어드민)에 MD-01 추가분을 표시
1
+ 넷공급가 · 소비기한 · 현재원가 컬럼 🆕
2
② [조정] → 모달
센터 재고 관리 목록 — 총재고 옆에 넷공급가·소비기한·현재원가(선입선출) 컬럼 추가
3
+ 넷 공급가(원) · 소비기한 칸 🆕
「센터 재고 조정 등록」 모달 — 작업타입·수량 옆에 넷 공급가·소비기한 입력 칸 추가
1목록: 총재고/가용/출고대기 옆에 넷공급가·소비기한·현재원가 컬럼 — 현재원가 = 선입선출 앞 로트 단가
2[조정] 클릭 → 「센터 재고 조정 등록」 모달 (오른쪽 화면)
3모달에 넷 공급가 · 소비기한 입력 칸 추가 → 저장 시 stock_entry 로그 1건 append
4저장 후 선입선출로 소진·단가 이관 → 아래 04 동작 시뮬레이션에서 확인
04동작 시뮬레이션 — 선입선출
스크린샷이 못 보여주는 "소진·단가 이관"을 실제로 눌러보기
시뮬레이션위 조정 모달에 넷 공급가를 넣고 저장하면 내부적으로 이렇게 돕니다 — 입고는 로트로 쌓이고, 출고는 먼저 들어온 로트부터 소진되며 원가가 다음 단가로 이관됩니다.
선입선출 큐 (앞 = 곧 나갈 것)현재 원가 3,000원