当前位置: 首页 > news >正文

基于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);@Overridepublic 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>  <!--跳过信息-->

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

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

五、效果图

 

http://www.lryc.cn/news/12112.html

相关文章:

  • 流程引擎之Activiti简介
  • 4.打包子应用 投票
  • 华为OD机试 - 服务依赖(JavaScript) | 机试题算法思路 【2023】
  • 目标检测综述(一份全的自制PPT): 涵盖各种模型简介对比,适合入门和了解目标检测现状
  • Vulnhub-DC-2实战靶场
  • 从输入URL到渲染的过程中到底发生了什么?
  • 旋转屏幕导致 Fragment 中的 onConfigurationChanged 被调用两次
  • 23年校招DL/NLP/推荐系统/ML/算法基础面试必看300问及答案
  • Python基础知识汇总(字符串二)
  • 【FPGA】Verilog:实现十六进制七段数码管显示 | 7-Segment Display
  • Android开发:Activity启动模式
  • 01_Docker 简介
  • 一文精通MVCC机制
  • 商用ESP32协议采集器源码分享开篇
  • 代码随想录算法训练营第三十四天 | 860.柠檬水找零,406.根据身高重建队列,452. 用最少数量的箭引爆气球
  • DDR4介绍01
  • 扫地机器人行业投资逻辑:国内以价换量元年,海外需求企稳回升
  • (考研湖科大教书匠计算机网络)第四章网络层-第七节:IPv4数据报首部格式
  • 每天10个前端小知识 【Day 18】
  • 【Java集合类】ArrayList
  • 页面置换算法
  • 算法导论【在线算法】—The Ski-Rental Problem、The Lost Cow Problem、The Secretary Problem
  • linux 下怎样给pdf 文件加书签
  • [软件工程导论(第六版)]第2章 可行性研究(课后习题详解)
  • [软件工程导论(第六版)]第3章 需求分析(课后习题详解)
  • 基于分布鲁棒联合机会约束的能源和储备调度(Matlab代码实现)
  • ETL和数据建模
  • ccc-pytorch-回归问题(1)
  • 【JAVA八股文】框架相关
  • 二叉树的相关列题!!