Employee API Module
ภาพรวม (Overview)
โมดูล Employee เป็น API สำหรับจัดการข้อมูลพนักงานทั้งหมด ครอบคลุมตั้งแต่การสร้างพนักงานใหม่ การดึงข้อมูล การแก้ไข ไปจนถึงการนำเข้าข้อมูลจำนวนมาก รวมถึงการจัดการข้อมูล 3 หมวดหลัก: Setting (การตั้งค่า), Profile (ข้อมูลส่วนตัว) และ Financial (ข้อมูลการเงิน)
Employee API เป็น API หลักสำหรับการบริหารจัดการข้อมูลพนักงานในระบบ ควรใช้ร่วมกับ Organization API เพื่อดึงข้อมูล Master Data เช่น โครงสร้างองค์กร ตำแหน่งงาน เป็นต้น
API Endpoints (6 endpoints)
| Endpoint | Method | Description |
|---|---|---|
| Get Employee List | GET | ดึงรายการพนักงานทั้งหมด รองรับ Filter และ Pagination |
| Get Employee Info | GET | ดึงข้อมูลพนักงานรายบุคคลแบบครบถ้วน (18 หมวด) |
| Get Employee Data | GET | ดึงข้อมูลพนักงานตามประเภท (Setting/Profile/Financial) |
| Add Employee | POST | สร้างพนักงานใหม่พร้อม Auto Actions |
| Update Employee | POST | แก้ไขข้อมูลพนักงาน (Router Pattern) |
| Import Employee | POST | นำเข้าข้อมูลพนักงานจำนวนมาก (Bulk Import) |
Manage (จัดการสถานะพนักงาน)
| Endpoint | path_action | Description |
|---|---|---|
| Sign Out | sign-out | บันทึกการลาออก/พ้นสภาพพนักงาน |
| Get Resign Document | get-resign-doc | ดึงเอกสารลาออก (PDF) |
| Reactive | reactive | เปิดใช้งานพนักงานที่ลาออกอีกครั้ง |
Data Categories
ข้อมูลพนักงานแบ่งเป็น 3 หมวดหลัก:
1. Setting (การตั้งค่า)
ข้อมูลการตั้งค่าการทำงานของพนักงาน:
| หมวดย่อย | Description |
|---|---|
| General | วันทำงาน, ชั่วโมงทำงาน, การปัดเศษ |
| Approver | ผู้อนุมัติ |
| User | บัญชีผู้ใช้งาน |
| Work Cycle | กะการทำงาน (จันทร์-อาทิตย์) |
| Holiday | วันหยุดประจำสัปดาห์ |
| OT | ประเภท OT ที่อนุญาต |
| Quota | โควตาการลา |
| Time Frame | กรอบเวลาการทำงาน |
| Cost Center | ศูนย์ต้นทุน |
| Role Duty | หน้าที่ปฏิบัติงาน |
| Facial | ข้อมูลใบหน้า (Face Recognition) |
2. Profile (ข้อมูลส่วนตัว)
ข้อมูลประวัติและข้อมูลส่วนตัวของพนักงาน:
| หมวดย่อย | Description |
|---|---|
| Address | ที่อยู่ตามทะเบียนบ้าน/ที่อยู่ปัจจุบัน |
| Family | ข้อมูลครอบครัว (บิดา, มารดา, คู่สมรส, บุตร) |
| Work | ประวัติการทำงาน |
| Education | ประวัติการศึกษา |
| Ability | ความสามารถพิเศษ |
| Language Skill | ทักษะภาษา |
| Typing Skill | ทักษะการพิมพ์ดีด |
| Driving Skill | ทักษะการขับขี่ |
| Training | ประวัติการฝึกอบรม |
| Possess | ทรัพย์สินที่รับผิดชอบ |
| Document | เอกสารแนบ |
| Hospital | โรงพยาบาล |
| Loan | เงินกู้ |
3. Financial (ข้อมูลการเงิน)
ข้อมูลด้านการเงินและสวัสดิการ:
| หมวดย่อย | Description |
|---|---|
| Constant | รายรับ/รายจ่ายคงที่ (ค่าตำแหน่ง, ค่าครองชีพ) |
| Fund | กองทุนสำรองเลี้ยงชีพ |
| Welfare | สวัสดิการ |
| Tax | ข้อมูลภาษี |
| Work Insurance | ประกันสังคม |
| Salary Auto Checked | รายการตรวจสอบเงินเดือนอัตโนมัติ |
Enum Values
Employee Status (สถานะพนักงาน)
| Code | Thai | English |
|---|---|---|
01 | กำลังทำงาน | Active |
02 | ไม่ทำงาน | Inactive |
03 | ลาออก | Resigned |
Employee Type (ประเภทพนักงาน)
| Code | Thai | English |
|---|---|---|
01 | พนักงานรายเดือน | Monthly |
02 | พนักงานรายวัน | Daily |
03 | พนักงานพาร์ทไทม์ | Part-time |
04 | พนักงานเหมาจ่าย | Contract |
Gender (เพศ)
| Code | Thai | English |
|---|---|---|
01 | ชาย | Male |
02 | หญิง | Female |
Relation Type (ความสัมพันธ์ครอบครัว)
| Code | Thai | English |
|---|---|---|
01 | บิดา | Father |
02 | มารดา | Mother |
03 | คู่สมรส | Spouse |
04 | บุตร | Child |
05 | ผู้ติดต่อฉุกเฉิน | Emergency Contact |
Auto Actions (สิ่งที่สร้างอัตโนมัติ)
เมื่อสร้างพนักงานใหม่ผ่าน Add Employee ระบบจะดำเนินการต่อไปนี้อัตโนมัติ:
| Action | Description |
|---|---|
| Auto-gen Employee Code | สร้างรหัสพนักงานตามรูปแบบที่กำหนด (ถ้าไม่ระบุ) |
| Auto-gen OPT Code | สร้างรหัส OPT 6 หลัก |
| Create User Account | สร้างบัญชีผู้ใช้งานอัตโนมัติ |
| Assign Usergroup | เพิ่มเข้ากลุ่ม EMPLOYEE อัตโนมัติ |
| Create Quota | สร้างโควตาการลาประจำปี |
| Initialize Tax | เริ่มต้นหมวดหมู่ภาษี |
| Set Work Cycle | กำหนดกะการทำงานเริ่มต้น (จันทร์-อาทิตย์) |
| Set Holiday | กำหนดวันหยุดเริ่มต้น (วันอาทิตย์) |
| Send Welcome Email | ส่งอีเมลต้อนรับ (ถ้าระบุอีเมล) |
| Create Activity Log | บันทึก Log การสร้างพนักงาน |
Default Password: รหัสผ่านเริ่มต้นจะเป็นเลขบัตรประชาชน (ถ้าระบุ) หรือ “1234” (ถ้าไม่ระบุ)
Standard Response Format
Success Response
{
"code": 200,
"message": "สำเร็จ",
"payload": { /* ข้อมูล */ }
}Error Response
{
"code": 400,
"message": "ไม่สำเร็จ",
"errors": [
"Error message 1",
"Error message 2"
]
}Pagination Response
{
"code": 200,
"message": "สำเร็จ",
"payload": [ /* รายการข้อมูล */ ],
"_PAGINATION": {
"_TOTAL_RECORDS": 100,
"_PAGE": 1,
"_NUMBER_PER_PAGE": 50
}
}ถ้าไม่มีข้อมูล payload จะเป็น [] (empty array) ไม่มี error
Best Practices
1. ใช้ Pagination
// แนะนำ: ใช้ pagination สำหรับรายการพนักงานจำนวนมาก
const params = {
_PAGE: 1,
_NUMBER_PER_PAGE: 50 // ไม่ควรเกิน 100
}2. Filter ข้อมูล
// แนะนำ: ใช้ filter เพื่อจำกัดขอบเขตข้อมูล
const params = {
company_id: 'C001',
employee_status: '01' // เฉพาะพนักงานที่ทำงานอยู่
}3. เลือก API ที่เหมาะสม
| Use Case | แนะนำ API |
|---|---|
| แสดงรายการพนักงาน | Get Employee List |
| ดูข้อมูลครบถ้วนรายบุคคล | Get Employee Info |
| ดูเฉพาะบางหมวด (Setting/Profile/Financial) | Get Employee Data |
| สร้างพนักงานใหม่ | Add Employee |
| แก้ไขข้อมูลพนักงาน | Update Employee |
| นำเข้าข้อมูลจำนวนมาก | Import Employee |
| ลาออก/พ้นสภาพ | Sign Out |
| เปิดใช้งานพนักงานอีกครั้ง | Reactive |
4. ระวังข้อมูล Sensitive
- include_salary=Y จะรวมข้อมูลเงินเดือน ใช้ด้วยความระมัดระวัง
- id_no (เลขบัตรประชาชน) เป็นข้อมูลส่วนบุคคล ห้ามเปิดเผย
Related APIs
Organization APIs (Master Data)
- Get Organization Structure - โครงสร้างองค์กร
- Get Position List - รายการตำแหน่ง
- Get Bank List - รายการธนาคาร
- Get Employee Types - ประเภทพนักงาน
- Get Employee Status - สถานะพนักงาน
Financial APIs
- Constant API - รายรับ/รายจ่ายคงที่
- Fund API - กองทุนสำรองเลี้ยงชีพ
- Welfare API - สวัสดิการ
- Tax API - ภาษี
Time Management APIs
- Time Leave API - การลา
- Overtime API - ทำงานล่วงเวลา
- Work Cycle API - กะการทำงาน