// 품목관리 타입 정의

// 물품유형
export type ItemType = '제품' | '부품' | '소모품' | '공과';

// 규격 (실제 스펙 텍스트, 예: "1∅220V", "면적 18.1m²")
export type Specification = string;

// 구분 (발주유형)
export type OrderType = '경품발주' | '원자재발주' | '외주발주';

// 상태
export type ItemStatus = '승인' | '작업' | '사용' | '중지';

// 품목 인터페이스
export interface Item {
  id: string;
  itemNumber: string; // 품목번호
  itemType: ItemType; // 물품유형
  categoryId: string; // 카테고리 ID
  categoryName: string; // 카테고리명
  itemName: string; // 품목명
  specification: Specification; // 규격
  unit: string; // 단위
  orderType: OrderType; // 구분
  status: ItemStatus; // 상태
  createdAt: string;
  updatedAt: string;
}

// 품목 통계
export interface ItemStats {
  total: number; // 전체 품목
  active: number; // 사용 품목
}

// 품목 목록 조회 파라미터
export interface ItemListParams {
  page?: number;
  size?: number;
  itemType?: ItemType | 'all';
  categoryId?: string;
  specification?: Specification | 'all';
  orderType?: OrderType | 'all';
  status?: ItemStatus | 'all';
  sortBy?: 'latest' | 'oldest';
  search?: string;
  startDate?: string;
  endDate?: string;
}

// 품목 목록 응답
export interface ItemListResponse {
  items: Item[];
  total: number;
  page: number;
  size: number;
}

// 발주 항목
export interface OrderItem {
  id: string;
  label: string; // 예: 무게
  value: string; // 예: 400KG
}

// 품목 상세 (발주 항목 포함)
export interface ItemDetail extends Item {
  note?: string; // 비고
  orderItems: OrderItem[]; // 발주 항목
}

// 품목 등록/수정 폼 데이터
export interface ItemFormData {
  itemNumber: string;
  itemType: ItemType;
  categoryId: string;
  itemName: string;
  specification: Specification;
  unit: string;
  orderType: OrderType;
  status: ItemStatus;
  note?: string;
  orderItems: OrderItem[];
}
