Fx.approval

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()

2024-09-15
4 27
Baidu
map