Pārlūkot izejas kodu

升级 flowlong 1.1.3

hubin 3 mēneši atpakaļ
vecāks
revīzija
bf65c98a24

+ 1 - 1
build.gradle

@@ -29,7 +29,7 @@ buildscript {
         springBootVersion = "3.1.1"
         springdocVersion = "2.5.0"
         mybatisPlusVersion = "3.5.9"
-        flowlongVersion = "1.1.2"
+        flowlongVersion = "1.1.3"
         aizudaVersion = "1.0.2"
     }
 

+ 1 - 1
pom.xml

@@ -19,7 +19,7 @@
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
 		<aizuda.version>1.0.2</aizuda.version>
-		<flowlong.version>1.1.2</flowlong.version>
+		<flowlong.version>1.1.3</flowlong.version>
 		<springdoc.version>2.5.0</springdoc.version>
 		<skipTests>true</skipTests>
 	</properties>

+ 11 - 9
src/main/java/com/aizuda/boot/modules/flw/flow/FlowTaskListener.java

@@ -39,9 +39,10 @@ public class FlowTaskListener implements TaskListener {
     @Resource
     private ISysUserRoleService userRoleService;
 
-
     @Override
-    public boolean notify(TaskEventType eventType, Supplier<FlwTask> supplier, NodeModel nodeModel, FlowCreator flowCreator) {
+    public boolean notify(TaskEventType eventType, Supplier<FlwTask> supplier, List<FlwTaskActor> taskActors,
+                          NodeModel nodeModel, FlowCreator flowCreator) {
+        // 获取当前任务信息
         FlwTask flwTask = supplier.get();
 
         // 不进行二次执行自动跳转逻辑,防止出现taskId不存在,退回需要发起人手动审批
@@ -51,16 +52,17 @@ public class FlowTaskListener implements TaskListener {
             if (null != flwTask) {
                 // 创建人物,发起人自己,自动跳过
                 if (TaskEventType.create.eq(eventType) && NodeApproveSelf.AutoSkip.eq(currentNodeModel.getApproveSelf())) {
-                    boolean autoSkip;
                     if (NodeSetType.initiatorThemselves.eq(currentNodeModel.getSetType())) {
-                        autoSkip = true;
+                        // 发起人自己,执行自动跳转逻辑
+                        flowLongEngine.autoJumpTask(flwTask.getId(), flowCreator);
                     } else {
+                        // 流程发起人自动跳过处理
                         final FlwInstance instance = flowLongEngine.queryService().getInstance(flwTask.getInstanceId());
-                        autoSkip = currentNodeModel.getNodeAssigneeList().stream().anyMatch(t -> Objects.equals(t.getId(), instance.getCreateId()));
-                    }
-                    if (autoSkip) {
-                        // 执行自动跳转逻辑
-                        flowLongEngine.autoJumpTask(flwTask.getId(), flowCreator);
+                        if (taskActors.stream().anyMatch(t -> Objects.equals(t.getActorId(), instance.getCreateId()))) {
+                            // 审批人与提交人为同一人时,执行自动跳转逻辑
+                            flowLongEngine.autoJumpTask(flwTask.getId(), FlowCreator.of(instance.getTenantId(),
+                                    instance.getCreateId(), instance.getCreateBy()));
+                        }
                     }
                 } else {
                     // 推送消息,需要勾选【审批提醒】