From 97709e81fbbab13b9b36bec3126b0590b7de1984 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期五, 12 七月 2024 18:09:04 +0800
Subject: [PATCH] 部门增加层级字段、部门修改bug
---
src/main/java/com/mindskip/xzs/service/impl/DepartmentServiceImpl.java | 49 +++++++++++++++++++++++++++++++++++++++----------
1 files changed, 39 insertions(+), 10 deletions(-)
diff --git a/src/main/java/com/mindskip/xzs/service/impl/DepartmentServiceImpl.java b/src/main/java/com/mindskip/xzs/service/impl/DepartmentServiceImpl.java
index 0ad215c..f723447 100644
--- a/src/main/java/com/mindskip/xzs/service/impl/DepartmentServiceImpl.java
+++ b/src/main/java/com/mindskip/xzs/service/impl/DepartmentServiceImpl.java
@@ -4,6 +4,7 @@
import com.mindskip.xzs.domain.enums.DeptAdminEnum;
import com.mindskip.xzs.domain.vo.BaseSelect;
import com.mindskip.xzs.domain.vo.CascaderDataVO;
+import com.mindskip.xzs.domain.vo.DepartmentEditVO;
import com.mindskip.xzs.domain.vo.UpdateDeptAdminVO;
import com.mindskip.xzs.repository.BaseMapper;
import com.mindskip.xzs.repository.DepartmentMapper;
@@ -11,8 +12,10 @@
import com.mindskip.xzs.repository.UserMapper;
import com.mindskip.xzs.service.DepartmentService;
import com.mindskip.xzs.utility.ModelMapperSingle;
+import com.mindskip.xzs.utility.TreeUtils;
import com.mindskip.xzs.viewmodel.admin.department.DepartmentResponseVM;
import org.modelmapper.ModelMapper;
+import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
@@ -39,21 +42,18 @@
@Override
public Integer add(Department model) {
model.setDeleted("0");
+ if (Objects.nonNull(model.getParentId())) {
+ // 鏌ュ嚭鐖剁骇鐨勫眰绾�
+ List<Integer> fatherList = departmentMapper.getFather(model.getParentId());
+ Collections.reverse(fatherList);
+ model.setLevel(fatherList.size() + 1);
+ }
return departmentMapper.add(model);
- }
-
- @Override
- public Integer remove(Integer id) {
- Department department = new Department();
- department.setId(id);
- department.setDeleted("1");
- return departmentMapper.update(department);
}
@Transactional(rollbackFor = Exception.class)
@Override
public Integer update(Department department) {
-// userDepartmentMapper.removeByDepartmentId(department.getId());
Department entity = departmentMapper.getById(department.getId());
if (Objects.isNull(entity)) {
throw new RuntimeException("璇ラ儴闂ㄤ笉瀛樺湪");
@@ -68,8 +68,23 @@
// 鏍囪瘑閮ㄩ棬绠$悊鍛�
userMapper.updateDeptAdmin(department.getAdminId(), DeptAdminEnum.YES.getValue(), entity.getId());
}
+ if (Objects.nonNull(department.getParentId())) {
+ // 鏌ュ嚭鐖剁骇鐨勫眰绾�
+ List<Integer> fatherList = departmentMapper.getFather(department.getParentId());
+ department.setLevel(fatherList.size() + 1);
+ } else {
+ department.setLevel(1);
+ }
Integer update = departmentMapper.update(department);
return update;
+ }
+
+ @Override
+ public Integer remove(Integer id) {
+ Department department = new Department();
+ department.setId(id);
+ department.setDeleted("1");
+ return departmentMapper.update(department);
}
@Override
@@ -108,8 +123,22 @@
}
@Override
+ public DepartmentEditVO getByIdVO(Integer id) {
+ Department dept = departmentMapper.getById(id);
+ DepartmentEditVO vo = new DepartmentEditVO();
+ BeanUtils.copyProperties(dept, vo);
+ if (Objects.nonNull(dept.getParentId())) {
+ // 鏌ュ嚭瀹屾暣鐨勭埗绾D
+ List<Integer> fatherList = departmentMapper.getFather(dept.getParentId());
+ Collections.reverse(fatherList);
+ vo.setParentIds(fatherList);
+ }
+ return vo;
+ }
+
+ @Override
public List<Department> gets(List<Integer> deptId) {
- return departmentMapper.gets(deptId);
+ return TreeUtils.build(departmentMapper.gets(deptId));
}
@Override
--
Gitblit v1.8.0