| | |
| | | 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; |
| | |
| | | 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; |
| | | |
| | | /** |
| | |
| | | @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); |
| | | } |
| | | |
| | | |