แสนยากร ชัยพิพัฒน์วรกุล
English
ผลงานทั้งหมด

ใช้งานจริง

ระบบลงเวลา TimeStamp

ดึงการสแกนนิ้วและใบหน้าจากเครื่อง ZKTeco แบบเรียลไทม์ แปลงเป็นเวลาเข้า-ออกตามกะ รวมกะข้ามคืน แล้วส่งเวลาสแกนไปให้ n8n แจ้งพนักงานทาง Telegram ทันที

ช่วงเวลา
2025 – 2026
บทบาท
พัฒนาคนเดียว
ฝ่ายที่ใช้
ฝ่ายทรัพยากรมนุษย์

ปัญหาเดิม

พนักงานลืมสแกนออก และกะดึกข้ามเที่ยงคืน ทำให้ข้อมูลเวลาไม่ครบหรือลงผิดวัน

สิ่งที่สร้าง

บริการ Python สองตัวใน Docker ตัวแรกฟังเครื่องสแกนทุกเครื่องแบบสด ตัดสินว่าเป็นเข้าหรือออกจากแผนกะของพนักงาน แล้วส่งเวลาสแกนเข้า webhook ของ n8n ให้ส่งข้อความ Telegram ยืนยันเวลาเข้า-ออกของวันนั้น ตัวที่สองปิดรายการที่ค้างเกินเวลาทุกคืน

ฟีเจอร์หลัก

  • รับข้อมูลสดจากเครื่องสแกนทุกเครื่องที่เปิดใช้งาน
  • ตัดสินเข้า/ออกจากกะที่วางแผนไว้
  • ถ้าเริ่มกะใหม่ขณะกะเก่ายังเปิดอยู่ ปิดกะเก่าที่เวลาสิ้นสุดตามแผน
  • สแกนซ้ำภายใน 1 ชั่วโมงจะอัปเดตเวลาออกแทนการสร้างรายการใหม่
  • ปิดรายการค้างเกิน 16 ชั่วโมงอัตโนมัติทุกคืน
  • ส่งเวลาสแกนไป n8n ทุกครั้ง เพื่อแจ้งพนักงานทาง Telegram พร้อมวันที่ เวลาเข้า และเวลาออก

เบื้องหลังทางเทคนิค

  • หน้าต่างเวลาของกะเริ่ม 4 ชั่วโมงก่อนเข้างานถึง 8 ชั่วโมงหลังเลิก และกะที่เวลาเลิกน้อยกว่าเวลาเข้าจะเลื่อนไปวันถัดไป
  • หนึ่ง thread ต่อหนึ่งเครื่อง reconnect เองทุก 30 วินาที และส่ง webhook แบบไม่บล็อก
  • GitHub Actions build image และ deploy ด้วย docker compose บน runner ภายใน

ระบบที่เกี่ยวข้อง