# 薪資發放作業

用於查詢最終的薪資計算結果，並可新增臨時的加扣項，包括：計薪資料查詢、加扣項寫入。

## 取得員工每月計薪結果-主檔

> \`\`\`\
> emp\_salary = {\
> &#x20; "SALARY\_CLOSE\_ID": number,  //薪資結檔主檔\_ID\
> &#x20; "CLOSE\_NAME":string,        //結檔名稱\
> &#x20; "CO\_ID": number,            //公司\_ID\
> &#x20; "EMP\_ID": number,           //員工\_ID\
> &#x20; "SALARY\_PAYCAT": number,    //發放種類\
> &#x20; "JOB\_MONTH":date,           //計薪年月\
> &#x20; "PAY\_DATE":date,            //發放日期\
> &#x20; "TAX\_MONTH":date,           //所得年月\
> &#x20; "INC\_AMOUNT": number,       //加項總額\
> &#x20; "DEC\_AMOUNT": number,       //扣項總額\
> &#x20; "NET\_AMOUNT": number,       //實發金額\
> &#x20; "SNO\_ID": number,           //公司扣繳統編\_ID\
> &#x20; "DEPT1\_ID": number,         //部門1\_ID\
> &#x20; "DEPT2\_ID": number,         //部門2\_ID\
> &#x20; "DEPT3\_ID": number,         //部門3\_ID\
> &#x20; "DEPT4\_ID": number,         //部門4\_ID\
> &#x20; "DEPT5\_ID": number,         //部門5\_ID\
> &#x20; "JOB\_ID": number,           //職位\
> &#x20; "GRADE\_ID": number,         //職等\
> &#x20; "LEVEL\_ID": number,         //職級\
> &#x20; "IDENTITY\_ID": number,      //身份類別\
> &#x20; "EMPLOYEE\_TYPE": number,    //直/間接員工\
> &#x20; "RESPOBILITY": number,      //責任區分\
> &#x20; "HEADCOUNT\_STATUS": number, //編制狀態\
> &#x20; "AREA\_ID": number,          //工作區域\
> &#x20; "SITE\_ID": number,          //工作地點\
> &#x20; "FACTORY\_ID": number,       //廠別\
> },\
> \`\`\`<br>

````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/pb/emp_salary":{"post":{"tags":["薪資發放作業"],"summary":"取得員工每月計薪結果-主檔","description":"```\nemp_salary = {\n  \"SALARY_CLOSE_ID\": number,  //薪資結檔主檔_ID\n  \"CLOSE_NAME\":string,        //結檔名稱\n  \"CO_ID\": number,            //公司_ID\n  \"EMP_ID\": number,           //員工_ID\n  \"SALARY_PAYCAT\": number,    //發放種類\n  \"JOB_MONTH\":date,           //計薪年月\n  \"PAY_DATE\":date,            //發放日期\n  \"TAX_MONTH\":date,           //所得年月\n  \"INC_AMOUNT\": number,       //加項總額\n  \"DEC_AMOUNT\": number,       //扣項總額\n  \"NET_AMOUNT\": number,       //實發金額\n  \"SNO_ID\": number,           //公司扣繳統編_ID\n  \"DEPT1_ID\": number,         //部門1_ID\n  \"DEPT2_ID\": number,         //部門2_ID\n  \"DEPT3_ID\": number,         //部門3_ID\n  \"DEPT4_ID\": number,         //部門4_ID\n  \"DEPT5_ID\": number,         //部門5_ID\n  \"JOB_ID\": number,           //職位\n  \"GRADE_ID\": number,         //職等\n  \"LEVEL_ID\": number,         //職級\n  \"IDENTITY_ID\": number,      //身份類別\n  \"EMPLOYEE_TYPE\": number,    //直/間接員工\n  \"RESPOBILITY\": number,      //責任區分\n  \"HEADCOUNT_STATUS\": number, //編制狀態\n  \"AREA_ID\": number,          //工作區域\n  \"SITE_ID\": number,          //工作地點\n  \"FACTORY_ID\": number,       //廠別\n},\n```\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["CO_ID","TYPE","S_YM","E_YM","EMP_ID"],"properties":{"CO_ID":{"type":"integer","description":"公司ID"},"TYPE":{"type":"integer","description":"抓取條件方式"},"S_YM":{"type":["string","date"],"description":"年月起"},"E_YM":{"type":["string","date"],"description":"年月起"},"EMP_ID":{"type":"integer","description":"員工ID"}}}}}},"responses":{"200":{"description":"成功\n```\n{\n  code: 200,\n  data: [emp_salary, emp_salary, ...],\n}\n```\n"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"440":{"$ref":"#/components/responses/440"},"500":{"$ref":"#/components/responses/500"}}}}}}
````

## 取得員工每月計薪結果-明細

> \`\`\`\
> emp\_salary\_detail = {\
> &#x20; "CO\_ID": number,              //公司\_ID\
> &#x20; "EMP\_ID": number,             //員工\_ID\
> &#x20; "SALARY\_CLOSE\_ID": number,    //薪資結檔主檔\_ID\
> &#x20; "SALARY\_PAYCAT": number,      //發放種類\
> &#x20; "CLOSE\_NAME":string,          //結檔名稱\
> &#x20; "PAY\_DATE":date,              //發放日期\
> &#x20; "JOB\_MONTH":date,             //計薪年月\
> &#x20; "TAX\_MONTH":date,             //所得年月\
> &#x20; "SALARY\_ITEM\_ID": number,     //薪資科目\_ID\
> &#x20; "SALARY\_ITEM\_AMOUNT": number, //金額(台幣)\
> &#x20; "NOTE":string,                //備註\
> },\
> \`\`\`<br>

````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/pb/emp_salary/detail":{"post":{"tags":["薪資發放作業"],"summary":"取得員工每月計薪結果-明細","description":"```\nemp_salary_detail = {\n  \"CO_ID\": number,              //公司_ID\n  \"EMP_ID\": number,             //員工_ID\n  \"SALARY_CLOSE_ID\": number,    //薪資結檔主檔_ID\n  \"SALARY_PAYCAT\": number,      //發放種類\n  \"CLOSE_NAME\":string,          //結檔名稱\n  \"PAY_DATE\":date,              //發放日期\n  \"JOB_MONTH\":date,             //計薪年月\n  \"TAX_MONTH\":date,             //所得年月\n  \"SALARY_ITEM_ID\": number,     //薪資科目_ID\n  \"SALARY_ITEM_AMOUNT\": number, //金額(台幣)\n  \"NOTE\":string,                //備註\n},\n```\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["CO_ID","TYPE","S_YM","E_YM","EMP_ID"],"properties":{"CO_ID":{"type":"integer","description":"公司ID"},"TYPE":{"type":"integer","description":"抓取條件方式"},"S_YM":{"type":["string","date"],"description":"年月起"},"E_YM":{"type":["string","date"],"description":"年月起"},"EMP_ID":{"type":"integer","description":"員工ID"}}}}}},"responses":{"200":{"description":"成功\n```\n{\n  code: 200,\n  data: [emp_salary_detail, emp_salary_detail, ...],\n}\n```\n"},"401":{"$ref":"#/components/responses/401"},"403":{"$ref":"#/components/responses/403"},"440":{"$ref":"#/components/responses/440"},"500":{"$ref":"#/components/responses/500"}}}}}}
````

## 加扣項檢查

> \`\`\`\
> checkSalary\_item = {\
> &#x20; "Code": number,        //訊息代號\
> &#x20; "Description": string,   //訊息內容\
> },\
> \`\`\`<br>

````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/pb/salary_item/check":{"post":{"tags":["薪資發放作業"],"summary":"加扣項檢查","description":"```\ncheckSalary_item = {\n  \"Code\": number,        //訊息代號\n  \"Description\": string,   //訊息內容\n},\n```\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["CO_ID","EMP_ID","SALARY_ITEM_ID","S_DATE","E_DATE","IS_NO_END","INCDEC_AMOUNT","CURRENCY","NOTE"],"properties":{"CO_ID":{"type":"integer","description":"公司ID"},"EMP_ID":{"type":"integer","description":"員工ID"},"SALARY_ITEM_ID":{"type":"integer","description":"薪資科目檔_ID"},"S_DATE":{"type":["string","date"],"description":"加扣日期區間起"},"E_DATE":{"type":["string","date"],"description":"加扣日期區間迄"},"IS_NO_END":{"type":"integer","description":"是否無截止日(1:是、0:否)"},"INCDEC_AMOUNT":{"type":"number","description":"加扣金額(依據幣別允許小數點不同)"},"CURRENCY":{"type":"string","description":"幣別代碼"},"NOTE":{"type":"string","description":"備註"}}}}}},"responses":{"200":{"description":"成功\n```\n{\n  code: 200,\n  data: {salary_item},\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"}}}}}}
````

## 加扣項寫入

> \`\`\`\
> insertSalary\_item = {\
> &#x20;  "INCDEC\_EMP\_ID": number,         //寫入成功的加扣項主檔ID\
> },\
> \`\`\`<br>

````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/pb/salary_item/insert":{"post":{"tags":["薪資發放作業"],"summary":"加扣項寫入","description":"```\ninsertSalary_item = {\n   \"INCDEC_EMP_ID\": number,         //寫入成功的加扣項主檔ID\n},\n```\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["CO_ID","EMP_ID","SALARY_ITEM_ID","S_DATE","E_DATE","IS_NO_END","INCDEC_AMOUNT","CURRENCY","NOTE"],"properties":{"CO_ID":{"type":"integer","description":"公司ID"},"EMP_ID":{"type":"integer","description":"員工ID"},"SALARY_ITEM_ID":{"type":"integer","description":"薪資科目檔_ID"},"S_DATE":{"type":["string","date"],"description":"加扣日期區間起"},"E_DATE":{"type":["string","date"],"description":"加扣日期區間迄"},"IS_NO_END":{"type":"integer","description":"是否無截止日(1:是、0:否)"},"INCDEC_AMOUNT":{"type":"number","description":"加扣金額(依據幣別允許小數點不同)"},"CURRENCY":{"type":"string","description":"幣別代碼"},"NOTE":{"type":"string","description":"備註"}}}}}},"responses":{"200":{"description":"成功\n```\n{\n  code: 200,\n  data: {insertSalary_item},\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"}}}}}}
````
