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 | 44 ++++++++++++++++++++++----------------------
1 files changed, 22 insertions(+), 22 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 fb14bad..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());
@@ -257,17 +268,6 @@
if (ObjUtil.notEqual(application.getStatus(), HrmAuditStatusEnum.DRAFT.getStatus())) {
throw exception(TRANSFER_APPLICATION_SUBMIT_FAIL_NOT_DRAFT);
}
- // 鍏ㄥ眬鍏嶅鎵癸細涓氬姟鏍¢獙閫氳繃鍚庣洿鎺ユ墽琛屽鎵归�氳繃閫昏緫锛屾棤闇�娴佺▼妯″瀷銆�
- if (bpmProcessInstanceApi.isGlobalAutoApprove()) {
- transferApplicationMapper.updateById(HrmTransferApplicationDO.builder()
- .id(id)
- .processInstanceId("")
- .status(HrmAuditStatusEnum.PROCESS.getStatus())
- .build());
- updateTransferApplicationAuditStatus(id, HrmAuditStatusEnum.APPROVE.getStatus());
- return;
- }
-
validateApproveCategoryAndProcessDefinition();
ProcessDefinition processDefinition = bpmProcessDefinitionService.getActiveProcessDefinition(processDefinitionKey);
if (processDefinition == null) {
--
Gitblit v1.9.3