Skip to content

定时任务创建流程

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");
}