fix(hrm): 调岗列表申请人姓名兼容 user_id 双口径(历史数据存员工主键)
已修改1个文件
19 ■■■■■ 文件已修改
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/approval/HrmTransferApplicationServiceImpl.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/approval/HrmTransferApplicationServiceImpl.java
@@ -282,12 +282,15 @@
                .map(HrmTransferApplicationDO::getUserId)
                .filter(Objects::nonNull)
                .collect(Collectors.toSet());
        // userId 存的是员工ID,按员工表查询姓名
        // user_id 正常存 system_users.id;历史数据也有存「员工主键」的,两种都兼容
        Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(userIds);
        Map<Long, String> employeeNameMap = new HashMap<>();
        for (Long userId : userIds) {
            HrmEmployeeDO employee = employeeService.getEmployee(userId);
            if (employee != null) {
                employeeNameMap.put(userId, employee.getName());
            if (!userMap.containsKey(userId)) {
                HrmEmployeeDO employee = employeeService.getEmployee(userId);
                if (employee != null) {
                    employeeNameMap.put(userId, employee.getName());
                }
            }
        }
        Set<Long> deptIds = pageResult.getList().stream()
@@ -302,8 +305,12 @@
        Map<Long, PostRespDTO> postMap = postApi.getPostMap(postIds);
        List<HrmTransferApplicationRespVO> list = pageResult.getList().stream().map(app -> {
            HrmTransferApplicationRespVO vo = BeanUtils.toBean(app, HrmTransferApplicationRespVO.class);
            if (app.getUserId() != null && employeeNameMap.containsKey(app.getUserId())) {
                vo.setUserName(employeeNameMap.get(app.getUserId()));
            if (app.getUserId() != null) {
                if (userMap.containsKey(app.getUserId())) {
                    vo.setUserName(userMap.get(app.getUserId()).getNickname());
                } else if (employeeNameMap.containsKey(app.getUserId())) {
                    vo.setUserName(employeeNameMap.get(app.getUserId()));
                }
            }
            if (app.getCurrentDeptId() != null && deptMap.containsKey(app.getCurrentDeptId())) {
                vo.setCurrentDeptName(deptMap.get(app.getCurrentDeptId()).getName());