|
|
@ -345,12 +345,13 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask |
|
|
|
List<FlowTask> hisFlowList = new ArrayList<>(); |
|
|
|
// 使用一个线程安全的集合来存储结果
|
|
|
|
List<FlowTask> finalHisFlowList = Collections.synchronizedList(hisFlowList); |
|
|
|
List<FlowTask> resultList = Collections.synchronizedList(new ArrayList<>()); |
|
|
|
|
|
|
|
// 使用 parallelStream 前先进行 null 检查和过滤
|
|
|
|
Map<String, SysUserVo> finalUserMap = userMap; |
|
|
|
hisFlowList = list.parallelStream() |
|
|
|
list.parallelStream() |
|
|
|
.filter(histIns -> histIns != null && histIns.getTaskId() != null) // 过滤掉 histIns 或 histIns.getTaskId() 为 null 的元素
|
|
|
|
.map(histIns -> { |
|
|
|
.forEach(histIns -> { |
|
|
|
FlowTask flowTask = new FlowTask(); |
|
|
|
flowTask.setTaskId(histIns.getTaskId()); |
|
|
|
flowTask.setTaskName(histIns.getActivityName()); |
|
|
@ -370,14 +371,6 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask |
|
|
|
List<TaskUserInfo> taskUserInfos = new ArrayList<>(); |
|
|
|
// 处理审批人员
|
|
|
|
if (StringUtils.isNotBlank(histIns.getAssignee())) { |
|
|
|
/* SysUserVo user = finalUserMap.get(histIns.getAssignee()); |
|
|
|
if (user != null) { |
|
|
|
TaskUserInfo taskUserInfo = new TaskUserInfo(); |
|
|
|
taskUserInfo.setAssigneeName(user.getName()); |
|
|
|
taskUserInfo.setAssigneeSid(user.getSid()); |
|
|
|
taskUserInfo.setAssigneeHeadImage(fileUploadComponent.getUrlPrefix() + user.getHeadImage()); |
|
|
|
flowTask.setTaskUserInfos(Collections.singletonList(taskUserInfo)); |
|
|
|
}*/ |
|
|
|
List<String> stringList = Arrays.asList(histIns.getAssignee().split(",")); |
|
|
|
for (int i = 0; i < stringList.size(); i++) { |
|
|
|
SysUserVo user = finalUserMap.get(stringList.get(i)); |
|
|
@ -419,18 +412,18 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask |
|
|
|
flowTask1.setProcDefId(flowTask.getProcDefId()); |
|
|
|
flowTask1.setProcVars(flowTask.getProcVars()); |
|
|
|
flowTask1.setTaskDefKey(histIns.getActivityId()); |
|
|
|
finalHisFlowList.add(flowTask1); |
|
|
|
resultList.add(flowTask1); |
|
|
|
} else { |
|
|
|
flowTask.setComment(build); |
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
return flowTask; |
|
|
|
|
|
|
|
}).collect(Collectors.toList()); |
|
|
|
// 添加主任务到结果列表
|
|
|
|
resultList.add(flowTask); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
flowRecordVo.setFlowList(hisFlowList); |
|
|
|
flowRecordVo.setFlowList(resultList); |
|
|
|
} |
|
|
|
log.info("flowRecordVo:{}", JSONObject.toJSONString(flowRecordVo)); |
|
|
|
long endTime = System.currentTimeMillis(); |
|
|
|