瀏覽代碼

根据流程实例id获取子流程id列表

lamphua 4 月之前
父節點
當前提交
579b00f223

+ 9
- 0
oa-back/ruoyi-flowable/src/main/java/com/ruoyi/flowable/controller/FlowInstanceController.java 查看文件

8
 import io.swagger.annotations.ApiOperation;
8
 import io.swagger.annotations.ApiOperation;
9
 import io.swagger.annotations.ApiParam;
9
 import io.swagger.annotations.ApiParam;
10
 import lombok.extern.slf4j.Slf4j;
10
 import lombok.extern.slf4j.Slf4j;
11
+import org.flowable.engine.history.HistoricProcessInstance;
11
 import org.springframework.beans.factory.annotation.Autowired;
12
 import org.springframework.beans.factory.annotation.Autowired;
12
 import org.springframework.web.bind.annotation.*;
13
 import org.springframework.web.bind.annotation.*;
13
 
14
 
15
+import java.util.List;
14
 import java.util.Map;
16
 import java.util.Map;
15
 
17
 
16
 /**
18
 /**
45
         return AjaxResult.success();
47
         return AjaxResult.success();
46
     }
48
     }
47
 
49
 
50
+    @ApiOperation(value = "根据流程实例id获取子流程id列表")
51
+    @PostMapping(value = "/listSubProcInstId")
52
+    public AjaxResult listSubProcInstId(@ApiParam(value = "流程实例ID", required = true) @RequestParam String instanceId) {
53
+        List<HistoricProcessInstance> subProcInstIdList = flowInstanceService.listSubProcInstId(instanceId);
54
+        return AjaxResult.success(subProcInstIdList);
55
+    }
56
+
48
     @ApiOperation("结束流程实例")
57
     @ApiOperation("结束流程实例")
49
     @PostMapping(value = "/stopProcessInstance")
58
     @PostMapping(value = "/stopProcessInstance")
50
     public AjaxResult stopProcessInstance(@RequestBody FlowTaskVo flowTaskVo) {
59
     public AjaxResult stopProcessInstance(@RequestBody FlowTaskVo flowTaskVo) {

+ 7
- 0
oa-back/ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/IFlowInstanceService.java 查看文件

29
      */
29
      */
30
     void updateState(Integer state, String instanceId);
30
     void updateState(Integer state, String instanceId);
31
 
31
 
32
+    /**
33
+     * 根据流程实例id获取子流程id列表
34
+     *
35
+     * @param instanceId 流程实例ID
36
+     */
37
+    List<HistoricProcessInstance> listSubProcInstId(String instanceId);
38
+
32
     /**
39
     /**
33
      * 删除流程实例ID
40
      * 删除流程实例ID
34
      *
41
      *

+ 17
- 0
oa-back/ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/impl/FlowInstanceServiceImpl.java 查看文件

58
         }
58
         }
59
     }
59
     }
60
 
60
 
61
+    /**
62
+     * 根据流程实例id获取子流程id列表
63
+     *
64
+     * @param instanceId 流程实例ID
65
+     */
66
+    @Override
67
+    public List<HistoricProcessInstance> listSubProcInstId(String instanceId) {
68
+        List<HistoricProcessInstance> historicProcessInstance =
69
+                historyService.createHistoricProcessInstanceQuery().superProcessInstanceId(instanceId).list();
70
+        for (HistoricProcessInstance processInstance : historicProcessInstance) {
71
+            if (processInstance.getProcessDefinitionId().contains("tech_plan")) {
72
+                historicProcessInstance.addAll(historyService.createHistoricProcessInstanceQuery().superProcessInstanceId(processInstance.getId()).list());
73
+            }
74
+        }
75
+        return historicProcessInstance;
76
+    }
77
+
61
     /**
78
     /**
62
      * 删除流程实例ID
79
      * 删除流程实例ID
63
      *
80
      *

Loading…
取消
儲存