- Fx.approval
- findInstances 查询对象上的审批实例(查询并不是实时的,有延迟)
- findInstances 查询对象上的审批实例
- findTasks 查询审批实例的所有任务节点
- cancelApproval 撤回审批
- approvalAction 对审批任务节点进行操作
- setApprovalIds 更换审批任务节点的审批人
- getCanRefuseTasks 通过当前实例查询可以驳回到的任务节点信息
- rejectToBeforeTask 驳回至的任意节点(当前节点之前的节点)
- skipValidateAndCompleteTask 支持全流程事件配置, 完成任务, 并跳过校验及后动作执行落
- delayTaskImmediatelyExecute 审批流等待节点立即执行
- existsInstance 审批流是否存在实例,存在这返回实例id
Fx.approval
Fx.approval:审批相关的函数
1. 查询对象上的审批实例(查询并不是实时的,有延迟)
Fx.approval.findInstances(<String objectApiName>, <List state>, <String dataId>, <int limit>, <int skip>, <ActionAttribute attribute>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
objectApiName | String | 对象的apiName |
state | List | 实例状态,传list,空list表示全部状态,目前支持的实例状态:in_progress(进行中), pass(通过), cancel(取消), error(异常), reject(拒绝) |
dataId | String | 业务数据Id,不能为空 |
limit | int | 限制查询条数,最大100条 |
skip | int | 跳过多少条初始数据 |
attribute | ActionAttribute | 可选参数 |
返回值类型
APIResult
返回值说明
审批任务List,返回审批任务相关的字段包括: 数据id(dataId) 创建时间(createTime) 当前审批人列表(userIds) 审批意见(opinions) 意见填写人(reply_user) 操作类型(action_type)支持的类型有agree(同意), reject(拒绝) 回复时间(reply_time) 审批意见(opinion) 对象的apiName(objectApiName) 审批状态(state) 类型(type) 审批任务节点Id(taskId)
Java举例
APIResult retData = Fx.approval.findInstances("object_pjy2L__c", Lists.newArrayList("in_progress"), "5e9858f5865dbc000155dd87", 10, 0);
log.info(retData);
Groovy举例
def retData = Fx.approval.findInstances("object_pjy2L__c", ["in_progress"], "5e9858f5865dbc000155dd87", 10, 0)
log.info(retData)
2. 查询对象上的审批实例
Fx.approval.findInstances(<String objectApiName>, <int limit>, <int skip>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
objectApiName | String | 对象的apiName |
limit | int | 限制查询条数,最大100条 |
skip | int | 跳过多少条初始数据 |
返回值类型
APIResult
返回值说明
3. 查询审批实例的所有任务节点
Fx.approval.findTasks(<String instanceId>, <ActionAttribute attribute>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
instanceId | String | 一次审批流程的唯一ID |
attribute | ActionAttribute | 可选参数, |
返回值类型
APIResult
返回值说明
Java举例
APIResult ret = Fx.approval.findTasks("5fa89df8f791130001557774");
log.info(ret);
Groovy举例
def ret = Fx.approval.findTasks("5fa89df8f791130001557774")
log.info(ret)
4. 撤回审批
Fx.approval.cancelApproval(<String objectApiName>, <String dataId>, <String comment>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
objectApiName | String | 对象的apiName |
dataId | String | 业务数据Id |
comment | String | 审批意见 |
返回值类型
APIResult
返回值说明
Java举例
APIResult ret = Fx.approval.cancelApproval("object_pjy2L__c", "5e9858f5865dbc000155dd87", "取消");
log.info(ret);
Groovy举例
def ret = Fx.approval.cancelApproval("object_pjy2L__c", "5e9858f5865dbc000155dd87", "取消")
log.info(ret)
5. 对审批任务节点进行操作
Fx.approval.approvalAction(<String taskId>, <String actionType>, <String opinion>, <String userId>, <String apiName>, <String dataId>, <Map data>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
taskId | String | 审批任务节点Id |
actionType | String | 操作类型,支持的类型有agree(同意), reject(拒绝) |
opinion | String | 审批意见 |
userId | String | 审批人Id |
apiName | String | 可选参数, 对象apiName |
dataId | String | 可选参数, 数据id |
data | Map | 可选参数,完成审批流协作任务时 需要更新字段信息, |
返回值类型
APIResult
返回值说明
taskId : 操作成功的taskId
Java举例
APIResult ret = Fx.approval.approvalAction("5fa89df8f791130001557775", "agree", "同意", "1027");
log.info(ret);
Groovy举例
def ret = Fx.approval.approvalAction("5fa89df8f791130001557775", "agree", "同意", "1027")
log.info(ret)
6. 更换审批任务节点的审批人
Fx.approval.setApprovalIds(<String taskId>, <List userList>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
taskId | String | 审批任务节点Id |
userList | List | 审批人列表 |
返回值类型
APIResult
返回值说明
Java举例
APIResult ret = Fx.approval.setApprovalIds("5fa8a1c2f791130001557776", Lists.newArrayList("1007", "1017"));
log.info(ret);
Groovy举例
def ret = Fx.approval.setApprovalIds("5fa8a1c2f791130001557776", ["1007", "1017"])
log.info(ret)
7. 通过当前实例查询可以驳回到的任务节点信息
Fx.approval.getCanRefuseTasks(<String instanceId>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
instanceId | String | 审批实例Id |
返回值类型
APIResult
返回值说明
Map,包括以下字段: taskId :任务节点id taskFullName : 任务名称
Java举例
APIResult ret = Fx.approval.getCanRefuseTasks("618b44e04dfcf72fe16ea6cd");
if (ret.isError()) {
log.info(ret.message());
} else {
log.info(ret.getData());
}
Groovy举例
def(Boolean error, List data, String errorMessage) = Fx.approval.getCanRefuseTasks("618b44e04dfcf72fe16ea6cd")
if (error) {
log.info(errorMessage)
} else {
log.info(data)
}
8. 驳回至的任意节点(当前节点之前的节点)
Fx.approval.rejectToBeforeTask(<String currentTaskId>, <String rejectToTaskId>, <String userId>, <String opinion>, <boolean moveToCurrent>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
currentTaskId | String | 当前任务节点id |
rejectToTaskId | String | 回退到的任务节点id |
userId | String | 审批人Id |
opinion | String | 驳回意见 |
moveToCurrent | boolean | 可选参数,驳回后再次通过后,是直接跳到上次驳回的节点,还是继续按照流程图往下走,默认为false (非必填) false: 驳回后再次通过,继续按照流程图往下走 true: 驳回后再次通过,直接跳到上次驳回的节点 |
返回值类型
APIResult
返回值说明
Java举例
APIResult ret = Fx.approval.rejectToBeforeTask("618b73c84dfcf72fe16ea79e", "618b7212abb2092507a2208b", "1017", "驳回意见");
if (ret.isError()) {
log.info(ret.message());
} else {
log.info(ret.getData());
}
Groovy举例
def(Boolean error, Map data, String errorMessage) = Fx.approval.rejectToBeforeTask("618b73c84dfcf72fe16ea79e", "618b7212abb2092507a2208b", "1017", "驳回意见")
if (error) {
log.info(errorMessage)
} else {
log.info(data)
}
9. 支持全流程事件配置, 完成任务, 并跳过校验及后动作执行落
Fx.approval.skipValidateAndCompleteTask(<String taskId>, <String opinion>, <String userId>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
taskId | String | 任务Id |
opinion | String | 审批意见 |
userId | String | 用户id |
返回值类型
APIResult
返回值说明
Boolean 执行是否成功
Java举例
APIResult ret = Fx.approval.skipValidateAndCompleteTask("5e9858f5865dbc000155dd87", "需要跳过前置条件及后动作", "1000")
if (ret.isError()) {
log.info(ret.message());
} else {
log.info(ret.getData());
}
10. 审批流等待节点立即执行
Fx.approval.delayTaskImmediatelyExecute(<String taskId>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
taskId | String | 等待节点id |
返回值类型
APIResult
返回值说明
Map
Java举例
APIResult res = Fx.approval.delayTaskImmediatelyExecute("62f3217ac6fa24292be4f833");
if(res.isError() || res.message() != ""){
log.info(res.message())
}else{
log.info("审批流自动节点立即执行成功")
}
11. 审批流是否存在实例,存在这返回实例id
Fx.approval.existsInstance(<String entityId>, <String objectId>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
entityId | String | 对象ApiName |
objectId | String | 数据Id |
返回值类型
APIResult
返回值说明
String 审批实例id
Java举例
APIResult res = = Fx.approval.existsInstance("AccountObj", "62e8eb7698d1f100012d6002");
if (ret.isError()) {
log.info(ret.message());
} else {
log.info(ret.getData());
}
Groovy举例
def (Boolean error, String instanceId, String message) = Fx.approval.existsInstance("AccountObj", "62e8eb7698d1f100012d6002")
if (error) {
log.info("error :" + message)
}
log.info(instanceId)