日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

工作流实战_15_flowable 我发起的流程实例查询

發布時間:2024/9/27 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 工作流实战_15_flowable 我发起的流程实例查询 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
項目地址https://gitee.com/lwj/flowable.git
代碼分支flowable-base
視頻講解地址https://space.bilibili.com/485524575/channel/detail?cid=94579
用戶名密碼
0000001test
0000002test
0000003test
0000004test

文章目錄

      • 1. 演示![在這里插入圖片描述](https://img-blog.csdnimg.cn/2019121200044247.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9nYmxmeS5ibG9nLmNzZG4ubmV0,size_16,color_FFFFFF,t_70)
      • 2. 代碼分享
        • 2.1. 查看我發起的流程實例sql
        • 2.2. 查看當前的執行人列表

1. 演示

2. 代碼分享

2.1. 查看我發起的流程實例sql

SELECT DISTINCTt1.ID_ AS processInstanceId,t1.PROC_DEF_ID_ as processDefinitionId,t1.NAME_ AS formName,t1.TENANT_ID_ AS systemSn,t1.BUSINESS_KEY_ AS businessKey,t1.START_TIME_ AS startTime,t1.END_TIME_ AS endTime,t2.ID_ AS starterId,t2.FIRST_ as starterFROMact_hi_procinst t1LEFT JOIN act_id_user t2 ON t1.START_USER_ID_ = t2.ID_<where><if test="userCode != null">and t1.START_USER_ID_ = #{userCode}</if><if test="userName != null">and t2.FIRST_ like CONCAT('%',#{userName},'%')</if><if test="formName != null">and t1.NAME_ like CONCAT('%',#{formName},'%')</if></where>

2.2. 查看當前的執行人列表

public List<User> getApprovers(String processInstanceId) {List<User> users = new ArrayList<>();List<Task> list = taskService.createTaskQuery().processInstanceId(processInstanceId).list();if (CollectionUtils.isNotEmpty(list)) {list.forEach(task -> {if (StringUtils.isNotBlank(task.getAssignee())) {//1.審批人ASSIGNEE_是用戶idUser user = identityService.createUserQuery().userId(task.getAssignee()).singleResult();if (user != null) {users.add(user);}//2.審批人ASSIGNEE_是組idList<User> gusers = identityService.createUserQuery().memberOfGroup(task.getAssignee()).list();if (CollectionUtils.isNotEmpty(gusers)) {users.addAll(gusers);}} else {List<IdentityLink> identityLinks = taskService.getIdentityLinksForTask(task.getId());if (CollectionUtils.isNotEmpty(identityLinks)) {identityLinks.forEach(identityLink -> {//3.審批人ASSIGNEE_為空,用戶idif (StringUtils.isNotBlank(identityLink.getUserId())) {User user = identityService.createUserQuery().userId(identityLink.getUserId()).singleResult();if (user != null) {users.add(user);}} else {//4.審批人ASSIGNEE_為空,組idList<User> gusers = identityService.createUserQuery().memberOfGroup(identityLink.getGroupId()).list();if (CollectionUtils.isNotEmpty(gusers)) {users.addAll(gusers);}}});}}});}return users;}

總結

以上是生活随笔為你收集整理的工作流实战_15_flowable 我发起的流程实例查询的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。