🚛 Fleet Monitoring Polaris — Google Sheet sync
ยังไม่ได้เชื่อมต่อ
⚠ ยังไม่ได้เชื่อมต่อ Google Sheet — ข้อมูลที่เห็นตอนนี้เป็นค่าว่าง
📅 ช่วงข้อมูล
มีผลกับทุกหน้า: Tracking · Dashboard · Order · Customer · Transporter · Safety · รูปส่งของ

🗺 แผนที่ติดตามรถ

— คัน
มุ่งหน้าต้นทาง อยู่ต้นทาง/โหลดสินค้า กำลังวิ่ง ถึงปลายทาง มีปัญหา

📋 สถานะการจัดส่งรายลูกค้า

คลิกแถวเพื่อกรองรถที่วิ่งงาน

🚛 รถที่วิ่งงาน

ลูกค้า → สินค้า → ต้นทาง/ปลายทาง → ผู้ขนส่ง

แนวโน้ม 7 วันล่าสุด — เที่ยวที่ส่งสำเร็จ

Delivered / day

สัดส่วนสินค้า

วันนี้

Performance รายลูกค้า (Top)

คลิกชื่อลูกค้าเพื่อกรองผู้ขนส่ง

Performance รายผู้ขนส่ง

รายการ Order

👥 รายชื่อลูกค้า

🚚 รายชื่อผู้ขนส่ง

🦺 หัวข้อ Safety

กราฟสรุปรายผู้ขนส่ง

📊 ตารางสรุปรายผู้ขนส่ง × หัวข้อ Safety

คลิกชื่อผู้ขนส่งหรือตัวเลขเพื่อดูรายละเอียดคนขับ

📷 รูปส่งของ

กลุ่มสินค้า → ลูกค้า → ผู้ขนส่ง → วันที่

เลือกรายการทางซ้ายเพื่อดูรูป

ยังไม่ได้เลือกรายการ

📷 รูปส่งของ

รายละเอียด Order

➕ เพิ่มแผนจัดส่ง (Order ใหม่)

รายละเอียด Safety

⚙ ตั้งค่าการเชื่อมต่อ Google Sheet

ยังไม่เคยตั้งค่า Google Sheet? ดูคู่มือตั้งค่าเบื้องต้น

📘 คู่มือตั้งค่า Google Sheet + Apps Script

1) สร้าง Google Sheet

  1. สร้าง Google Sheet ใหม่ 1 ไฟล์ — ใช้เป็นฐานข้อมูลกลางของ Fleet Monitoring
  2. ไม่ต้องสร้างแท็บ/หัวคอลัมน์เอง — ขั้นตอนที่ 3 จะสร้างให้อัตโนมัติ

2) วางโค้ด Apps Script

  1. เมนู Extensions (ส่วนขยาย) → Apps Script
  2. ลบโค้ดเดิมทั้งหมด แล้ววางโค้ดด้านล่างนี้แทน

3) สร้างชีต + หัวคอลัมน์อัตโนมัติ

  1. ในหน้า Apps Script เลือกฟังก์ชัน setupSheets จาก dropdown ด้านบน แล้วกด Run ▶
  2. อนุญาตสิทธิ์ที่ขอ (Authorize access) — ระบบจะสร้างแท็บ Orders, Plans, Allocations, Trips, Vehicles, Carriers, Customers พร้อมหัวคอลัมน์ให้ทันที

4) (ไม่บังคับ) ตั้งรหัสผ่าน API กันคนอื่นเขียนข้อมูลเข้ามา

  1. ไอคอนเฟือง Project Settings → Script Properties → Add script property
  2. Property = API_TOKEN, Value = รหัสผ่านที่ต้องการ

5) Deploy เป็น Web App

  1. Deploy → New deployment → เลือกประเภท Web app
  2. Execute as: Me · Who has access: Anyone
  3. กด Deploy แล้วคัดลอก Web app URL ที่ได้
  4. นำ URL (และ Token ถ้าตั้งไว้) ไปใส่ในปุ่ม ⚙ ตั้งค่าการเชื่อมต่อ ของหน้านี้

6) โครงสร้างคอลัมน์แต่ละชีต (Order → Plan → Allocation → Trip)

แยกตามลำดับชั้นข้อมูลของ Master Plan: Order (ความต้องการของลูกค้า) → Plan (แผนดำเนินงาน มีเวอร์ชันได้) → Allocation (ส่วนงานที่จัดให้ผู้ขนส่งแต่ละราย — 1 Plan แบ่งให้หลาย Allocation/ผู้ขนส่งได้) → Trip (รถจริง 1 คัน/1 เที่ยว ที่มีทะเบียนแล้ว)
Orders — ความต้องการของลูกค้า
Plans — แผนดำเนินงาน (ต่อ Order)
Allocations — จัดสรรงานให้ผู้ขนส่งแต่ละราย + จำนวนที่ "ยืนยัน" (ConfirmedTrips)
Trips — ทะเบียนรถที่ยืนยันแล้วจริง + ตำแหน่งติดตาม
Vehicles — ทะเบียนรถกลาง (เติมอัตโนมัติทุกครั้งที่ยืนยันรถ)
Carriers / Customers — ข้อมูลเสริม (ไม่บังคับ)

⚠ "คอนเฟิร์ม" กับ "ทะเบียนพร้อม" คือคนละตัวเลข

  • ConfirmedTrips (บนชีต Allocations) = จำนวนเที่ยวที่ผู้ขนส่ง "รับปาก" ไว้ — กดยืนยันจำนวนได้จากปุ่ม "✅ ยืนยันจำนวนเที่ยว" ในหน้า Order โดยไม่ต้องรู้ทะเบียนก็ยืนยันจำนวนได้ก่อน
  • Plate Ready = นับจากจำนวนแถวจริงในชีต Trips ที่มีทะเบียนกรอกแล้ว (ปุ่ม "🚛 เพิ่มทะเบียนรถ")
  • ตัวอย่าง: แผน 8 / คอนเฟิร์ม 6 / ทะเบียนพร้อม 4 → ทั้งสามค่านี้แสดงแยกกันเสมอ ไม่ถูกปัดให้เท่ากัน และถ้าลดจำนวนคอนเฟิร์มลงต่ำกว่าทะเบียนที่กรอกไปแล้ว ระบบจะไม่ลบทะเบียนที่กรอกไว้ให้เอง (ต้องไปจัดการในชีต Trips เอง)

🛰 เรื่องตำแหน่งรถบนแผนที่ (tracking)

  • แผนที่ในหน้านี้อ่านตำแหน่งจากคอลัมน์ Lat/Lng ในชีต Trips ทุกครั้งที่ sync
  • ถ้ามีระบบ GPS/Telematics ของรถอยู่แล้ว ให้ตั้งให้ระบบนั้นเขียนพิกัดล่าสุดกลับเข้าคอลัมน์นี้เป็นระยะ (เช่นทุก 1-2 นาที) — หมุดจะขยับตามจริงทันทีที่หน้านี้ sync รอบถัดไป
  • ถ้ายังไม่มีระบบ GPS ให้ทีมงานอัปเดตสถานะเองได้จากป๊อปอัปบนแผนที่ หรือในหน้ารายละเอียด Order

📋 เทียบกับ PROFIT HAUL Master Plan — ทำอะไรไปแล้ว / ยังไม่ทำ

  • ทำแล้ว (เทียบเท่า Phase 0 บางส่วน): Business Reference คงที่ (ORD-/PLAN-/ALLOC-/TRIP-), แยกชั้น Order→Plan→Allocation→Trip, แยก ConfirmedTrips ออกจาก Plate Ready จริง, ใช้ Ref เป็น key ค้นหาแถวเสมอ (ไม่พึ่ง row number)
  • ยังไม่ทำ (รอ Phase ถัดไปหรือรอข้อมูลจาก vendor): LINE dispatch bot + webhook (Phase 1) — หน้านี้ใช้ฟอร์มเว็บยืนยันตรงแทน; Plan Versioning/Audit เต็มรูปแบบ, Master data validation matrix (Phase 0); PostgreSQL backend + REST API (Phase 2); GPS Provider Adapter, Vehicle Matching, Geofence, Trip Status Engine (Phase 3) — คอลัมน์ Lat/Lng เตรียมไว้ให้ระบบ GPS ของผู้ขนส่งเขียนกลับเข้ามาได้ทันทีที่มี API จาก vendor แต่ตอนนี้ยังต้องอัปเดตสถานะ/ตำแหน่งด้วยมือผ่านหน้าเว็บนี้; Role-based permission, Dashboard KPI Dictionary/reconciliation เต็มรูปแบบ (Phase 4-5); AI/Optimization (Phase 6)
  • เมื่อคุยกับผู้ขนส่งแต่ละรายได้ข้อมูล API ของ GPS platform แล้ว ค่อยต่อยอดเป็น GPS Adapter (Phase 3) แล้วให้ค่า Lat/Lng ในชีต Trips ถูกเขียนโดยอัตโนมัติแทนการกรอกมือ — โครงสร้างข้อมูลตอนนี้รองรับการเปลี่ยนผ่านนี้ได้โดยไม่ต้องแก้ schema