Fx.stage
Fx.stage:阶段推进器API 阶段的api
1. 触发阶段推进器
Fx.stage.trigger(<String objectApiName>, <String objectId>, <String userId>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
objectApiName | String | 对象的api名称 |
objectId | String | 对象数据id |
userId | String | 发起人 |
返回值类型
APIResult
返回值说明
Map </br> workflowInstanceId:当前触发的阶段推进器的流程id </br> isCurrentDef:当前实例是否为当前定义 </br> hasInstance:是否存在流程实例 </br> stagePropellerName: 阶段推进器定义名称 </br> 返回值参考 </br> [false,{"workflowInstanceId":"631020344ffa3d4d730ebf3b"},""] </br> 注:以上是函数统一的返回结构,第一个返回值表示请求是否失败,false表示请求成功
Java举例
APIResult ret = Fx.stage.trigger("object_qep6N__c", "617f9b7340beec0001b9b14e","1007");
log.info(ret);
if (ret.isError()) {
log.info(ret.message());
} else{
log.info(ret.getData());
}
Groovy举例
def(Boolean error, Map data, String errorMessage) = Fx.stage.trigger("object_qep6N__c", "617f9b7340beec0001b9b14e","1007")
log.info(ret)
if (error) {
log.info(errorMessage)
} else{
log.info(data)
}
2. 匹配可以触发的阶段推进器(非商机2.0)
Fx.stage.matchDef(<String entityId>, <String objectId>, <String userId>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
entityId | String | 对象apiName |
objectId | String | 数据id |
userId | String | 用户id |
返回值类型
APIResult
返回值说明
Map </br> sourceWorkflowId:定义id </br> isCurrentDef:当前实例是否为当前定义 </br> hasInstance:是否存在流程实例 </br> stagePropellerName:阶段推进器定义名称 </br> 返回值参考 </br> [false, {sourceWorkflowId=62fcad533149760001149c27, isCurrentDef=true, hasInstance=true, stagePropellerName=ln主从编辑}, ]
Groovy举例
def api_name=context.data.object_describe_api_name as String
def object_id=context.data._id as String
log.info(api_name+","+object_id)
def match_result=Fx.stage.matchDef(api_name,object_id,"1000")
log.info(match_result)
3. 切换阶段推进器(非商机2.0)
Fx.stage.change(<String entityId>, <String objectId>, <String sourceWorkflowId>, <String stageId>, <String userId>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
entityId | String | 对象apiName |
objectId | String | 数据id |
sourceWorkflowId | String | 由预匹配得到的阶段推进器的定义id,参考Fx.stage.matchDef |
stageId | String | 初始化阶段id |
userId | String | 用户id |
返回值类型
APIResult
返回值说明
Map
Groovy举例
match_result=Fx.stage.change(api_name,object_id,"61a87f17bb3d4700017f5a78","1","1000")
log.info(match_result)
4. 更新并完成任务
Fx.stage.changeTaskHandler(<String taskId>, <List candidateIds>, <String userId>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
taskId | String | |
candidateIds | List | 要更换的处理列表 |
userId | String | 用户id |
返回值类型
APIResult
返回值说明
Map
Groovy举例
def rst=Fx.stage.changeTaskHandler(userId,taskId,["1000"])
log.info(rst)
5. 完成选择关联的任务
Fx.stage.completeCreateAndRelatedTask(<String taskId>, <String entityId>, <String objectId>, <String userId>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
taskId | String | |
entityId | String | 对象apiName |
objectId | String | 数据id |
userId | String |
返回值类型
APIResult
返回值说明
Map
Groovy举例
def rst=Fx.stage.completeCreateAndRelatedTask(userId,taskId,entityId,objectId)
log.info(rst)
6. 更新并完成任务
Fx.stage.updateAndCompleteTask(<String taskId>, <Map data>, <String userId>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
taskId | String | |
data | Map | 要更新的数据信息 |
userId | String | 用户id |
返回值类型
APIResult
返回值说明
Map
Groovy举例
def data=[key:value]
def rst=Fx.stage.updateAndCompleteTask(userId,taskId,data)
log.info(rst)
7. 重新激活
Fx.stage.reactive(<String workflowInstanceId>, <String activeStageId>, <Map data>, <String userId>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
workflowInstanceId | String | 流程实例Id |
activeStageId | String | 激活阶段 |
data | Map | 更新表单数据 |
userId | String | 用户id |
返回值类型
APIResult
返回值说明
Map
Java举例
//重新激活函数demo
//实例id
def workflowInstanceId="62c3da4e0d9f997b27dfd90e"
//要跳转的阶段
def activeStageId="47u3S02Gz"
//重新激活表单填写
Map data= ["field_0mvhC__c": "90"]
def userId= "1000"
def(boolean error, Map result, String message) = Fx.stage.reactive(workflowInstanceId, activeStageId, data, userId)
if (error) {
log.info("error :" + message)
} else {
log.info(result)
}
8. 重新激活校验
Fx.stage.reactiveValidate(<String workflowInstanceId>, <String userId>)
参数说明
参数 | 类型 | 说明 |
---|---|---|
workflowInstanceId | String | 流程实例Id |
userId | String | 用户id |
返回值类型
APIResult
返回值说明
Map
Groovy举例
//重新激活校验函数接口demo
//实例id
def workflowInstanceId= "62c3da4e0d9f997b27dfd90e"
def userId = context.userId
def(boolean error, Map result, String message) = Fx.stage.reactiveValidate(workflowInstanceId,userId)
if (error) {
log.info("error: " + message)
} else {
log.info(result)
}