From f9d83ae75f8c911c1c05304f8131fc222579768a Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期日, 08 十一月 2026 10:09:34 +0800
Subject: [PATCH] fix(hrm): 已清除的排班日期重新排班时报唯一键冲突
---
yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/employee/HrmEmployeeServiceImpl.java | 14 ++++++++++++++
1 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/employee/HrmEmployeeServiceImpl.java b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/employee/HrmEmployeeServiceImpl.java
index 05ad5f0..8e0ef94 100644
--- a/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/employee/HrmEmployeeServiceImpl.java
+++ b/yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/employee/HrmEmployeeServiceImpl.java
@@ -360,6 +360,14 @@
.filter(Objects::nonNull)
.collect(Collectors.toSet());
Map<Long, DeptRespDTO> deptMap = deptApi.getDeptMap(deptIds);
+ // 濉厖宀椾綅鍚嶇О
+ Set<Long> postIds = list.stream()
+ .map(HrmEmployeeDO::getPostIds)
+ .filter(StrUtil::isNotBlank)
+ .flatMap(json -> JSONUtil.toList(json, Long.class).stream())
+ .collect(Collectors.toSet());
+ Map<Long, PostRespDTO> postMap = CollUtil.isEmpty(postIds)
+ ? Collections.emptyMap() : postApi.getPostMap(postIds);
return list.stream().map(emp -> {
HrmEmployeeSimpleRespVO vo = new HrmEmployeeSimpleRespVO();
vo.setId(emp.getId());
@@ -369,6 +377,12 @@
if (emp.getDeptId() != null && deptMap.containsKey(emp.getDeptId())) {
vo.setDeptName(deptMap.get(emp.getDeptId()).getName());
}
+ if (StrUtil.isNotBlank(emp.getPostIds())) {
+ vo.setPostName(JSONUtil.toList(emp.getPostIds(), Long.class).stream()
+ .filter(postMap::containsKey)
+ .map(id -> postMap.get(id).getName())
+ .collect(Collectors.joining(",")));
+ }
return vo;
}).collect(Collectors.toList());
}
--
Gitblit v1.9.3