Commit 62de6c36bc5fdd51968b0f0f4753fcbdf5bf6712
1 parent
3b8dee49
BPM:完善相关的代码注释
Showing
8 changed files
with
21 additions
and
6 deletions
pom.xml
| @@ -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
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 方法之后,任务可能被完成了,并且不存在了,会报异常,所以先记录 |