목업 페이지 — 실제 데이터 변경 없음
입고 → 임시보관(스테이징) → 정상재고 자동배치 흐름
STEP 1
금일 입고 등록
입고 업무에서 오늘 받은
기기 수량을 입력
STEP 2
내 자리에 임시 보관
금일 입고된 기기를
자리에서 보관하며 확인
STEP 3 (자동)
전일 입고 → 스테이징
00시가 되면 전일 입고된 기기가
"전일 입고 대기" 영역으로 이동
STEP 4 (수동)
정상재고 반영하기
확인 후 "반영하기" 클릭 →
자동배치 로직으로 분배
전일 입고된 기기가 있으면 대시보드 상단에 알림이 표시됩니다.
입고일: 2026-04-15 (어제) → 반영일: 2026-04-16 (오늘)
43대
총 대기 수량
아이패드 9세대 스페이스 그레이
대기: 15대
입고순서: 2층 → 3층(FULL) → 4층(FULL) → 5층(FULL) → 1층 | 3,4,5층은 이미 MAX → 2층 여유 5개 + 1층 나머지 10개
아이패드 9세대 실버
대기: 8대
입고순서: 3층 → 2층 → 4층(FULL) → 1층 | 3층에 여유 39개 → 8대 모두 3층에 배치
애플펜슬 1세대
대기: 20대
입고순서: 1층 → 2층 | 1층 여유 431개 → 20대 모두 1층에 배치
자동배치 로직(MAX 기반)으로 각 랙에 최적 분배됩니다.
전일 입고 43대가 자동배치로 정상재고에 반영되었습니다.
배치 결과 상세
SG — 15대
실버 — 8대
펜슬 — 20대
DB 변경 사항
-- inbound_staging 테이블 추가
CREATE TABLE inbound_staging (
id, inbound_date, device_type,
quantity, status ('pending'/'applied'),
applied_at, applied_by, ...
)
status: pending(대기중), applied(반영완료)
00시에 daily_inbound → inbound_staging 복사
신규 API 엔드포인트
→ 전일 입고 대기 재고 조회 (pending 상태)
→ 대기 재고 전체를 자동배치 로직으로 정상재고에 반영
→ Cron 또는 수동: 전일 입고 → 스테이징 이관
프론트엔드 변경
대시보드에 알림 배너 추가 (pending 있을 때)
자동배치 미리보기 (반영 전 분배 시뮬레이션)
"반영하기" 버튼 → 자동배치 API 호출
완료 화면 (기기별 분할배치 상세)
자동배치 연동
기존 /api/transfer-auto-resolve 로직 재사용
기기별로 순차 호출 → MAX 기반 분배
오버플로우 시 예비랙(창문난간) 사용
이동 로그에 transfer_type: 'staging_apply' 기록
핵심: "00시 자동 이관" 구현 방식
방식 A: Cron Trigger (추천)
Cloudflare Workers Cron Trigger로 매일 00:00에 자동 실행. daily_inbound에서 전일 데이터를 inbound_staging으로 복사.
서버리스 자동 실행방식 B: 조회 시 자동 계산
API 호출 시 날짜 비교로 "어제 입고분"을 실시간 계산. Cron 없이 간단하지만 날짜 경계 처리 필요.
Cron 불필요 · 심플대시보드 — 알림 없음
전일 입고 대기 없음
모든 입고 재고가 반영되었습니다.
며칠간 미반영 시 — 경고 표시
미반영 입고 재고가 쌓여있습니다!
4/13 입고분 25대 + 4/14 입고분 18대 = 총 43대