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":"成功"
}