加班管理
涵蓋各類加班單的申請與查詢,包括:加班資料查詢、加班單寫入、預先加班單寫入、批次加班單寫入。
emp_ot = {
"EMP_OT_ID": number, //ID
"CO_ID": number, //公司_ID
"EMP_ID": number, //員工_ID
"OT_START":date, //加班申請起始時間
"OT_END":date, //加班申請結束時間
"OT_DATE":date, //加班歸屬日期
"REASON":string, //加班原因
"UNIT":string, //加班當時單位
"OT_VALUE": number, //合計加班數
"DED_MINS": number, //合計扣除分鐘數
"PAY_VALUE": number, //合計支領加班費
"CL_VALUE": number, //合計支領補休
"FILES_UUID":string, //附件
"NOTE":string, //備註
"OT_SOURCE": number, //資料來源
"WF_NO":string, //WORKFLOW 表單編號
"WF_RESULT": number, //表單狀態
"WF_SIGN_TIME":date, //簽核完成時間
"CAL_STATUS": number, //結算狀態
"SALARY_CLOSE_ID": number, //薪資結檔主檔_ID
"CALENDAR_LEAVE_ID": number, //員工行事曆類別_ID
"OT_COEF_JSON": array, //折現倍率JSON
"C_DATETIME":date, //新增_日期
"E_DATETIME":date, //修改_日期
},
Authorizations
Body
CO_IDintegerRequired
公司ID
OT_SDATEstring | dateRequired
加班起始日
OT_EDATEstring | dateRequired
加班結束日
EMP_IDintegerRequired
員工ID
Responses
200
成功
```
{
code: 200,
data: [emp_ot, emp_ot, ...]
}
```
401
認證失敗 (請更新 accessToken 再試一次)
403
權限不足
440
參數錯誤 (請檢查 parameters 或 request body 的欄位、格式是否完整及正確)
500
系統異常 `{ code: 500, msg: string }`
post
POST /api/am/emp_ot HTTP/1.1
Host:
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 75
{
"CO_ID": 13,
"OT_SDATE": "2019/10/02",
"OT_EDATE": "2019/10/05",
"EMP_ID": 33549
}
No content
checkOt = {
"OT_VALUE": number, //加班時數
"OT_VALUE_UNIT": string, //加班時數單位
"OT_MINS": integer, //加班分鐘數
},
Authorizations
Body
CO_IDintegerRequired
公司ID
EMP_IDintegerRequired
員工ID
OT_SDATEstring | dateRequired
加班起始時間
OT_EDATEstring | dateRequired
加班結束時間
PAY_TYPEstringRequired
加班支領方式
REASONstringRequired
加班原因
FILESarrayRequired
附件
NOTEstringRequired
備註
EMP_OT_IDintegerRequired
加班主檔id
EMP_PREOT_IDintegerRequired
預先加班主檔id
Responses
200
成功
```
{
code: 200,
data: {checkOt},
}
```
401
認證失敗 (請更新 accessToken 再試一次)
403
權限不足
440
參數錯誤 (請檢查 parameters 或 request body 的欄位、格式是否完整及正確)
490
失敗
```
{
code: 490,
msg: string, // 失敗原因
}
```
500
系統異常 `{ code: 500, msg: string }`
post
POST /api/wf/wf020/checkOt HTTP/1.1
Host:
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 350
{
"CO_ID": 1,
"EMP_ID": 31886,
"OT_SDATE": "2022-08-24 08:00",
"OT_EDATE": "2022-08-24 17:00",
"PAY_TYPE": "3",
"REASON": "",
"FILES": [
{
"fileUUID": "8af4a96fe4cd36309632daae4ec3e38f",
"fileName": "API 功能畫面.docx",
"fileSize": 319795,
"fileMime": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"isTmp": 1
}
],
"EMP_OT_ID": 0,
"EMP_PREOT_ID": 0
}
No content
insertOt = {
"EMP_OT_ID": number, //寫入成功的加班主檔ID
},
Authorizations
Body
CO_IDintegerRequired
公司ID
EMP_IDintegerRequired
員工ID
OT_SDATEstring | dateRequired
加班起始時間
OT_EDATEstring | dateRequired
加班結束時間
PAY_TYPEstringRequired
加班支領方式
REASONstringRequired
加班原因
FILESarrayRequired
附件
NOTEstringRequired
備註
EMP_OT_IDintegerRequired
加班主檔id
WF_NOstringRequired
WORKFLOW 表單編號
WF_RESULTintegerRequired
表單狀態
EMP_PREOT_IDintegerRequired
預先加班主檔id
Responses
200
成功
```
{
code: 200,
data: {insertOt},
}
```
401
認證失敗 (請更新 accessToken 再試一次)
403
權限不足
440
參數錯誤 (請檢查 parameters 或 request body 的欄位、格式是否完整及正確)
490
失敗
```
{
code: 490,
msg: string, // 失敗原因
}
```
499
DB錯誤 `{ code: 499, msg: string }`
500
系統異常 `{ code: 500, msg: string }`
post
POST /api/wf/wf020/insertOt HTTP/1.1
Host:
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 420
{
"CO_ID": 1,
"EMP_ID": 31886,
"OT_SDATE": "2022-08-24 08:00",
"OT_EDATE": "2022-08-24 17:00",
"PAY_TYPE": "2",
"REASON": "這是原因",
"FILES": [
{
"fileUUID": "f6a4f78f687e0ff62329d991b0cc8839",
"fileName": "API 功能畫面.docx",
"fileSize": 319795,
"fileMime": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"isTmp": 1
}
],
"NOTE": "這是備註",
"EMP_OT_ID": 0,
"WF_NO": "API11223344",
"WF_RESULT": 1,
"EMP_PREOT_ID": 0
}
No content
deleteOtList = {
"CO_ID": number, //公司_ID
"EMP_ID": number, //員工_ID
},
Authorizations
Body
CO_IDintegerRequired
公司ID
EMP_IDintegerRequired
員工ID
Responses
200
成功
```
{
code: 200,
data: {deleteOtList},
}
```
401
認證失敗 (請更新 accessToken 再試一次)
403
權限不足
440
參數錯誤 (請檢查 parameters 或 request body 的欄位、格式是否完整及正確)
499
DB錯誤 `{ code: 499, msg: string }`
500
系統異常 `{ code: 500, msg: string }`
post
POST /api/wf/wf020/deleteOtList HTTP/1.1
Host:
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 26
{
"CO_ID": 1,
"EMP_ID": 41884
}
No content
checkDeleteOt = {
"RETURN_CODE": number, //回傳訊息代號
"RETURN_MSG": string, //回傳訊息
},
Authorizations
Body
CO_IDintegerRequired
公司ID
EMP_IDintegerRequired
員工ID
EMP_OT_IDintegerRequired
加班主檔id
Responses
200
成功
```
{
code: 200,
data: [checkDeleteOt, checkDeleteOt, ...],
}
```
401
認證失敗 (請更新 accessToken 再試一次)
403
權限不足
440
參數錯誤 (請檢查 parameters 或 request body 的欄位、格式是否完整及正確)
490
失敗
```
{
code: 490,
msg: string, // 失敗原因
}
```
500
系統異常 `{ code: 500, msg: string }`
post
POST /api/wf/wf020/checkDeleteOt HTTP/1.1
Host:
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 45
{
"CO_ID": 1,
"EMP_ID": 31886,
"EMP_OT_ID": 130555
}
No content
deleteOt = {
"RETURN_CODE": number, //回傳訊息代號
"RETURN_MSG": string, //回傳訊息
},
Authorizations
Body
CO_IDintegerRequired
公司ID
EMP_IDintegerRequired
員工ID
EMP_OT_IDintegerRequired
加班主檔id
Responses
200
成功
```
{
code: 200,
data: [deleteOt, deleteOt, ...],
}
```
401
認證失敗 (請更新 accessToken 再試一次)
403
權限不足
440
參數錯誤 (請檢查 parameters 或 request body 的欄位、格式是否完整及正確)
490
失敗
```
{
code: 490,
msg: string, // 失敗原因
}
```
499
DB錯誤 `{ code: 499, msg: string }`
500
系統異常 `{ code: 500, msg: string }`
post
POST /api/wf/wf020/deleteOt HTTP/1.1
Host:
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 45
{
"CO_ID": 1,
"EMP_ID": 31886,
"EMP_OT_ID": 130545
}
No content
otTime = {
"OT_VALUE": number, //加班時數
"OT_VALUE_UNIT": string, //加班時數單位
"OT_MINS": integer, //加班分鐘數
"OT_REASON": number, //加班原因是否必填
},
Authorizations
Body
CO_IDintegerRequired
公司ID
EMP_IDintegerRequired
員工ID
OT_SDATEstring | dateRequired
加班起始時間
OT_EDATEstring | dateRequired
加班結束時間
Responses
200
成功
```
{
code: 200,
data: {otTime},
}
```
401
認證失敗 (請更新 accessToken 再試一次)
403
權限不足
440
參數錯誤 (請檢查 parameters 或 request body 的欄位、格式是否完整及正確)
490
失敗
```
{
code: 490,
msg: string, // 失敗原因
}
```
500
系統異常 `{ code: 500, msg: string }`
post
POST /api/wf/wf020/otTime HTTP/1.1
Host:
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 86
{
"CO_ID": 1,
"EMP_ID": 31886,
"OT_SDATE": "2022-08-24 08:00",
"OT_EDATE": "2022-08-24 17:00"
}
No content
checkPreOt = {
"OT_VALUE": number, //預先加班時數
"OT_VALUE_UNIT": string, //預先加班時數單位
"OT_MINS": integer, //預先加班分鐘數
},
Authorizations
Body
CO_IDintegerRequired
公司ID
EMP_IDintegerRequired
員工ID
OT_SDATEstring | dateRequired
預先加班起始時間
OT_EDATEstring | dateRequired
預先加班結束時間
PAY_TYPEstringRequired
預先加班支領方式
REASONstringRequired
預先加班原因
FILESarrayRequired
附件
NOTEstringRequired
備註
EMP_PREOT_IDintegerOptional
預先加班主檔id
Responses
200
成功
```
{
code: 200,
data: {checkPreOt},
}
```
401
認證失敗 (請更新 accessToken 再試一次)
403
權限不足
440
參數錯誤 (請檢查 parameters 或 request body 的欄位、格式是否完整及正確)
490
失敗
```
{
code: 490,
msg: string, // 失敗原因
}
```
500
系統異常 `{ code: 500, msg: string }`
post
POST /api/wf/wf022/checkPreOt HTTP/1.1
Host:
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 336
{
"CO_ID": 1,
"EMP_ID": 31886,
"OT_SDATE": "2024-05-04 08:00",
"OT_EDATE": "2024-05-04 17:00",
"PAY_TYPE": "3",
"REASON": "",
"FILES": [
{
"fileUUID": "8af4a96fe4cd36309632daae4ec3e38f",
"fileName": "API 功能畫面.docx",
"fileSize": 319795,
"fileMime": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"isTmp": 1
}
],
"EMP_PREOT_ID": 0
}
No content
insertPreOt = {
"EMP_PREOT_ID": number, //寫入成功的預先加班主檔ID
},
Authorizations
Body
CO_IDintegerRequired
公司ID
EMP_IDintegerRequired
員工ID
OT_SDATEstring | dateRequired
預先加班起始時間
OT_EDATEstring | dateRequired
預先加班結束時間
PAY_TYPEstringRequired
預先加班支領方式
REASONstringRequired
預先加班原因
FILESarrayRequired
附件
NOTEstringRequired
備註
EMP_PREOT_IDintegerRequired
預先加班主檔id
WF_NOstringRequired
WORKFLOW 表單編號
WF_RESULTintegerRequired
表單狀態
Responses
200
成功
```
{
code: 200,
data: {insertPreOt},
}
```
401
認證失敗 (請更新 accessToken 再試一次)
403
權限不足
440
參數錯誤 (請檢查 parameters 或 request body 的欄位、格式是否完整及正確)
490
失敗
```
{
code: 490,
msg: string, // 失敗原因
}
```
499
DB錯誤 `{ code: 499, msg: string }`
500
系統異常 `{ code: 500, msg: string }`
post
POST /api/wf/wf022/insertPreOt HTTP/1.1
Host:
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 406
{
"CO_ID": 1,
"EMP_ID": 31886,
"OT_SDATE": "2024-05-04 08:00",
"OT_EDATE": "2024-05-04 17:00",
"PAY_TYPE": "2",
"REASON": "這是原因",
"FILES": [
{
"fileUUID": "f6a4f78f687e0ff62329d991b0cc8839",
"fileName": "API 功能畫面.docx",
"fileSize": 319795,
"fileMime": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"isTmp": 1
}
],
"NOTE": "這是備註",
"EMP_PREOT_ID": 0,
"WF_NO": "API11223344",
"WF_RESULT": 2
}
No content
checkDeletePreOt = {
"RETURN_CODE": number, //回傳訊息代號
"RETURN_MSG": string, //回傳訊息
},
Authorizations
Body
CO_IDintegerRequired
公司ID
EMP_IDintegerRequired
員工ID
EMP_PREOT_IDintegerRequired
預先加班主檔id
Responses
200
成功
```
{
code: 200,
data: [checkDeletePreOt, checkDeletePreOt, ...],
}
```
401
認證失敗 (請更新 accessToken 再試一次)
403
權限不足
440
參數錯誤 (請檢查 parameters 或 request body 的欄位、格式是否完整及正確)
490
失敗
```
{
code: 490,
msg: string, // 失敗原因
}
```
500
系統異常 `{ code: 500, msg: string }`
post
POST /api/wf/wf022/checkDeletePreOt HTTP/1.1
Host:
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 48
{
"CO_ID": 1,
"EMP_ID": 31886,
"EMP_PREOT_ID": 130555
}
No content
deletePreOt = {
"RETURN_CODE": number, //回傳訊息代號
"RETURN_MSG": string, //回傳訊息
},
Authorizations
Body
CO_IDintegerRequired
公司ID
EMP_IDintegerRequired
員工ID
EMP_PREOT_IDintegerRequired
預先加班主檔id
Responses
200
成功
```
{
code: 200,
data: [deletePreOt, deletePreOt, ...],
}
```
401
認證失敗 (請更新 accessToken 再試一次)
403
權限不足
440
參數錯誤 (請檢查 parameters 或 request body 的欄位、格式是否完整及正確)
490
失敗
```
{
code: 490,
msg: string, // 失敗原因
}
```
499
DB錯誤 `{ code: 499, msg: string }`
500
系統異常 `{ code: 500, msg: string }`
post
POST /api/wf/wf022/deletePreOt HTTP/1.1
Host:
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 48
{
"CO_ID": 1,
"EMP_ID": 31886,
"EMP_PREOT_ID": 130545
}
No content
preOtList = {
"EM_PPREOT_ID": number, //預先加班ID
"CO_ID": number, //公司_ID
"EMP_ID": number, //員工_ID
"OT_START": string, //加班開始
"OT_END": string, //加班結束
"UNIT": string, //單位
"OT_VALUE": number, //加班時數
},
Authorizations
Body
CO_IDintegerRequired
公司ID
EMP_IDintegerRequired
員工ID
Responses
200
成功
```
{
code: 200,
data: {preOtList},
}
```
401
認證失敗 (請更新 accessToken 再試一次)
403
權限不足
440
參數錯誤 (請檢查 parameters 或 request body 的欄位、格式是否完整及正確)
490
失敗
```
{
code: 490,
msg: string, // 失敗原因
}
```
500
系統異常 `{ code: 500, msg: string }`
post
POST /api/wf/wf022/preOtList HTTP/1.1
Host:
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 26
{
"CO_ID": 1,
"EMP_ID": 31886
}
No content
otTime = {
"OT_VALUE": number, //加班時數
"OT_VALUE_UNIT": string, //加班時數單位
"OT_MINS": integer, //加班分鐘數
"OT_REASON": number, //加班原因是否必填
},
Authorizations
Body
CO_IDintegerRequired
公司ID
EMP_IDintegerRequired
員工ID
OT_SDATEstring | dateRequired
加班起始時間
OT_EDATEstring | dateRequired
加班結束時間
Responses
200
成功
```
{
code: 200,
data: {otTime},
}
```
401
認證失敗 (請更新 accessToken 再試一次)
403
權限不足
440
參數錯誤 (請檢查 parameters 或 request body 的欄位、格式是否完整及正確)
490
失敗
```
{
code: 490,
msg: string, // 失敗原因
}
```
500
系統異常 `{ code: 500, msg: string }`
post
POST /api/wf/wf022/preOtTime HTTP/1.1
Host:
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 86
{
"CO_ID": 1,
"EMP_ID": 31886,
"OT_SDATE": "2022-08-24 08:00",
"OT_EDATE": "2022-08-24 17:00"
}
No content
deletePreOtList = {
"CO_ID": number, //公司_ID
"EMP_ID": number, //員工_ID
},
Authorizations
Body
CO_IDintegerRequired
公司ID
EMP_IDintegerRequired
員工ID
Responses
200
成功
```
{
code: 200,
data: {deletePreOtList},
}
```
401
認證失敗 (請更新 accessToken 再試一次)
403
權限不足
440
參數錯誤 (請檢查 parameters 或 request body 的欄位、格式是否完整及正確)
499
DB錯誤 `{ code: 499, msg: string }`
500
系統異常 `{ code: 500, msg: string }`
post
POST /api/wf/wf022/deletePreOtList HTTP/1.1
Host:
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 26
{
"CO_ID": 1,
"EMP_ID": 31886
}
No content
Authorizations
Body
CO_IDnumberOptional
公司_ID
SESSION_KEYstringOptional
執行階段的KEY
OT_DATAarrayOptional
員工加班資料
WF_NOstringOptional
WORKFLOW 表單編號
Responses
200
更新成功
401
認證失敗 (請更新 accessToken 再試一次)
403
權限不足
440
參數錯誤 (請檢查 parameters 或 request body 的欄位、格式是否完整及正確)
490
SESSION_KEY 不可重複
491
加班檢查異常 `{ code: 491, msg?: string }`
492
附件寫入錯誤
499
DB錯誤 `{ code: 499, msg: string }`
500
系統異常 `{ code: 500, msg: string }`
post
POST /api/wf/wf021/batchOtNew HTTP/1.1
Host:
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 852
"{\n \"CO_ID\": 9,\n \"SESSION_KEY\": \"e61609d0-0e73-11ee-b46d-0050569652a6\",\n \"OT_DATA\": [\n {\n \"EMP_ID\": 124156,\n \"OT_START\": \"2023/07/01 18:00\",\n \"OT_END\": \"2023/07/01 20:00\",\n \"PAY_TYPE\": \"2\",\n \"IS_MEAL\": \"0\",\n \"IS_CARDMATCH\": \"0\",\n \"REASON\": \"XXXXXXXXXXXXX\"\n },\n {\n \"EMP_ID\": 15078,\n \"OT_START\": \"2023/07/01 18:00\",\n \"OT_END\": \"2023/07/01 20:00\",\n \"PAY_TYPE\": \"2\",\n \"IS_MEAL\": \"0\",\n \"IS_CARDMATCH\": \"0\",\n \"REASON\": \"YYYYYYYYYYYYY\"\n }\n ],\n \"FILES\": [\n {\n \"fileUUID\": \"e3f5c661c08e29a901a61bd1efceecb2\",\n \"fileName\": \"1.png\",\n \"fileSize\": 74506,\n \"fileMime\": \"image/png\",\n \"isTmp\": 1\n }\n ],\n \"WF_NO\": \"WF10123456789\"\n}\n"
No content
Authorizations
Body
CO_IDnumberOptional
公司_ID
SESSION_KEYstringOptional
執行階段的KEY
WF_NOstringOptional
WORKFLOW 表單編號
Responses
200
更新成功
401
認證失敗 (請更新 accessToken 再試一次)
403
權限不足
440
參數錯誤 (請檢查 parameters 或 request body 的欄位、格式是否完整及正確)
490
加班檢查異常 `{ code: 490, msg?: string }`
499
DB錯誤 `{ code: 499, msg: string }`
500
系統異常 `{ code: 500, msg: string }`
post
POST /api/wf/wf021/batchOtSign HTTP/1.1
Host:
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 119
"{\n \"CO_ID\": 9,\n \"SESSION_KEY\": \"e61609d0-0e73-11ee-b46d-0050569652a6\",\n \"WF_NO\": \"WF10123456789\"\n}\n"
No content
Authorizations
Body
CO_IDnumberOptional
公司_ID
SESSION_KEYstringOptional
執行階段的KEY
WF_NOstringOptional
WORKFLOW 表單編號
Responses
200
更新成功
401
認證失敗 (請更新 accessToken 再試一次)
403
權限不足
440
參數錯誤 (請檢查 parameters 或 request body 的欄位、格式是否完整及正確)
490
批次加班單刪除失敗
499
DB錯誤 `{ code: 499, msg: string }`
500
系統異常 `{ code: 500, msg: string }`
post
POST /api/wf/wf021/batchOtDelete HTTP/1.1
Host:
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 119
"{\n \"CO_ID\": 9,\n \"SESSION_KEY\": \"e61609d0-0e73-11ee-b46d-0050569652a6\",\n \"WF_NO\": \"WF10123456789\"\n}\n"
No content