From 695b4c305e01e80330bdf010d5757caa02ff4274 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Sun, 22 Mar 2026 09:48:24 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20[=EC=9E=90=EC=9E=AC=ED=88=AC=EC=9E=85]?= =?UTF-8?q?=20=EB=A7=A4=EC=B9=AD=20=EC=A0=95=EB=B3=B4=20=EB=A7=90=ED=92=8D?= =?UTF-8?q?=EC=84=A0=20=EC=B6=94=EA=B0=80=20(=ED=92=88=EB=AA=A9=EC=BD=94?= =?UTF-8?q?=EB=93=9C/=EA=B7=9C=EA=B2=A9/LOT=20=EC=83=81=ED=83=9C=20?= =?UTF-8?q?=ED=91=9C=EC=8B=9C)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WorkerScreen/MaterialInputModal.tsx | 43 ++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/src/components/production/WorkerScreen/MaterialInputModal.tsx b/src/components/production/WorkerScreen/MaterialInputModal.tsx index 9240750b..e53f3d15 100644 --- a/src/components/production/WorkerScreen/MaterialInputModal.tsx +++ b/src/components/production/WorkerScreen/MaterialInputModal.tsx @@ -14,7 +14,7 @@ */ import { useState, useEffect, useCallback, useMemo, useRef } from 'react'; -import { Loader2, Check, Zap } from 'lucide-react'; +import { Loader2, Check, Zap, Info } from 'lucide-react'; import { ContentSkeleton } from '@/components/ui/skeleton'; import { Dialog, @@ -547,6 +547,47 @@ export function MaterialInputModal({ {group.materialCode} )} + {/* 매칭 정보 말풍선 */} + + l.stockLotId !== null) ? "text-blue-400" : "text-red-400" + )} /> + + 자재 매칭 정보 + + 품목코드: {group.materialCode || '-'}
+ 규격: {group.lots[0]?.specification || '-'}
+ 매칭기준: 품목코드 + 규격 일치하는 입고 LOT 검색 (FIFO) +
+ {(() => { + const availableLots = group.lots.filter(l => l.stockLotId !== null); + const noStockLots = group.lots.filter(l => l.stockLotId === null); + if (availableLots.length > 0) { + return ( + + + ✓ {availableLots.length}건 매칭 완료 + + {availableLots.map((l, i) => ( + + LOT {l.lotNo} | 가용 {formatNumber(l.lotAvailableQty)}{group.unit} | FIFO #{l.fifoRank} + + ))} + + ); + } + return ( + + ✗ 매칭 가능한 입고 LOT 없음 + + → [{group.materialCode}] {group.lots[0]?.specification || ''} 자재를 입고해주세요 + + + ); + })()} +
+