IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> Activiti目录(五)驳回、重新发起、取消流程 -> 正文阅读

[开发工具]Activiti目录(五)驳回、重新发起、取消流程

把Activiti打入你的脑袋,再次通过驳回、取消流程快速打入

目录

Activiti(一)入门了解

Activiti(二)整合

Activiti(三)部署、发布流程

Activiti(四)查询代办/已办、审核

Activiti零零碎碎的坑

一、审核人驳回流程

思路
根据流程实例ID和当前用户ID查询流程任务是否存在
1.根据当前人员设置驳回节点状态
存在2.驳回节点状态退回审核任务到发起人
不存在返回不成功状态码
/**
     * 驳回申请
     * @param userId 用户ID
     * @param processInstanceId 流程实例ID
     * @return
     */
    public Task rejectTest(String userId,String processInstanceId) {
        // 查询当前审批节点
        Task task = taskService.createTaskQuery().processInstanceId(processInstanceId).taskInvolvedUser(userId).singleResult();
        if(null != task){
            // 设置流程参数
            Map<String, Object> args = new HashMap<>();
            String assignee = task.getName();
            args.put("applyState", Constants.EPIDEMIC_APPLY_STATE_BH);// 驳回状态
            args.put("applyExamine", assignee);// 驳回任务节点
            // 完成审批任务
            taskService.complete(task.getId(), args);
        }
        // 返回修改后业务信息
        return task;
    }

二、重新发起流程

思路
根据流程实例ID和当前用户ID查询流程任务是否存在
1.根据当前人员设置重新申请节点状态
存在2.获取驳回人员信息
3.通过节点状态、驳回人员信息重新申请回到审核人员继续审核
1.返回审核节点状态
不存在2.用原有业务逻辑进行重新申请
 /**
     *
     *  重新申请
     * @param userId 用户Id
     * @param processInstanceId 流程实例Id
     * @return 状态值
     */
    public String backProcessTest(String userId,String processInstanceId){
        //设置流程参数:审批ID
        Map<String, Object> args = new HashMap<>();
        String applyExamine = runtimeService.getVariable(processInstanceId, "applyExamine")+""; //查看variable常量表
        args.put("applyState", "6");
        args.put("applyExamine", applyExamine);
        //查询当前审批节点
        Task task = taskService.createTaskQuery().processInstanceId(processInstanceId).taskAssignee(userId).singleResult();
        //完成审批任务
        if(null != task) {
            taskService.complete(task.getId(), args);
            return applyExamine;
        }
        return "";
    }

三、取消流程

思路
根据流程实例ID获取流程实例是否还在执行
1.获取审核节点状态(是否审核中还是审核通过)
存在2.根据审核节点状态判断中途取消、审核通过取消
3.结束流程实例
1.返回审核节点状态
不存在2.业务代码处理流程业务表
 /**
     * 取消申请
     * @param userId 用户ID
     * @param processInstanceId 流程实例Id
     * @return 状态值
     */
    public Integer withdrawTest(String userId,String processInstanceId){
        // 流程实例是否在执行
        Execution execution = runtimeService.createExecutionQuery().parentId(processInstanceId).singleResult();
        //查看variable常量表
        int applyState = Integer.parseInt(runtimeService.getVariable(processInstanceId, "applyState")+"");
        // 判断中途、审核通过撤销
        applyState = applyState < 3 ? Constants.EPIDEMIC_APPLY_STATE_ZTCX : Constants.EPIDEMIC_APPLY_STATE_CX;
        if(!Objects.isNull(execution)){
            //学生取消,结束流程
            runtimeService.deleteProcessInstance(execution.getProcessInstanceId(), "学生"+userId+"取消申请");
        }
        return applyState;
    }

三、实例代码

  • 审核人员查询代办任务:
    在这里插入图片描述
    在这里插入图片描述

  • 审核人员驳回流程:
    在这里插入图片描述
    在这里插入图片描述

  • 流程退回到发起人
    在这里插入图片描述
    在这里插入图片描述

  • 重新发起申请
    在这里插入图片描述

  • 驳回人员查看代办
    在这里插入图片描述
    在这里插入图片描述

  • 取消流程申请

查询代办任务:
在这里插入图片描述
取消流程:

在这里插入图片描述取消人员查询任务时没有流程信息了
在这里插入图片描述

工作流程画图、部署、启动流程、查询代办/已办/已通过、审核、驳回、重新发起、取消申请讲解工作流的重要性

彩蛋:

1.整合Bpmnjs画图工具。
2.任务到达节点标红并显示图片。
即将期待

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-06-04 00:05:04  更:2022-06-04 00:05:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 15:23:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码