tuqin
2 天以前 1b5b8ee196c7dcf62b01df7a1e3be053e9a3c77e
fix(hrm): 调岗申请人/员工档案查询兼容 user_id 双口径

北方科技历史上前端把「员工主键」塞进 VO 的 userId 字段,
而蓝羽传的是 system_users.id,两者语义不同。
createTransferApplication 与详情接口改为两种口径都兼容:
先按 getEmployeeByUserId(system_users.id)查,查不到再按 getEmployee(员工主键)查。
已修改1个文件
10 ■■■■■ 文件已修改
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/approval/HrmTransferApplicationServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/approval/HrmTransferApplicationServiceImpl.java
@@ -93,7 +93,11 @@
            employee = employeeService.getEmployee(employeeId);
        }
        if (employee == null && userId != null) {
            // 约定 user_id 存 system_users.id;但历史上前端也有把「员工主键」塞进 userId 的情况,两种都兼容
            employee = employeeService.getEmployeeByUserId(userId);
            if (employee == null) {
                employee = employeeService.getEmployee(userId);
            }
        }
        if (userId == null && employee != null) {
            userId = employee.getUserId();
@@ -222,9 +226,11 @@
        }
        HrmTransferApplicationRespVO respVO = BeanUtils.toBean(application, HrmTransferApplicationRespVO.class);
        if (application.getUserId() != null) {
            // 注意:hrm_transfer_application.user_id 存的是 system_users.id,
            // 必须用 getEmployeeByUserId 查档案;用 getEmployee(userId) 会按员工主键查,属于 id 混用
            // user_id 正常存 system_users.id;历史数据也有存「员工主键」的,两种都兼容
            HrmEmployeeDO employee = employeeService.getEmployeeByUserId(application.getUserId());
            if (employee == null) {
                employee = employeeService.getEmployee(application.getUserId());
            }
            if (employee != null) {
                respVO.setUserName(employee.getName());
                respVO.setEmployeeId(employee.getId());