ปัญหาเดิม
สลิปเดิมสร้างด้วยตัวเรนเดอร์ที่ทำงานได้เฉพาะบน Windows และการส่งสลิปให้พนักงานทีละคนใช้เวลามาก
สิ่งที่สร้าง
ร่วมพัฒนาระบบที่ให้ HR นำเข้า CSV จากโปรแกรมเงินเดือน ตรวจทานก่อนยืนยัน แล้วให้ background worker สร้างสลิปภาษาไทย เข้ารหัส และส่งอีเมลตามคิว รวมถึงหน้าจัดการคำขอ HR ทั้งหมด
ฟีเจอร์หลัก
- นำเข้า CSV สองขั้น ดูตัวอย่างรายคนก่อนยืนยัน
- ประวัติการนำเข้าและบันทึกกิจกรรม
- หน้าควบคุมคิวอีเมลสลิป: เตรียมรอบเดือน รีเซ็ตรายการที่ล้มเหลว
- หน้าจัดการคำขอลา ทำงานวันหยุด สลับกะ และลาชดเชย
- ส่งออก Excel ทุกหน้า
- เข้าสู่ระบบด้วย SSO ของบริษัท
เบื้องหลังทางเทคนิค
- ย้ายเลย์เอาต์สลิปเดิมมาเรนเดอร์ด้วย SkiaSharp ทีละเซนติเมตร ใช้ HarfBuzz จัดวรรณยุกต์ภาษาไทยให้ถูกตำแหน่ง
- คิวอีเมลในฐานข้อมูลแบบ lease จำกัดความพร้อมกันและอัตราต่อนาที มี backoff และรอรีเซ็ตเมื่อเกินจำนวนครั้ง
- workflow deploy ตรวจว่ามี migration ใหม่หรือไม่ รอ DLL ปลดล็อก แล้วเช็ก health endpoint