基于jeecgboot的flowable流程增加节点自动跳过功能

简介: 基于jeecgboot的flowable流程增加节点自动跳过功能

为了满足有时候需要在某个节点没有人员处理的时候需要自动跳过,所以增加了这个功能。

一、FlowComment意见里增加一个类型8,跳过流程

/**
 * 流程意见类型
 *
 */
public enum FlowComment {
    /**
     * 说明
     */
    NORMAL("1", "正常意见"),
    REBACK("2", "退回意见"),
    REJECT("3", "驳回意见"),
    DELEGATE("4", "委派意见"),
    ASSIGN("5", "转办意见"),
    STOP("6", "终止流程"),
    RECALL("7","撤回意见"),
    SKIP("8","跳过流程");

二、写一个流程自动跳过的任务监听器,当然可以根据自己需要的逻辑进行编写

下面的逻辑是任务处理人为空的时候自动跳过

package com.nbcio.modules.flowable.listener;
import org.apache.commons.lang3.StringUtils;
import org.flowable.engine.TaskService;
import org.flowable.engine.delegate.TaskListener;
import org.flowable.task.service.delegate.DelegateTask;
import org.jeecg.common.util.SpringContextUtils;
import com.nbcio.modules.flowable.common.enums.FlowComment;
/**
 * 自动跳过流程任务监听
 * @author nbacheng
 * @date 2023-02-18
*/
public class AutoSkipTaskListener implements TaskListener{
  private TaskService taskService = SpringContextUtils.getBean(TaskService.class);
  
    @Override
    public void notify(DelegateTask delegateTask) {
      String processInstanceId = delegateTask.getProcessInstanceId();
        String taskId = delegateTask.getId();
        // 流程实例为空则结束
        if(StringUtils.isBlank(processInstanceId) && StringUtils.isBlank(taskId)){
            return;
        }
        if(StringUtils.isBlank(delegateTask.getAssignee())){
          // 添加处理意见
          taskService.addComment(taskId, processInstanceId,FlowComment.SKIP.getType(), FlowComment.SKIP.getRemark() + ":审批人为空字段跳过");
          // 自动审批通过
          taskService.complete(taskId);
        }
        
    }
}

三、前端处理

显示意见的地方增加下面代码

<el-tag type="warning" v-if="commentitem.type === '8'"> {{commentitem.comment}}</el-tag>  <!--跳过信息-->

四、需要跳过的节点增加任务监听器,如下图所示

同时设置对应的这个节点审批人为空

五、效果图

 


相关文章
|
存储 XML Java
Flowable工作流-高级篇
Flowable工作流-高级篇
5468 0
|
XML 存储 JavaScript
Flowable学习笔记(二、BPMN 2.0-基础 )
Flowable学习笔记(二、BPMN 2.0-基础 )
3706 0
Flowable学习笔记(二、BPMN 2.0-基础 )
|
SQL XML 存储
Flowable 流程部署与删除
Flowable 流程部署与删除
1058 0
|
前端开发
基于jeecgboot的flowable流程支持退回到发起人节点表单修改功能
基于jeecgboot的flowable流程支持退回到发起人节点表单修改功能
1059 0
|
移动开发 前端开发
基于jeecg-boot的flowable流程审批时增加下一个审批人设置
基于jeecg-boot的flowable流程审批时增加下一个审批人设置
1100 0
|
移动开发 前端开发
基于jeecg-boot的flowable流程自定义业务退回撤回或驳回到发起人后的再次流程提交
基于jeecg-boot的flowable流程自定义业务退回撤回或驳回到发起人后的再次流程提交
694 0
|
搜索推荐
基于jeecgboot的flowabale流程节点动态设置审批人的实现
基于jeecgboot的flowabale流程节点动态设置审批人的实现
1494 1
|
前端开发
基于jeecg-boot的flowable流程自定义业务驳回到发起人的一种处理方式
基于jeecg-boot的flowable流程自定义业务驳回到发起人的一种处理方式
630 0
|
移动开发 前端开发
flowable流程跳转或退回到网关上的用户节点后流程走不下去了
flowable流程跳转或退回到网关上的用户节点后流程走不下去了
938 2
|
前端开发 数据库 JavaScript
基于Flowable的流程挂接自定义业务表单的设计与实践
文章讨论了如何在Flowable流程引擎中挂接自定义业务表单,以及相关设计和实践的步骤。文章中包含了一些前后端代码示例,如Vue组件的模板和脚本部分,这些代码用于实现与Flowable流程引擎交互的界面。例如,有一个按钮组件用于提交申请,点击后会触发applySubmit方法,该方法会与后端API进行交互,处理流程启动、查询关联流程等逻辑。
52787 11