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 | 33 ++++++++++++++++++++++-----------
1 files changed, 22 insertions(+), 11 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 c3272ee..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;
@@ -66,6 +68,8 @@
@Resource
private AdminUserApi adminUserApi;
@Resource
+ private HrmEmployeeService employeeService;
+ @Resource
private BpmProcessInstanceApi bpmProcessInstanceApi;
@Resource
private BpmCategoryService bpmCategoryService;
@@ -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