Salary API Module
ภาพรวม (Overview)
โมดูล Salary เป็น API สำหรับจัดการข้อมูลด้านเงินเดือนและเวลาทำงานของพนักงาน ครอบคลุมการจัดการโควตาการลา การบันทึกเวลาเข้า-ออกงาน ตารางเวลาทำงาน แผนกะการทำงาน และข้อมูลอ้างอิงต่างๆ ที่เกี่ยวข้อง
โครงสร้าง API
โมดูล Salary ใช้ระบบ Router กลาง 4 เส้นทาง ตาม operation ที่ต้องการ:
| Operation | Endpoint | Method |
|---|---|---|
| ดึงข้อมูล | /api/v1/open-apis/salary/get-data-filter | GET / POST |
| เพิ่มข้อมูล | /api/v1/open-apis/salary/add-data-filter | POST |
| แก้ไขข้อมูล | /api/v1/open-apis/salary/update-data-filter | POST |
| ลบข้อมูล | /api/v1/open-apis/salary/delete-data-filter | POST |
| นำเข้าเงินเดือน | /api/v1/open-apis/salary/import | POST |
| นำเข้า Net Total | /api/v1/open-apis/salary/get-data | POST |
ทุก request ต้องระบุ path_action เพื่อกำหนด operation ที่ต้องการ โดยส่งผ่าน Query Parameter (GET) หรือ Request Body (POST)
Sub-modules
Quota (โควตาการลา)
จัดการโควตาวันลาของพนักงาน รองรับการดูข้อมูล สร้าง แก้ไข ลบโควตา บันทึกการลาจริง คำนวณโควตา นำเข้าข้อมูลจาก Excel และออกรายงาน
API Endpoints:
| หมวด | Endpoints | รายละเอียด |
|---|---|---|
| Quota CRUD | 8 endpoints | ดูรายการ, ดูตาม ID/พนักงาน, สร้าง, แก้ไข, ลบโควตา |
| Actual Leave | 4 endpoints | บันทึก/แก้ไข/ลบการลาจริง, ดูประวัติการลา |
| Calculate | 5 endpoints | คำนวณโควตา, สร้างโควตาประจำปี, รีเซ็ต |
| Import | 6 endpoints | นำเข้า/ส่งออก Excel, ดูประวัติการนำเข้า |
| Report | 1 endpoint | รายงานโควตาประจำปี |
Attendance (บันทึกเวลา)
ค้นหาและจัดการข้อมูลการบันทึกเวลาเข้า-ออกงานของพนักงาน รองรับการค้นหาตามช่วงวันที่ เพิ่มรายการบันทึกเวลา และแก้ไขข้อมูล
API Endpoints:
| Endpoint | รายละเอียด |
|---|---|
| Search Time Attendance | ค้นหาประวัติการลงเวลาตามช่วงวันที่ |
| Get Time Attendance Detail | ดูรายละเอียดการลงเวลารายการเดียว |
| Add Time Attendance | เพิ่มรายการบันทึกเวลา |
| Edit Time | แก้ไขข้อมูลการบันทึกเวลา |
Calendar (ปฏิทิน)
ดูปฏิทินรายเดือนของพนักงาน แสดงข้อมูลวันทำงาน วันหยุด และวันลา
API Endpoints:
| Endpoint | รายละเอียด |
|---|---|
| Get Calendar Month | ดูปฏิทินรายเดือน |
| Get Calendar Month Filter | ดูปฏิทินรายเดือนพร้อมตัวกรอง |
Time Table (ตารางเวลา)
ดูตารางเวลาทำงานรายวัน/รายเดือน ข้อมูลสรุปเงินเดือน และสลิปเงินเดือน
API Endpoints:
| Endpoint | รายละเอียด |
|---|---|
| Daily in Month | ข้อมูลรายวันทั้งเดือน |
| A Daily in Month | ข้อมูลวันเดียวในเดือน |
| Current Month | เดือนปัจจุบันที่ตั้งค่า |
| Daily Info | รายละเอียดการทำงานรายวัน |
| Daily in Month Calendar | ปฏิทินรายวันในเดือน |
| Salary Summary | สรุปเงินเดือน |
| Pay Slip | สลิปเงินเดือน |
| Calculate Month | คำนวณสรุปรายเดือน |
| Calculate Month Queue | คำนวณสรุปรายเดือนแบบ Batch |
| Get Employee Tooltip | ข้อมูล Tooltip พนักงาน |
| Close Tooltip | ปิดการแจ้งเตือน Tooltip |
| Finish Month | ปิดงวดเงินเดือน (ล็อค) |
| Unfinish Month | ยกเลิกปิดงวดเงินเดือน (ปลดล็อค) |
| List Calculate Month Queue | ตรวจสอบสถานะคิวคำนวณ |
Work Cycle Plan (แผนกะ)
จัดการแผนกะการทำงาน สร้าง/แก้ไข/ลบแผนกะ กำหนดแผนกะให้พนักงาน และจัดการตารางกะรายเดือน
API Endpoints:
| หมวด | Endpoints | รายละเอียด |
|---|---|---|
| Plan Management | 8 endpoints | ดูรายการ, สร้าง, เปิด/ปิด, กำหนดแผนกะ, ลบ |
| Employee Plan | 6 endpoints | ดูแผนกะรายเดือน, บันทึก, ส่ง/ยกเลิกการส่ง |
Extra Round (งวดพิเศษ)
จัดการงวดพิเศษสำหรับการจ่ายเงินนอกรอบปกติ เช่น โบนัส ค่าคอมมิชชัน รองรับการสร้าง แก้ไข ปิด/เปิดงวด บันทึกข้อมูลรายรับรายจ่าย และส่งออกรายงาน
API Endpoints:
| หมวด | Endpoints | รายละเอียด |
|---|---|---|
| Round Management | 7 endpoints | ดูรายการ, สร้าง, บันทึก, ลบ, ปิด/เปิดงวด |
| Data & Export | 3 endpoints | สรุปรายรับรายจ่าย, ตั้งวันจ่ายเงิน, ส่งออกรายงาน |
Payroll Import (นำเข้าเงินเดือน)
นำเข้าข้อมูลเงินเดือนของพนักงาน รองรับการนำเข้ารายได้/รายจ่าย และเงินเดือนสุทธิพร้อมสร้างสลิปอัตโนมัติ
API Endpoints:
| หมวด | Endpoints | รายละเอียด |
|---|---|---|
| Income/Expense | 5 endpoints | Template, นำเข้า, นำเข้ารอบแยก, ดูประวัติ |
| Net Total | 3 endpoints | Template, นำเข้าเงินเดือนสุทธิ, ดูประวัติ |
Reference Data (ข้อมูลอ้างอิง)
ดึงข้อมูลอ้างอิงที่ใช้ร่วมกับ API อื่นๆ เช่น กะการทำงาน ประเภทวันหยุด วันหยุดบริษัท และโควตาวันหยุดพิเศษ
API Endpoints:
| Endpoint | รายละเอียด |
|---|---|
| Get Work Shifts | ดูรายการกะการทำงาน |
| Get Holiday Types | ดูประเภทวันหยุด |
| Get Company Holidays | ดูวันหยุดบริษัท |
| Get Extra Holiday Quota | ดูโควตาวันหยุดพิเศษ |
In/Out Daily (เข้า-ออกรายวัน)
ดูข้อมูลเวลาเข้า-ออกงานของพนักงานรายวัน
API Endpoints:
| Endpoint | รายละเอียด |
|---|---|
| List Employee In/Out Daily | ดูเวลาเข้า-ออกงานรายวัน |
Standard Response Format
Success Response
{
"code": 200,
"message": "สำเร็จ",
"payload": [ ... ],
"_PAGINATION": {
"_TOTAL_RECORDS": 100,
"_PAGE": 1,
"_NUMBER_PER_PAGE": 20
}
}Empty Result
{
"code": 200,
"message": "สำเร็จ",
"payload": []
}Error Response
{
"code": 400,
"message": "ไม่สำเร็จ",
"errors": ["กรุณาระบุ 'path_action'"]
}Common Parameters
Pagination Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
_PAGE | number | 1 | หน้าที่ต้องการดึงข้อมูล |
_NUMBER_PER_PAGE | number | 20 | จำนวนรายการต่อหน้า |
Employee Filter Parameters
API หลายตัวรองรับการกรองพนักงานด้วย parameter ต่อไปนี้:
| Parameter | Type | Description |
|---|---|---|
employee_code | string | รหัสพนักงาน (plain text) |
company_id | string | กรองตามบริษัท (Base64 encoded) |
branch_id | string | กรองตามสาขา (Base64 encoded) |
department_id | string | กรองตามแผนก (Base64 encoded) |
position_id | string | กรองตามตำแหน่ง (Base64 encoded) |
keyword | string | ค้นหาจากชื่อ นามสกุล รหัสพนักงาน |
language_code | string | ภาษาสำหรับแสดงผล (TH / EN) |
Parameter ที่ลงท้ายด้วย _id ใน Request ต้องเข้ารหัส Base64 เสมอ แต่ใน Response จะเป็น plain text 20 ตัวอักษร
Related APIs
- Time Attendance - บันทึกเวลาเข้า-ออกงาน (Submit/Import)
- Time Leave - จัดการคำขอลางาน
- Work Cycle - จัดการกะการทำงานของพนักงาน
- Overtime - จัดการคำขอทำงานล่วงเวลา
- Holiday - จัดการวันทำงาน/วันหยุดของพนักงาน