// 작업자 화면 타입 정의

import type { WorkOrder, ProcessType } from '../ProductionDashboard/types';

// 작업자 작업 아이템 (WorkOrder 확장)
export interface WorkerWorkItem extends WorkOrder {
  processDetail?: ProcessDetail;
}

// 공정상세 정보
export interface ProcessDetail {
  materialRequired: boolean;
  steps: ProcessStep[];
  totalSteps: number;
  completedSteps: number;
}

// 공정 단계
export interface ProcessStep {
  id: string;
  stepNo: number;
  name: string;
  isInspection?: boolean;
  completed: number;
  total: number;
  items: ProcessStepItem[];
}

// 공정 단계 상세 항목
export interface ProcessStepItem {
  id: string;
  itemNo: string;        // #1, #2
  location: string;      // 1층 1호-A
  isPriority: boolean;   // 선행 생산
  spec: string;          // W2500 × H3000
  material: string;      // 자재: 절곡판
  lot: string;           // LOT-절곡-2025-001
}

// 자재 투입 정보
export interface MaterialInput {
  id: string;
  materialCode: string;
  materialName: string;
  unit: string;
  currentStock: number;
  fifoRank: number;      // FIFO 순위 (1: 최우선, 2: 차선, 3+: 대기)
}

// 이슈 유형
export type IssueType = 'defect' | 'noStock' | 'delay' | 'equipment' | 'other';

export const ISSUE_TYPE_LABELS: Record<IssueType, string> = {
  defect: '불량품 발생',
  noStock: '재고 없음',
  delay: '일정 지연',
  equipment: '설비 문제',
  other: '기타',
};

// 작업자 화면 통계
export interface WorkerStats {
  assigned: number;
  inProgress: number;
  completed: number;
  urgent: number;
}

// 완료 토스트 정보
export interface CompletionToastInfo {
  orderNo: string;
  quantity: number;
  lotNo: string;
}