/**
* ═══════════════════════════════════════════════════════════════════════════
* ระบบจัดตารางกะทำงาน · Shift Management
* ระบบที่ 43/100 — กลุ่มงานบุคคล (HR) & จัดการเวลาทำงาน
* ───────────────────────────────────────────────────────────────────────────
* ปัญหาที่แก้ : "จัดตารางกะใน Excel ทุกสัปดาห์ ใช้เวลา 3 ชั่วโมง ·
* จัดเสร็จแล้วเพิ่งรู้ว่าคนนี้ออกกะดึกแล้วเข้ากะเช้าเลย ·
* คนขอลาแล้วลืม จัดทับวันลา ·
* พนักงานอยากสลับกะกันเอง ต้องมาถาม HR ทุกครั้ง ·
* วันไหนคนไม่พอ รู้อีกทีตอนเช้าวันนั้น"
*
* ⭐ จุดเด่นที่สุด = 🚨 ตรวจความขัดแย้งอัตโนมัติ 6 แบบ
* 1. ชนกะ (คนเดียวถูกจัด 2 กะในวันเดียว)
* 2. พักไม่พอระหว่างกะ ← จุดที่ Excel ตรวจให้ไม่ได้ และอันตรายที่สุด
กรอกอีเมลด้านขวาเพื่อดูโค้ดเต็มและคัดลอก
ฟรี ไม่มีค่าใช้จ่าย
ติดตั้งยังไง (ประมาณ 10 นาที)
- 1 แตกไฟล์ ZIP จะได้ Code.gs · index.html · appsscript.json และคู่มือ README.md
- 2 เปิด script.google.com → New project → Project Settings ติ๊ก Show "appsscript.json"
- 3 วางเนื้อหา appsscript.json และ Code.gs แล้วกด + → HTML ตั้งชื่อ index วาง index.html
- 4 เลือกฟังก์ชัน setup → กด Run → อนุญาตสิทธิ์ ระบบจะสร้าง Google Sheet ให้เอง
- 5 Deploy → New deployment → Web app แล้วเปิดลิงก์ที่ได้ใช้งานได้เลย
📘 ขั้นตอนละเอียด การตั้งค่า (เช่น LINE Token ใน Script Properties) โครงสร้างชีต และคำถามที่พบบ่อย อยู่ในไฟล์ README.md ที่แนบใน ZIP — เปิดด้วย Notepad หรือ VS Code ได้เลย
⚠️ ตอนกด Run ครั้งแรก Google จะขึ้นเตือนว่า “แอปนี้ยังไม่ได้รับการยืนยัน” เป็นเรื่องปกติของสคริปต์ที่เราเขียนเอง กด Advanced → Go to (ชื่อโปรเจกต์) เพื่อไปต่อ · สคริปต์ทำงานในบัญชี Google ของคุณเอง เราไม่เห็นไฟล์ของคุณ
เกี่ยวกับเครื่องมือนี้
ปัญหาที่เจอกันจริง • จัดตารางใน Excel ทุกสัปดาห์ — ใช้เวลา 3 ชั่วโมง และยังผิดอยู่ดี • จัดเสร็จเพิ่งรู้ว่าคนนี้ออกกะดึกแล้วเข้ากะเช้าเลย — คนล้า เสี่ยงอุบัติเหตุ · ต้องรื้อทั้งตาราง • คนขอลาแล้วลืม จัดทับวันลา — พนักงานเสียความรู้สึก · ต้องหาคนแทนกะทันหัน • วันไหนคนไม่พอ รู้อีกทีตอนเช้าวันนั้น — โทรตามคนตอน 6 โมงเช้า • พนักงานอยากรู้ตารางตัวเอง ต้องมาถ่ายรูปบอร์ด — เห็นไม่ชัด · จำผิด · มาผิดกะ จุดเด่นที่สุด — 🚨 ตรวจความขัดแย้งอัตโนมัติ 6 แบบ นี่คือสิ่งที่ Excel ทำให้ไม่ได้ และเป็นเหตุผลเดียวที่ระบบนี้มีอยู่ • 1 — ชนกะ — คนเดียวถูกจัด 2 กะทับเวลากัน — เห็นชัดใน Excel ก็ต่อเมื่อไล่ดูทีละคน • 2 — พักไม่พอระหว่างกะ ⭐ — จุดที่อันตรายที่สุด และ Excel ตรวจไม่ได้เลย ออกกะดึก 06:00 แล้วเข้ากะบ่าย 14:00 = พักแค่ 8 ชม. • 3 — ทำติดต่อกันเกินกี่วัน — กฎหมายให้มีวันหยุดประจำสัปดาห์อย่างน้อย 1 วัน (ม.28) • 4 — เกินเพดานชั่วโมงรายสัปดาห์ — ม.23 กำหนดไม่เกิน 48 ชม./สัปดาห์ สำหรับงานทั่วไป • 5 — จัดทับวันที่พนักงานขอหยุด (อนุมัติแล้ว) — จุดที่คนลืมบ่อยที่สุด — ขอไว้เดือนที่แล้ว จัดตารางเดือนนี้ลืมสนิท • 6 — คนไม่พอตามจำนวนขั้นต่ำของกะ + ทักษะไม่ตรง — รู้ตอนจัด ไม่ใช่รู้ตอนเช้าวันนั้น ระบบแบ่งเป็น 2 ระดับ: • 🚨 ต้องแก้ (ข้อ 1–5 และกะที่ไม่มีคนเลย) → ประกาศตารางไม่ได้จนกว่าจะแก้หมด • ⚠️ ควรทบทวน (คนไม่ครบขั้นต่ำแต่ยังมีคนอยู่ · ทักษะไม่ตรง) → ประกาศได้ แต่เห็นชัด ตัวอย่างข้อความจริงที่ระบบขึ้น 🚨 พักไม่พอ · 15 ก.ค. 2568 สมชาย ใจดี ออก กะดึก 06:00 แล้วเข้า กะบ่าย 14:00 — พักแค่ 8 ชม. (ต้อง ≥ 11) 🚨 ทับวันขอหยุด · 20 ก.ค. 2568 มาลี รักงาน ขอหยุดวันที่ 20 ก.ค. 2568 (อนุมัติแล้ว: ไปงานแต่งญาติ) แต่ถูกจัด กะเช้า ความสามารถอื่น ๆ 📅 ตารางแบบกริด อ่านง่าย แถว = กะ · คอลัมน์ = วัน · แต่ละช่องแสดงชื่อคนเป็น chip สีตามกะ • ช่องที่คนไม่ครบ = พื้นแดง + บอกว่าขาดกี่คน • chip ที่มีปัญหา = ขอบแดง/ส้ม + ไอคอน 🚨/⚠️ • ✎ = ยังเป็นร่าง · ⏭ = กะข้ามคืน · วันนี้ไฮไลต์สีแบรนด์ · เสาร์-อาทิตย์สีเทา • คลิกชื่อเพื่อแก้ · คลิก + เพื่อเพิ่มคน ⏰ รองรับกะข้ามคืนอย่างถูกต้อง กะดึก 22:00–06:00 ระบบคำนวณเป็นช่วงเวลาจริงข้ามวัน ไม่ใช่ติดลบ let to = day + shift.end * 60000; if (shift.end <= shift.start) to += 86400000; // ข้ามคืน การตรวจ "พักไม่พอ" จึงถูกต้องแม้ข้ามวัน — จุดที่สูตร Excel มักพัง 🙋 พนักงานดูตารางเองจากมือถือ ลิงก์เฉพาะตัว ไม่ต้องล็อกอิน เห็น: • กะถัดไป เด่นชัดบนหัวจอ (บอกด้วยว่า "วันนี้"/"พรุ่งนี้") • ชั่วโมงสัปดาห์นี้ · จำนวนกะข้างหน้า · เพดานของตัวเอง • ตาราง 5 สัปดาห์ข้างหน้า (เฉพาะที่ประกาศแล้ว) • ปุ่มขอหยุด ในแต่ละวัน — กดแล้วเติมวันที่ให้อัตโนมัติ ✋ ขอหยุดออนไลน์ + อนุมัติ พนักงานส่งคำขอ → HR ได้อีเมล → อนุมัติ/ไม่อนุมัติ → พนักงานได้อีเมลแจ้งกลับ อนุมัติแล้ว ระบบเตือนทันทีถ้ามีตารางทับอยู่ และกันไม่ให้จัดทับในครั้งต่อไป 📣 ประกาศตาราง + ส่งอีเมลรายบุคคล เปลี่ยนสถานะร่าง → ประกาศแล้ว และส่งอีเมลตารางให้แต่ละคน แต่ละคนเห็นเฉพาะตารางของตัวเอง ไม่ใช่ตารางทั้งแผนก ⚖️ ดูภาระงานว่ากระจายเท่ากันไหม กราฟแท่งเรียงตามชั่วโมง + การ์ดรายคนบอก ~ชม./สัปดาห์ เทียบกับเพดาน คนที่ยังไม่มีกะเลยขึ้นข้อความ "ยังไม่มีกะในช่วงนี้เลย — ตั้งใจหรือลืม?"
ระบบจัดตารางกะทำงาน
จัดตารางอัตโนมัติ · ตรวจความขัดแย้ง 6 แบบ · พนักงานดูตารางและขอหยุดเองได้
- Web App พร้อมใช้ ข้อมูลเก็บใน Google Sheet ของคุณเอง
- ได้ครบทุกไฟล์ + คู่มือติดตั้งภาษาไทย (README.md)
- แก้โค้ดต่อเองได้ ไม่ล็อก ไม่มีค่ารายเดือน