項目位址 | https://gitee.com/lwj/flowable.git |
代碼分支 | flowable-base |
視訊講解位址 | https://space.bilibili.com/485524575/channel/detail?cid=94579 |
使用者名 | 密碼 |
0000001 | test |
0000002 | test |
0000003 | test |
0000004 |
文章目錄
- 1. 示範![在這裡插入圖檔描述](https://s2.51cto.com/images/blog/202209/05171414_6315bde63027e51637.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)
- 2. 代碼分享
- 2.1. 檢視我發起的流程執行個體sql
- 2.2. 檢視目前的執行人清單
1. 示範
2. 代碼分享
2.1. 檢視我發起的流程執行個體sql
SELECT DISTINCT
t1.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 starter
FROM
act_hi_procinst t1
LEFT 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_是使用者id
User user = identityService.createUserQuery().userId(task.getAssignee()).singleResult();
if (user != null) {
users.add(user);
}
//2.審批人ASSIGNEE_是組id
List<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_為空,使用者id
if (StringUtils.isNotBlank(identityLink.getUserId())) {
User user = identityService.createUserQuery().userId(identityLink.getUserId()).singleResult();
if (user != null) {
users.add(user);
}
} else {
//4.審批人ASSIGNEE_為空,組id
List<User> gusers = identityService.createUserQuery().memberOfGroup(identityLink.getGroupId()).list();
if (CollectionUtils.isNotEmpty(gusers)) {
users.addAll(gusers);
}
}
});
}
}
});
}
return users;
}