1. 班次管理
班次管理
1.1. 分页查询班次
基础信息
路径: /v1/api/attendance/shift/page
请求方法: POST
请求参数
Headers:
| 名称 | 值 | 必须 | 备注 |
|---|---|---|---|
| Content-Type | application/json | 是 |
Body:
| 名称 | 类型 | 必须 | 默认值 | 备注 |
|---|---|---|---|---|
| name | string | 否 | 班次名称 支持模糊查询 | |
| type | integer | 否 | 班次类型,1:普通班,2:工时班 | |
| pageNum | integer | 否 | 1 | 页码,从1开始 当前页码,不传默认1 |
| pageSize | integer | 否 | 20 | 页面大小 分页大小,不传默认20 |
Body示例:
{
"type": 1,
"pageNum": 1,
"pageSize": 2
}
返回数据
Headers:
| 名称 | 值 | 必须 | 备注 |
|---|---|---|---|
| content-type | application/json;charset=UTF-8 | 否 |
Body:
| 名称 | 类型 | 必须 | 默认值 | 备注 |
|---|---|---|---|---|
| code | integer | 否 | 返回值code | |
| msg | string | 否 | 返回值消息 | |
| data | object | 否 | 具体的返回值 | |
| |─pageNum | integer | 是 | 页码,从1开始 当前页码 |
|
| |─pageSize | integer | 是 | 页面大小 分页大小 |
|
| |─total | integer | 是 | 总记录数 总数 |
|
| |─list | array | 否 | ||
| |─ | object | |||
| |─uuid | string | 是 | 班次UUID | |
| |─name | string | 是 | 班次名称 | |
| |─type | integer | 是 | 班次类型 |
响应示例:
{
"code": 0,
"data": {
"list": [
{
"name": "123456789&……¥W",
"type": 1,
"uuid": "0b647ed427774d5f835c3567ef7f75a2"
},
{
"name": "996",
"type": 1,
"uuid": "a5b8856275d3422391e1660d17bc5820"
}
],
"pageNum": 1,
"pageSize": 2,
"total": 17
},
"msg": "成功"
}
1.2. 查询班次详情
基础信息
路径: /v1/api/attendance/shift/detail
请求方法: POST
请求参数
Headers:
| 名称 | 值 | 必须 | 备注 |
|---|---|---|---|
| Content-Type | application/json | 是 |
Body:
| 名称 | 类型 | 必须 | 默认值 | 备注 |
|---|---|---|---|---|
| uuid | string | 是 | 班次uuid |
Body示例:
{
"uuid": "0b647ed427774d5f835c3567ef7f75a2"
}
返回数据
Headers:
| 名称 | 值 | 必须 | 备注 |
|---|---|---|---|
| content-type | application/json;charset=UTF-8 | 否 |
Body:
| 名称 | 类型 | 必须 | 默认值 | 备注 |
|---|---|---|---|---|
| code | integer | 否 | 返回值code | |
| msg | string | 否 | 返回值消息 | |
| data | object | 否 | 具体的返回值 | |
| |─uuid | string | 是 | 班次UUID | |
| |─name | string | 是 | 班次名称 | |
| |─type | integer | 是 | 班次类型,1:普通班,2:工时班 | |
| |─workday | object | 是 | 工作日 | |
| |─cycle | integer | 是 | 周期数 | |
| |─cycleUnit | integer | 否 | 周期单位,1:天,2:周,3:月 0 :未知 1 :天 2 :周 3 :月 |
|
| |─monthLoop | integer | 否 | 1:月内轮班,循环到本月最后一天后停止,下个月从第一天时段开始计算;2:非月内轮班,循环到本月最后一天如果周期未结束,下个月第一天继续循环 | |
| |─workTime | object | 是 | 工作时段 | |
| |─works | array | 否 | 普通班 考勤时段 |
|
| |─ | object | |||
| |─timeRanges | array | 否 | 一天的工作时段列表 | |
| |─ | object | |||
| |─from | string | 否 | 签到开始时间 | |
| |─to | string | 否 | 签到结束时间 | |
| |─signInValidEarlyInterval | integer | 否 | 30 | 上班前X分钟内签到有效 |
| |─signInValidLateInterval | integer | 否 | 30 | 上班后X分钟内签到有效 |
| |─signInLateInterval | integer | 否 | 0 | 允许迟到X分钟 |
| |─signOutValidEarlyInterval | integer | 否 | 30 | 下班前X分钟内签退有效 |
| |─signOutValidLateInterval | integer | 否 | 30 | 下班后X分钟内签到有效 |
| |─signOutEarlyInterval | integer | 否 | 0 | 允许早退X分钟 |
| |─signOutAsOvertime | boolean | 否 | false | 是否计算加班时间 |
| |─signOutAsOvertimeInterval | integer | 否 | 0 | 下班后X分钟后签退算加班 |
| |─signOutMaxOvertimeInterval | integer | 否 | 0 | 下班后最大加班时长限制X分钟 |
| |─flexibly | boolean | 否 | false | 是否启用弹性 |
| |─signInFlexiblyEarlyInterval | integer | 否 | 可提前上班X分钟 | |
| |─signInFlexiblyLateInterval | integer | 否 | 可提前下班X分钟 | |
| |─duration | integer | 否 | 工时班 工作时长 |
|
| |─from | string | 否 | 最早签到时间 | |
| |─to | string | 否 | 最晚签退时间 | |
| |─holidays | array | 是 | 节假日 | |
| |─ | object | |||
| |─holidayUuid | string | 否 | 节假日uuid | |
| |─holidayName | string | 否 | 节假日名称 | |
| |─asOvertime | boolean | 否 | 节假日是否计算为加班 | |
| |─startDate | string | 否 | 节假日开始日期 | |
| |─endDate | string | 否 | 节假日结束日期 |
响应示例:
{
"code": 0,
"data": {
"holidays": [],
"name": "123456789&……¥W",
"type": 1,
"uuid": "0b647ed427774d5f835c3567ef7f75a2",
"workTime": {
"flexibly": false,
"signInFlexiblyEarlyInterval": 0,
"signInFlexiblyLateInterval": 0,
"signInLateInterval": 0,
"signInValidEarlyInterval": 30,
"signInValidLateInterval": 30,
"signOutAsOvertime": false,
"signOutAsOvertimeInterval": 0,
"signOutEarlyInterval": 0,
"signOutMaxOvertimeInterval": 120,
"signOutValidEarlyInterval": 30,
"signOutValidLateInterval": 30,
"works": [
{
"timeRanges": []
},
{
"timeRanges": []
},
{
"timeRanges": []
},
{
"timeRanges": []
},
{
"timeRanges": []
},
{
"timeRanges": []
},
{
"timeRanges": []
}
]
},
"workday": {
"cycle": 1,
"cycleUnit": 2,
"monthLoop": 2
}
},
"msg": "成功"
}
1.3. 添加班次
基础信息
路径: /v1/api/attendance/shift/add
请求方法: POST
请求参数
Headers:
| 名称 | 值 | 必须 | 备注 |
|---|---|---|---|
| Content-Type | application/json | 是 |
Body:
| 名称 | 类型 | 必须 | 默认值 | 备注 |
|---|---|---|---|---|
| name | string | 是 | 班次名称 | |
| type | integer | 是 | 班次类型,1:普通班,2:工时班 | |
| workday | object | 否 | 工作日,普通班必传 | |
| |─cycle | integer | 否 | 周期数 | |
| |─cycleUnit | integer | 否 | 周期单位,1:天,2:周,3:月 0 :未知 1 :天 2 :周 3 :月 |
|
| |─monthLoop | integer | 否 | 1:月内轮班,循环到本月最后一天后停止,下个月从第一天时段开始计算;2:非月内轮班,循环到本月最后一天如果周期未结束,下个月第一天继续循环 | |
| workTime | object | 是 | 工作时段 | |
| |─works | array | 否 | 普通班 考勤时段 |
|
| |─ | object | |||
| |─timeRanges | array | 否 | 一天的工作时段列表 | |
| |─ | object | |||
| |─from | string | 否 | 签到开始时间 | |
| |─to | string | 否 | 签到结束时间 | |
| |─signInValidEarlyInterval | integer | 否 | 30 | 上班前X分钟内签到有效 |
| |─signInValidLateInterval | integer | 否 | 30 | 上班后X分钟内签到有效 |
| |─signInLateInterval | integer | 否 | 0 | 允许迟到X分钟 |
| |─signOutValidEarlyInterval | integer | 否 | 30 | 下班前X分钟内签退有效 |
| |─signOutValidLateInterval | integer | 否 | 30 | 下班后X分钟内签到有效 |
| |─signOutEarlyInterval | integer | 否 | 0 | 允许早退X分钟 |
| |─signOutAsOvertime | boolean | 否 | false | 是否计算加班时间 |
| |─signOutAsOvertimeInterval | integer | 否 | 0 | 下班后X分钟后签退算加班 |
| |─signOutMaxOvertimeInterval | integer | 否 | 0 | 下班后最大加班时长限制X分钟 |
| |─flexibly | boolean | 否 | false | 是否启用弹性 |
| |─signInFlexiblyEarlyInterval | integer | 否 | 可提前上班X分钟 | |
| |─signInFlexiblyLateInterval | integer | 否 | 可提前下班X分钟 | |
| |─duration | integer | 否 | 工时班 工作时长 |
|
| |─from | string | 否 | 最早签到时间 | |
| |─to | string | 否 | 最晚签退时间 | |
| holidays | array | 是 | 节假日 | |
| |─ | object | |||
| |─holidayUuid | string | 否 | 节假日uuid | |
| |─holidayName | string | 否 | 节假日名称 | |
| |─asOvertime | boolean | 否 | 节假日是否计算为加班 | |
| |─startDate | string | 否 | 节假日开始日期 | |
| |─endDate | string | 否 | 节假日结束日期 |
Body示例:
{
"name": "test123",
"type": 1,
"workday": {
"cycle": 1,
"cycleUnit": 2,
"monthLoop": 2
},
"workTime": {
"works": [
{
"timeRanges": [
{
"from": "09:00",
"to": "19:56"
}
]
},
{
"timeRanges": [
{
"from": "09:00",
"to": "19:56"
}
]
},
{
"timeRanges": [
{
"from": "09:00",
"to": "19:56"
}
]
},
{
"timeRanges": [
{
"from": "09:00",
"to": "19:56"
}
]
},
{
"timeRanges": [
{
"from": "09:00",
"to": "19:56"
}
]
},
{
"timeRanges": []
},
{
"timeRanges": []
}
],
"signInValidEarlyInterval": 30,
"signInValidLateInterval": 30,
"signInLateInterval": 0,
"signOutValidEarlyInterval": 30,
"signOutValidLateInterval": 30,
"signOutEarlyInterval": 0,
"signOutAsOvertime": true,
"signOutAsOvertimeInterval": 0,
"signOutMaxOvertimeInterval": 120,
"flexibly": true,
"signInFlexiblyEarlyInterval": 10,
"signInFlexiblyLateInterval": 10
},
"holidays": []
}
返回数据
Headers:
| 名称 | 值 | 必须 | 备注 |
|---|---|---|---|
| content-type | application/json;charset=UTF-8 | 否 |
Body:
| 名称 | 类型 | 必须 | 默认值 | 备注 |
|---|---|---|---|---|
| code | integer | 否 | 返回值code | |
| msg | string | 否 | 返回值消息 | |
| data | object | 否 | 具体的返回值 | |
| |─uuid | string | 是 | 班次UUID | |
| |─name | string | 是 | 班次名称 | |
| |─type | integer | 是 | 班次类型,1:普通班,2:工时班 | |
| |─workday | object | 否 | 工作日,普通班必传 | |
| |─cycle | integer | 否 | 周期数 | |
| |─cycleUnit | integer | 否 | 周期单位,1:天,2:周,3:月 0 :未知 1 :天 2 :周 3 :月 |
|
| |─monthLoop | integer | 否 | 1:月内轮班,循环到本月最后一天后停止,下个月从第一天时段开始计算;2:非月内轮班,循环到本月最后一天如果周期未结束,下个月第一天继续循环 | |
| |─workTime | object | 是 | 工作时段 | |
| |─works | array | 否 | 普通班 考勤时段 |
|
| |─ | object | |||
| |─timeRanges | array | 否 | 一天的工作时段列表 | |
| |─ | object | |||
| |─from | string | 否 | 签到开始时间 | |
| |─to | string | 否 | 签到结束时间 | |
| |─signInValidEarlyInterval | integer | 否 | 30 | 上班前X分钟内签到有效 |
| |─signInValidLateInterval | integer | 否 | 30 | 上班后X分钟内签到有效 |
| |─signInLateInterval | integer | 否 | 0 | 允许迟到X分钟 |
| |─signOutValidEarlyInterval | integer | 否 | 30 | 下班前X分钟内签退有效 |
| |─signOutValidLateInterval | integer | 否 | 30 | 下班后X分钟内签到有效 |
| |─signOutEarlyInterval | integer | 否 | 0 | 允许早退X分钟 |
| |─signOutAsOvertime | boolean | 否 | false | 是否计算加班时间 |
| |─signOutAsOvertimeInterval | integer | 否 | 0 | 下班后X分钟后签退算加班 |
| |─signOutMaxOvertimeInterval | integer | 否 | 0 | 下班后最大加班时长限制X分钟 |
| |─flexibly | boolean | 否 | false | 是否启用弹性 |
| |─signInFlexiblyEarlyInterval | integer | 否 | 可提前上班X分钟 | |
| |─signInFlexiblyLateInterval | integer | 否 | 可提前下班X分钟 | |
| |─duration | integer | 否 | 工时班 工作时长 |
|
| |─from | string | 否 | 最早签到时间 | |
| |─to | string | 否 | 最晚签退时间 | |
| |─holidays | array | 是 | 节假日 | |
| |─ | object | |||
| |─holidayUuid | string | 否 | 节假日uuid | |
| |─holidayName | string | 否 | 节假日名称 | |
| |─asOvertime | boolean | 否 | 节假日是否计算为加班 | |
| |─startDate | string | 否 | 节假日开始日期 | |
| |─endDate | string | 否 | 节假日结束日期 |
响应示例:
{
"code":0,
"data":{
"holidays":[],
"name":"test123",
"type":1,
"uuid":"2f50ef4fcc9246dbbfe5639af71b9531",
"workTime":{
"flexibly":true,
"signInFlexiblyEarlyInterval":10,
"signInFlexiblyLateInterval":10,
"signInLateInterval":0,
"signInValidEarlyInterval":30,
"signInValidLateInterval":30,
"signOutAsOvertime":true,
"signOutAsOvertimeInterval":0,
"signOutEarlyInterval":0,
"signOutMaxOvertimeInterval":120,
"signOutValidEarlyInterval":30,
"signOutValidLateInterval":30,
"works":[
{
"timeRanges":[
{
"from":"09:00",
"to":"19:56"
}
]
},
{
"timeRanges":[
{
"from":"09:00",
"to":"19:56"
}
]
},
{
"timeRanges":[
{
"from":"09:00",
"to":"19:56"
}
]
},
{
"timeRanges":[
{
"from":"09:00",
"to":"19:56"
}
]
},
{
"timeRanges":[
{
"from":"09:00",
"to":"19:56"
}
]
},
{
"timeRanges":[]
},
{
"timeRanges":[]
}
]
},
"workday":{
"cycle":1,
"cycleUnit":2,
"monthLoop":2
}
},
"msg":"成功"
}
1.4. 编辑班次
基础信息
路径: /v1/api/attendance/shift/update
请求方法: POST
请求参数
Headers:
| 名称 | 值 | 必须 | 备注 |
|---|---|---|---|
| Content-Type | application/json | 是 |
Body:
| 名称 | 类型 | 必须 | 默认值 | 备注 |
|---|---|---|---|---|
| uuid | string | 是 | 班次uuid | |
| name | string | 是 | 班次名称 | |
| workday | object | 是 | 工作日 | |
| |─cycle | integer | 是 | 周期数 | |
| |─cycleUnit | integer | 否 | 周期单位,1:天,2:周,3:月 0 :未知 1 :天 2 :周 3 :月 |
|
| |─monthLoop | integer | 否 | 1:月内轮班,循环到本月最后一天后停止,下个月从第一天时段开始计算;2:非月内轮班,循环到本月最后一天如果周期未结束,下个月第一天继续循环 | |
| workTime | object | 是 | 工作时段 | |
| |─works | array | 否 | 普通班 考勤时段 |
|
| |─ | object | |||
| |─timeRanges | array | 否 | 一天的工作时段列表 | |
| |─ | object | |||
| |─from | string | 否 | 签到开始时间 | |
| |─to | string | 否 | 签到结束时间 | |
| |─signInValidEarlyInterval | integer | 否 | 30 | 上班前X分钟内签到有效 |
| |─signInValidLateInterval | integer | 否 | 30 | 上班后X分钟内签到有效 |
| |─signInLateInterval | integer | 否 | 0 | 允许迟到X分钟 |
| |─signOutValidEarlyInterval | integer | 否 | 30 | 下班前X分钟内签退有效 |
| |─signOutValidLateInterval | integer | 否 | 30 | 下班后X分钟内签到有效 |
| |─signOutEarlyInterval | integer | 否 | 0 | 允许早退X分钟 |
| |─signOutAsOvertime | boolean | 否 | false | 是否计算加班时间 |
| |─signOutAsOvertimeInterval | integer | 否 | 0 | 下班后X分钟后签退算加班 |
| |─signOutMaxOvertimeInterval | integer | 否 | 0 | 下班后最大加班时长限制X分钟 |
| |─flexibly | boolean | 否 | false | 是否启用弹性 |
| |─signInFlexiblyEarlyInterval | integer | 否 | 可提前上班X分钟 | |
| |─signInFlexiblyLateInterval | integer | 否 | 可提前下班X分钟 | |
| |─duration | integer | 否 | 工时班 工作时长 |
|
| |─from | string | 否 | 最早签到时间 | |
| |─to | string | 否 | 最晚签退时间 | |
| holidays | array | 是 | 节假日 | |
| |─ | object | |||
| |─holidayUuid | string | 否 | 节假日uuid | |
| |─holidayName | string | 否 | 节假日名称 | |
| |─asOvertime | boolean | 否 | 节假日是否计算为加班 | |
| |─startDate | string | 否 | 节假日开始日期 | |
| |─endDate | string | 否 | 节假日结束日期 |
Body示例:
{
"uuid": "0b647ed427774d5f835c3567ef7f75a2",
"name": "123456789&……¥W",
"workday": {
"cycle": 1,
"cycleUnit": 2,
"monthLoop": 2
},
"workTime": {
"flexibly": true,
"signInFlexiblyEarlyInterval": 30,
"signInFlexiblyLateInterval": 30,
"signInLateInterval": 0,
"signInValidEarlyInterval": 30,
"signInValidLateInterval": 30,
"signOutAsOvertime": true,
"signOutAsOvertimeInterval": 0,
"signOutEarlyInterval": 0,
"signOutMaxOvertimeInterval": 120,
"signOutValidEarlyInterval": 30,
"signOutValidLateInterval": 30,
"works": [
{
"timeRanges": [
{
"from": "05:58",
"to": "21:02"
}
]
},
{
"timeRanges": [
{
"from": "05:58",
"to": "21:02"
}
]
},
{
"timeRanges": [
{
"from": "05:58",
"to": "21:02"
}
]
},
{
"timeRanges": [
{
"from": "05:58",
"to": "21:02"
}
]
},
{
"timeRanges": [
{
"from": "05:58",
"to": "21:02"
}
]
},
{
"timeRanges": []
},
{
"timeRanges": []
}
]
},
"holidays": [
{
"asOvertime": false,
"holidayUuid": "e63bc40a575f4ce695b76e4b98667cd4",
"holidayName": "啦啦啦"
}
]
}
返回数据
Headers:
| 名称 | 值 | 必须 | 备注 |
|---|---|---|---|
| content-type | application/json;charset=UTF-8 | 否 |
Body:
| 名称 | 类型 | 必须 | 默认值 | 备注 |
|---|---|---|---|---|
| code | integer | 否 | 返回值code | |
| msg | string | 否 | 返回值消息 | |
| data | object | 否 | 具体的返回值 |
响应示例:
{
"code": 0,
"msg": "成功"
}
1.5. 删除班次
基础信息
路径: /v1/api/attendance/shift/delete
请求方法: POST
请求参数
Headers:
| 名称 | 值 | 必须 | 备注 |
|---|---|---|---|
| Content-Type | application/json | 是 |
Body:
| 名称 | 类型 | 必须 | 默认值 | 备注 |
|---|---|---|---|---|
| uuid | string | 是 | 班次UUID |
Body示例:
{
"uuid":"6cca1032e10c4881b2ab4c424ea3f86c"
}
返回数据
Headers:
| 名称 | 值 | 必须 | 备注 |
|---|---|---|---|
| content-type | application/json;charset=UTF-8 | 否 |
Body:
| 名称 | 类型 | 必须 | 默认值 | 备注 |
|---|---|---|---|---|
| code | integer | 否 | 返回值code | |
| msg | string | 否 | 返回值消息 | |
| data | object | 否 | 具体的返回值 |
响应示例:
{
"code":0,
"msg":"成功"
}