From d6ffbf2958eefb57fb36acc12709fe42f7bce556 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 09 十月 2026 14:51:13 +0800
Subject: [PATCH] fix: HRM 删除员工级联删除关联系统用户;MES 首页统计 summary 兼容设备状态为空

---
 yudao-module-hrm/src/main/java/cn/iocoder/yudao/module/hrm/service/employee/HrmEmployeeServiceImpl.java |   16 +++++++++++++++-
 1 files changed, 15 insertions(+), 1 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 c326a89..1bd7f66 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
@@ -252,13 +252,17 @@
     @Transactional(rollbackFor = Exception.class)
     public void deleteEmployee(Long id) {
         // 鏍¢獙瀛樺湪
-        validateEmployeeExists(id);
+        HrmEmployeeDO employee = validateEmployeeExists(id);
         // 绾ц仈鍒犻櫎瀛愯〃
         educationMapper.deleteByEmployeeId(id);
         workHistoryMapper.deleteByEmployeeId(id);
         emergencyContactMapper.deleteByEmployeeId(id);
         // 鍒犻櫎鍛樺伐
         employeeMapper.deleteById(id);
+        // 鍚屾鍒犻櫎鍏宠仈鐨勭郴缁熺敤鎴凤紝閬垮厤鎵嬫満鍙凤紙鐧诲綍璐﹀彿锛夎娈嬬暀鐨勫鍎胯处鍙峰崰鐢�
+        if (employee.getUserId() != null) {
+            adminUserApi.deleteUser(employee.getUserId());
+        }
     }
 
     private HrmEmployeeDO validateEmployeeExists(Long id) {
@@ -325,6 +329,16 @@
 
     @Override
     public PageResult<HrmEmployeeDO> getEmployeePage(HrmEmployeePageReqVO pageReqVO) {
+        if (pageReqVO.getDeptId() != null) {
+            // 閫変腑閮ㄩ棬鏃讹紝杩炲甫鏌ヨ鍏舵墍鏈夊瓙閮ㄩ棬鐨勫憳宸ワ紙鍚嚜韬級
+            List<DeptRespDTO> childDepts = deptApi.getChildDeptList(pageReqVO.getDeptId());
+            Set<Long> deptIds = new LinkedHashSet<>();
+            deptIds.add(pageReqVO.getDeptId());
+            if (CollUtil.isNotEmpty(childDepts)) {
+                childDepts.forEach(dept -> deptIds.add(dept.getId()));
+            }
+            return employeeMapper.selectPageByDeptIds(pageReqVO, deptIds);
+        }
         return employeeMapper.selectPage(pageReqVO);
     }
 

--
Gitblit v1.9.3