Features
TMS — Transport Management
งานขนส่ง (Shipment)
สร้างและติดตามงานขนส่งตั้งแต่ต้นจนจบ
สถานะ (lifecycle):
สร้างใหม่ → จัดรถแล้ว → กำลังหยิบสินค้า → ขึ้นของแล้ว → กำลังจัดส่ง → ส่งถึงแล้ว → เสร็จสมบูรณ์
↓ ↓
ยกเลิก ส่งไม่สำเร็จ → กำลังจัดส่ง (retry)
ฟีเจอร์หลัก:
- สร้างงานขนส่งพร้อมรายการสินค้า (คำนวณน้ำหนักรวมอัตโนมัติ)
- จัดรถและคนขับ → ระบบสร้าง Trip อัตโนมัติ
- ไทม์ไลน์สถานะพร้อมพิกัด GPS และหมายเหตุ
- ออก Outbound WMS อัตโนมัติเมื่อเข้าสถานะ "กำลังหยิบสินค้า"
ลิงก์ติดตามสถานะ (Public Tracking)
ลูกค้าสามารถติดตามสถานะงานขนส่งได้โดยไม่ต้องล็อกอิน
URL: /tracking/t/<tracking_token>
แสดงผล:
- เลขที่งาน, ชื่อลูกค้า, ปลายทาง, วันนัดส่ง, badge สถานะ
- การ์ดผู้ส่งสินค้า — ชื่อคนขับ + ปุ่มโทรเลย + ทะเบียนรถ (แสดงเมื่อจัดรถแล้ว)
- Milestone timeline 7 ขั้น พร้อมเวลาและหมายเหตุ
- หน้าจอพิเศษสำหรับสถานะยกเลิก/ส่งไม่สำเร็จ
- Auto-refresh ทุก 60 วินาที
ลิงก์: ปรากฏในหน้า detail ของงานขนส่ง พร้อมปุ่มคัดลอก
Token: UUID-safe 32-byte สร้างอัตโนมัติเมื่อสร้างงาน ไม่มีวันหมดอายุ
การติดตาม GPS (Fleet Tracking)
- คนขับส่ง GPS ping ผ่าน
/api/tracking/positionทุก 5 วินาที (เมื่อเปิดแชร์ตำแหน่ง) - Dispatcher เห็นแผนที่ Fleet แบบ real-time ที่
/tracking/ - บันทึกพิกัดใน
vehicle_positionsและแนบกับshipment_status_log
WMS — Warehouse Management
รับของเข้า (Inbound)
- สร้าง Inbound document พร้อมรายการสินค้าและ lot number
- ยืนยัน → เพิ่ม stock อัตโนมัติ (StockMovement type: IN)
- รองรับ lot tracking (
track_lot = Trueต่อสินค้า)
จ่ายของออก (Outbound + Pick List)
- สร้างจาก Shipment อัตโนมัติ หรือสร้างเองก็ได้
- ระบบสร้าง Pick List แบบ FEFO (First Expired First Out) อัตโนมัติ
- ยืนยัน → ตัด stock (StockMovement type: OUT)
Stock
- ดู stock ปัจจุบันแยกตามสินค้า/คลัง/lot
- แจ้งเตือน low stock (เมื่อ stock <
min_stock) - ดู stock movement history
Masters — ข้อมูลหลัก
| Entity | Fields หลัก | หมายเหตุ |
|---|---|---|
| ลูกค้า | code, name, phone, address, lat/lng | พิกัดใช้กับ fleet map |
| รถ | plate_no, vehicle_type, capacity_kg, status | สถานะ: ว่าง/วิ่งงาน/ซ่อม |
| คนขับ | full_name, license_no, phone, user_id | เชื่อมกับ User role=DRIVER |
| สินค้า | sku, name, uom, weight_kg, track_lot, min_stock | |
| คลัง | code, name, address | |
| Location | warehouse/zone/bin | สำหรับ pick list |
Reports
| รายงาน | URL | Export |
|---|---|---|
| สรุปงานขนส่ง | /reports/shipments |
CSV |
| Trip log | /reports/trips |
CSV |
| Stock คงเหลือ | /reports/stock |
CSV |
| Stock movement | /reports/stock-movements |
CSV |
Auth
- Session-based login (Flask-Login)
- CSRF protection ทุก form (Flask-WTF)
- Role-based access control ทุก route
- Remember me (persistent session)

