🗂️ 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 — นับสตอค / พิกัด