🗂️ Schema — การเชื่อมโยงข้อมูล
v2026.05.22-1
← กลับหน้าหลัก
ค้นหา ใช้ในการค้นหาสินค้า Volume คำนวณปริมาตร พิกัด ข้อมูลที่จัดเก็บ แสดงผล แสดงใน UI โซน สร้างแผนผัง ความจุ คำนวณพื้นที่ว่าง
📊 Sheet: นับสตอค — ข้อมูลสินค้าและการจัดเก็บในพิกัด
คอลัมน์ บังคับ ใช้ใน รายละเอียด
SKU ✅ ค้นหา พิกัด แสดงผล ถ้าว่างจะข้ามแถวนั้นทั้งหมด
ใช้ระบุสินค้าใน dropdown, product card, แผนผัง
สินค้า ✅ ค้นหา แสดงผล ค้นหา substring ได้ทุกส่วนของชื่อ
แสดงใน dropdown, product card, tooltip แผนผัง
หมวดหมู่ ⚪ โซน ใช้หา "dominant zone" เมื่อสินค้าใหม่ยังไม่มีพิกัด
นับว่าสินค้าหมวดเดียวกันอยู่ Zone ไหนมากที่สุด → แนะนำ Zone นั้นก่อน
ลิ้งรูป ⚪ แสดงผล URL รูปสินค้า — แสดงใน product card และแถวรูปล่างสุดของแต่ละช่องแผนผัง
ถ้าว่างจะแสดงเป็นกล่องสีแทน
กว้าง ⚪ Volume หน่วย: ซม. — ขนาดของ ลัง (ไม่ใช่ชิ้น)
ถ้าว่างทั้ง 3 ค่า = ไม่สามารถคำนวณปริมาตรได้
ยาว ⚪ Volume
สูง ⚪ Volume
บรรจุ (หน่วย / ลัง) ⚪ — จำนวนชิ้นต่อลัง — เก็บไว้เป็น reference แต่ไม่ได้ใช้ในการคำนวณพื้นที่
จำนวนในพิกัด = ลัง โดยตรง ไม่ต้องหาร
พิกัด1 – พิกัด4 ⚪ พิกัด แสดงผล location_id ที่สินค้าจัดเก็บอยู่ (เช่น A1-2, D3-1)
ใช้จับคู่กับชีทพิกัด — สินค้าหนึ่งตัวมีได้สูงสุด 4 พิกัด
พิกัดที่มีสินค้าอยู่แล้วจะถูกแนะนำก่อน (Consolidation)
จำนวนในพิกัด1 – 4 ⚪ Volume แสดงผล จำนวน ลัง ที่เก็บในพิกัดนั้น
ใช้คำนวณ: used_volume = จำนวนลัง × (กว้าง×ยาว×สูง / 1,000,000)
แสดงเป็นจำนวนช่องสี่เหลี่ยมในแผนผัง defrag
🧮 สูตรคำนวณปริมาตร
volume_per_box (ม³) = กว้าง × ยาว × สูง ÷ 1,000,000

used_volume (ม³) = Σ (จำนวนในพิกัดN × volume_per_box) สำหรับทุกสินค้าในพิกัดนั้น

remaining = capacity_volume − used_volume
📍 Sheet: พิกัด — ความจุและโครงสร้างของแต่ละช่องชั้นวาง
คอลัมน์ บังคับ ใช้ใน รายละเอียด
location_id ✅ โซน ความจุ แสดงผล รูปแบบ: Zone + Aisle + "-" + Level เช่น A3-2
ระบบ parse อัตโนมัติ: Zone=A, Aisle=3, Level=2
ใช้สร้างโครงสร้างแผนผัง (จำนวน aisle, จำนวนชั้น ต่อ Zone)
ถ้าว่างจะข้ามแถวนั้น
capacity_volume ✅ ความจุ หน่วย: ม³ — ความจุสูงสุดของช่องนี้
ใช้คำนวณ remaining = capacity − used
ใช้วาดแผนผัง defrag (100 ช่อง = 100% ของ capacity)
rack ⚪ — ชื่อชั้นวาง — ระบบไม่ได้ใช้ตอนนี้ (parse Zone จาก location_id แทน)
aisle ⚪ — ระบบไม่ได้ใช้ — parse aisle number จาก location_id แทน
level ⚪ — ระบบไม่ได้ใช้ — parse level number จาก location_id แทน
📐 การ Parse location_id → โครงสร้างแผนผัง
A3-2
→
Zone A
Aisle 3
Level 2
→
ระบบ scan ทุก row เพื่อหา maxAisle และ maxLevel ของแต่ละ Zone → สร้าง grid อัตโนมัติ
🔄 Data Flow — เส้นทางข้อมูลจาก Sheet → หน้าจอ
🔍 หน้าค้นหา / แนะนำพิกัด
พิมพ์คำค้น
→
searchProduct(q)
→
scan SKU + สินค้า
→
dropdown (max 20)
เลือกสินค้า + ใส่จำนวนลัง
→
recommendLocations(sku, n)
→
คำนวณ remaining ทุกพิกัด
→
เรียง: มีของอยู่ → หมวดเดียวกัน → best fit
🏗️ หน้าแผนผังชั้นวาง
getRackData()
→
scan Sheet พิกัด → build zones + capMap
→
scan Sheet นับสตอค → คำนวณ used_volume ต่อพิกัด
→
render grid 100 ช่อง (defrag)
ซิ้งอัตโนมัติทุก 2 นาที — ข้อมูลดึงจาก Google Sheets จริงเสมอ
ข้อมูลจาก: Google Sheets — นับสตอค / พิกัด