# เมนู: Pack Station

ใช้สำหรับสแกนแพ็กสินค้าจริง — สร้างงานแพ็ก, สแกน SKU ลง Carton, บันทึกน้ำหนัก/รูปภาพ และปิดงาน

> 📌 **รายการสินค้าใน Packing Job** แสดงเฉพาะส่วนที่ **หยิบมาแล้ว (Picked Qty)** เท่านั้น กรณี DSO เป็น PAR PICKED → Job แสดงเฉพาะส่วนที่ Picked แล้ว ไม่แสดงส่วนที่ยังค้าง

---

## 1. การสร้าง Packing Job และเริ่มแพ็ก

> **เงื่อนไข:** DSO ต้องมีสถานะ **PICKED** หรือ **PAR PICKED** เท่านั้น

1. ไปที่เมนู **Pack Station**

2. คลิก **Start Packing**

3. สแกนหรือกรอก Release Key ในรูปแบบใดรูปแบบหนึ่ง:

   * `Storer Code#Release Key` (เช่น `WH01#REL-0001`)

   * `Release Key` เท่านั้น (เช่น `REL-0001`)

4. กด **Enter**

### **ผลลัพธ์หลังสร้างสำเร็จ:**

* Packing Job สถานะ = **PACKING**

* DSO สถานะเปลี่ยนเป็น **PACKING**

* รายการสินค้าใน Job ตรงกับที่หยิบมา (Picked Qty)

* Inventory: Picked Qty → **Packing Qty**

> ❌ **Error:** กรอก Release Key ไม่ถูกต้องหรือไม่ครบ → ระบบแสดง Error "ไม่พบ Release Key"

---

## 2. การเพิ่ม DSO หลายใบในงานแพ็กเดียว

> **เงื่อนไข:** Packing Job ต้องมีสถานะ **PACKING**

1. ไปที่เมนู **Pack Station** → เปิด Packing Job (Status = PACKING)

2. กรอก `Storer Code#Release Key` หรือ `Release Key` ของ DSO ใบที่ต้องการเพิ่มในช่องกรอก

3. กด **Enter**

### **ผลลัพธ์:**

* DSO ใหม่ถูกเพิ่มเข้า Job สำเร็จ

* รายการสินค้าของ DSO ใหม่ปรากฏใน Job

* DSO ใหม่เปลี่ยนสถานะเป็น **PACKING**

> 📌 รองรับ DSO ปกติและ **DSO จากงาน Return (GRR)** ในงานแพ็กเดียวกัน

---

## 3. การลบ Release Key ออกจากงานแพ็ก

> **เงื่อนไข:** Packing Job ต้องมีสถานะ **PACKING** และมี Release Key มากกว่า 1 ใบ

1. ไปที่เมนู **Pack Station** → เปิด Packing Job

2. คลิก Tab **Order**

3. Hover หน้า Release Key ที่ต้องการลบ

4. คลิกปุ่ม **ถังขยะ** → คลิก **Delete**

### **ผลลัพธ์:**

* Release Key ถูกลบออกจาก Job

* รายการสินค้าของ DSO นั้นถูกนำออก

* DSO ที่ลบกลับเป็น **PICKED**

---

## 4. การสแกนสินค้าและจัดการ Carton

### สแกนสินค้าลง Carton

1. ไปที่เมนู **Pack Station** → เปิด Packing Job (Status = PACKING)

2. สแกน SKU Barcode ของสินค้าที่ต้องการแพ็ก

   * **SKU มี Pack Code เดียว** → บันทึกทันที ไม่มี Pop-up

   * **SKU มีหลาย Pack Code และไม่มี Default** → Pop-up ให้เลือก Pack Code

   * **SKU มี Default Pack Code** → ใช้ Default อัตโนมัติ ไม่มี Pop-up

3. สแกนซ้ำจนครบจำนวนที่ต้องการใส่ใน Carton นี้

> ⚠️ **Over-Pack Protection:**
>
> * สแกนเกิน Picked Qty → Error ทันที ไม่บันทึก
>
> * สแกน SKU ที่ไม่อยู่ใน Job → Error ทันที

### เพิ่ม Carton ใหม่

เมื่อต้องการแพ็กสินค้าลง Carton ที่ 2 เป็นต้นไป:

* คลิกปุ่ม **New Carton** บนหน้าจอ หรือกดปุ่ม **+ (Plus)** บนคีย์บอร์ด

* ระบบขึ้น Carton ใหม่ทันที — มุมซ้ายบนแสดงจำนวน Carton ที่มี

* *(ถ้า Pack Strategy ตั้งค่า "Print Label When New Carton" → ระบบพิมพ์ Label อัตโนมัติ)*

### ขนาดกล่อง (Carton Size)

* ระบบแนะนำขนาดกล่องตาม **Pack Strategy** ที่ตั้งค่าไว้อัตโนมัติ

* สามารถเปลี่ยนขนาดกล่องเป็นขนาดอื่นได้หลังระบบแนะนำ

### ลบสินค้าออกจาก Carton

1. สแกนสินค้าทั้งหมดเข้า Carton ก่อน

2. คลิกปุ่มสีเขียวด้านขวา → เลือก **Edit**

3. Hover หน้า Item ที่ต้องการลบ → คลิกปุ่มถังขยะ → คลิก **Delete**

---

## 5. การชั่งน้ำหนักและถ่ายรูปสินค้า

> **เงื่อนไข:** ต้องตั้งค่า **Pack Strategy** ที่เกี่ยวข้องก่อน และเชื่อมต่อ Weight Scale กับระบบ (กรณีชั่งน้ำหนัก)

### ชั่งน้ำหนัก (Weight Scale)

| Pack Strategy            | พฤติกรรม                                                  |
| ------------------------ | --------------------------------------------------------- |
| **บังคับ Weight**        | ต้องชั่งก่อน Close Carton หรือ New Carton — ไม่งั้น Error |
| **ไม่บังคับ (Optional)** | ชั่งหรือข้ามก็ได้ — สามารถ Close Carton ได้ทันที          |

### **ขั้นตอน:**

1. สแกนสินค้าลง Carton เรียบร้อยแล้ว

2. วางสินค้าบน **Weight Scale**

3. คลิกปุ่ม **บันทึกน้ำหนัก**

4. ระบบดึงน้ำหนักจาก Scale แสดงบนหน้าจอ → บันทึกเข้า Carton อัตโนมัติ

### ถ่ายรูปสินค้า (Photo)

| Pack Strategy            | พฤติกรรม                                                     |
| ------------------------ | ------------------------------------------------------------ |
| **บังคับ Photo**         | ต้องถ่ายรูปก่อน Close Carton หรือ New Carton — ไม่งั้น Error |
| **ไม่บังคับ (Optional)** | ถ่ายหรือข้ามก็ได้                                            |

### **ขั้นตอน:**

1. สแกนสินค้าลง Carton เรียบร้อยแล้ว

2. คลิกปุ่ม **กล้อง** (Camera)

3. ถ่ายรูป → คลิก **บันทึก**

4. รูปจะแสดงใน Job สามารถดูย้อนหลังได้

---

## 6. การปิดงานแพ็ก (Close Job)

> **เงื่อนไข:** สแกนสินค้าครบทุกรายการใน Job แล้ว

* คลิกปุ่ม **Close Job** บนหน้าจอ หรือกด **Spacebar** บนคีย์บอร์ด

### ผลลัพธ์หลัง Close Job สำเร็จ:

* Packing Job สถานะ = **PACKED**

* DSO สถานะ = **PACKED**

* Inventory: Packing Qty → **Packed Qty**

* *(ถ้า Pack Strategy ตั้งค่า "Print Label When Close Job" → ระบบพิมพ์ Label อัตโนมัติ)*

---

## 7. การพิมพ์ Packing List จากหน้า Pack Station

> ออกได้ทั้ง Status PACKING และ PACKED แต่ข้อมูลจะสมบูรณ์เมื่อ PACKED แล้วเท่านั้น

### พิมพ์ Manual (ทุก Status)

1. ไปที่เมนู **Pack Station** → เข้าใบงาน

2. คลิกปุ่ม **Print Label**

3. ระบบเปิดหน้าต่าง Print ขึ้นมา → ดำเนินการพิมพ์

> 📌 **พิมพ์ซ้ำหลายรอบ:** ระบบ Process ทีละครั้ง (Loading) — ไม่เกิดการพิมพ์ซ้ำซ้อน

### พิมพ์อัตโนมัติตาม Pack Strategy

| ตั้งค่า Strategy            | พิมพ์เมื่อ                            |
| --------------------------- | ------------------------------------- |
| Print Label When New Carton | กด New Carton หรือกด + ทุกครั้ง       |
| Print Label When Close Job  | กด Close Job หรือกด Spacebar ทุกครั้ง |


