# 出勤異常處理

處理員工出勤異常及超時出勤異常，包括：忘刷卡時間寫入、超時出勤原因寫入。

## POST /api/wf/wf030/checkCard

> 忘刷時間檢查

````json
{"openapi":"3.0.0","tags":[{"name":"出勤異常處理","description":"處理員工出勤異常及超時出勤異常，包括：忘刷卡時間寫入、超時出勤原因寫入。"}],"servers":[{"url":"https://104demotest-api-server.hrmax.104.com.tw"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"responses":{"401":{"description":"認證失敗 (請更新 accessToken 再試一次)"},"403":{"description":"權限不足"},"440":{"description":"參數錯誤 (請檢查 parameters 或 request body 的欄位、格式是否完整及正確)"},"500":{"description":"系統異常 `{ code: 500, msg: string }`"}}},"paths":{"/api/wf/wf030/checkCard":{"post":{"tags":["出勤異常處理"],"summary":"忘刷時間檢查","description":null,"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["CO_ID","EMP_ID","CARD_DATETIME","REASON"],"properties":{"CO_ID":{"type":"integer","description":"公司ID"},"EMP_ID":{"type":"integer","description":"員工ID"},"CARD_DATETIME":{"type":["array","string","date"],"description":"忘刷時間(多組)"},"REASON":{"type":"string","description":"忘刷說明"}}}}}},"responses":{"200":{"description":"成功\n```\n{\n  code: 200,\n}\n```\n"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"440":{"$ref":"#/components/responses/440"},"490":{"description":"失敗\n```\n{\n  code: 490,\n  msg: string,   // 失敗原因\n}\n```\n"},"500":{"$ref":"#/components/responses/500"}}}}}}
````

## POST /api/wf/wf030/insertCard

> 忘刷時間寫入

````json
{"openapi":"3.0.0","tags":[{"name":"出勤異常處理","description":"處理員工出勤異常及超時出勤異常，包括：忘刷卡時間寫入、超時出勤原因寫入。"}],"servers":[{"url":"https://104demotest-api-server.hrmax.104.com.tw"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"responses":{"401":{"description":"認證失敗 (請更新 accessToken 再試一次)"},"403":{"description":"權限不足"},"440":{"description":"參數錯誤 (請檢查 parameters 或 request body 的欄位、格式是否完整及正確)"},"499":{"description":"DB錯誤 `{ code: 499, msg: string }`"},"500":{"description":"系統異常 `{ code: 500, msg: string }`"}}},"paths":{"/api/wf/wf030/insertCard":{"post":{"tags":["出勤異常處理"],"summary":"忘刷時間寫入","description":null,"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["CO_ID","EMP_ID","CARD_DATETIME","REASON","WF_NO"],"properties":{"CO_ID":{"type":"integer","description":"公司ID"},"EMP_ID":{"type":"integer","description":"員工ID"},"CARD_DATETIME":{"type":["array","string","date"],"description":"忘刷時間(多組)"},"REASON":{"type":"string","description":"忘刷說明"},"WF_NO":{"type":"string","description":"WORKFLOW 表單編號"},"WF_RESULT":{"type":"integer","description":"表單狀態"}}}}}},"responses":{"200":{"description":"成功\n```\n{\n  code: 200,\n}\n```\n"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"440":{"$ref":"#/components/responses/440"},"490":{"description":"失敗\n```\n{\n  code: 490,\n  msg: string,   // 失敗原因\n}\n```\n"},"499":{"$ref":"#/components/responses/499"},"500":{"$ref":"#/components/responses/500"}}}}}}
````

## POST /api/wf/wf030/checkDeleteCard

> 忘刷時間刪除檢查

````json
{"openapi":"3.0.0","tags":[{"name":"出勤異常處理","description":"處理員工出勤異常及超時出勤異常，包括：忘刷卡時間寫入、超時出勤原因寫入。"}],"servers":[{"url":"https://104demotest-api-server.hrmax.104.com.tw"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"responses":{"401":{"description":"認證失敗 (請更新 accessToken 再試一次)"},"403":{"description":"權限不足"},"440":{"description":"參數錯誤 (請檢查 parameters 或 request body 的欄位、格式是否完整及正確)"},"500":{"description":"系統異常 `{ code: 500, msg: string }`"}}},"paths":{"/api/wf/wf030/checkDeleteCard":{"post":{"tags":["出勤異常處理"],"summary":"忘刷時間刪除檢查","description":null,"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["CO_ID","EMP_ID","WF_NO"],"properties":{"CO_ID":{"type":"integer","description":"公司ID"},"EMP_ID":{"type":"integer","description":"員工ID"},"WF_NO":{"type":"string","description":"WORKFLOW 表單編號"}}}}}},"responses":{"200":{"description":"成功\n```\n{\n  code: 200,\n}\n```\n"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"440":{"$ref":"#/components/responses/440"},"490":{"description":"失敗\n```\n{\n  code: 490,\n  msg: string,   // 失敗原因\n}\n```\n"},"500":{"$ref":"#/components/responses/500"}}}}}}
````

## POST /api/wf/wf030/deleteCard

> 忘刷時間刪除

````json
{"openapi":"3.0.0","tags":[{"name":"出勤異常處理","description":"處理員工出勤異常及超時出勤異常，包括：忘刷卡時間寫入、超時出勤原因寫入。"}],"servers":[{"url":"https://104demotest-api-server.hrmax.104.com.tw"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"responses":{"401":{"description":"認證失敗 (請更新 accessToken 再試一次)"},"403":{"description":"權限不足"},"440":{"description":"參數錯誤 (請檢查 parameters 或 request body 的欄位、格式是否完整及正確)"},"499":{"description":"DB錯誤 `{ code: 499, msg: string }`"},"500":{"description":"系統異常 `{ code: 500, msg: string }`"}}},"paths":{"/api/wf/wf030/deleteCard":{"post":{"tags":["出勤異常處理"],"summary":"忘刷時間刪除","description":null,"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["CO_ID","EMP_ID","WF_NO"],"properties":{"CO_ID":{"type":"integer","description":"公司ID"},"EMP_ID":{"type":"integer","description":"員工ID"},"WF_NO":{"type":"string","description":"WORKFLOW 表單編號"}}}}}},"responses":{"200":{"description":"成功\n```\n{\n  code: 200,\n}\n```\n"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"440":{"$ref":"#/components/responses/440"},"490":{"description":"失敗\n```\n{\n  code: 490,\n  msg: string,   // 失敗原因\n}\n```\n"},"499":{"$ref":"#/components/responses/499"},"500":{"$ref":"#/components/responses/500"}}}}}}
````

## POST /api/wf/wf031/UpdOverAttend

> 更新超時出勤紀錄

```json
{"openapi":"3.0.0","tags":[{"name":"出勤異常處理","description":"處理員工出勤異常及超時出勤異常，包括：忘刷卡時間寫入、超時出勤原因寫入。"}],"servers":[{"url":"https://104demotest-api-server.hrmax.104.com.tw"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"responses":{"401":{"description":"認證失敗 (請更新 accessToken 再試一次)"},"403":{"description":"權限不足"},"440":{"description":"參數錯誤 (請檢查 parameters 或 request body 的欄位、格式是否完整及正確)"},"499":{"description":"DB錯誤 `{ code: 499, msg: string }`"},"500":{"description":"系統異常 `{ code: 500, msg: string }`"}}},"paths":{"/api/wf/wf031/UpdOverAttend":{"post":{"tags":["出勤異常處理"],"summary":"更新超時出勤紀錄","requestBody":{"require":true,"content":{"application/json":{"schema":{"type":"object","properties":{"CO_ID":{"type":"number","description":"公司_ID"},"EMP_ID":{"type":"number","description":"員工_ID"},"EMP_CARDMATCH_ID":{"type":"string","description":"ID可以傳入多筆, 以逗號分隔 ,如 1,50,200,300"},"OVER_ATTEND_ID":{"type":"number","description":"超時出勤回報_原因ID"},"OVER_ATTEND_DESC":{"type":"string","description":"超時出勤回報_說明"},"WF_NO":{"type":"string","description":"WORKFLOW 表單編號"}}}}}},"responses":{"200":{"description":"更新成功"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"440":{"$ref":"#/components/responses/440"},"490":{"description":"檢查異常 `{ code: 490, msg?: string }`"},"499":{"$ref":"#/components/responses/499"},"500":{"$ref":"#/components/responses/500"}}}}}}
```
