From 7d00c995faaba0254d852e8b28aa32a5b32c9518 Mon Sep 17 00:00:00 2001 From: liu Date: Wed, 3 Jul 2024 10:47:12 +0800 Subject: [PATCH] bugfix --- .../impl/KnowledgeFlowServiceImpl.java | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/know_sub_business/src/main/java/com/supervision/knowsub/service/impl/KnowledgeFlowServiceImpl.java b/know_sub_business/src/main/java/com/supervision/knowsub/service/impl/KnowledgeFlowServiceImpl.java index cd24d4c..1c78863 100644 --- a/know_sub_business/src/main/java/com/supervision/knowsub/service/impl/KnowledgeFlowServiceImpl.java +++ b/know_sub_business/src/main/java/com/supervision/knowsub/service/impl/KnowledgeFlowServiceImpl.java @@ -83,13 +83,13 @@ public class KnowledgeFlowServiceImpl implements KnowledgeFlowService { Set submitDeptSet = records.stream().map(KnowledgeFlowResVO::getSubmitDeptId).collect(Collectors.toSet()); Collection deptIdSet = CollUtil.union(submitDeptSet, publishDeptSet); Map deptMap = new HashMap<>(); - if (CollUtil.isNotEmpty(deptIdSet)){ + if (CollUtil.isNotEmpty(deptIdSet)) { deptMap = systemDeptService.listByIds(deptIdSet).stream().collect(Collectors.toMap(SystemDept::getId, SystemDept::getDeptName)); } // 获取所有子库 Set userIdSet = records.stream().map(KnowledgeFlowResVO::getSubmitUserId).collect(Collectors.toSet()); Map userMap = new HashMap<>(); - if (CollUtil.isNotEmpty(userIdSet)){ + if (CollUtil.isNotEmpty(userIdSet)) { userMap = systemUserService.listByIds(userIdSet).stream().collect(Collectors.toMap(SystemUser::getId, SystemUser::getUsername)); } for (KnowledgeFlowResVO record : records) { @@ -213,8 +213,8 @@ public class KnowledgeFlowServiceImpl implements KnowledgeFlowService { throw new BusinessException("审批节点不存在"); } if (1 == reqVO.getOperate()) { - // 如果当前节点的索引号和节点数量相等,说明是最后一个节点,这时说明流程走完了 - if (ruleOrderList.size() == index) { + // 如果当前节点的索引号和节点数量-1相等(因为索引从0开始),说明是最后一个节点,这时说明流程走完了 + if ((ruleOrderList.size() - 1) == index) { // 这时走流程结束的流程 KnowledgeFlowRecord newKnowledgeFlowRecord = KnowledgeFlowRecord.builder().type(2) .knowledgeId(knowledgeFlowTodo.getKnowledgeId()) @@ -254,7 +254,7 @@ public class KnowledgeFlowServiceImpl implements KnowledgeFlowService { } catch (IndexOutOfBoundsException e) { throw new BusinessException("未找到下一个审批节点,请联系管理员解决"); } - List nextRuleUserList = systemFlowRuleUserService.lambdaQuery().eq(SystemFlowRuleUser::getFlowId, nextRule.getId()) + List nextRuleUserList = systemFlowRuleUserService.lambdaQuery().eq(SystemFlowRuleUser::getFlowId, nextRule.getFlowId()) .eq(SystemFlowRuleUser::getRuleId, nextRule.getId()).list(); if (CollUtil.isEmpty(nextRuleUserList)) { throw new BusinessException("下级审批节点未配置审批用户,审批失败,请联系管理员解决"); @@ -323,10 +323,17 @@ public class KnowledgeFlowServiceImpl implements KnowledgeFlowService { }).sorted(Comparator.comparing(KnowledgeFlowRecordResVO::getProcessTime)).toList(); // 然后把人名和部门名进行转换 Set userIdSet = result.stream().map(KnowledgeFlowRecordResVO::getProcessUserId).collect(Collectors.toSet()); - List systemUsers = systemUserService.listByIds(userIdSet); + List systemUsers = new ArrayList<>(); + if (CollUtil.isNotEmpty(userIdSet)) { + systemUsers = systemUserService.listByIds(userIdSet); + } Map userNameMap = systemUsers.stream().collect(Collectors.toMap(SystemUser::getId, SystemUser::getUsername)); Set deptIdSet = result.stream().map(KnowledgeFlowRecordResVO::getProcessDeptId).collect(Collectors.toSet()); - List systemDeptList = systemDeptService.listByIds(deptIdSet); + List systemDeptList = new ArrayList<>(); + if (CollUtil.isNotEmpty(deptIdSet)) { + systemDeptList = systemDeptService.listByIds(deptIdSet); + } + Map deptNameMap = systemDeptList.stream().collect(Collectors.toMap(SystemDept::getId, SystemDept::getDeptName)); result.forEach(node -> { node.setProcessUserName(userNameMap.getOrDefault(node.getProcessUserId(), "未知用户"));