|
|
@ -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() : ""); |
|
|
@ -2418,17 +2421,18 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask |
|
|
|
Map<String, Object> map = flowableQuery.getMap(); |
|
|
|
boolean taskKeyTrue = false; |
|
|
|
List<FlowElement> flowElements = processService.calApprovePath("", modelId, map); |
|
|
|
// 过滤空的节点ID
|
|
|
|
List<FlowElement> collect = flowElements.stream().filter(item -> item.getId().length() > 0).collect(Collectors.toList()); |
|
|
|
for (int i = 0; i < collect.size(); i++) { |
|
|
|
Map<String, Object> itemMap = new HashMap<>(); |
|
|
|
FlowElement item = collect.get(i); |
|
|
|
if (StringUtils.isBlank(flowableQuery.getTaskDefKey())) { |
|
|
|
log.info("flowElement:{}", item); |
|
|
|
log.info("nodeName:{}", item.getName()); |
|
|
|
// log.info("flowElement:{}", item);
|
|
|
|
// log.info("nodeName:{}", item.getName());
|
|
|
|
itemMap.put("nodeName", item.getName()); |
|
|
|
log.info("nodeId:{}", item.getId()); |
|
|
|
// log.info("nodeId:{}", item.getId());
|
|
|
|
itemMap.put("nodeId", item.getId()); |
|
|
|
String s = JSON.toJSONString(item); |
|
|
|
/* String s = JSON.toJSONString(item); |
|
|
|
JSONObject jsonObject = JSONObject.parseObject(s); |
|
|
|
log.info("item:{}", jsonObject); |
|
|
|
Object candidateGroups = jsonObject.get("candidateGroups"); |
|
|
@ -2439,7 +2443,7 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask |
|
|
|
if (candidateGroups_arr.size() > 0) { |
|
|
|
log.info("candidateGroups_sid:{}", candidateGroups_arr.get(0)); |
|
|
|
} |
|
|
|
log.info("candidateGroups:{}", candidateGroups_arr); |
|
|
|
log.info("candidateGroups:{}", candidateGroups_arr);*/ |
|
|
|
list.add(itemMap); |
|
|
|
} else { |
|
|
|
if (flowableQuery.getTaskDefKey().equals(item.getId())) { |
|
|
@ -2447,12 +2451,12 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask |
|
|
|
continue; |
|
|
|
} |
|
|
|
if (taskKeyTrue) { |
|
|
|
log.info("flowElement:{}", item); |
|
|
|
log.info("nodeName:{}", item.getName()); |
|
|
|
// log.info("flowElement:{}", item);
|
|
|
|
// log.info("nodeName:{}", item.getName());
|
|
|
|
itemMap.put("nodeName", item.getName()); |
|
|
|
log.info("nodeId:{}", item.getId()); |
|
|
|
// log.info("nodeId:{}", item.getId());
|
|
|
|
itemMap.put("nodeId", item.getId()); |
|
|
|
String s = JSON.toJSONString(item); |
|
|
|
/* String s = JSON.toJSONString(item); |
|
|
|
JSONObject jsonObject = JSONObject.parseObject(s); |
|
|
|
log.info("item:{}", jsonObject); |
|
|
|
Object candidateGroups = jsonObject.get("candidateGroups"); |
|
|
@ -2463,7 +2467,7 @@ public class FlowTaskService extends MybatisBaseService<FlowTaskMapper, FlowTask |
|
|
|
if (candidateGroups_arr.size() > 0) { |
|
|
|
log.info("candidateGroups_sid:{}", candidateGroups_arr.get(0)); |
|
|
|
} |
|
|
|
log.info("candidateGroups:{}", candidateGroups_arr); |
|
|
|
log.info("candidateGroups:{}", candidateGroups_arr);*/ |
|
|
|
list.add(itemMap); |
|
|
|
} |
|
|
|
} |
|
|
|