# 제품 / 품목 / 설계 도메인

> **모델 수**: Products 6 + ItemMaster 8 + Items 3 + Design 4 = 21
> **핵심**: 제품 정의, BOM 구조, 품목 마스터, 설계 모델

---

## 주요 테이블

### 제품 (Products)

| 테이블 | 모델 | 역할 |
|--------|------|------|
| products | Product | 제품 마스터 (code, name, product_type) |
| product_components | ProductComponent | BOM 구성 (parent-child 관계) |
| parts | Part | 부품 정의 |
| prices | Price | 가격 정보 |
| common_codes | CommonCode | 공통 코드 |

### 품목 마스터 (ItemMaster)

| 테이블 | 모델 | 역할 |
|--------|------|------|
| item_fields | ItemField | 품목 필드 정의 |
| item_pages | ItemPage | 품목 페이지 구성 |
| item_bom_items | ItemBomItem | 품목 BOM 항목 |
| custom_tabs | CustomTab | 커스텀 탭 |
| unit_options | UnitOption | 단위 옵션 |

### 품목 (Items)

| 테이블 | 모델 | 역할 |
|--------|------|------|
| items | Item | 품목 마스터 |
| item_details | ItemDetail | 품목 상세 |
| item_receipts | ItemReceipt | 품목 입고 |

### 설계 (Design)

| 테이블 | 모델 | 역할 |
|--------|------|------|
| design_models | DesignModel | 설계 모델 마스터 |
| model_versions | ModelVersion | 모델 버전 |
| bom_templates | BomTemplate | BOM 템플릿 |
| bom_template_items | BomTemplateItem | BOM 템플릿 항목 (수량, 로스율) |

---

## 관계 구조

```
Product
  ├─ belongsTo Category (계층 분류)
  ├─ hasMany ProductComponent (BOM)
  │   └─ child_product_id → Product (자기 참조)
  ├─ hasMany Part
  ├─ hasMany Price
  └─ morphMany File

Item
  ├─ hasMany ItemDetail
  ├─ hasMany ItemReceipt
  └─ options JSON: { lot_managed, consumption_method, production_source, input_tracking }

DesignModel → ModelVersion → BomTemplate → BomTemplateItem
```

---

## 품목 options 체계

items.options JSON으로 품목별 관리 방식 정의:

| 속성 | 타입 | 설명 |
|------|------|------|
| lot_managed | bool | LOT 추적 여부 |
| consumption_method | auto/manual/none | 소진 방식 |
| production_source | purchased/self_produced/both | 조달 구분 |
| input_tracking | bool | 원자재 투입 추적 여부 |

### 유형별 조합

| 유형 | 예시 | lot | consumption | source |
|------|------|-----|------------|--------|
| 구매 소모품 (LOT) | 내화실 | true | manual | purchased |
| 구매 소모품 (비LOT) | 장갑, 테이프 | false | manual | purchased |
| 일반 자체생산 | 슬랫, 절곡물 | true | auto | self_produced |
| 잔재 활용 생산 | 조인트바 | true | auto | self_produced |