📅 ตารางเวร
ระบบจัดตารางเวรฟิตเนส — ดูได้โดยไม่ต้องเข้าสู่ระบบ
ยังไม่มีตารางเวรสำหรับเดือนนี้
📖 วิธีคำนวนเวร
📋 ภาพรวม — Two-Pass Algorithm
ระบบแบ่งการจัดเวรออกเป็น 2 รอบ — รอบแรกจัดวันหยุดเพื่อนับตัวเลขให้ถูกก่อน แล้วนำมาปรับสมดุลในรอบที่ 2
Pass 1 · วันหยุด
จัดให้ กลุ่ม 2 ก่อน เพื่อนับ holiday_count ให้ถูกต้อง
Pass 2 · วันธรรมดา
จัดให้ กลุ่ม 1 + กลุ่ม 2 โดยใช้ตัวเลขจาก Pass 1
👥 กลุ่มพนักงาน
| กลุ่ม | เข้าเวรวันใด | ใช้ใน Pass |
|---|---|---|
| กลุ่ม 1 | วันธรรมดาเท่านั้น | Pass 2 |
| กลุ่ม 2 | ทุกวัน (หยุด + ธรรมดา) | Pass 1 + Pass 2 |
🏖️ Pass 1 — วันหยุด
คัดกรอง
- Gap limiter: จำนวนเวรหยุดสะสมต้องไม่ห่างจากคนที่น้อยสุดเกิน 1 เวร และจำนวนรวมก็เช่นกัน
- Rest gap: ต้องห่างจากเวรครั้งล่าสุดอย่างน้อย 20 วัน
- Floor exception: ยังไม่ได้เวรเดือนนี้เลย → ข้ามกฎ gap เสมอ
เรียงลำดับ
- เวรหยุดสะสม น้อยสุดก่อน
- เวรรวม (หยุด + ธรรมดา) น้อยสุดก่อน
- ยังไม่ได้เวรเดือนนี้ ขึ้นก่อน
- วันเวรล่าสุด นานสุดก่อน
- ID พนักงาน (tiebreak)
💼 Pass 2 — วันธรรมดา
คัดกรอง
- กลุ่ม 1: ผ่านทุกคน ไม่มี gap filter
- กลุ่ม 2 — Gap limiter: เวรธรรมดาสะสมต้องไม่ห่างจากคนที่น้อยสุดในกลุ่ม 2 เกิน 1 เวร
- Rest gap: ต้องห่างจากเวรครั้งล่าสุดอย่างน้อย 20 วัน
- Floor exception: ยังไม่ได้เวรเดือนนี้เลย → ข้ามกฎ gap เสมอ
เรียงลำดับ
- เวรธรรมดาสะสม น้อยสุดก่อน
- ยังไม่ได้เวรเดือนนี้ ขึ้นก่อน
- วันเวรล่าสุด นานสุดก่อน
- ID พนักงาน (tiebreak)
⏳ กฎพักระหว่างเวร & 🛡️ ประกันขั้นต่ำ
Rest gap 20 วัน — แต่ละคนต้องห่างจากเวรครั้งล่าสุดอย่างน้อย 20 วัน (soft constraint — fallback ถ้าทุกคนไม่ผ่าน)
Floor guarantee — ถ้าจำนวนพนักงาน ≤ จำนวนสล็อตเดือนนั้น ทุกคนรับประกันได้เวร ≥ 1 ครั้ง/เดือน
ต้องการจัดการตาราง?เข้าสู่ระบบ →