Skip to main content

Step 3: เงื่อนไขรายได้

Step นี้ใช้เพิ่มรายได้พิเศษนอกเหนือจากราคาหลัก

หน้าสร้างสัญญา Step 3

ใช้ทำอะไร​

  • เปิด/ปิดรายได้พิเศษแต่ละรายการด้วย switch
  • ระบุอัตราเงินต่อหน่วยเมื่อเปิดใช้งาน
  • กำหนดรายได้ที่เกิดจากเงื่อนไขงานจริง เช่น OT, วันอาทิตย์, วันหยุด, งานเกิน, หรือค่ากะ

รายการที่แสดงตาม group​

  • กลุ่ม D และ E จะเห็นครบทุกตัวเลือก
  • กลุ่มอื่นจะเห็นเฉพาะ
    • รถบัสเที่ยวที่ 87/ต่อเดือน
    • รถ van เที่ยวที่ 5/ต่อวัน
    • เที่ยวที่ 3
    • ค่ากิโลเมตรเกิน
    • ค่ากะ
    • ค่าชาร์จไฟ

จุดที่โค้ดบังคับจริง​

  • ถ้าเปิดใช้งานรายการใด ต้องกรอก รายได้/ต่อหน่วย
  • ถ้าไม่กรอก ระบบจะไม่ให้สร้างสัญญาต่อ
  • Step นี้เป็นด่านสุดท้ายก่อนกดสร้างสัญญาจริง

สิ่งที่ควรจำ​

  • รายได้พิเศษจะมีผลต่อการคำนวณเงินจริง
  • ควรตรวจว่าทุก switch ที่เปิดไว้มี rate ครบก่อนบันทึก

วิธีเข้าใจ OT แบบ OVER_HOUR​

ถ้าในสัญญาเลือกเงื่อนไข OT เป็น OVER_HOUR ระบบจะใช้กติกา "ทำงานเกิน 8+1 ชั่วโมง"

  • ระบบดูเวลาของวันนั้นจาก standby เริ่มรายการแรก ถึง standby จบรายการสุดท้าย
  • ถ้าเวลารวม ไม่เกิน 9 ชั่วโมง จะยังไม่เกิด OT
  • ถ้าเวลารวม เกิน 9 ชั่วโมง จะนับเฉพาะ "ส่วนที่เกิน" เป็น OT

การปัดเศษชั่วโมง OT​

  • เศษต่ำกว่า 15 นาที ไม่นับเพิ่ม
  • เศษตั้งแต่ 15 ถึง 44 นาที ปัดเป็น 0.5 ชั่วโมง
  • เศษตั้งแต่ 45 นาที ขึ้นไป ปัดเป็น 1 ชั่วโมง

ตัวอย่าง​

  • 9 ชั่วโมง 10 นาที = ยังไม่มี OT
  • 9 ชั่วโมง 20 นาที = OT 0.5 ชั่วโมง
  • 9 ชั่วโมง 50 นาที = OT 1 ชั่วโมง
  • 10 ชั่วโมง 20 นาที = OT 1.5 ชั่วโมง

หมายเหตุ: ถ้าสัญญาเลือก TIME_PERIOD ระบบจะไม่ใช้กติกา 9 ชั่วโมง แต่จะคิด OT จากเวลาที่อยู่นอกกรอบเวลาทำงานที่กำหนดแทน เช่น ก่อน 08:00 หรือหลัง 17:00

อ้างอิงโค้ด​

  • /Users/chanchaitasujai/Project-ATP30/atp30-core-api/src/contracts/contracts.service.ts
  • /Users/chanchaitasujai/Project-ATP30/atp30-core-api/src/trip-records/utils/ot-calculation.util.ts