From 52feee3e55403d2858da59605173ec055f601bfa Mon Sep 17 00:00:00 2001
From: tuqin <tuqin@tuqin.cn>
Date: 星期六, 24 十月 2026 19:47:25 +0800
Subject: [PATCH] feat(hrm): 同步新疆中亿装配的人力资源模块到北方科技

---
 yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/approval/HrmTransferApplicationServiceImpl.java |   35 +++++++++++++++++++++++------------
 1 files changed, 23 insertions(+), 12 deletions(-)

diff --git a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/approval/HrmTransferApplicationServiceImpl.java b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/approval/HrmTransferApplicationServiceImpl.java
index 71d74fe..3d02148 100644
--- a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/approval/HrmTransferApplicationServiceImpl.java
+++ b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/approval/HrmTransferApplicationServiceImpl.java
@@ -13,7 +13,9 @@
 import cn.iocoder.yudao.module.hrm.controller.admin.approval.vo.HrmTransferApplicationRespVO;
 import cn.iocoder.yudao.module.hrm.controller.admin.approval.vo.HrmTransferApplicationSaveReqVO;
 import cn.iocoder.yudao.module.hrm.dal.dataobject.approval.HrmTransferApplicationDO;
+import cn.iocoder.yudao.module.hrm.dal.dataobject.employee.HrmEmployeeDO;
 import cn.iocoder.yudao.module.hrm.dal.mysql.approval.HrmTransferApplicationMapper;
+import cn.iocoder.yudao.module.hrm.service.employee.HrmEmployeeService;
 import cn.iocoder.yudao.module.hrm.dal.redis.HrmNoRedisDAO;
 import cn.iocoder.yudao.module.hrm.enums.HrmAuditStatusEnum;
 import cn.iocoder.yudao.module.hrm.enums.HrmTransferTypeEnum;
@@ -48,7 +50,7 @@
 /**
  * 璋冨矖鐢宠 Service 瀹炵幇绫�
  *
- * @author 鑺嬮亾婧愮爜
+ * @author 瓒呯骇绠$悊鍛�
  */
 @Service
 @Validated
@@ -65,6 +67,8 @@
     private PostApi postApi;
     @Resource
     private AdminUserApi adminUserApi;
+    @Resource
+    private HrmEmployeeService employeeService;
     @Resource
     private BpmProcessInstanceApi bpmProcessInstanceApi;
     @Resource
@@ -87,14 +91,14 @@
         }
         // 3. 鐢熸垚鐢宠鍗曞彿
         String no = generateUniqueNo();
-        // 4. 璁剧疆鐢宠浜轰俊鎭�
+        // 4. 璁剧疆璋冨矖浜猴紙鍛樺伐ID锛夛細涓虹┖鏃跺彇褰撳墠鐧诲綍鐢ㄦ埛瀵瑰簲鐨勫憳宸�
         Long userId = createReqVO.getUserId();
         if (userId == null) {
-            userId = getCurrentUserId();
+            HrmEmployeeDO currentEmployee = employeeService.getEmployeeByUserId(getCurrentUserId());
+            userId = currentEmployee != null ? currentEmployee.getId() : null;
         }
-        AdminUserRespDTO user = adminUserApi.getUser(userId);
-        if (user == null) {
-            userId = getCurrentUserId();
+        if (userId != null && employeeService.getEmployee(userId) == null) {
+            throw exception(EMPLOYEE_NOT_EXISTS);
         }
         // 5. 鎻掑叆
         HrmTransferApplicationDO application = BeanUtils.toBean(createReqVO, HrmTransferApplicationDO.class);
@@ -168,9 +172,9 @@
         }
         HrmTransferApplicationRespVO respVO = BeanUtils.toBean(application, HrmTransferApplicationRespVO.class);
         if (application.getUserId() != null) {
-            AdminUserRespDTO user = adminUserApi.getUser(application.getUserId());
-            if (user != null) {
-                respVO.setUserName(user.getNickname());
+            HrmEmployeeDO employee = employeeService.getEmployee(application.getUserId());
+            if (employee != null) {
+                respVO.setUserName(employee.getName());
             }
         }
         fillDeptNames(respVO, application);
@@ -215,7 +219,14 @@
                 .map(HrmTransferApplicationDO::getUserId)
                 .filter(Objects::nonNull)
                 .collect(Collectors.toSet());
-        Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(userIds);
+        // userId 瀛樼殑鏄憳宸D锛屾寜鍛樺伐琛ㄦ煡璇㈠鍚�
+        Map<Long, String> employeeNameMap = new HashMap<>();
+        for (Long userId : userIds) {
+            HrmEmployeeDO employee = employeeService.getEmployee(userId);
+            if (employee != null) {
+                employeeNameMap.put(userId, employee.getName());
+            }
+        }
         Set<Long> deptIds = pageResult.getList().stream()
                 .flatMap(app -> Stream.of(app.getCurrentDeptId(), app.getTargetDeptId()))
                 .filter(Objects::nonNull)
@@ -228,8 +239,8 @@
         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 && userMap.containsKey(app.getUserId())) {
-                vo.setUserName(userMap.get(app.getUserId()).getNickname());
+            if (app.getUserId() != null && 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());

--
Gitblit v1.9.3