From 8ad863082097ffdcab4a8e7f426d344a1fe6f892 Mon Sep 17 00:00:00 2001
From: 吴羡 <16976746+Xian-TT3@user.noreply.gitee.com>
Date: 星期六, 07 十一月 2026 00:27:02 +0800
Subject: [PATCH] 修复人员管理接口校验与导出,完善设备保养计划与文件受控功能
---
cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonBasicInfoServiceImpl.java | 62 +++++++++++++++++++-----------
1 files changed, 39 insertions(+), 23 deletions(-)
diff --git a/cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonBasicInfoServiceImpl.java b/cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonBasicInfoServiceImpl.java
index 3e4049a..dae7724 100644
--- a/cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonBasicInfoServiceImpl.java
+++ b/cnas-personnel/src/main/java/com/ruoyi/personnel/service/impl/PersonBasicInfoServiceImpl.java
@@ -163,7 +163,18 @@
@Override
public void exportPersonBasicInfo(UserPageDto userPageDto, HttpServletResponse response) throws Exception {
ArrayList<PersonBasicInfoDto> data = new ArrayList<>();
- List<User> list = userMapper.selectList(null);
+ LambdaQueryWrapper<User> userWrapper = Wrappers.<User>lambdaQuery()
+ .and(w -> w.eq(User::getDelFlag, "0").or().isNull(User::getDelFlag))
+ .and(w -> w.eq(User::getIsCustom, 0).or().isNull(User::getIsCustom));
+ if (userPageDto != null) {
+ if (ObjectUtils.isNotEmpty(userPageDto.getName())) {
+ userWrapper.like(User::getName, userPageDto.getName().trim());
+ }
+ if (userPageDto.getDepartmentId() != null) {
+ userWrapper.apply("FIND_IN_SET({0}, depart_lims_id)", userPageDto.getDepartmentId());
+ }
+ }
+ List<User> list = userMapper.selectList(userWrapper);
for (User user : list) {
PersonBasicInfoDto personBasicInfoDto = new PersonBasicInfoDto();
PersonBasicInfo personBasicInfo = baseMapper.selectOne(Wrappers.<PersonBasicInfo>lambdaQuery().eq(PersonBasicInfo::getUserId, user.getId()));
@@ -193,12 +204,18 @@
@Override
public String exportPersonBasicInfoById(Integer id, HttpServletResponse response) {
- Map<String, Object> userMap = baseMapper.selectexportPersonBasic(id);
+ if (id == null) {
+ throw new ErrorException("缂哄皯浜哄憳id");
+ }
User user = userMapper.selectById(id);
- PersonBasicInfo personBasicInfo = baseMapper.selectOne(Wrappers.<PersonBasicInfo>lambdaQuery().eq(PersonBasicInfo::getUserId, user.getId()));
+ if (user == null) {
+ throw new ErrorException("浜哄憳涓嶅瓨鍦ㄦ垨宸茶鍒犻櫎");
+ }
+ PersonBasicInfo personBasicInfo = baseMapper.selectOne(Wrappers.<PersonBasicInfo>lambdaQuery().eq(PersonBasicInfo::getUserId, id));
if (ObjectUtils.isEmpty(personBasicInfo)){
throw new ErrorException("璇ョ敤鎴风殑鍩烘湰淇℃伅娌℃湁褰曞叆,鏆傛棤娉曞鍑�");
}
+ Map<String, Object> userMap = baseMapper.selectexportPersonBasic(id);
// 璇佷欢
List<Annex> annexList = annexMapper.selectList(Wrappers.<Annex>lambdaQuery()
.eq(Annex::getUserId, id));
@@ -320,27 +337,26 @@
*/
@Override
public boolean delDepartment(Integer id) {
- //鍒ゆ柇鏄惁鏈夊瓙绫�,鐩村埌娌℃湁涓烘
- List<DepartmentLims> department = getDepartment(id);
- List<Integer> ids = department.stream().map(DepartmentLims::getId).collect(Collectors.toList());
- departmentMapper.delete(Wrappers.<DepartmentLims>lambdaQuery()
- .in(DepartmentLims::getId, ids));
- return true;
- }
-
- //鍒ゆ柇鏄惁鏈夊瓙绫�,鐩村埌娌℃湁涓烘
- public List<DepartmentLims> getDepartment(Integer id) {
- List<DepartmentLims> list = new ArrayList<>();
- DepartmentLims depart = departmentMapper.selectById(id);
- list.add(depart);
- List<DepartmentLims> departments = departmentMapper.selectList(Wrappers.<DepartmentLims>lambdaQuery().eq(DepartmentLims::getFatherId, id));
- if (ObjectUtils.isNotEmpty(departments)) {
- list.addAll(departments);
- for (DepartmentLims department : departments) {
- list.addAll(getDepartment(department.getId()));
- }
+ if (id == null) {
+ throw new ErrorException("缂哄皯鏋舵瀯id");
}
- return list;
+ DepartmentLims depart = departmentMapper.selectById(id);
+ if (depart == null) {
+ throw new ErrorException("璇ユ灦鏋勪笉瀛樺湪鎴栧凡琚垹闄�");
+ }
+ Long childCount = departmentMapper.selectCount(Wrappers.<DepartmentLims>lambdaQuery()
+ .eq(DepartmentLims::getFatherId, id));
+ if (childCount != null && childCount > 0) {
+ throw new ErrorException("璇ユ灦鏋勪笅瀛樺湪涓嬬骇鏋舵瀯锛岃鍏堝垹闄や笅绾ф灦鏋�");
+ }
+ Long userCount = userMapper.selectCount(Wrappers.<User>lambdaQuery()
+ .and(w -> w.eq(User::getDelFlag, "0").or().isNull(User::getDelFlag))
+ .apply("FIND_IN_SET({0}, depart_lims_id)", id));
+ if (userCount != null && userCount > 0) {
+ throw new ErrorException("璇ユ灦鏋勪笅杩樻湁浜哄憳锛岃鍏堝皢浜哄憳绉诲嚭璇ユ灦鏋�");
+ }
+ departmentMapper.deleteById(id);
+ return true;
}
/**
--
Gitblit v1.9.3