Tab 4

# Queue

Queue คือจุดที่แปลงไฟล์ที่เลือกและค่า Setup เป็นแผนงานจริง ก่อนกด Start ต้องตรวจหน้านี้ให้ครบ

## Build ทำอะไร

Build จะอ่านไฟล์ที่เลือกตาม lookup mode หา SKU/ชื่อสินค้า เลือก final action และคำนวณ planned time ตาม Setup

## CSV mode และ SKU mode

โหมด | รูปแบบชื่อไฟล์ | พฤติกรรม
--- | --- | ---
`CSV mode` | `10004 product.mp4` | ค่าเริ่มต้น อ่าน 5 หลักแรกแล้ว resolve/rotate ผ่าน Product Map และใช้ fallback ตาม Setup เดิม
`SKU mode` | `1733045025334920483_product.mp4` | ติ๊ก checkbox ก่อน Build ระบบใช้ numeric token ต้นชื่อไฟล์ค้นหาใน Shop Catalog โดยตรง เติมชื่อสินค้าจาก catalog และไม่ต้องมี CSV ID

SKU mode เป็น strict mode: ถ้าชื่อไฟล์ไม่มี numeric SKU, SKU ใน Queue ไม่ตรง filename หรือ TikTok เลือก exact SKU ไม่สำเร็จ รายการจะ fail ก่อน submit และจะไม่โพสต์โดยไม่มีสินค้าที่ระบุ

## Step by step - สร้าง Queue

1. เลือกไฟล์ในแถบ `Files` ให้เรียบร้อย
2. ตั้งค่าโหมดใน `Setup` ให้ถูกต้อง
3. เปิดแถบ `Catalog` แล้วกด `Auto Scan` หรือ `Open + Scan` ให้มี snapshot ก่อน
4. เปิดแถบ `Queue` เลือก `SKU mode` เมื่อ filename ใช้ SKU โดยตรง แล้วกด `Build`
5. ตรวจคอลัมน์ File, Time, Mode, Product และ Status
6. ถ้าลำดับไม่ถูก ให้ลากแถวเพื่อ reorder ได้
7. ถ้า Product ว่างหรือ SKU ผิด ให้กลับไปแก้ใน Products/Catalog แล้ว Build ใหม่
8. เลือก TikTok tab ด้านบนของ panel
9. กด `Start` เมื่อพร้อม

## ปุ่มควบคุม

ปุ่ม | หน้าที่
--- | ---
`Build` | สร้างแผนจากไฟล์และค่า Setup ล่าสุด
`SKU mode` | ใช้เลขนำหน้าชื่อไฟล์เป็น exact SKU แล้ว map จาก Shop Catalog; ถ้า catalog ว่างหรือไม่มี SKU จะล้าง Queue และต้องสแกนใหม่
`Export` | export report ของ session ปัจจุบันเป็น JSON
`Start` | เริ่มทำงานตาม Queue
`Stop` | หยุดหลังจากระบบรับคำสั่งหยุด
`Resume` | ทำงานต่อจากสถานะ pause/saved progress เมื่อมีข้อมูลรองรับ
`Retry` | รันรายการที่ failed ใหม่

ตรวจก่อน Start: ถ้าโหมดเป็น Post Now ระบบจะพยายามโพสต์จริงเมื่อถึงขั้นสุดท้าย ต้องตรวจ Queue และ TikTok tab ให้ถูกก่อนกด Start

## สถานะที่เจอได้

- `Pending`: รอทำงาน
- `Running`: กำลังทำรายการนั้น
- `Done`: สำเร็จ
- `Failed`: ล้มเหลว กด badge/error เพื่อดูรายละเอียด แล้วใช้ Retry ได้