Bladeren bron

认领流程优化

hubin 1 jaar geleden
bovenliggende
commit
bc1373f318

+ 18 - 0
src/main/java/com/aizuda/boot/modules/flw/FlowTaskActorProvider.java

@@ -0,0 +1,18 @@
+package com.aizuda.boot.modules.flw;
+
+import com.flowlong.bpm.engine.TaskActorProvider;
+import com.flowlong.bpm.engine.core.Execution;
+import com.flowlong.bpm.engine.entity.FlwTaskActor;
+import com.flowlong.bpm.engine.model.NodeModel;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+@Component
+public class FlowTaskActorProvider implements TaskActorProvider {
+
+    @Override
+    public List<FlwTaskActor> getTaskActors(NodeModel nodeModel, Execution execution) {
+        return null;
+    }
+}

+ 3 - 0
src/main/java/com/aizuda/boot/modules/flw/entity/dto/ProcessTaskDTO.java

@@ -20,4 +20,7 @@ public class ProcessTaskDTO {
     @Schema(description = "发起人ID")
     private String createId;
 
+    public Long getUserId() {
+        return Long.valueOf(createId);
+    }
 }

+ 2 - 2
src/main/resources/mapper/FlowlongMapper.xml

@@ -19,8 +19,8 @@
         SELECT i.process_id,p.process_name,i.id AS instance_id,i.create_by AS launch_by,i.create_time AS launch_time,
         t.id AS task_id,t.create_time,t.task_name,t.display_name,t.task_type,t.perform_type,t.expire_time,t.remind_time,t.remind_repeat
         FROM flw_task t JOIN flw_task_actor a ON t.id=a.task_id LEFT JOIN flw_his_instance i ON i.id=t.instance_id LEFT JOIN flw_process p ON i.process_id=p.id
-        WHERE a.id IN (SELECT f.id FROM flw_task_actor f JOIN sys_user_role r ON r.role_id::TEXT=f.actor_id WHERE f.actor_type=1 AND f.actor_id=#{dto.createId}
-        UNION ALL SELECT f.id FROM flw_task_actor f JOIN sys_user_department r ON r.department_id::TEXT=f.actor_id WHERE f.actor_type=2 AND f.actor_id=#{dto.createId})
+        WHERE a.id IN (SELECT f.id FROM flw_task_actor f JOIN sys_user_role r ON r.role_id::TEXT=f.actor_id WHERE f.actor_type=1 AND r.user_id=#{dto.userId}
+        UNION ALL SELECT f.id FROM flw_task_actor f JOIN sys_user_department r ON r.department_id::TEXT=f.actor_id WHERE f.actor_type=2 AND r.user_id=#{dto.userId})
         <if test="dto.processName != null">
             AND p.process_name LIKE CONCAT(CONCAT('%',#{dto.processName}),'%')
         </if>