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

2023-10-25 06:31

本文主要是介绍Activiti目录(四)查询代办/已办、审核,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

把Activiti打入你的脑袋,通过查询代办/已办、审核快速打入

  • 目录
  • 一、审核代办/已办
  • 二、签收代办(审核)
  • 三、实例代码

目录

Activiti(一)入门了解

Activiti(二)整合

Activiti(三)部署、发布流程

Activiti零零碎碎的坑

一、审核代办/已办

功能思路
1.查询当前用户
代办2.根据当前用户ID获取待审核任务
3.返回待审核任务信息
1.查询当前用户
已办2.根据当前用户ID获取历史审核任务
3.返回历史审核任务信息
/*** 审核列表*  TODO 1:查询用户及权限*  TODO 2:查询用户审核状态*  TODO 3:获取当前用户待办任务流程*  TODO 4:根据任务实例ID查询业务表信息*  TODO 5:返回业务信息* @return*/public DataGridPojo ingProessList(String applyState,String userId) {// 当前登录用户信息
//        User user = (User) this.session.getAttribute("currentLoginUser");
//        Long userId = Long.valueOf(user.getUserId());
//        Object userIds1 = runtimeService.getVariable(task.getProcessInstanceId() + "", "userIds1"); //查看variable常量表List Result = new ArrayList();if(applyState.equals("待审核")){// 查看当前用户待审核记录List<Task> tasks = taskService.createTaskQuery().taskInvolvedUser(userId).orderByTaskCreateTime().desc().list();// 代办列表Result = tasks;}else if(applyState.equals("已审核") || applyState.equals("审核通过")){// 已办审核记录List<HistoricTaskInstance> histTaskList = historyService.createHistoricTaskInstanceQuery().taskInvolvedUser(userId).orderByHistoricTaskInstanceStartTime().desc().list();// 已办列表// 审核过记录ssssList<HistoricTaskInstance> histTaskApproveds = histTaskList.stream().filter(h -> "epidemicGroup".equals(h.getName()) && null != h.getEndTime()).collect(Collectors.toList());Result = applyState.equals("已审核")? histTaskList : histTaskApproveds;}DataGridPojo dataGridPojo = new DataGridPojo();dataGridPojo.setRows(Result);return dataGridPojo;}

二、签收代办(审核)

思路
根据流程实例ID和当前用户ID查询流程任务是否存在
存在1.根据当前人员设置审核节点状态
2.通过节点状态完成审核任务
不存在返回不成功状态码
 /*** 审核* @param user 用户信息* @param apply 业务信息*/public int aduit(User user,Apply apply){// 用户IDif(null == user) return -1;//查询当前审批节点Task task = taskService.createTaskQuery().processInstanceId(apply.getProcessInstanceId()).taskInvolvedUser(user.getUserId()+"").singleResult();int state = -1;if(null != task) {//设置流程参数:审批IDMap<String, Object> args = new HashMap<>();switch (task.getName()){case "teacher":state = Constants.EPIDEMIC_APPLY_STATE_LSSH;break;case "academy":state=Constants.EPIDEMIC_APPLY_STATE_XSCSH;break;case "epidemicGroup":state=Constants.EPIDEMIC_APPLY_STATE_GZXZSH;break;}args.put("applyState", state);//设置流程参数// 设置审批任务的执行人taskService.setAssignee(task.getId(),user.getUserId() + "");try {//完成审批任务taskService.complete(task.getId(), args);} catch (Exception e) {log.error(e.getMessage());return -1;}}return state;}

三、实例代码

代办:
在这里插入图片描述
在这里插入图片描述

已办:
在这里插入图片描述
在这里插入图片描述

审核代办:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
查代办看是否完成:
在这里插入图片描述
查已办是否存在:
在这里插入图片描述

这篇关于Activiti目录(四)查询代办/已办、审核的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/280662

相关文章

Vite 打包目录结构自定义配置小结

《Vite打包目录结构自定义配置小结》在Vite工程开发中,默认打包后的dist目录资源常集中在asset目录下,不利于资源管理,本文基于Rollup配置原理,本文就来介绍一下通过Vite配置自定义... 目录一、实现原理二、具体配置步骤1. 基础配置文件2. 配置说明(1)js 资源分离(2)非 JS 资

Java实现复杂查询优化的7个技巧小结

《Java实现复杂查询优化的7个技巧小结》在Java项目中,复杂查询是开发者面临的“硬骨头”,本文将通过7个实战技巧,结合代码示例和性能对比,手把手教你如何让复杂查询变得优雅,大家可以根据需求进行选择... 目录一、复杂查询的痛点:为何你的代码“又臭又长”1.1冗余变量与中间状态1.2重复查询与性能陷阱1.

MySQL中查询和展示LONGBLOB类型数据的技巧总结

《MySQL中查询和展示LONGBLOB类型数据的技巧总结》在MySQL中LONGBLOB是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,:本文主要介绍MySQL中查询和展示LO... 目录前言1. 查询 LONGBLOB 数据的大小2. 查询并展示 LONGBLOB 数据2.1 转换为十

使用SpringBoot+InfluxDB实现高效数据存储与查询

《使用SpringBoot+InfluxDB实现高效数据存储与查询》InfluxDB是一个开源的时间序列数据库,特别适合处理带有时间戳的监控数据、指标数据等,下面详细介绍如何在SpringBoot项目... 目录1、项目介绍2、 InfluxDB 介绍3、Spring Boot 配置 InfluxDB4、I

Python如何实现高效的文件/目录比较

《Python如何实现高效的文件/目录比较》在系统维护、数据同步或版本控制场景中,我们经常需要比较两个目录的差异,本文将分享一下如何用Python实现高效的文件/目录比较,并灵活处理排除规则,希望对大... 目录案例一:基础目录比较与排除实现案例二:高性能大文件比较案例三:跨平台路径处理案例四:可视化差异报

Go语言使用Gin处理路由参数和查询参数

《Go语言使用Gin处理路由参数和查询参数》在WebAPI开发中,处理路由参数(PathParameter)和查询参数(QueryParameter)是非常常见的需求,下面我们就来看看Go语言... 目录一、路由参数 vs 查询参数二、Gin 获取路由参数和查询参数三、示例代码四、运行与测试1. 测试编程路

MySQL 数据库表与查询操作实战案例

《MySQL数据库表与查询操作实战案例》本文将通过实际案例,详细介绍MySQL中数据库表的设计、数据插入以及常用的查询操作,帮助初学者快速上手,感兴趣的朋友跟随小编一起看看吧... 目录mysql 数据库表操作与查询实战案例项目一:产品相关数据库设计与创建一、数据库及表结构设计二、数据库与表的创建项目二:员

Linux查询服务器 IP 地址的命令详解

《Linux查询服务器IP地址的命令详解》在服务器管理和网络运维中,快速准确地获取服务器的IP地址是一项基本但至关重要的技能,下面我们来看看Linux中查询服务器IP的相关命令使用吧... 目录一、hostname 命令:简单高效的 IP 查询工具命令详解实际应用技巧注意事项二、ip 命令:新一代网络配置全

Linux查询服务器系统版本号的多种方法

《Linux查询服务器系统版本号的多种方法》在Linux系统管理和维护工作中,了解当前操作系统的版本信息是最基础也是最重要的操作之一,系统版本不仅关系到软件兼容性、安全更新策略,还直接影响到故障排查和... 目录一、引言:系统版本查询的重要性二、基础命令解析:cat /etc/Centos-release详

MySQL慢查询工具的使用小结

《MySQL慢查询工具的使用小结》使用MySQL的慢查询工具可以帮助开发者识别和优化性能不佳的SQL查询,本文就来介绍一下MySQL的慢查询工具,具有一定的参考价值,感兴趣的可以了解一下... 目录一、启用慢查询日志1.1 编辑mysql配置文件1.2 重启MySQL服务二、配置动态参数(可选)三、分析慢查