|
|
@ -330,10 +330,12 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask |
|
|
|
|
|
|
|
// 将 Set<String> 转换为以逗号分隔的字符串
|
|
|
|
String assigneeIdsStr = String.join(",", assigneeIds); |
|
|
|
|
|
|
|
Map<String, SysUserVo> userMap = new HashMap<>(); |
|
|
|
if(StringUtils.isNotBlank(assigneeIdsStr)){ |
|
|
|
// 远程调用批量查询用户信息
|
|
|
|
Map<String, SysUserVo> userMap = sysUserFeign.fetchBySids(assigneeIdsStr).getData().stream() |
|
|
|
userMap = sysUserFeign.fetchBySids(assigneeIdsStr).getData().stream() |
|
|
|
.collect(Collectors.toMap(SysUserVo::getSid, user -> user)); |
|
|
|
} |
|
|
|
|
|
|
|
// 直接查询所有流程实例评论
|
|
|
|
List<Comment> commentList = taskService.getProcessInstanceComments(procInsId); |
|
|
@ -345,6 +347,7 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask |
|
|
|
List<FlowTask> finalHisFlowList = Collections.synchronizedList(hisFlowList); |
|
|
|
|
|
|
|
// 使用 parallelStream 前先进行 null 检查和过滤
|
|
|
|
Map<String, SysUserVo> finalUserMap = userMap; |
|
|
|
hisFlowList = list.parallelStream() |
|
|
|
.filter(histIns -> histIns != null && histIns.getTaskId() != null) // 过滤掉 histIns 或 histIns.getTaskId() 为 null 的元素
|
|
|
|
.map(histIns -> { |
|
|
@ -366,8 +369,8 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask |
|
|
|
flowTask.setProcessEndTime(processInstance.get("END_TIME_") == null ? "" : "end"); |
|
|
|
|
|
|
|
// 处理审批人员
|
|
|
|
if (StringUtils.isNotBlank(histIns.getAssignee()) && userMap.containsKey(histIns.getAssignee())) { |
|
|
|
SysUserVo user = userMap.get(histIns.getAssignee()); |
|
|
|
if (StringUtils.isNotBlank(histIns.getAssignee()) && finalUserMap.containsKey(histIns.getAssignee())) { |
|
|
|
SysUserVo user = finalUserMap.get(histIns.getAssignee()); |
|
|
|
if (user != null) { |
|
|
|
TaskUserInfo taskUserInfo = new TaskUserInfo(); |
|
|
|
taskUserInfo.setAssigneeName(user.getName()); |
|
|
@ -386,7 +389,7 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask |
|
|
|
if ("4".equals(type)) { // 加签审批意见
|
|
|
|
FlowTask flowTask1 = new FlowTask(); |
|
|
|
String userSid = comment.getUserId(); |
|
|
|
SysUserVo user = userMap.get(userSid); |
|
|
|
SysUserVo user = finalUserMap.get(userSid); |
|
|
|
|
|
|
|
TaskUserInfo taskUserInfo = new TaskUserInfo(); |
|
|
|
taskUserInfo.setAssigneeName(user != null ? user.getName() : ""); |
|
|
|