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

ใช้งานจริง

ระบบลงเวลา TimeStamp

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

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

ปัญหาเดิม

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

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

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

ฟีเจอร์หลัก

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

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

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