Browse Source

feat: 我发起流程加载处理优化

master
tony 3 years ago
parent
commit
83bb7cd5ba
  1. 89
      ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/impl/FlowTaskServiceImpl.java
  2. 1
      ruoyi-ui/src/components/parser/Parser.vue
  3. 8
      ruoyi-ui/src/views/flowable/task/record/index.vue

89
ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/impl/FlowTaskServiceImpl.java

@ -315,28 +315,58 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
*/ */
@Override @Override
public AjaxResult findReturnTaskList(FlowTaskVo flowTaskVo) { public AjaxResult findReturnTaskList(FlowTaskVo flowTaskVo) {
// 当前任务 task // // 当前任务 task
Task task = taskService.createTaskQuery().taskId(flowTaskVo.getTaskId()).singleResult(); // Task task = taskService.createTaskQuery().taskId(flowTaskVo.getTaskId()).singleResult();
// 从流程历史任务中获取可退回节点 // // 从流程历史任务中获取可退回节点
// List<HistoricActivityInstance> hisActIns = historyService.createHistoricActivityInstanceQuery() //// List<HistoricActivityInstance> hisActIns = historyService.createHistoricActivityInstanceQuery()
// .executionId(task.getExecutionId()) //// .executionId(task.getExecutionId())
// .activityType("userTask") //// .activityType("userTask")
// .orderByHistoricActivityInstanceStartTime() //// .orderByHistoricActivityInstanceStartTime()
// .finished() //// .finished()
// .desc() //// .desc()
// .list(); //// .list();
////
//// // 可回退的节点列表
//// List<ReturnTaskNodeVo> returnTaskNodeList = new ArrayList<>();
//// ReturnTaskNodeVo returnTaskNodeVo;
//// for (HistoricActivityInstance activityInstance : hisActIns) {
//// returnTaskNodeVo = new ReturnTaskNodeVo();
//// returnTaskNodeVo.setId(activityInstance.getActivityId());
//// // 根据流程节点处理时间校验改节点是否已完成
//// returnTaskNodeVo.setName(activityInstance.getActivityName());
//// returnTaskNodeList.add(returnTaskNodeVo);
//// }
// List<UserTask> userTaskList = new ArrayList<>();
// // 获取流程定义信息
// ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(task.getProcessDefinitionId()).singleResult();
// // 获取所有节点信息,暂不考虑子流程情况
// Process process = repositoryService.getBpmnModel(processDefinition.getId()).getProcesses().get(0);
// Collection<FlowElement> flowElements = process.getFlowElements();
// // 获取当前任务节点元素
// UserTask source = null;
// if (flowElements != null) {
// for (FlowElement flowElement : flowElements) {
// // 类型为用户节点
// if (flowElement.getId().equals(task.getTaskDefinitionKey())) {
// source = (UserTask) flowElement;
// }
// }
// }
// // 获取节点的所有路线
// List<List<UserTask>> roads = FlowableUtils.findRoad(source, null, null, null);
// //
// // 可回退的节点列表 // for (List<UserTask> road : roads) {
// List<ReturnTaskNodeVo> returnTaskNodeList = new ArrayList<>(); // if (userTaskList.size() == 0) {
// ReturnTaskNodeVo returnTaskNodeVo; // // 还没有可回退节点直接添加
// for (HistoricActivityInstance activityInstance : hisActIns) { // userTaskList = road;
// returnTaskNodeVo = new ReturnTaskNodeVo(); // } else {
// returnTaskNodeVo.setId(activityInstance.getActivityId()); // // 如果已有回退节点,则比对取交集部分
// // 根据流程节点处理时间校验改节点是否已完成 // userTaskList.retainAll(road);
// returnTaskNodeVo.setName(activityInstance.getActivityName());
// returnTaskNodeList.add(returnTaskNodeVo);
// } // }
List<UserTask> userTaskList = new ArrayList<>(); // }
// return AjaxResult.success(userTaskList);
// 当前任务 task
Task task = taskService.createTaskQuery().taskId(flowTaskVo.getTaskId()).singleResult();
// 获取流程定义信息 // 获取流程定义信息
ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(task.getProcessDefinitionId()).singleResult(); ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(task.getProcessDefinitionId()).singleResult();
// 获取所有节点信息,暂不考虑子流程情况 // 获取所有节点信息,暂不考虑子流程情况
@ -354,7 +384,8 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
} }
// 获取节点的所有路线 // 获取节点的所有路线
List<List<UserTask>> roads = FlowableUtils.findRoad(source, null, null, null); List<List<UserTask>> roads = FlowableUtils.findRoad(source, null, null, null);
// 可回退的节点列表
List<UserTask> userTaskList = new ArrayList<>();
for (List<UserTask> road : roads) { for (List<UserTask> road : roads) {
if (userTaskList.size() == 0) { if (userTaskList.size() == 0) {
// 还没有可回退节点直接添加 // 还没有可回退节点直接添加
@ -465,13 +496,15 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask
flowTask.setCategory(pd.getCategory()); flowTask.setCategory(pd.getCategory());
flowTask.setProcDefVersion(pd.getVersion()); flowTask.setProcDefVersion(pd.getVersion());
// 当前所处流程 todo: 本地启动放开以下注释 // 当前所处流程 todo: 本地启动放开以下注释
// List<Task> taskList = taskService.createTaskQuery().processInstanceId(hisIns.getId()).list(); List<Task> taskList = taskService.createTaskQuery().processInstanceId(hisIns.getId()).list();
// if (CollectionUtils.isNotEmpty(taskList)) { if (CollectionUtils.isNotEmpty(taskList)) {
// flowTask.setTaskId(taskList.get(0).getId()); flowTask.setTaskId(taskList.get(0).getId());
// } else { flowTask.setTaskName(taskList.get(0).getName());
// List<HistoricTaskInstance> historicTaskInstance = historyService.createHistoricTaskInstanceQuery().processInstanceId(hisIns.getId()).orderByHistoricTaskInstanceEndTime().desc().list(); } else {
// flowTask.setTaskId(historicTaskInstance.get(0).getId()); List<HistoricTaskInstance> historicTaskInstance = historyService.createHistoricTaskInstanceQuery().processInstanceId(hisIns.getId()).orderByHistoricTaskInstanceEndTime().desc().list();
// } flowTask.setTaskId(historicTaskInstance.get(0).getId());
flowTask.setTaskName(historicTaskInstance.get(0).getName());
}
flowList.add(flowTask); flowList.add(flowTask);
} }
page.setRecords(flowList); page.setRecords(flowList);

1
ruoyi-ui/src/components/parser/Parser.vue

@ -185,7 +185,6 @@ export default {
}, },
// //
getData(){ getData(){
debugger
this.$emit('getData', this[this.formConf.formModel]) this.$emit('getData', this[this.formConf.formModel])
// this.$emit('getData',this.formConfCopy) // this.$emit('getData',this.formConfCopy)
} }

8
ruoyi-ui/src/views/flowable/task/record/index.vue

@ -378,13 +378,14 @@ export default {
}, },
/** 流程流转记录 */ /** 流程流转记录 */
getFlowRecordList(procInsId, deployId) { getFlowRecordList(procInsId, deployId) {
const that = this
const params = {procInsId: procInsId, deployId: deployId} const params = {procInsId: procInsId, deployId: deployId}
flowRecord(params).then(res => { flowRecord(params).then(res => {
this.flowRecordList = res.data.flowList; that.flowRecordList = res.data.flowList;
// //
if (res.data.formData) { if (res.data.formData) {
this.formConf = res.data.formData; that.formConf = res.data.formData;
this.formConfOpen = true that.formConfOpen = true
} }
}).catch(res => { }).catch(res => {
this.goBack(); this.goBack();
@ -403,7 +404,6 @@ export default {
if (taskId) { if (taskId) {
// //
getProcessVariables(taskId).then(res => { getProcessVariables(taskId).then(res => {
// this.variables = res.data.variables;
this.variablesData = res.data.variables; this.variablesData = res.data.variables;
this.variableOpen = true this.variableOpen = true
}); });

Loading…
Cancel
Save