liujie
2025-06-03 c073330664d8b368eb820ee48fcd99226c70366f
springcloud_k8s_panzhihuazhihuishequ/service_westcommittee/src/main/java/com/panzhihua/westcommittee/api/DepartmentController.java
@@ -1,6 +1,7 @@
package com.panzhihua.westcommittee.api;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.controller.BaseController;
import com.panzhihua.common.interfaces.OperLog;
import com.panzhihua.common.model.vos.R;
@@ -17,9 +18,7 @@
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.Set;
import java.util.*;
import java.util.stream.Collectors;
/**
@@ -100,25 +99,41 @@
   @GetMapping("/getList")
   @ApiOperation(value = "获取单位列表", tags = {"西区纪委后台-单位管理"})
   @OperLog(operModul = "西区纪委后台",operType = 0, businessType = "获取单位列表")
   public R<List<Department>> getList(String name){
      List<Department> list4 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).eq(Department::getTier, 4));
      Set<String> collect3 = list4.stream().map(Department::getStreetId).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::getStreet, collect3));
      Set<String> collect2 = list3.stream().map(Department::getDistrictsCode).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::getDistrictsCode, collect2));
      for (Department department : list2) {
         List<Department> departmentList2 = list3.stream().filter(s -> s.getDistrictsCode().equals(department.getDistrictsCode())).collect(Collectors.toList());
         for (Department department1 : departmentList2) {
            List<Department> departmentList3 = list4.stream().filter(s -> s.getStreetId().equals(department1.getStreetId())).collect(Collectors.toList());
            department1.setChild(departmentList3);
   public R<List<Department>> getList(String name,Integer level,String code,int type){
      if(level==null){
         List<Department> list4 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name));
         return  R.ok(list4);
      }else {
         List<Department> list4=new ArrayList<>();
         if(level==2 && type==1){
            list4 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).eq( Department::getTier, 2));
         }else if(level==2 && type==2){
             list4 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).ge( Department::getTier, 2));
         }else  if(level==3 && type==1){
            list4 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).eq( Department::getTier, 3));
         }else if(level==3 && type==2){
             list4 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).ge( Department::getTier, 3));
         }else  if(level==4 && type==1){
            list4 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).eq( Department::getTier, 4));
         }else if(level==4 && type==2){
            list4 = departmentService.list(new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).ge(Department::getTier, 4));
         }
         department.setChild(departmentList2);
         return R.ok(list4);
      }
      return R.ok(list2);
   }
   @GetMapping("/getDeptList")
   @ApiOperation(value = "获取单位列表1", tags = {"西区纪委后台-单位管理"})
   @OperLog(operModul = "西区纪委后台",operType = 0, businessType = "获取单位列表")
   public R<Page<Department>> getDeptList(String name,int pageNum,int pageSize){
      Page<Department> list4 = departmentService.page(new Page<Department>(pageNum,pageSize),new LambdaQueryWrapper<Department>().like(StringUtils.isNotEmpty(name), Department::getName, name).or().eq(StringUtils.isNotEmpty(name),Department::getId,name));
      for (Department department : list4.getRecords()) {
         int count = systemUserService.count(new LambdaQueryWrapper<SystemUser>().eq(SystemUser::getOneDepartmentId, department.getId()));
         department.setUserCount(count);
      }
      return R.ok(list4);
   }
@@ -128,10 +143,6 @@
      long count = departmentService.count(new LambdaQueryWrapper<Department>().eq(Department::getName, department.getName()));
      if(0 < count){
         return R.fail("单位名称重复。");
      }
      long count1 = departmentService.count(new LambdaQueryWrapper<Department>().eq(Department::getDeptId, department.getDeptId()));
      if(0 < count1){
         return R.fail("单位ID重复。");
      }
      departmentService.save(department);
      return R.ok();
@@ -145,11 +156,6 @@
            .ne(Department::getId, department.getId()));
      if(0 < count){
         return R.fail("单位名称重复。");
      }
      long count1 = departmentService.count(new LambdaQueryWrapper<Department>().eq(Department::getDeptId, department.getDeptId())
            .ne(Department::getId, department.getId()));
      if(0 < count1){
         return R.fail("单位ID重复。");
      }
      departmentService.updateById(department);
      return R.ok();
@@ -173,7 +179,7 @@
   public R updateStatus(@RequestBody  UpdateStatusDeptDto dto){
      Department department = departmentService.getById(dto.getId());
      department.setStatus(dto.getStatus());
      department.setRemark(dto.getRemark());
      department.setReason(dto.getReason());
      if(dto.getStatus()==2){
         SystemUserVo loginUserInfoWest = getLoginUserInfoWest();
         department.setOperId(loginUserInfoWest.getId());