Fx.approval:审批相关的函数
1. findInstances 返回指定对象和指定数据(可选)的所有审批实例
Fx.approval.findInstances(<String objectApiName>, <List state>, <String dataId>, <Integer limit>, <Integer skip>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
objectApiName | String | |
state | List | |
dataId | String | 不传则返回该对象下所有正在审批的实例 |
limit | Integer | |
skip | Integer |
返回值类型
APIResult
返回值说明
返回的数据类型: QueryResult , 返回审批相关的字段包括:
审批流程id(instanceId)
审批流APIName(approvalApiName)
审批流名称(approvalName)
数据Id(dataId)
审批开始时间(createTime)
审批结束时间(endTime)
审批提交人(submitter)
审批发起人(owner)
Java举例
QueryResult retData = Fx.approval.findInstances("object_pjy2L__c", Lists.newArrayList("in_progress"), "5e9858f5865dbc000155dd87", 10, 0).result();
log.info(retData);
Groovy举例
def retData = Fx.approval.findInstances("object_pjy2L__c", ["in_progress"], "5e9858f5865dbc000155dd87", 10, 0).result() as QueryResult
log.info(retData)
2. findInstances 查询对象上的审批实例(查询并不是实时的,有延迟,实时查询可以参考乐享文章:实时查询审批流的函数)
Fx.approval.findInstances(<String objectApiName>, <List state>, <String dataId>, <Integer limit>, <Integer skip>, <ActionAttribute attribute>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
objectApiName | String | 对象的apiName |
state | List | 实例状态,传list,空list表示全部状态,目前支持的实例状态:in_progress(进行中), pass(通过), cancel(取消), error(异常), reject(拒绝) |
dataId | String | 业务数据Id,不能为空 |
limit | Integer | 限制查询条数,最大100条 |
skip | Integer | 跳过多少条初始数据 |
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举例
List retData = Fx.approval.findInstances("object_pjy2L__c", Lists.newArrayList("in_progress"), "5e9858f5865dbc000155dd87", 10, 0).result();
log.info(retData);
Groovy举例
def retData = Fx.approval.findInstances("object_pjy2L__c", ["in_progress"], "5e9858f5865dbc000155dd87", 10, 0).result() as List
log.info(retData)
3. findInstances 查询对象上的审批实例
Fx.approval.findInstances(<String objectApiName>, <Integer limit>, <Integer skip>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
objectApiName | String | 对象的apiName |
limit | Integer | 限制查询条数,最大100条 |
skip | Integer | 跳过多少条初始数据 |
返回值类型
APIResult
返回值说明
返回的数据类型: List
4. findTasks 查询一个审批实例下的所有审批任务节点
Fx.approval.findTasks(<String instanceId>, <ActionAttribute attribute>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
instanceId | String | 一次审批流程的唯一ID |
attribute | ActionAttribute | 可选参数, |
返回值类型
APIResult
返回值说明
返回的数据类型: List
Java举例
List ret = Fx.approval.findTasks("5fa89df8f791130001557774").result();
log.info(ret);
Groovy举例
def ret = Fx.approval.findTasks("5fa89df8f791130001557774").result() as List
log.info(ret)
5. cancelApproval 指定对象和数据id, 撤回正在进行的审批
Fx.approval.cancelApproval(<String objectApiName>, <String dataId>, <String comment>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
objectApiName | String | 对象的apiName |
dataId | String | 业务数据Id |
comment | String | 审批意见 |
返回值类型
APIResult
返回值说明
返回的数据类型: 无数据返回
Java举例
Fx.approval.cancelApproval("object_pjy2L__c", "5e9858f5865dbc000155dd87", "取消").result();
Groovy举例
Fx.approval.cancelApproval("object_pjy2L__c", "5e9858f5865dbc000155dd87", "取消").result()
6. approvalAction 对审批任务节点进行操作
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)
7. setApprovalIds 更换审批任务节点的审批人
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)
8. getCanRefuseTasks 通过当前实例查询可以驳回到的任务节点信息
Fx.approval.getCanRefuseTasks(<String instanceId>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
instanceId | String | 审批实例Id |
返回值类型
APIResult
返回值说明
返回的数据类型: Map,包括以下字段: taskId:任务节点id taskFullName: 任务名称
Java举例
List rst = Fx.approval.getCanRefuseTasks("618b44e04dfcf72fe16ea6cd").result();
log.info(rst);
Groovy举例
def rst = Fx.approval.getCanRefuseTasks("618b44e04dfcf72fe16ea6cd").result()
log.info(rst)
9. getCanRefuseTasks 通过当前实例查询可以驳回到的任务节点信息
Fx.approval.getCanRefuseTasks(<String instanceId>, <String taskId>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
instanceId | String | 审批实例Id |
taskId | String | 任务Id 900版本后,审批流在并行网关中支持了审批节点;此处添加上任务id,可以获取进行中任务前可以驳回的节点 如果是并行内进行中的节点获取可以驳回的节点时,没有传递taskId,可能会获取到其他进行中任务可以驳回到的节点,从而导致在执行驳回到前置节点时出现异常 |
返回值类型
APIResult
返回值说明
返回的数据类型: Map,包括以下字段: taskId:任务节点id taskFullName: 任务名称
Java举例
List rst = Fx.approval.getCanRefuseTasks("618b44e04dfcf72fe16ea6cd","618b44e04dfcf72fe16ca6de").result();
log.info(rst);
Groovy举例
def rst = Fx.approval.getCanRefuseTasks("618b44e04dfcf72fe16ea6cd","618b44e04dfcf72fe16ca6de").result()
log.info(rst)
10. getDetailChange 获取从对象变更详情
Fx.approval.getDetailChange(<String instanceId>, <String objectApiName>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
instanceId | String | 审批实例Id |
objectApiName | String | 对象apiName |
返回值类型
APIResult
返回值说明
返回的数据类型: Map
Groovy举例
def rst = Fx.approval.getDetailChange(instanceId, "object_5n3i2__c")
log.info(rst)
11. rejectToBeforeTask 驳回至的任意节点(当前节点之前的节点)
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举例
Fx.approval.rejectToBeforeTask("618b73c84dfcf72fe16ea79e", "618b7212abb2092507a2208b", "1017", "驳回意见").result();
Groovy举例
Fx.approval.rejectToBeforeTask("618b73c84dfcf72fe16ea79e", "618b7212abb2092507a2208b", "1017", "驳回意见").result()
12. skipValidateAndCompleteTask 支持全流程事件配置, 完成任务, 并跳过校验及后动作执行落
Fx.approval.skipValidateAndCompleteTask(<String taskId>, <String opinion>, <String userId>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
taskId | String | 任务Id |
opinion | String | 审批意见 |
userId | String | 用户id |
返回值类型
APIResult
返回值说明
返回的数据类型: Boolean 执行是否成功
Java举例
Boolean rst = Fx.approval.skipValidateAndCompleteTask("5e9858f5865dbc000155dd87", "需要跳过前置条件及后动作", "1000").result() as Boolean
log.info(rst)
Groovy举例
def rst = Fx.approval.skipValidateAndCompleteTask("618b73c84dfcf72fe16ea79e", 需要跳过前置条件及后动作", "1000").result() as Boolean
log.info(rst)
13. delayTaskImmediatelyExecute 审批流等待节点立即执行
Fx.approval.delayTaskImmediatelyExecute(<String taskId>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
taskId | String | 等待节点id |
返回值类型
APIResult
返回值说明
返回的数据类型: Map
Java举例
APIResult res = Fx.approval.delayTaskImmediatelyExecute("62f3217ac6fa24292be4f833").result();
Groovy举例
def res = Fx.approval.delayTaskImmediatelyExecute("62f3217ac6fa24292be4f833").result() as Map;
14. existsInstance 审批流是否存在实例, 存在这返回实例id
Fx.approval.existsInstance(<String entityId>, <String objectId>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
entityId | String | 对象ApiName |
objectId | String | 数据Id |
返回值类型
APIResult
返回值说明
返回的数据类型: String 审批实例id
Java举例
String rst = = Fx.approval.existsInstance("AccountObj", "62e8eb7698d1f100012d6002").result();
log.info(rst);
Groovy举例
def rst = Fx.approval.existsInstance("AccountObj", "62e8eb7698d1f100012d6002").result() as String
log.info(rst)
15. refreshHandler 重新解析任务处理人
Fx.approval.refreshHandler(<String taskId>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
taskId | String | 任务id |
返回值类型
APIResult
返回值说明
返回的数据类型: Map
Java举例
Map rst = Fx.approval.refreshHandler("6343e4d780f4841c79cbcae0").result();
log.info(rst);
Groovy举例
def res = Fx.approval.refreshHandler("6343e4d780f4841c79cbcae0").result() as Map
log.info(res)
16. findDelayTask 根据objectId或审批InstanceId查询等待节点
Fx.approval.findDelayTask(<String objectId>, <String workflowInstanceId>, <Integer pageNumber>, <Integer pageSize>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
objectId | String | 数据id |
workflowInstanceId | String | 审批流实例d |
pageNumber | Integer | |
pageSize | Integer |
返回值类型
APIResult
返回值说明
返回的数据类型: Map
Java举例
String objectId = "63a403eb314aa80001bd9b82";
String instanceId = "63a405d45513f84c58c2b66c";
Integer pageNumber = 1;
Integer pageSize = 3;
//根据数据ID查延迟节点
Map rst = Fx.approval.findDelayTask(objectId, null, pageNumber, pageSize).result() as Map;
log.info(rst);
//根据实例ID查延迟节点
Map rst = Fx.approval.findDelayTask(null, instanceId, pageNumber, pageSize).result();
log.info(rst);
Groovy举例
def objectId = "63a403eb314aa80001bd9b82"
Integer pageNumber = 1
Integer pageSize = 3
//根据数据ID查延迟节点
def rst = Fx.approval.findDelayTask(objectId, null, pageNumber, pageSize).result() as Map
log.info(rst)
//根据实例ID查延迟节点
def instanceId = "63a405d45513f84c58c2b66c"
Map rst = Fx.approval.findDelayTask(null, instanceId, pageNumber, pageSize).result()
log.info(rst)
17. getInstance 获取实例详情
Fx.approval.getInstance(<String instanceId>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
instanceId | String | 实例id |
返回值类型
APIResult
返回值说明
返回的数据类型: Map
Java举例
Map rst = Fx.approval.getInstance("63f7049b363f0627220ac2ea").result()
log.info(rst);
Groovy举例
def rst = Fx.approval.getInstance("63f7049b363f0627220ac2ea").result() as Map;
log.info(rst)
18. getInstanceProgress 查询流程实例详情进展
Fx.approval.getInstanceProgress(<String entityId>, <String objectId>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
entityId | String | 对象apiName |
objectId | String | 数据id |
返回值类型
APIResult
返回值说明
返回的数据类型: Map
Java举例
String entityId = "object_8F03i__c"; //对象apiName
String objectId = "63f6d5b94315da0001585821"; //数据id
Map rst = Fx.approval.getInstanceProgress(entityId, objectId).result();
log.info(rst);
Groovy举例
def entityId = "object_8F03i__c"; //对象apiName
def objectId = "63f6d5b94315da0001585821"; //数据id
def rst = Fx.approval.getInstanceProgress(entityId, objectId).result() as Map
log.info(rst)
19. getTriggerDataByInstanceId 查询固定审批流, 自由审批流实例相关的triggerData
Fx.approval.getTriggerDataByInstanceId(<String instanceId>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
instanceId | String | 实例Id |
返回值类型
APIResult
返回值说明
返回的数据类型: Boolean
Java举例
Fx.approval.getTriggerDataByInstanceId("618b44e04dfcf72fe16ea6cd").result();
Groovy举例
Fx.approval.getTriggerDataByInstanceId("618b44e04dfcf72fe16ea6cd").result()