diff --git a/src/main/java/com/lz/modules/flow/service/StaffRoleService.java b/src/main/java/com/lz/modules/flow/service/StaffRoleService.java index 549f8f5a..26bde5a1 100644 --- a/src/main/java/com/lz/modules/flow/service/StaffRoleService.java +++ b/src/main/java/com/lz/modules/flow/service/StaffRoleService.java @@ -71,8 +71,9 @@ public interface StaffRoleService extends IService { List selectAllGroupManageRoles(); List selectAllStaffRoleByDepartmentLevel(List asList); - + //获取指定组的请按不管理人员 List selectByEvaluationGroupId(Long id); StaffRole selectStaffRolesByStaffIdDepartmentLevelList(Long loginUserId, List asList); + } \ No newline at end of file diff --git a/src/main/java/com/lz/modules/performance/controller/EvaluationGroupController.java b/src/main/java/com/lz/modules/performance/controller/EvaluationGroupController.java index 9ff5ef53..3311846b 100644 --- a/src/main/java/com/lz/modules/performance/controller/EvaluationGroupController.java +++ b/src/main/java/com/lz/modules/performance/controller/EvaluationGroupController.java @@ -2,6 +2,7 @@ package com.lz.modules.performance.controller; import com.alibaba.fastjson.JSONObject; +import com.google.common.base.Joiner; import com.lz.common.utils.PageUtils; import com.lz.common.utils.R; import com.lz.common.utils.StringUtil; @@ -91,9 +92,35 @@ public class EvaluationGroupController extends AbstractController { return Long.parseLong(s); } }).collect(Collectors.toList()); - + //下面的操作是防止在权限里面单独加绩效管理人员时,导致前端展示不一致问题 + //搜索管理表里面的人员去重 + List staffRoles = staffRoleService.selectAllGroupManageRoles(); + if(staffRoles.size() > 0){ + List roleIds = staffRoles.stream().map(new Function() { + @Override + public Long apply(StaffRole staffRole) { + return staffRole.getStaffId(); + } + }).collect(Collectors.toList()); + ids.addAll(roleIds); + } + //获取管理特定组的 + staffRoles = staffRoleService.selectByEvaluationGroupId(evaluationGroup.getId()); + if(staffRoles.size() > 0){ + List roleIds = staffRoles.stream().map(new Function() { + @Override + public Long apply(StaffRole staffRole) { + return staffRole.getStaffId(); + } + }).collect(Collectors.toList()); + ids.addAll(roleIds); + } + //去重 + Map mapIds = ids.stream().collect(Collectors.toMap(Long::longValue,Function.identity(), (e, r) -> e)); + ids = mapIds.values().stream().collect(Collectors.toList()); //指定人员,搜索人员信息 List staffSimpleDtos = staffService.selectStaffSimpleInfoByIds(ids); + evaluationGroupDto.setManagers(staffSimpleDtos); } if(evaluationGroup.getOutIds() != null && evaluationGroup.getOutIds().length() > 0){