Commit 62de6c36bc5fdd51968b0f0f4753fcbdf5bf6712

Authored by YunaiV
1 parent 3b8dee49

BPM:完善相关的代码注释

@@ -16,7 +16,7 @@ @@ -16,7 +16,7 @@
16 <module>yudao-module-system</module> 16 <module>yudao-module-system</module>
17 <module>yudao-module-infra</module> 17 <module>yudao-module-infra</module>
18 <!-- <module>yudao-module-member</module>--> 18 <!-- <module>yudao-module-member</module>-->
19 -<!-- <module>yudao-module-bpm</module>--> 19 + <module>yudao-module-bpm</module>
20 <!-- <module>yudao-module-report</module>--> 20 <!-- <module>yudao-module-report</module>-->
21 <!-- <module>yudao-module-mp</module>--> 21 <!-- <module>yudao-module-mp</module>-->
22 <!-- <module>yudao-module-pay</module>--> 22 <!-- <module>yudao-module-pay</module>-->
yudao-module-bpm/yudao-module-bpm-biz/pom.xml
@@ -69,6 +69,7 @@ @@ -69,6 +69,7 @@
69 <groupId>cn.iocoder.boot</groupId> 69 <groupId>cn.iocoder.boot</groupId>
70 <artifactId>yudao-spring-boot-starter-excel</artifactId> 70 <artifactId>yudao-spring-boot-starter-excel</artifactId>
71 </dependency> 71 </dependency>
  72 +
72 <!-- Flowable 工作流相关 --> 73 <!-- Flowable 工作流相关 -->
73 <dependency> 74 <dependency>
74 <groupId>org.flowable</groupId> 75 <groupId>org.flowable</groupId>
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/candidate/expression/BpmTaskAssignLeaderExpression.java
@@ -34,6 +34,13 @@ public class BpmTaskAssignLeaderExpression { @@ -34,6 +34,13 @@ public class BpmTaskAssignLeaderExpression {
34 @Resource 34 @Resource
35 private BpmProcessInstanceService processInstanceService; 35 private BpmProcessInstanceService processInstanceService;
36 36
  37 + /**
  38 + * 计算审批的候选人
  39 + *
  40 + * @param execution 流程执行实体
  41 + * @param level 指定级别
  42 + * @return 指定级别的领导
  43 + */
37 public Set<Long> calculateUsers(DelegateExecution execution, int level) { 44 public Set<Long> calculateUsers(DelegateExecution execution, int level) {
38 Assert.isTrue(level > 0, "level 必须大于 0"); 45 Assert.isTrue(level > 0, "level 必须大于 0");
39 // 获得发起人 46 // 获得发起人
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/candidate/expression/BpmTaskAssignStartUserExpression.java
@@ -4,6 +4,7 @@ import cn.iocoder.yudao.framework.common.util.collection.SetUtils; @@ -4,6 +4,7 @@ import cn.iocoder.yudao.framework.common.util.collection.SetUtils;
4 import cn.iocoder.yudao.framework.common.util.number.NumberUtils; 4 import cn.iocoder.yudao.framework.common.util.number.NumberUtils;
5 import cn.iocoder.yudao.module.bpm.service.task.BpmProcessInstanceService; 5 import cn.iocoder.yudao.module.bpm.service.task.BpmProcessInstanceService;
6 import jakarta.annotation.Resource; 6 import jakarta.annotation.Resource;
  7 +import org.flowable.engine.impl.persistence.entity.ExecutionEntityImpl;
7 import org.flowable.engine.runtime.ProcessInstance; 8 import org.flowable.engine.runtime.ProcessInstance;
8 import org.springframework.stereotype.Component; 9 import org.springframework.stereotype.Component;
9 10
@@ -20,7 +21,13 @@ public class BpmTaskAssignStartUserExpression { @@ -20,7 +21,13 @@ public class BpmTaskAssignStartUserExpression {
20 @Resource 21 @Resource
21 private BpmProcessInstanceService processInstanceService; 22 private BpmProcessInstanceService processInstanceService;
22 23
23 - public Set<Long> calculateUsers(org.flowable.engine.impl.persistence.entity.ExecutionEntityImpl execution) { 24 + /**
  25 + * 计算审批的候选人
  26 + *
  27 + * @param execution 流程执行实体
  28 + * @return 发起人
  29 + */
  30 + public Set<Long> calculateUsers(ExecutionEntityImpl execution) {
24 ProcessInstance processInstance = processInstanceService.getProcessInstance(execution.getProcessInstanceId()); 31 ProcessInstance processInstance = processInstanceService.getProcessInstance(execution.getProcessInstanceId());
25 Long startUserId = NumberUtils.parseLong(processInstance.getStartUserId()); 32 Long startUserId = NumberUtils.parseLong(processInstance.getStartUserId());
26 return SetUtils.asSet(startUserId); 33 return SetUtils.asSet(startUserId);
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/listener/BpmTaskEventListener.java
@@ -20,7 +20,7 @@ import java.util.List; @@ -20,7 +20,7 @@ import java.util.List;
20 import java.util.Set; 20 import java.util.Set;
21 21
22 /** 22 /**
23 - * 监听 {@link org.flowable.task.api.Task} 的开始与完成 23 + * 监听 {@link Task} 的开始与完成
24 * 24 *
25 * @author jason 25 * @author jason
26 */ 26 */
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/listener/demo/task/DemoDelegateClassTaskListener.java
@@ -3,14 +3,12 @@ package cn.iocoder.yudao.module.bpm.framework.flowable.core.listener.demo.task; @@ -3,14 +3,12 @@ package cn.iocoder.yudao.module.bpm.framework.flowable.core.listener.demo.task;
3 import lombok.extern.slf4j.Slf4j; 3 import lombok.extern.slf4j.Slf4j;
4 import org.flowable.engine.delegate.TaskListener; 4 import org.flowable.engine.delegate.TaskListener;
5 import org.flowable.task.service.delegate.DelegateTask; 5 import org.flowable.task.service.delegate.DelegateTask;
6 -import org.springframework.stereotype.Component;  
7 6
8 /** 7 /**
9 * 类型为 class 的 TaskListener 监听器示例 8 * 类型为 class 的 TaskListener 监听器示例
10 * 9 *
11 * @author 芋道源码 10 * @author 芋道源码
12 */ 11 */
13 -@Component  
14 @Slf4j 12 @Slf4j
15 public class DemoDelegateClassTaskListener implements TaskListener { 13 public class DemoDelegateClassTaskListener implements TaskListener {
16 14
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/framework/flowable/core/listener/demo/task/DemoSpringExpressionTaskListener.java
@@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.bpm.framework.flowable.core.listener.demo.task; @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.bpm.framework.flowable.core.listener.demo.task;
2 2
3 import lombok.extern.slf4j.Slf4j; 3 import lombok.extern.slf4j.Slf4j;
4 import org.flowable.task.service.delegate.DelegateTask; 4 import org.flowable.task.service.delegate.DelegateTask;
  5 +import org.springframework.stereotype.Component;
5 6
6 /** 7 /**
7 * 类型为 expression 的 TaskListener 监听器示例 8 * 类型为 expression 的 TaskListener 监听器示例
@@ -9,6 +10,7 @@ import org.flowable.task.service.delegate.DelegateTask; @@ -9,6 +10,7 @@ import org.flowable.task.service.delegate.DelegateTask;
9 * @author 芋道源码 10 * @author 芋道源码
10 */ 11 */
11 @Slf4j 12 @Slf4j
  13 +@Component
12 public class DemoSpringExpressionTaskListener { 14 public class DemoSpringExpressionTaskListener {
13 15
14 public void notify(DelegateTask delegateTask) { 16 public void notify(DelegateTask delegateTask) {
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/task/BpmTaskServiceImpl.java
@@ -728,7 +728,7 @@ public class BpmTaskServiceImpl implements BpmTaskService { @@ -728,7 +728,7 @@ public class BpmTaskServiceImpl implements BpmTaskService {
728 // 2.2 更新子任务为已取消 728 // 2.2 更新子任务为已取消
729 String cancelReason = StrUtil.format("任务被取消,原因:由于[{}]操作[减签],", cancelUser.getNickname()); 729 String cancelReason = StrUtil.format("任务被取消,原因:由于[{}]操作[减签],", cancelUser.getNickname());
730 childTaskList.forEach(childTask -> updateTaskStatusAndReason(childTask.getId(), BpmTaskStatusEnum.CANCEL.getStatus(), cancelReason)); 730 childTaskList.forEach(childTask -> updateTaskStatusAndReason(childTask.getId(), BpmTaskStatusEnum.CANCEL.getStatus(), cancelReason));
731 - // 2.2 删除任务和所有子任务 731 + // 2.3 删除任务和所有子任务
732 taskService.deleteTasks(convertList(childTaskList, Task::getId)); 732 taskService.deleteTasks(convertList(childTaskList, Task::getId));
733 733
734 // 3. 记录日志到父任务中。先记录日志是因为,通过 handleParentTask 方法之后,任务可能被完成了,并且不存在了,会报异常,所以先记录 734 // 3. 记录日志到父任务中。先记录日志是因为,通过 handleParentTask 方法之后,任务可能被完成了,并且不存在了,会报异常,所以先记录