การตรวจสอบข้อมูลบันทึกเที่ยวรถ

ภาพ: หน้ารายการข้อมูลบันทึกเที่ยวรถ
เมนู ข้อมูลบันทึกเที่ยวรถ คือหน้าตรวจงานจริงหลังจากมีการสร้างแผนเที่ยวใน Trip Record
หรือหลังจากพนักงานขับรถบันทึกข้อมูลภาคสนามแล้ว
หน้าจอนี้ใช้สำหรับ:
- ตรวจความครบถ้วนของข้อมูลเที่ยวรถ
- แก้ไขรายการที่ยังไม่ถูกอนุมัติ
- อนุมัติรายการเพื่อให้ข้อมูลไหลไปคำนวณรายได้และวางบิล
- export รายการที่ค้นหาออกเป็น Excel
หน้านี้ต่างจาก Trip Record อย่างไร
Trip Recordเน้นการวางแผนและจัดตารางเที่ยวTrip Historyเน้นการตรวจผลการปฏิบัติงานจริงและสถานะอนุมัติ
ทั้งสองหน้าใช้ข้อมูลชุดเดียวกันเป็นหลัก แต่ต่างกันที่มุมมองและ action ที่ผู้ใช้ทำได้
ตัวกรองบนหน้าจอ
จาก schema และ query จริงของหน้า ระบบรองรับตัวกรองดังนี้
ลูกค้า- เป็นตัวกรองหลัก
- ถ้าไม่เลือกลูกค้า ระบบจะยังไม่ query list
สัญญา- เป็น optional
- ใช้แคบผลลัพธ์ให้อยู่เฉพาะสัญญาที่ต้องการ
วันที่ทำรายการ- เป็น optional
- ใช้เจาะรายการของวันปฏิบัติงาน
สถานะอนุมัติ- เลือกได้ระหว่าง
อนุมัติและรออนุมัติ
- เลือกได้ระหว่าง
ระบบดึงข้อมูลอย่างไร
เมื่อกดค้นหา หน้า Trip History จะส่ง query ไปที่ GET /trip-records
โดยใช้ parameter หลักดังนี้
customerIdcontractIdselectedDateisApprovedpagepageSize
จุดนี้สำคัญเพราะหมายความว่า Trip History ไม่ได้มีฐานข้อมูลแยกจาก Trip Record
แต่เป็นการเปิดดูข้อมูล trip-records ในมุมของการตรวจสอบย้อนหลัง
ตารางรายการแสดงอะไรบ้าง
จากคอลัมน์จริงใน TripHistoryTable
ผู้ใช้งานจะเห็นข้อมูลสำคัญ เช่น
- ชื่อสัญญา
- สายรถ
- เวลาและประเภทเที่ยว
IN / OUT - สถานะ
Shift / Office - รหัสรถ
- ชื่อพนักงานขับรถ
- เลขไมล์เริ่มต้นและสิ้นสุด
- วันที่เวลาเริ่มต้นและสิ้นสุดการเดินรถ
- จำนวนผู้โดยสาร
- สถานะอนุมัติ
ถ้ารายการยังไม่อนุมัติ ระบบจะแสดงปุ่ม ดู, แก้ไข, และ ลบ
แต่ถ้ารายการอนุมัติแล้ว ระบบจะเหลือ action แค่ ดู
การอนุมัติรายการ
หน้า list รองรับการอนุมัติหลายรายการพร้อมกัน โดยมีเงื่อนไขจากโค้ดจริงดังนี้
- ต้องมี permission สำหรับอนุมัติ
- ต้องเลือกรายการที่
ยังไม่อนุมัติ - ทุกรายการที่เลือกต้องมีทั้ง
odometerStartและodometerEnd
ถ้ารายการใดไม่มีเลขไมล์ต้นหรือปลาย ระบบจะ block ทันที และแจ้งข้อความว่าไม่สามารถอนุมัติได้
เมื่อผ่านเงื่อนไขแล้ว ระบบจะยิง PATCH /trip-records/approve
พร้อม array ของ ids
การแก้ไขและการลบ
จากตารางจริง
- รายการที่
ยังไม่อนุมัติ- แก้ไขได้
- ลบได้
- รายการที่
อนุมัติแล้ว- ดูรายละเอียดได้อย่างเดียว
ดังนั้นถ้าฝ่ายปฏิบัติการต้องแก้ข้อมูลภายหลัง ควรทำก่อนกดอนุมัติ หรือมี process ชัดเจนสำหรับย้อนแก้ไขที่ backend
การ Export Excel
ปุ่ม Export Excel อยู่ด้านบนของหน้าและใช้ผลการค้นหาปัจจุบันเป็นฐาน
endpoint ที่ใช้จริงคือ GET /trip-records/export
ระบบจะส่ง filter ชุดเดียวกับหน้าจอ เช่น
customerIdcontractIdselectedDateisApprovedpagepageSize
ในโค้ดหน้า list ตั้งค่า export เป็น page=1 และ pageSize=1000
ดังนั้น export จะพยายามดึงข้อมูลกว้างกว่าที่แสดงอยู่ใน table หน้าแรก
วิธีใช้งานที่แนะนำ
- เลือก
ลูกค้า - ถ้าต้องการ ให้เลือก
สัญญา,วันที่ทำรายการ, และสถานะอนุมัติ - กดค้นหา
- ตรวจรายการที่ต้องการอนุมัติ โดยดูเลขไมล์ต้นและปลายก่อนเสมอ
- ถ้าข้อมูลยังผิด ให้แก้ไขจาก action ในแถว
- เมื่อข้อมูลครบแล้วค่อยกด
อนุมัติ - ถ้าต้องส่งต่อฝ่ายอื่น ให้ใช้
Export Excel
จุดที่ต้องระวัง
- ถ้าไม่เลือกลูกค้า ระบบจะไม่แสดงข้อมูล
- รายการที่อนุมัติแล้วไม่สามารถแก้ไขจากหน้า list ได้
- การอนุมัติจะไม่ผ่านถ้ายังไม่มี
เลขไมล์เริ่มต้นหรือเลขไมล์สิ้นสุด - ข้อมูลที่อนุมัติแล้วจะถูกใช้ต่อในรายได้นักขับและเอกสารการเงิน
หน้านี้เชื่อมกับอะไรบ้าง
อ้างอิงโค้ด
atp30-tos-frontend/src/views/pages/trip-history/index.tsxatp30-tos-frontend/src/views/pages/trip-history/TripHistoryTable.tsxatp30-tos-frontend/src/hooks/useTripHistory.tsatp30-tos-frontend/src/api/trip-history.tsatp30-tos-frontend/src/types/triphistory.ts