입고 자동반영 (Staging → 정상재고)

목업 페이지 — 실제 데이터 변경 없음

MOCKUP

전체 플로우 다이어그램

입고 → 임시보관(스테이징) → 정상재고 자동배치 흐름

STEP 1

금일 입고 등록

입고 업무에서 오늘 받은
기기 수량을 입력

SG+15대
실버+8대
펜슬+20대

STEP 2

내 자리에 임시 보관

금일 입고된 기기를
자리에서 보관하며 확인

다음날 00시까지 대기

STEP 3 (자동)

전일 입고 → 스테이징

00시가 되면 전일 입고된 기기가
"전일 입고 대기" 영역으로 이동

SG15대 대기중
실버8대 대기중
펜슬20대 대기중

STEP 4 (수동)

정상재고 반영하기

확인 후 "반영하기" 클릭 →
자동배치 로직으로 분배

SG 2층+5 → 70/70
SG 1층+10 → 50/100
실버 3층+8 → 39/70
D일 근무시간 — 입고 등록
D일 퇴근~ — 내 자리 보관
D+1일 00:00 — 자동으로 "전일 입고 대기" 이동
D+1일 출근 후 — 확인 후 반영하기

대시보드 알림 배너 (D+1일 출근 시)

전일 입고된 기기가 있으면 대시보드 상단에 알림이 표시됩니다.

전일 입고 대기 재고가 있습니다

어제 입고된 3종 43대가 정상재고 반영을 기다리고 있습니다.

15

SG

8

실버

20

애플펜슬

전일 입고 → 정상재고 반영

입고일: 2026-04-15 (어제) → 반영일: 2026-04-16 (오늘)

43

총 대기 수량

아이패드 9세대 스페이스 그레이

대기: 15대

자동배치 미리보기
2층
65 → 70 +5대
→ FULL
1층
40 → 50 +10대
50/100

입고순서: 2층 → 3층(FULL) → 4층(FULL) → 5층(FULL) → 1층 | 3,4,5층은 이미 MAX → 2층 여유 5개 + 1층 나머지 10개

아이패드 9세대 실버

대기: 8대

자동배치 미리보기
3층
31 → 39 +8대
39/70

입고순서: 3층 → 2층 → 4층(FULL) → 1층 | 3층에 여유 39개 → 8대 모두 3층에 배치

애플펜슬 1세대

대기: 20대

자동배치 미리보기
1층
119 → 139 +20대
139/550

입고순서: 1층 → 2층 | 1층 여유 431개 → 20대 모두 1층에 배치

자동배치 로직(MAX 기반)으로 각 랙에 최적 분배됩니다.

반영 완료 화면

정상재고 반영 완료!

전일 입고 43대가 자동배치로 정상재고에 반영되었습니다.

배치 결과 상세

SG — 15대

2층+5대 (65→70) FULL
1층+10대 (40→50)

실버 — 8대

3층+8대 (31→39)

펜슬 — 20대

1층+20대 (119→139)
담당자: 레이 | 반영시각: 2026-04-16 09:15:32

기술 구현 상세

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 엔드포인트

GET /api/inbound-staging

→ 전일 입고 대기 재고 조회 (pending 상태)

POST /api/inbound-staging/apply

→ 대기 재고 전체를 자동배치 로직으로 정상재고에 반영

POST /api/inbound-staging/rollover

→ 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대

개선안 A 목업 개선안 C 목업 자동배치 D 목업 입고 스테이징 목업 (현재)