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)

results matching ""

    No results matching ""