Browse Source

修复工作流流程记录

zhanglei
dimengzhe 3 weeks ago
parent
commit
672e9b36cf
  1. 23
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java

23
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java

@ -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();

Loading…
Cancel
Save