ProcessUtil工具类
com.justep.util.process.ProcessUtil
- 我们封装了一个流程工具类在服务端处理流程,主要包括两方面:
- 控制流程的执行,如将流程进行流转、回退、重启等
- 修改执行相关信息,如执行人、流程标题等
getPIByData(HttpServletRequest contextRequest, String data, String process, String status, String filter)
功能:通过业务主键查询流程实例
参数:
contextRequest:当前请求对象
data:业务主键
process:目标流程
status: 流程实例状态,取值范围{"finished", "waiting", ""}
filter: 过滤条件,例如 SA_Task.sName='订单申请'
返回:
类型:Lits<Task>
参考:
getPIByData(SpringWebUtil.getRequest(), vars.getString("sData1"), "/SA/wf/default/ykdm_dmsksksq", null, null)
getActiveTaskByData(HttpServletRequest contextRequest, String data, String process)
功能:通过业务主键获取当前活动环节的任务对象集合,如需要在后端驱动流程流转时,可使用此api获取对应待流转的任务
参数:
contextRequest:当前请求对象
data:业务主键
process:目标流程
返回:
类型:Lits<Task>
参考:
getActiveTaskByData(SpringWebUtil.getRequest(), vars.getString("sData1"),"/SA/wf/default/ykdm_dmsksksq")
deletePI(HttpServletRequest contextRequest, String task, boolean force)
功能:根据任务标识删除流程实例
参数:
contextRequest:当前请求对象
task:任务标识
force:是否强制删除
返回:
类型:void
参考:
deletePI(SpringWebUtil.getRequest(), "xx", true)
startProcess(HttpServletRequest contextRequest, String process, String sData1, JSONObject formData)
功能:启动流程
参数:
contextRequest:当前请求对象
process:目标流程
sData1:流程主键
formData:流程表单信息(此参数内容已废弃,请置null)
返回:
类型:ProcessResult
参考:
startProcess(SpringWebUtil.getRequest(), "/SA/wf/default/ykdm_dmsksksq", vars.getString("sData1"), null)
startProcess(HttpServletRequest contextRequest, String process, String sData1, JSONObject formData, JSONObject attrs, JSONObject vars)
功能:启动流程,可定制执行人和创建人,传null则只使用流程设定规则
参数:
contextRequest:当前请求对象
process:目标流程
sData1:流程主键
formData:流程表单信息(此参数内容已废弃,请置null)
attrs:任务属性,可以在这里设置sData2,sData3等任务属性的值
vars:流程变量的初始值
返回:
类型:ProcessResult
参考:
startProcess(SpringWebUtil.getRequest(), "/SA/wf/default/ykdm_dmsksksq", vars.getString("sData1"), null, null, null)
startProcess(HttpServletRequest contextRequest, String process, String sData1, JSONObject formData, String executor, String creator)
功能:启动流程,可定制执行人和创建人,传null则只使用流程设定规则
参数:
contextRequest:当前请求对象
process:目标流程
sData1:流程主键
formData:流程表单信息(此参数内容已废弃,请置null)
executor:执行人员ID或FID(ID默认获取的主岗信息)
creator:创建人员ID或FID(ID默认获取的主岗信息)
返回:
类型:ProcessResult
参考:
startProcess(SpringWebUtil.getRequest(), "/SA/wf/default/ykdm_dmsksksq", vars.getString("sData1"), null, executor, creator)
startProcess(HttpServletRequest contextRequest, String process, String sData1, JSONObject formData, String executor, String creator, JSONObject attrs, JSONObject vars)
功能:启动流程,可定制执行人和创建人,传null则只使用流程设定规则
参数:
contextRequest:当前请求对象
process:目标流程
sData1:流程主键
formData:流程表单信息(此参数内容已废弃,请置null)
executor:执行人员ID或FID(ID默认获取的主岗信息)
creator:创建人员ID或FID(ID默认获取的主岗信息)
attrs:任务属性,可以在这里设置sData2,sData3等任务属性的值
vars:流程变量的初始值
返回:
类型:ProcessResult
参考:
startProcess(SpringWebUtil.getRequest(), "/SA/wf/default/ykdm_dmsksksq", vars.getString("sData1"), null, executor, creator, null, null)
advanceProcessQuery(HttpServletRequest contextRequest, String task)
功能:流转查询
参数:
contextRequest:当前请求对象
task:当前任务ID
返回:
类型:ProcessControl,流程的核心数据,如执行人、流程标题等等
参考:
advanceProcessQuery(SpringWebUtil.getRequest(), task)
advanceProcess(HttpServletRequest contextRequest, String task, ProcessControl control)
功能:流程流转
参数:
contextRequest:当前请求对象
task:当前任务ID
control:需要控制流程核心数据时传入,如执行人、流程标题等等,可传null执行默认规则
返回:
类型:ProcessControl,流程的核心数据,如执行人、流程标题等等
参考:
advanceProcess(SpringWebUtil.getRequest(), task, control);
backProcessQuery(HttpServletRequest contextRequest, String task)
功能:流程回退查询
参数:
contextRequest:当前请求对象
task:当前任务ID
返回:
类型:ProcessControl,流程的核心数据,如执行人、流程标题等等
参考:
backProcessQuery(SpringWebUtil.getRequest(), task);
backRootProcessQuery(HttpServletRequest contextRequest, String task)
功能:流程回退首环节查询
参数:
contextRequest:当前请求对象
task:当前任务ID
返回:
类型:ProcessControl,流程的核心数据,如执行人、流程标题等等
参考:
backRootProcessQuery(SpringWebUtil.getRequest(), task);
backProcess(HttpServletRequest contextRequest, String task, ProcessControl control)
功能:流程回退
参数:
contextRequest:当前请求对象
task:当前任务ID
control:需要控制流程核心数据时传入,如执行人、流程标题等等,可传null执行默认规则
返回:
类型:ProcessControl,流程的核心数据,如执行人、流程标题等等
参考:
backProcess(SpringWebUtil.getRequest(), task, control);
abortProcessQuery(HttpServletRequest contextRequest, String task)
功能:流程终止查询
参数:
contextRequest:当前请求对象
task:当前任务ID
返回:
类型:ProcessControl,流程的核心数据,如执行人、流程标题等等
参考:
abortProcessQuery(SpringWebUtil.getRequest(), task);
abortProcess(HttpServletRequest contextRequest, String task, ProcessControl control)
功能:流程终止
参数:
contextRequest:当前请求对象
task:当前任务ID
control:需要控制流程核心数据时传入,如执行人、流程标题等等,可传null执行默认规则
返回:
类型:ProcessControl,流程的核心数据,如执行人、流程标题等等
参考:
abortProcess(SpringWebUtil.getRequest(), task, control);
suspendProcessQuery(HttpServletRequest contextRequest, String task)
功能:流转暂停查询
参数:
contextRequest:当前请求对象
task:当前任务ID
返回:
类型:ProcessControl,流程的核心数据,如执行人、流程标题等等
参考:
suspendProcessQuery(SpringWebUtil.getRequest(), task);
suspendProcess(HttpServletRequest contextRequest, String task, ProcessControl control)
功能:流程暂停
参数:
contextRequest:当前请求对象
task:当前任务ID
control:需要控制流程核心数据时传入,如执行人、流程标题等等,可传null执行默认规则
返回:
类型:ProcessControl,流程的核心数据,如执行人、流程标题等等
参考:
suspendProcess(SpringWebUtil.getRequest(), task, control);
transferTaskQuery(HttpServletRequest contextRequest, String task)
功能:流转转发查询
参数:
contextRequest:当前请求对象
task:当前任务ID
返回:
类型:ProcessControl,流程的核心数据,如执行人、流程标题等等
参考:
transferTaskQuery(SpringWebUtil.getRequest(), task);
transferTask(HttpServletRequest contextRequest, String task, ProcessControl control)
功能:流程转发
参数:
contextRequest:当前请求对象
task:当前任务ID
control:需要控制流程核心数据时传入,如执行人、流程标题等等,可传null执行默认规则
返回:
类型:ProcessControl,流程的核心数据,如执行人、流程标题等等
参考:
transferTask(SpringWebUtil.getRequest(), task, control);
specialProcessQuery(HttpServletRequest contextRequest, String task)
功能:流转特送查询
参数:
contextRequest:当前请求对象
task:当前任务ID
返回:
类型:ProcessControl,流程的核心数据,如执行人、流程标题等等
参考:
specialProcessQuery(SpringWebUtil.getRequest(), task);
specialProcess(HttpServletRequest contextRequest, String task, ProcessControl control)
功能:流程特送
参数:
contextRequest:当前请求对象
task:当前任务ID
control:需要控制流程核心数据时传入,如执行人、流程标题等等,可传null执行默认规则
返回:
类型:ProcessControl,流程的核心数据,如执行人、流程标题等等
参考:
specialProcess(SpringWebUtil.getRequest(), task, control);
restartProcessQuery(HttpServletRequest contextRequest, String task, String mode
功能:流转重启查询,流程结束后可重启
参数:
contextRequest:当前请求对象
task:当前任务ID
mode:重启模式,可传入lastActivityExecutor或"",分别表示仅允许最后环节执行者重启和允许所有人重启
返回:
类型:ProcessControl,流程的核心数据,如执行人、流程标题等等
参考:
restartProcessQuery(SpringWebUtil.getRequest(), task, "");
restartProcess(HttpServletRequest contextRequest, String task, String mode, ProcessControl control)
功能:流程重启,流程结束后可重启
参数:
contextRequest:当前请求对象
task:当前任务ID
mode:重启模式,可传入lastActivityExecutor或"",分别表示仅允许最后环节执行者重启和允许所有人重启
control:需要控制流程核心数据时传入,如执行人、流程标题等等,可传null执行默认规则
返回:
类型:ProcessControl,流程的核心数据,如执行人、流程标题等等
参考:
restartProcess(SpringWebUtil.getRequest(), task, lastActivityExecutor, control);
resumeProcess(HttpServletRequest contextRequest, String task)
功能:流程唤醒,流程暂停后可唤醒
参数:
contextRequest:当前请求对象
task:当前任务ID
返回:
类型:void
参考:
resumeProcess(SpringWebUtil.getRequest(), task);
withdrawTask(HttpServletRequest contextRequest, String task)
功能:回收流程
参数:
contextRequest:当前请求对象
task:当前任务ID
返回:
类型:void
参考:
withdrawTask(SpringWebUtil.getRequest(), task);