diff --git a/src/components/production/WorkerScreen/index.tsx b/src/components/production/WorkerScreen/index.tsx index 86d70151..e403f0e0 100644 --- a/src/components/production/WorkerScreen/index.tsx +++ b/src/components/production/WorkerScreen/index.tsx @@ -928,8 +928,15 @@ export default function WorkerScreen() { } }, [selectedOrder, inputMaterialsMap]); - // 하단 버튼용 합성 WorkOrder (API 데이터 없을 때 목업 폴백) + // 하단 버튼용 합성 WorkOrder (사이드바 선택 우선, 없으면 첫 번째, 그래도 없으면 목업 폴백) const getTargetOrder = useCallback((): WorkOrder | null => { + // 사이드바에서 선택된 작업지시 우선 + const selected = selectedSidebarOrderId + ? filteredWorkOrders.find((wo) => wo.id === selectedSidebarOrderId) + : null; + if (selected) return selected; + + // 선택 없으면 첫 번째 작업지시 const apiTarget = filteredWorkOrders[0]; if (apiTarget) return apiTarget; @@ -954,7 +961,7 @@ export default function WorkerScreen() { isDelayed: false, createdAt: '', }; - }, [filteredWorkOrders, workItems]); + }, [filteredWorkOrders, workItems, selectedSidebarOrderId]); // 현재 공정에 맞는 중간검사 타입 결정 const getInspectionProcessType = useCallback((): InspectionProcessType => {