feat(입고 처리): 매입발주 선택 → 라인별 창고/수량 입고 (부분/전체) + 매뉴얼 보강
Deploy momo-erp / deploy (push) Successful in 51s

[입고 처리 화면 재설계 — 등록 → 수정 방식]
- 좌-우 분할:
  · 좌: 매입 발주서 리스트 (발주요청+입고중 기본 필터)
  · 우: 발주 라인별 [창고 선택 + 정상 입고 + 불량] 인라인 입력
- 발주/입고/미입고 한눈에 표시 (예: 10 / 5 / 5)
- 완전 입고된 라인은 ✓ 완료 표시 + 입력 칸 잠김
- 정상+불량은 남은 수량(qty - received_qty) 이하로 자동 클램프

[/api/m/procurements/list]
- 응답에 TOTAL_QTY, RECEIVED_QTY 추가 → 좌측 리스트에 진척 표시

[/api/m/inbounds/save]
- procObjid 있으면 라인별 입고 한도 사전 검증 (qty - received_qty 초과 차단)
- 0 입고 라인은 건너뛰기
- 매입발주 상태 자동 갱신:
  · 모든 라인 완전 입고 → RECEIVED (입고완료)
  · 일부 라인만 입고 → PARTIAL (입고중)
  · 시작 안 함 → REQUESTED 유지

[매뉴얼 — 가-1, 가-2, 다-2 대폭 보강]
- 거래처 출고 요청: 6단계 체크리스트 + 화면 도식 + 토스트/모달 예시 + 시나리오
- 내 주문 내역 + 거래처 자기 주문 수량 수정/품목 삭제/취소: 화면 도식 + 단계별 가이드 + 상태표
- 입고 처리: 화면 도식 + 발주/입고/미입고 표시 의미 + 부분입고 시나리오

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
chpark
2026-05-08 01:16:29 +09:00
parent da9b16f012
commit 88e7eab65e
4 changed files with 716 additions and 77 deletions
+299 -20
View File
@@ -294,8 +294,135 @@
<p class="lead">가게 사장님이 모모유통에서 물건을 주문할 때 쓰는 화면이에요. 컴퓨터로도 핸드폰으로도 잘 보입니다.</p>
<!-- 가.1 주문하기 -->
<h3 id="u-order-new">가-1. 물건 주문하기 — 가장 많이 쓰는 화면</h3>
<p>로그인하면 자동으로 이 화면이 열려요.</p>
<h3 id="u-order-new">가-1. 물건 주문하기 — 한 번에 따라하기</h3>
<p class="lead">가게(거래처) 사장님이 모모유통에 물건을 주문하는 화면입니다. 로그인하면 자동으로 이 화면이 열려요. 컴퓨터·휴대폰 어디서든 잘 보여요.</p>
<h4>① 로그인 후 첫 화면 — 주문 화면</h4>
<div class="screen">
<div class="browser-bar"><span class="dots"><i></i><i></i><i></i></span><span class="url">momotogether.com</span></div>
<div class="header-bar"><span><b>📦 모모유통</b></span><span>👤 우리가게 · 로그아웃</span></div>
<div class="body">
<div style="background:#fff;border:2px solid #6ee7b7;border-radius:10px;padding:10px;margin-bottom:10px">
<div class="row" style="border:0">
<span>🛒 <b>장바구니</b> <span class="badge b-sage">0</span></span>
<span><span class="btn btn-emerald" style="opacity:.5">주문하기</span></span>
</div>
</div>
<p style="color:#94a3b8;font-size:11.5px;margin:0 0 10px">▲ 처음에는 비어있어요. 아래에서 물건을 담으면 숫자가 올라가요.</p>
<div class="row"><span>🔍 검색창에 <b>물건 이름·코드</b> 입력</span><span>전체 / 면세 / 과세 ▾ &nbsp;<span class="btn btn-emerald">검색</span></span></div>
</div>
</div>
<h4>② 물건 검색해서 카드 보기</h4>
<p>"꽃계탕"이라고 검색창에 치고 [검색] 또는 <kbd>엔터</kbd>를 누르면 아래에 물건 카드가 나와요. 카드는 사진·이름·가격·재고·뱃지 모양으로 보여요.</p>
<div class="screen">
<div class="body">
<div style="display:grid;grid-template-columns:repeat(3,1fr);gap:10px">
<div style="border:1px solid #e2e8f0;border-radius:8px;padding:12px;background:#fff;text-align:center">
📦<br>
<b>꽃계탕</b> <span class="badge b-violet">면세</span><br>
<small>제조사명</small><br>
<b style="color:#0f766e">4,500원</b><br>
<small>창고에 212개 있음</small><br>
<span class="btn btn-emerald" style="display:block;margin-top:6px"> 담기</span>
</div>
<div style="border:1px solid #fdba74;border-radius:8px;padding:12px;background:#fff7ed;text-align:center">
📦<br>
<b>김치찌개</b> <span class="badge b-orange">택배만</span><br>
<small>택배 전용 물건</small><br>
<b style="color:#0f766e">12,000원</b><br>
<small>창고에 50개 있음</small><br>
<span class="btn btn-emerald" style="display:block;margin-top:6px"> 담기</span>
</div>
<div style="border:1px solid #e2e8f0;border-radius:8px;padding:12px;background:#fff;text-align:center;opacity:.5">
📦<br>
<b>참치캔</b><br>
<b style="color:#e11d48">품절</b><br>
<small>창고에 0개</small><br>
<span class="btn btn-slate" style="display:block;margin-top:6px;opacity:.5"> 담기</span>
</div>
</div>
</div>
</div>
<p>카드의 표시들 :</p>
<ul>
<li><span class="badge b-violet">면세</span> — 세금이 붙지 않는 물건 (그냥 참고)</li>
<li><span class="badge b-orange">택배만</span><b>이 물건은 택배로만 보내요.</b> 카드를 담으면 자동으로 '택배비' 줄이 장바구니에 1줄 더 추가됩니다.</li>
<li>"한 번에 30개까지만" — 한 번 주문에 살 수 있는 최대 개수. 더 사고 싶으면 모모 직원에게 권한을 풀어달라고 하세요.</li>
<li>창고 수량이 0이면 [+ 담기] 버튼이 회색으로 막혀요.</li>
</ul>
<h4>③ [+ 담기] 눌러서 장바구니에 넣기</h4>
<p>버튼을 한 번 누르면 1개 들어가요. 같은 카드 [+ 담기]를 또 누르면 2개로 늘어요. 다음 같은 토스트가 우상단에 잠깐 뜨면 추가 성공:</p>
<div class="tip">✅ 장바구니에 추가됨: 꽃계탕</div>
<p>위쪽 초록색 <b>장바구니 바</b>의 숫자가 0 → 1 → 2 로 올라가는 게 보일 거예요.</p>
<h4>④ 장바구니 펼쳐서 개수 조절 / 택배·용차 추가</h4>
<p>위쪽 <b>장바구니 바</b>를 클릭하면 펼쳐져요. 담은 물건 줄과 함께 <b>[ 택배 추가]</b> <b>[ 용차 추가]</b> 버튼이 보입니다.</p>
<div class="screen">
<div class="body">
<div style="background:#fff;border:2px solid #6ee7b7;border-radius:10px;padding:12px">
<div style="display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px">
<span class="btn btn-light-orange"> 택배 추가</span>
<span class="btn btn-light-sky"> 용차 추가</span>
<span style="font-size:11px;color:#94a3b8;margin-left:auto">전체 삭제</span>
</div>
<div style="background:#fff7ed;border:1px solid #fdba74;border-radius:8px;padding:8px;display:flex;gap:6px;align-items:center;font-size:12px;margin-bottom:6px">
<span class="badge b-orange">택배</span>
<span style="flex:1">담당자/메모</span>
<span style="border:1px solid #cbd5e1;padding:2px 8px;background:#fff">4000</span>×<span style="border:1px solid #cbd5e1;padding:2px 6px;background:#fff">1</span>=
<b>₩4,000</b>
<span style="color:#94a3b8">×</span>
</div>
<div style="background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:8px;display:flex;justify-content:space-between;align-items:center;font-size:12px">
<b>꽃계탕</b>
<div style="display:flex;gap:4px;align-items:center">
<span class="btn btn-slate" style="padding:1px 8px"></span>
<span style="border:1px solid #cbd5e1;padding:2px 8px;background:#fff">2</span>
<span class="btn btn-slate" style="padding:1px 8px"></span>
<span style="margin-left:8px"><b>₩9,000</b></span>
<span style="color:#94a3b8;margin-left:6px">×</span>
</div>
</div>
</div>
</div>
</div>
<ul>
<li><b> / +</b> 버튼이나 숫자 직접 입력으로 개수 조절. 재고/한도를 넘으면 자동으로 막힘.</li>
<li>같은 종류 [+ 택배 추가]를 두 번 누르면 <b>새 줄이 안 생기고 그 줄 수량이 +1</b>로 올라가요.</li>
<li>택배비 기본 4,000원 / 용차비 기본 5,000원 — 직접 가격·개수·담당자명을 고칠 수 있어요.</li>
<li>X 버튼으로 줄을 빼면 그 줄만 삭제 (택배 전용 물건이 있는 동안에는 택배 줄을 못 빼요).</li>
</ul>
<h4>⑤ [주문하기] 눌러서 주문 확정</h4>
<p>장바구니 바 우측 [주문하기] 버튼을 클릭하면 확인 알림이 떠요:</p>
<div class="note">
<b>발주를 요청하시겠습니까?</b><br>
합계 ₩27,200 (품목 2, 부가 1)<br>
<span class="btn btn-emerald">발주</span> &nbsp; <span class="btn btn-slate">취소</span>
</div>
<p>[발주] 누르면 끝. <b>주문 번호</b>가 만들어지고 (예: <code>ORD-20260507-0001</code>) 자동으로 [내 주문 내역] 화면으로 이동합니다.</p>
<div class="warn">
<b>⚠️ 주의</b>
<ul style="margin:6px 0 0;padding-left:20px">
<li>택배 전용 물건이 들어 있는데 택배비 줄이 없으면 "택배 전용 품목이 들어있어 택배줄이 필요해요" 라고 막힙니다 — [+ 택배 추가] 누르고 다시 시도하세요.</li>
<li>택배비/용차비 가격이나 개수가 0이면 못 보냅니다.</li>
</ul>
</div>
<div class="scenario">
<h4>📘 처음부터 끝까지 따라하기 — "꽃계탕 2개 주문"</h4>
<ol>
<li><b>로그인</b> → 자동으로 주문 화면이 열림</li>
<li>검색창에 "꽃계탕" 치고 <kbd>엔터</kbd></li>
<li>꽃계탕 카드의 [ 담기]를 <b>두 번</b> 클릭 → 우상단 토스트 두 번 뜸</li>
<li>위쪽 초록색 장바구니 바 숫자가 1 → 2 로 변함</li>
<li>장바구니 바 클릭 → 펼쳐서 "꽃계탕 2개 ₩9,000" 확인</li>
<li>장바구니 바 우측 [주문하기] 클릭 → 확인 알림 → [발주]</li>
<li>"주문 완료 — 주문번호: ORD-20260507-0001" 알림 → 확인 → [내 주문 내역]으로 자동 이동</li>
</ol>
</div>
<h4>화면이 어떻게 생겼나요?</h4>
<div class="screen">
@@ -377,19 +504,119 @@
</div>
<!-- 가.2 주문 내역 -->
<h3 id="u-orders">가-2. 내 주문 내역 보기</h3>
<p>왼쪽 메뉴의 <b>거래처 주문 → 내 주문 내역</b> 을 누르면 보여요.</p>
<h3 id="u-orders">가-2. 내 주문 내역 보기 + 수정·취소</h3>
<p class="lead">왼쪽 메뉴의 <b>거래처 주문 → 내 주문 내역</b>을 누르면 내가 주문한 전체 이력을 볼 수 있어요. 출고 전인 주문은 여기서 <b>수량을 고치거나 품목을 빼거나 통째로 취소</b>할 수 있습니다.</p>
<h4>① 주문 이력 목록 화면</h4>
<div class="screen">
<div class="browser-bar"><span class="dots"><i></i><i></i><i></i></span><span class="url">momotogether.com / 내 주문 내역</span></div>
<div class="body">
<div class="row" style="margin-bottom:8px"><b>내 발주 이력 (전체 5건)</b><span><span class="btn btn-emerald">⬇ 엑셀</span> <span class="btn btn-emerald">새 발주</span></span></div>
<div class="row" style="font-size:11.5px;color:#94a3b8;border:0">행을 누르면 거래명세표가 큰 창으로 떠요</div>
<table class="demo-table" style="margin-top:6px">
<thead><tr><th>발주번호</th><th>발주일</th><th>합계</th><th>상태</th><th>동작</th></tr></thead>
<tbody>
<tr><td>ORD-20260507-0001</td><td class="ctr">5/7</td><td class="num">27,200</td><td class="ctr"><span class="badge b-amber">출고요청</span></td><td class="ctr">👁 보기</td></tr>
<tr><td>ORD-20260506-0003</td><td class="ctr">5/6</td><td class="num">37,200</td><td class="ctr"><span class="badge b-sky">출고완료</span></td><td class="ctr">👁 보기</td></tr>
<tr><td>ORD-20260505-0002</td><td class="ctr">5/5</td><td class="num">120,500</td><td class="ctr"><span class="badge b-sage">입금완료</span></td><td class="ctr">👁 보기</td></tr>
</tbody>
</table>
</div>
</div>
<ul>
<li><b>주문번호 또는 [보기] 클릭</b> → 거래명세표가 큰 창으로 떠요</li>
<li>거래명세표 위쪽에 <span class="btn btn-orange">📤 이미지 공유</span> <span class="btn btn-emerald">⬇ 엑셀 다운로드</span> 버튼이 있어 카톡 공유나 파일 저장 가능</li>
<li><b>출고요청 상태</b>인 주문은 그 자리에서 <b>수정·삭제·취소</b>가 가능해요:
<ul>
<li>품목 행의 <b>수량 칸을 클릭</b>해서 새 수량 입력 → 다른 곳 누르면 자동 저장</li>
<li>품목 오른쪽 <b>[×]</b> 버튼 → 그 품목만 주문에서 삭제</li>
<li>위쪽 <span class="btn btn-rose">🗑 주문 취소</span> → 주문 전체 취소</li>
<li>택배·용차 라인은 모모 담당자가 조정합니다 (직접 수정 불가)</li>
</ul>
</li>
<li>한 줄을 클릭하거나 [👁 보기] 버튼 → 거래명세표 모달 열림</li>
<li>위쪽 [⬇ 엑셀] 버튼 → 전체 이력 엑셀로 받기</li>
</ul>
<h4>② 거래명세표 모달 — 모양 한눈에</h4>
<div class="screen">
<div class="body" style="background:#f8fafc">
<div style="background:#fff;border-radius:10px;padding:18px;max-width:680px;margin:0 auto">
<div style="display:flex;gap:8px;justify-content:flex-start;margin-bottom:10px">
<span class="btn btn-orange">📤 이미지 공유</span>
<span class="btn btn-emerald">⬇ 엑셀 다운로드</span>
<span class="btn btn-rose">🗑 주문 취소</span>
</div>
<div style="text-align:center;font-size:18px;letter-spacing:.4em;font-weight:700;padding:8px 0">&nbsp;&nbsp;&nbsp;&nbsp;</div>
<div style="font-size:11px"><b>발주번호</b> · ORD-20260507-0001 &nbsp;&nbsp; <b>발주일자</b> · 2026-05-07 &nbsp;&nbsp; <b>현재상태</b> · 출고요청</div>
<div style="margin:8px 0;padding:8px;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;font-size:11px">✏️ 출고요청 상태 — 품목 수량을 직접 고치거나 [×]로 삭제할 수 있어요. 저장은 자동.</div>
<table class="demo-table">
<thead><tr><th>#</th><th>품명</th><th>구분</th><th>수량</th><th>단가</th><th>합계</th><th></th></tr></thead>
<tbody>
<tr class="r-delivery"><td class="ctr">1</td><td><span class="badge b-orange">택배</span> 택배비</td><td class="ctr">과세</td><td class="num">1</td><td class="num">4,000</td><td class="num">4,000</td><td class="ctr">자동</td></tr>
<tr class="r-item"><td class="ctr">2</td><td>꽃계탕</td><td class="ctr" style="color:#7c3aed">면세</td><td class="num"><span style="border:1px solid #cbd5e1;padding:2px 8px;background:#fff">2</span></td><td class="num">4,500</td><td class="num">9,000</td><td class="ctr"><span style="color:#e11d48">×</span></td></tr>
</tbody>
</table>
<div style="text-align:right;margin-top:6px;font-size:11px"><b>총 합계 ₩ 13,000</b></div>
</div>
</div>
</div>
<h4>③ 상태별로 할 수 있는 일 (요약표)</h4>
<table>
<thead><tr><th>상태</th><th>의미</th><th>할 수 있는 일</th></tr></thead>
<tbody>
<tr>
<td><span class="badge b-amber">출고요청</span></td>
<td>주문이 들어갔고 모모 직원이 처리하기 전</td>
<td><b>수량 수정 / 품목 삭제 / 주문 취소</b> 모두 가능. 거래명세표 이미지 공유 / 엑셀.</td>
</tr>
<tr>
<td><span class="badge b-sky">출고완료</span></td>
<td>물건이 나갔고 거래명세표 메일이 와 있음</td>
<td>거래명세표 이미지 공유 / 엑셀 다운로드. 수정 불가.</td>
</tr>
<tr>
<td><span class="badge b-sage">입금완료</span></td>
<td>입금이 등록됨</td>
<td>거래명세표 보기. 세금계산서 대기.</td>
</tr>
<tr>
<td><span class="badge b-violet">계산서발행</span></td>
<td>전자세금계산서 발행 완료</td>
<td>홈택스에서 사업자번호로 조회 가능.</td>
</tr>
<tr>
<td><span class="badge b-slate">취소</span></td>
<td>주문이 취소됨</td>
<td></td>
</tr>
</tbody>
</table>
<h4>④ 출고요청 상태 — 수량 수정하기</h4>
<ol class="steps">
<li><b>거래명세표 모달 열기</b><small>[내 주문 내역]에서 출고요청 상태 행 클릭</small></li>
<li><b>품목 행의 수량 칸 클릭</b><small>네모난 입력 칸이 활성화돼요. 새 수량을 입력하세요.</small></li>
<li><b>다른 곳 클릭하거나 <kbd>엔터</kbd></b><small>입력 칸에서 빠져나가는 순간 자동 저장. 위쪽 합계도 즉시 갱신.</small></li>
<li><b>재고/한도 초과 시 자동 막힘</b><small>"재고를 초과할 수 없습니다" 또는 "1회 발주 한도 초과" 알림.</small></li>
</ol>
<h4>⑤ 출고요청 상태 — 품목 1개만 빼기</h4>
<ol class="steps">
<li><b>품목 행 우측 끝의 [×] 버튼 클릭</b></li>
<li><b>"이 품목을 주문에서 삭제하시겠습니까?" 확인</b><small>[삭제] 누르면 그 품목만 빠져요. 다른 품목과 택배/용차는 그대로.</small></li>
</ol>
<h4>⑥ 출고요청 상태 — 주문 전체 취소</h4>
<ol class="steps">
<li><b>모달 위쪽 [🗑 주문 취소] 버튼 클릭</b></li>
<li><b>"주문을 취소하시겠습니까?" 확인 → [취소]</b><small>주문 상태가 <span class="badge b-slate">취소</span>로 변하고 더는 처리되지 않습니다.</small></li>
</ol>
<div class="warn">
<b>⚠️ 알아두세요</b>
<ul style="margin:6px 0 0;padding-left:20px">
<li>택배비·용차비 줄은 거래처가 못 고쳐요. 모모 담당자가 출고할 때 조정합니다.</li>
<li>출고완료 상태가 되면 <b>수정·취소 불가</b>. 잘못 보냈으면 모모 담당자에게 직접 연락하세요.</li>
<li>가격·단가는 시스템 표준값으로 자동 계산돼요 (변경 불가).</li>
</ul>
</div>
<h4>⑦ 거래명세표 공유 / 엑셀</h4>
<ul>
<li><span class="btn btn-orange">📤 이미지 공유</span> — 거래명세표를 PNG 이미지로 만들어서 카톡으로 공유하거나 휴대폰에 저장. 휴대폰이면 카톡 선택 창이 뜨고, 컴퓨터면 이미지 파일이 다운로드 폴더에 저장돼요.</li>
<li><span class="btn btn-emerald">⬇ 엑셀 다운로드</span> — 거래명세표를 엑셀 파일(.xlsx)로 저장. 인쇄나 보관용.</li>
</ul>
<h4>주문 상태별 뜻</h4>
<table>
@@ -580,17 +807,69 @@
</div>
<!-- 다.2 -->
<h3 id="i-inbound">다-2. 물건 들어오면 등록하기 (창고에 쌓임)</h3>
<p class="lead">물건이 창고에 도착하면 이 화면에서 등록해요. 등록하면 <b>창고 재고가 늘어나요(+)</b>.</p>
<h3 id="i-inbound">다-2. 입고 처리 — 발주 선택 후 라인별 입고</h3>
<p class="lead">물건이 창고에 도착하면 이 화면에서 입고 등록 <b>재고가 자동으로 증가</b>합니다. 발주 한 번 했지만 일부만 들어오는 경우 — 들어온 만큼만 입력하고 나머지는 다음에 마저 입고할 수 있어요.</p>
<h4>화면 구성 — 좌-우 분할 (발주 선택 → 라인별 입력)</h4>
<div class="screen">
<div class="browser-bar"><span class="dots"><i></i><i></i><i></i></span><span class="url">momotogether.com / 입고 처리</span></div>
<div class="body" style="display:grid;grid-template-columns:330px 1fr;gap:12px">
<div>
<div style="font-weight:700;font-size:11px;color:#475569;margin-bottom:6px">발주서 목록 (입고 가능)</div>
<table class="demo-table">
<thead><tr><th>발주번호</th><th>공급업체</th><th>발주/입고/미입고</th><th>상태</th></tr></thead>
<tbody>
<tr style="background:#fffbeb"><td>PRC-20260507-0001</td><td>(주)AVATEC</td><td class="ctr">10 / 0 / 10</td><td class="ctr"><span class="badge b-amber">발주요청</span></td></tr>
<tr><td>PRC-20260506-0002</td><td>제일상사</td><td class="ctr">20 / <b style="color:#0f766e">15</b> / <b style="color:#e11d48">5</b></td><td class="ctr"><span class="badge b-orange">입고중</span></td></tr>
<tr><td>PRC-20260505-0003</td><td>(주)AVATEC</td><td class="ctr">8 / 8 / 0</td><td class="ctr"><span class="badge b-sage">입고완료</span></td></tr>
</tbody>
</table>
</div>
<div>
<div style="font-weight:700;font-size:11px;color:#475569;margin-bottom:6px">입고 입력 — PRC-20260506-0002 <span class="btn btn-emerald" style="float:right">💾 입고 등록</span></div>
<table class="demo-table">
<thead><tr><th>#</th><th>품목</th><th>발주</th><th>기입고</th><th>남은</th><th>창고</th><th>정상 입고</th><th>불량</th></tr></thead>
<tbody>
<tr style="background:#ecfdf5"><td class="ctr">1</td><td>꽃계탕 ✓ 완료</td><td class="num">10</td><td class="num" style="color:#0f766e">10</td><td class="num" style="color:#94a3b8">0</td><td class="ctr">-</td><td class="ctr">-</td><td class="ctr">-</td></tr>
<tr><td class="ctr">2</td><td>탈취제</td><td class="num">10</td><td class="num" style="color:#0f766e">5</td><td class="num" style="color:#e11d48"><b>5</b></td><td class="ctr">[본사창고 ▾]</td><td class="num">[5]</td><td class="num">[0]</td></tr>
</tbody>
</table>
</div>
</div>
</div>
<h4>입고 처리 단계</h4>
<ol class="steps">
<li><b>입고할 매입 발주 고르기</b><small>아직 입고 안 된 발주서 목록이 떠요</small></li>
<li><b>입고 개수 / 창고 / 입고일 적기</b><small>주문할 때 적은 개수랑 실제 들어온 개수가 다를 수 있어요. 부분 입고도 가능해요.</small></li>
<li><b>[입고 등록] 누르기</b><small>해당 창고의 재고가 N개만큼 늘어나요. 누가 언제 무엇을 입고했는지 기록도 남아요.</small></li>
<li><b>왼쪽에서 발주서 선택</b><small>'입고 가능 (발주요청 + 입고중)' 필터가 기본. 한 줄 클릭하면 오른쪽에 라인이 펼쳐져요. <span class="badge b-sage">입고완료</span>는 더 이상 입력 안 됨.</small></li>
<li><b>발주/입고/미입고 숫자 확인</b><small>예: <b>10 / 5 / 5</b> = 발주 10개, 이미 5개 입고됨, 남은 5개. 이 발주는 <span class="badge b-orange">입고중</span> 상태.</small></li>
<li><b>각 라인의 [창고 선택] + [정상 입고] 수량 입력</b><small>창고는 [창고 관리]에 미리 등록한 곳에서 선택. 정상 입고는 <b>남은 수량 이하</b>로만 입력 가능 (자동 클램프). 불량 있으면 [불량] 칸에도 적기.</small></li>
<li><b>입고 안 할 라인은 0으로 두기</b><small>완전히 입고된 라인(남은 0)은 자동으로 <b>✓ 완료</b> 표시되고 입력 칸이 사라져요.</small></li>
<li><b>위쪽 [💾 입고 등록] 클릭</b><small>"입고 처리하시겠습니까?" 확인 → [입고]. 누르는 즉시:<br>① 정상 입고 수량만큼 창고 재고 자동 증가<br>② 발주서 라인의 '기입고' 누적<br>③ 모든 라인 완전 입고면 발주서 상태 → <span class="badge b-sage">입고완료</span><br>④ 일부만 입고면 발주서 상태 → <span class="badge b-orange">입고중</span> (다음에 다시 와서 마저 입고)</small></li>
</ol>
<div class="tip">
<b>💡 부분 입고 시나리오</b>
<p>월요일 발주 10개 → 화요일 5개만 도착했다면:</p>
<ol style="padding-left:22px;margin:4px 0 0">
<li>화요일: 발주서 선택 → 정상 입고에 5 입력 → [입고 등록] → 발주서 상태 <span class="badge b-orange">입고중</span></li>
<li>목요일 나머지 5개 도착: 같은 발주서를 다시 선택 → 정상 입고에 5 입력 → [입고 등록] → 발주서 상태 <span class="badge b-sage">입고완료</span></li>
</ol>
</div>
<h4>발주/입고/미입고 표시 의미</h4>
<table>
<thead><tr><th width="180">표시</th><th>의미</th></tr></thead>
<tbody>
<tr><td><b>10 / 0 / 10</b></td><td>발주만 했고 입고는 아직. 상태 <span class="badge b-amber">발주요청</span></td></tr>
<tr><td><b>10 / 5 / 5</b></td><td>일부만 입고. 상태 <span class="badge b-orange">입고중</span> — 5개 더 들어와야 함</td></tr>
<tr><td><b>10 / 10 / 0</b></td><td>전부 입고 완료. 상태 <span class="badge b-sage">입고완료</span> — 더 이상 입고 입력 불가</td></tr>
</tbody>
</table>
<div class="tip">
<b>💡 입고 vs 출고 — 헷갈리지 마세요</b>
<ul style="margin:6px 0 0;padding-left:24px">
<li><b>입고</b>: 도매처 → 모모 창고로 들어옴 → 재고 <b>+</b></li>
<li><b>입고</b>: 공급업체 → 모모 창고로 들어옴 → 재고 <b>+</b></li>
<li><b>출고</b>: 모모 창고 → 가게(거래처)로 나감 → 재고 <b></b></li>
</ul>
</div>