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