From d8e7ad6acb9f6105ac6ff6fe2ce892e622cde256 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期二, 18 三月 2025 22:11:24 +0800
Subject: [PATCH] Merge remote-tracking branch '喜望/dev-2.0' into dev-2.0

---
 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/DepartmentController.java |   27 +++++++++++++++++++--------
 1 files changed, 19 insertions(+), 8 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/DepartmentController.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/DepartmentController.java
index 7f3d84c..b75396f 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/DepartmentController.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/api/DepartmentController.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.panzhihua.common.interfaces.OperLog;
 import com.panzhihua.common.model.vos.R;
+import com.panzhihua.common.utlis.StringUtils;
 import com.panzhihua.sangeshenbian.model.entity.Department;
 import com.panzhihua.sangeshenbian.model.entity.SystemUser;
 import com.panzhihua.sangeshenbian.service.IDepartmentService;
@@ -14,7 +15,9 @@
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.List;
+import java.util.Set;
 import java.util.stream.Collectors;
 
 /**
@@ -36,22 +39,30 @@
 	@GetMapping("/list")
 	@ApiOperation(value = "获取单位列表", tags = {"三个身边后台-用户管理"})
 	@OperLog(operModul = "三个身边后台",operType = 0, businessType = "获取单位列表")
-	public R<List<Department>> list(){
-		List<Department> list = departmentService.list();
-		List<Department> departmentList1 = list.stream().filter(s -> s.getPid() == 0).collect(Collectors.toList());
-		for (Department department : departmentList1) {
-			List<Department> departmentList2 = list.stream().filter(s -> s.getPid().equals(department.getId())).collect(Collectors.toList());
+	public R<List<Department>> list(String name){
+		List<Department> list4 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).eq(Department::getTier, 4));
+		Set<Integer> collect3 = list4.stream().map(Department::getPid).collect(Collectors.toSet());
+		List<Department> list3 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).eq(Department::getTier, 3)
+				.or().in(collect3.size() > 0, Department::getId, collect3));
+		Set<Integer> collect2 = list3.stream().map(Department::getPid).collect(Collectors.toSet());
+		List<Department> list2 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).eq(Department::getTier, 2)
+				.or().in(collect2.size() > 0, Department::getId, collect2));
+		Set<Integer> collect1 = list2.stream().map(Department::getPid).collect(Collectors.toSet());
+		List<Department> list1 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).eq(Department::getTier, 1)
+				.or().in(collect1.size() > 0, Department::getId, collect1));
+		for (Department department : list1) {
+			List<Department> departmentList2 = list2.stream().filter(s -> s.getPid().equals(department.getId())).collect(Collectors.toList());
 			for (Department department1 : departmentList2) {
-				List<Department> departmentList3 = list.stream().filter(s -> s.getPid().equals(department1.getId())).collect(Collectors.toList());
+				List<Department> departmentList3 = list3.stream().filter(s -> s.getPid().equals(department1.getId())).collect(Collectors.toList());
 				for (Department department2 : departmentList3) {
-					List<Department> departmentList4 = list.stream().filter(s -> s.getPid().equals(department2.getId())).collect(Collectors.toList());
+					List<Department> departmentList4 = list4.stream().filter(s -> s.getPid().equals(department2.getId())).collect(Collectors.toList());
 					department2.setChild(departmentList4);
 				}
 				department1.setChild(departmentList3);
 			}
 			department.setChild(departmentList2);
 		}
-		return R.ok(departmentList1);
+		return R.ok(list1);
 	}
 	
 	

--
Gitblit v1.7.1