请假申请审批发起接口
接口说明: 请假申请审批发起接口。
请求方式:POST(HTTPS)
请求地址:https://api.xinrenxinshi.com/v5/workflow/leave/apply
请求Header:
key | value |
---|---|
access_token | 获取的access_token的实际值 |
Query参数:
key | value |
---|---|
sign | 签名值 |
Body参数:
参数 | 类型 | 必传(Y/N) | 说明 |
---|---|---|---|
employeeId | String | Y | 发起人员工id |
holidayType | Integer | Y | 请假类型,可通过获取员工请假类型接口获取 |
timeUnit | Integer | Y | 申请单位,0--按天请假,1–按小时请假,对应请假类型的申请单位,可通过获取员工请假类型接口获取 |
startDate | String | Y | 请假开始日期,日期格式:yyyy-MM-dd HH:mm:ss |
startTime | Integer | N | 如果是按天申请外出的话 则必填 其中0:表示上半天 1:表示下半天 |
endDate | String | Y | 请假结束日期,日期格式:yyyy-MM-dd HH:mm:ss |
endTime | Integer | N | 如果是按天申请外出的话 则必填 其中0:表示上半天 1:表示下半天 |
customField | List<FlowApplyGroup> | N | 自定义字段组,包括无任何关联的自定义字段,以及与对应的请假类型关联的自定义字段,通过获取审批表单字段接口获取 |
timestamp | Long | Y | 请求时间戳(精确到毫秒) |
FlowApplyGroup
参数 | 类型 | 必传(Y/N) | 说明 |
---|---|---|---|
groupId | String | Y | 字段分组id |
groupName | String | Y | 字段分组名 |
groupType | Integer | Y | 分组类型,0-普通分组,1-明细分组 |
isFixed | Integer | Y | 是否是固定字段组,0-否,1是 |
isStart | Integer | N | 明细分组时必填,是否是第一个分组,0否1是 |
isEnd | Integer | N | 明细分组时必填,是否是最后一个明细分组,0否1是 |
index | Integer | N | 明细分组时必填,明细分组的下标 |
fields | List<FlowApplyFieldResult> | Y | 分组里的表单字段信息 |
FlowApplyFieldResult
参数 | 类型 | 必传(Y/N) | 说明 |
---|---|---|---|
fieldId | String | Y | 字段id |
groupType | Integer | Y | 分组类型,0-普通分组,1-明细分组 |
type | Integer | Y | 字段类型,1:单行文本 2:多行文本 3:数值 4:日期区间 5:日期 6:单选框 7:多选框 8:图片 9:说明文字 11 文件 19:计算公式 20:关联审批单 22:大写金额 23:手写签名 |
require | Integer | Y | 是否必填,0-否,1是 |
componentType | Integer | Y | 自选组件类型,0-无类型,1-员工,2-部门,9-城市级别,15-大写金额,16-手写签 |
fieldValue | String | N | 字段值,字段类型是文本,单选,多选,图片(图片的value是上传图片后,再通过获取下载url接口获取的url),数值,大写金额,日期 ,必填 |
fieldValueId | String | N | 字段值Id,字段类型为单选或多选必填,自选组件类型为自选员工,自选部门,自选城市时必填 |
groupId | String | N | 字段分组id |
labelName | String | N | 字段名 |
dateType | Integer | N | 日期区间类型时必填,0-按小时,1-按天 |
startValue | String | N | 日期区间类型时必填,开始时间的值 |
endValue | String | N | 日期区间类型时必填,结束时间的值 |
longValue | String | N | 日期区间类型时必填,开始时间与结束时间之前的天数 |
unit | String | N | 数字字段类型的单位 |
expression | List<ExpressionResult> | N | 计算公式类型字段时必填,公式内容 |
amountWordDO | AmountWordResult | N | 金额类型字段时必填,大写金额内容 |
relatedApprove | List<FlowRelatedApproveResult> | N | 关联审批字段类型时必填,审批关联审批单 |
files | List<Map<String,String>> | N | 附件类型字段时必填,附件 |
ExpressionResult
参数 | 类型 | 必传(Y/N) | 说明 |
---|---|---|---|
id | String | Y | 字段id |
name | String | Y | 字段名 |
type | Integer | Y | 0-字段、 1-数值、 2-符号 |
value | String | Y | 值 |
isExp | Integer | Y | 是否是表达式,0否1是 |
isDel | Integer | Y | 是否已删除,0-否,1是 |
AmountWordResult
参数 | 类型 | 必传(Y/N) | 说明 |
---|---|---|---|
isUpperCaseNumber | Integer | Y | 是否展示大写数字 0:不展示 1:展示 |
isThousandsSeparator | Integer | Y | 是否展示千位分隔位 0:不展示 1:展示 |
isDecimalPlaces | Integer | Y | 是否展示小数位 0:不展示 1:展示 |
digits | String | Y | 位数 |
FlowRelatedApproveResult
参数 | 类型 | 必传(Y/N) | 说明 |
---|---|---|---|
id | Long | Y | 审批id |
title | String | Y | 审批标题 |
flowName | String | Y | 审批类型名称 |
flowNumber | String | Y | 审批编号 |
返回结果:
参数 | 类型 | 必传(Y/N) | 说明 |
---|---|---|---|
errcode | Integer | Y | 0成功,其他失败 |
errmsg | String | Y | 结果描述 |
data | String | Y | 处理成功时返回,审批id |
请求示例(HTTPS):
https://api.xinrenxinshi.com/v5/workflow/leave/apply?sign=MvEIky%2Fjxk0x4Sot%2BNEjFXztnV8%3D
请求Body示例:
{
"employeeId": "a42c11aed7b645a2be77cd0a54cc33da",
"startDate":"2022-05-16 00:00:00",
"startTime": 0,
"endDate":"2022-05-16 00:00:00",
"endTime": 0,
"timeUnit":0,
"holidayType":3,
"customField":[
{
"groupName":"申请原由",
"groupNameEng":"New Group 1",
"groupType":0,
"groupId":"0542ef03de4c450489035291852a30c9",
"isFixed":0,
"position":1001,
"fields":[
{
"fieldId":"1e91b075ca88416c858be181aa5040f8",
"require":1,
"fieldValue":"WLv3HG/erDTWjDZE048/GjM2OGNkZDFjNjVlOWQ3MmNlNzlhYTViZDRlMWE5NzdhNWZlNDg3OTI5MGE0M2QyZGI5ODEzZjkzZDk0ZmNmMDiJasm/rzGvxLhu1+AvC5BHgFcf5P1QNQazaK28F4CrUHIP3SchyJwnUwA65iL4h8EBJSqO5V62ahSeJ/Nicn1AsdEFtEWpyrkIJgr09Lo56rCRVHDY3708mfIRvgNUiNghKVhuuWEu3SbG+ey8tcT98R+zTJHrUQ/cHzf4jIc6fg==",
"componentType":0,
"groupType":0,
"type":8
},
{
"fieldId":"6f8335acc08547d3af9f9e593d2cdb14",
"require":0,
"fieldValue":"单行",
"componentType":0,
"groupType":0,
"type":1
},
{
"fieldId":"21f9a971cf94451b881e5a4ab6d8846b",
"require":0,
"fieldValue":"多行",
"componentType":0,
"groupType":0,
"type":2
},
{
"fieldId":"a1713b90f34540c5a8e1a8574bcec477",
"require":0,
"fieldValue":"1231",
"componentType":0,
"groupType":0,
"type":3
},
{
"fieldId":"61e044bc98274c5ba8403ddbc4c832a1",
"require":0,
"fieldValue":"2022-05-16 14:20:00",
"componentType":0,
"groupType":0,
"type":5
},
{
"fieldId":"0356d3d12105476c9be21a1614d26e4a",
"require":0,
"dateType":2,
"longValue":0.5,
"startValue":"2022-05-16 00:00:00",
"endValue":"2022-05-16 00:00:00",
"componentType":0,
"groupType":0,
"type":4
},
{
"fieldId":"b5331ff305964731ac69e70195942f25",
"require":0,
"fieldValue":"自定义选项1;自定义选项2",
"fieldValueId":"38780edde7534462bae44394b4830b3f;8371804ed0d6497aa8827491c3d6f3d9",
"componentType":0,
"groupType":0,
"type":7
},
{
"fieldId":"0fab522c2088430da0157e1551cf485b",
"require":0,
"componentType":0,
"files":[
{
"fileKey":"nVqumnu85Ze8bSaY3r5XJjIyYjdmN2M5NTViZjRlZmJmMmZmYjc3NjBkZjAzMTJhNzdmY2ZhZjg0ZTYzMzFkMzgwMWY5MjU3NmVhMDY1OTn2krk8xN+gur9eMlQhZvLQkNYffeJ6n6oFezTh5Xph93ArlAITy8YOC3WCuSKwq8I8mzB0e+xYo91kDCLAX6Q2TXUZxWruiXjifpJd1SlVviiZ9MaceFtfC34jygZ6RGb/kAWl0KHps9j4qHeOdsvaSlKqofhOthK8xF+mBNh/tA==",
"fileName":"17577cd55945262.jpg"
}
],
"groupType":0,
"type":11
},
{
"fieldId":"198b09661d0c4a9191156138e0d460a8",
"require":0,
"fieldValue":"1231",
"componentType":15,
"groupType":0,
"amountWordDO":{
"isUpperCaseNumber":1,
"isThousandsSeparator":1,
"isDecimalPlaces":1,
"digits":2
},
"type":22
},
{
"fieldId":"6bdda31156c14a1892c75f29e5fa8d78",
"require":0,
"componentType":0,
"groupType":0,
"relatedApprove":[
{
"id":"790184385579319296",
"title":"审批测试",
"flowName":"审批测试",
"flowNumber":"202205091150000001"
}
],
"type":20
},
{
"fieldId":"436fa5b2c8794141910735c779147443",
"require":0,
"fieldValue":"WLv3HG/erDTWjDZE048/GjM2OGNkZDFjNjVlOWQ3MmNlNzlhYTViZDRlMWE5NzdhNWZlNDg3OTI5MGE0M2QyZGI5ODEzZjkzZDk0ZmNmMDiJasm/rzGvxLhu1+AvC5BHgFcf5P1QNQazaK28F4CrUHIP3SchyJwnUwA65iL4h8EBJSqO5V62ahSeJ/Nicn1AsdEFtEWpyrkIJgr09Lo56rCRVHDY3708mfIRvgNUiNghKVhuuWEu3SbG+ey8tcT98R+zTJHrUQ/cHzf4jIc6fg==",
"componentType":16,
"groupType":0,
"type":23
},
{
"fieldId":"5c068acf661d4f2a8855b98da8fe14ee",
"require":0,
"fieldValue":"薪人薪事测试2",
"fieldValueId":"3e0ee1fb9749473790b06d66e8e24f1a",
"componentType":3,
"groupType":0,
"type":6
},
{
"fieldId":"19d870582c3f457e820d7910e4ff99b6",
"require":0,
"fieldValue":"飞书测试部",
"fieldValueId":"9a3988b3bf7549edaaff00b62955ea26",
"componentType":2,
"groupType":0,
"type":6
},
{
"fieldId":"a21f27593e5f4d7d9fa38b614a8b7743",
"require":0,
"fieldValue":"北京市北京市",
"fieldValueId":"2",
"componentType":9,
"groupType":0,
"type":6
},
{
"fieldId":"f366fd81118a42a9b56254a9b8e05b10",
"require":0,
"fieldValue":"2462",
"componentType":0,
"groupType":0,
"expression":[
{
"id":"a1713b90f34540c5a8e1a8574bcec477",
"name":"数值",
"type":0,
"value":"数值",
"isExp":0,
"isDel":0
},
{
"id":"",
"name":"+",
"type":2,
"value":"+",
"isExp":0,
"isDel":0
},
{
"id":"198b09661d0c4a9191156138e0d460a8",
"name":"金额",
"type":0,
"value":"金额",
"isExp":0,
"isDel":0
}
],
"type":19
}
]
},
{
"groupType":1,
"groupId":"805cb5de45284edda0b2ea5c23041b79",
"isFixed":0,
"fields":[
{
"fieldId":"4abd5ef9ff72452291dfbfbfa89bf49d",
"require":0,
"fieldValue":"dasudasd",
"componentType":0,
"groupType":1,
"type":1
}
],
"index":0,
"isStart":1,
"isEnd":0
},
{
"groupType":1,
"groupId":"805cb5de45284edda0b2ea5c23041b79",
"isFixed":0,
"fields":[
{
"fieldId":"4abd5ef9ff72452291dfbfbfa89bf49d",
"require":0,
"fieldValue":"dadasdasd",
"componentType":0,
"groupType":1,
"type":1
}
],
"index":1,
"isStart":0,
"isEnd":1
}
],
"timestamp":1652682937751
}
SDK请求示例(java):
AttendanceLeaveApplyRequest request = new AttendanceLeaveApplyRequest(access_token());
request.setEmployeeId("a42c11aed7b645a2be77cd0a54cc33da");
request.setStartDate("2022-05-16 00:00:00");
request.setStartTime(0);
request.setEndDate("2022-05-16 00:00:00");
request.setEndTime(0);
request.setHolidayType(3);
request.setTimeUnit(0);
List<FlowSettingGroupModel> groupModels = new ArrayList<>();
FlowSettingGroupModel groupModel = new FlowSettingGroupModel();
groupModel.setGroupId("0542ef03de4c450489035291852a30c9");
groupModel.setGroupName("申请原由");
groupModel.setGroupType(0);
groupModel.setIsFixed(0);
groupModel.setIsHide(0);
List<FlowSettingFieldModel> fieldModels = new ArrayList<>();
FlowSettingFieldModel fieldModel1 = new FlowSettingFieldModel();
fieldModel1.setFieldId("a1713b90f34540c5a8e1a8574bcec477");
fieldModel1.setGroupType(0);
fieldModel1.setType(3);
fieldModel1.setComponentType(0);
fieldModel1.setFieldValue("2231");
fieldModel1.setRequire(0);
fieldModels.add(fieldModel1);
FlowSettingFieldModel fieldModel2 = new FlowSettingFieldModel();
Map<String,String> filemap =new HashMap<>();
filemap.put("fileKey","WLv3HG/erDTWjDZE048/GjM2OGNkZDFjNjVlOWQ3MmNlNzlhYTViZDRlMWE5NzdhNWZlNDg3OTI5MGE0M2QyZGI5ODEzZjkzZDk0ZmNmMDiJasm/rzGvxLhu1+AvC5BHgFcf5P1QNQazaK28F4CrUHIP3SchyJwnUwA65iL4h8EBJSqO5V62ahSeJ/Nicn1AsdEFtEWpyrkIJgr09Lo56rCRVHDY3708mfIRvgNUiNghKVhuuWEu3SbG+ey8tcT98R+zTJHrUQ/cHzf4jIc6fg==");
filemap.put("fileName","1.png");
fieldModel2.setFieldId("0fab522c2088430da0157e1551cf485b");
fieldModel2.setType(11);
fieldModel2.setRequire(0);
fieldModel2.setComponentType(0);
fieldModel2.setGroupType(0);
List<Map<String,String>> files = new ArrayList<>();
files.add(filemap);
fieldModel2.setFiles(files);
fieldModels.add(fieldModel2);
groupModel.setFields(fieldModels);
groupModels.add(groupModel);
request.setCustomField(groupModels);
OpenapiResponse<String> response = XrxsApprovalService.startLeaveOffApply(request);
响应示例:
{
"errcode": 0,
"errmsg": "成功",
"data": "933056711123"
}