Appearance
定时任务创建流程
1、在任务调度上配置对应的定时任务
2、编写对应的调度程序(创建流程示例)
java
//引包
import ztgis.engine.model.flowtask.FlowTaskForm;
import ztgis.engine.service.FlowDynamicService;
import ztgis.permission.service.UserService;
import ztgis.permission.entity.UserEntity;
//流程实例service
@Resource
private FlowDynamicService flowDynamicService;
//用户service
@Resource
private UserService userService;
@ApiOperation("创建流程,并提交")
@PostMapping("/jobTaskCreate")
public void jobTaskCreate() throws WorkFlowException, DataException {
//用户、引擎信息,亦可通过调度传递
String userId = "1d230af0-7054-43e0-bcd0-60144d3ed1d2";
String engineId = "71190242301a4e0689eff1905076d68d";
UserEntity user = userService.getInfo(userId);
//构建task form,与前端提交保持一致,提交需要更多数据
FlowTaskForm form = new FlowTaskForm();
form.setFlowId(engineId);
form.setTitle(user.getRealName() + "的定时创建流程");
form.setHandleOpinion("发起流程");
form.setBizFlag("flag");
/**
* 指定发起用户提交
*
* @param user 指定发起用户,用户定时器中使用
* @param flowTaskForm 处理信息
* @return 流程实例
*/
flowDynamicService.timerTaskSubmit(user, form);
}
@ApiOperation("流程创建,不提交,草稿状态")
@PostMapping("/jobTaskSave")
public void jobTaskSave() throws WorkFlowException, DataException {
//用户、引擎信息,亦可通过调度传递
String userId = "admin";
String engineId = "71190242301a4e0689eff1905076d68d";
String engineCode ="test";//对应engineId的编码
UserEntity user = userService.getInfo(userId);
//FIXME:以下 3个效果一致
/**
* 创建草稿流程
*
* @param user 指定发起用户,用户定时器中使用
* @param flowId 引擎id
* @param bizFlag 业务流程标识,共用流程
* @return 流程实例
*/
flowDynamicService.timerTaskSave(user, engineId, "flag");
/**
* 创建草稿流程
*
* @param user 指定发起用户,用户定时器中使用
* @param flowCode 引擎编码
* @param bizFlag 业务流程标识,共用流程
* @return 流程实例
*/
flowDynamicService.timerTaskSaveByCode(user, engineCode, "flag");
/**
* 创建草稿流程
*
* @param user 指定发起用户,用户定时器中使用
* @param taskId 主键值,实例id,存在则编辑,不存在则创建
* @param flowId 引擎id
* @param bizFlag 业务流程标识,共用流程
* @return 流程实例
*/
flowDynamicService.timerTaskSave(user, null, engineId, "flag");
}