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