🕐
ระบบเช็คชื่อพนักงานออนไลน์ ด้วย Apps Script
ต่อยอด Apps Script เป็นเว็บแอปจริง — เช็คชื่อ ลา สถิติ Dashboard รายงาน PDF และแจ้งเตือน LINE โดยใช้ Google Sheets เป็นฐานข้อมูล ฟรี ไม่ต้องมีเซิร์ฟเวอร์เอง
🎯 เป้าหมาย: จบบทนี้ น้องจะได้ ระบบเช็คชื่อพนักงานออนไลน์ ครบวงจร — เช็คชื่อรายวัน อนุมัติใบลา ดูสถิติ Real-time ออกรายงาน PDF/Excel และแจ้งเตือนผ่าน LINE ทำงานบน Google Sheets แล้วได้ลิงก์เปิดใช้จริง
📖 ระบบนี้ทำงานอย่างไร?
เป็น Web App บน Google Apps Script ที่ใช้ Google Sheets เป็นฐานข้อมูล — มีระบบล็อกอิน 3 บทบาท (admin / hr / หัวหน้างาน) เก็บการเช็คชื่อ ใบลา และตั้งค่าไว้ในชีต แล้วแสดงผลเป็น Dashboard + กราฟด้วย Chart.js
โค้ดทั้งหมดมีให้โหลดจากเมนู ☰ (Code.gs + Index.html) — รันฟังก์ชัน setupSystem ครั้งเดียว ระบบจะสร้างชีตและข้อมูลตัวอย่างให้เอง
✅ เช็คชื่อรายวัน 5 สถานะ
🕐 ตารางกะ + คิดมาสาย
📝 ยื่น/อนุมัติใบลา
📊 Dashboard Real-time
📈 สถิติรายบุคคล
📄 รายงาน PDF/Excel
💬 แจ้งเตือน LINE
📱 Responsive
🧩 ส่วนประกอบหลัก
| ส่วนประกอบ | หน้าที่ |
|---|---|
| Code.gs | ฝั่งเซิร์ฟเวอร์ — ล็อกอิน อ่าน/เขียนข้อมูล ออกรายงาน ส่ง LINE และมี doGet() คืนหน้าเว็บ |
| Index.html | หน้าเว็บ Single Page — Login + Dashboard + เช็คชื่อ + ลา + สถิติ + รายงาน + ตั้งค่า |
| google.script.run | สะพานเชื่อม — ให้หน้าเว็บเรียกฟังก์ชันใน Code.gs |
| SpreadsheetApp | ใช้ Google Sheets เป็นฐานข้อมูล (อ่าน/เขียนข้อมูลจริง) |
| LINE Messaging API | ส่งแจ้งเตือนสรุปเช็คชื่อ / ใบลา เข้ากลุ่มหรือผู้ใช้ |
🗄️ ฐานข้อมูล 6 ชีต (สร้างอัตโนมัติ)
| ชีต | เก็บอะไร |
|---|---|
| Employees | ข้อมูลพนักงาน — รหัส ชื่อ ตำแหน่ง แผนก กะ เบอร์โทร สถานะ |
| Attendance | บันทึกการเช็คชื่อรายวัน — วันที่ รหัส สถานะ เวลาเข้า หมายเหตุ |
| Shifts | ตารางกะ — ชื่อกะ เวลาเข้า เวลาออก |
| LeaveRequests | ใบลา + สถานะอนุมัติ + ผู้อนุมัติ |
| Users | ผู้ใช้ระบบ — ชื่อผู้ใช้ รหัสผ่าน บทบาท |
| Settings | ค่าตั้งค่า — LINE Token, Target ID, ชื่อบริษัท |
🎯 ภารกิจ 6 ขั้นตอน