diff --git a/src/app/[locale]/(protected)/sales/order-management-sales/[id]/production-order/page.tsx b/src/app/[locale]/(protected)/sales/order-management-sales/[id]/production-order/page.tsx index aac8ee92..13e65b56 100644 --- a/src/app/[locale]/(protected)/sales/order-management-sales/[id]/production-order/page.tsx +++ b/src/app/[locale]/(protected)/sales/order-management-sales/[id]/production-order/page.tsx @@ -216,6 +216,22 @@ function matchItemToProcess( for (const rule of process.classificationRules) { if (!rule.isActive) continue; + // 개별품목 규칙 (process_items에서 변환된 규칙) + if (rule.registrationType === "individual" && rule.items) { + const matched = rule.items.some((item) => { + // 1. 정확한 이름 매칭 + if (item.name === itemName) return true; + // 2. 정확한 코드 매칭 + if (itemCode && item.code === itemCode) return true; + // 3. 부분 매칭: 등록된 품목명이 주문 품목명을 포함 (예: "상부 케이스 1219mm" contains "상부 케이스") + if (item.name.includes(itemName)) return true; + // 4. 역 부분 매칭: 주문 품목명이 등록된 품목명을 포함 + if (itemName.includes(item.name)) return true; + return false; + }); + if (matched) return process; + } + // 패턴 매칭 규칙 if (rule.registrationType === "pattern") { let targetValue = "";