diff --git a/frontend/components/pop/hardcoded/production/WorkOrderList.tsx b/frontend/components/pop/hardcoded/production/WorkOrderList.tsx index 3a0e3d7a..c213b44c 100644 --- a/frontend/components/pop/hardcoded/production/WorkOrderList.tsx +++ b/frontend/components/pop/hardcoded/production/WorkOrderList.tsx @@ -917,6 +917,9 @@ export function WorkOrderList() { if (selectedProcess === "__all__") return []; // 공정 미선택 시 빈 목록 return masterProcesses.filter((proc) => { const isRework = proc.is_rework === "Y" || proc.is_rework === "true" || proc.is_rework === "1"; + const isMaster = !proc.parent_process_id; + // 완료/진행중 탭에서는 SPLIT만 표시 (마스터 제외) + if (isMaster && !isRework && (activeTab === "completed" || activeTab === "in_progress")) return false; // 재작업 카드는 공정 필터 무시 (모든 공정에서 표시) if (!isRework && proc.process_code !== selectedProcess) return false; if (selectedEquipment !== "__all__") { @@ -954,9 +957,11 @@ export function WorkOrderList() { completed: 0, }; for (const proc of preFiltered) { + const isMaster = !proc.parent_process_id; + const isRw = proc.is_rework === "Y" || proc.is_rework === "true" || proc.is_rework === "1"; if (proc.status === "acceptable") counts.acceptable++; - else if (proc.status === "in_progress") counts.in_progress++; - else if (proc.status === "completed") counts.completed++; + else if (proc.status === "in_progress" && (!isMaster || isRw)) counts.in_progress++; + else if (proc.status === "completed" && (!isMaster || isRw)) counts.completed++; else counts.waiting++; } return counts;