zss
2024-04-17 ad5fa78540fdd7b5470072e0ead2b650afdca2fd
cnas-server/src/main/java/com/yuanchu/mom/service/impl/DepartmentServiceImpl.java
@@ -2,12 +2,20 @@
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuanchu.mom.common.PrintChina;
import com.yuanchu.mom.dto.DepartmentDto;
import com.yuanchu.mom.dto.UserDto;
import com.yuanchu.mom.dto.UserPageDto;
import com.yuanchu.mom.pojo.Department;
import com.yuanchu.mom.mapper.DepartmentMapper;
import com.yuanchu.mom.pojo.Device;
import com.yuanchu.mom.pojo.User;
import com.yuanchu.mom.service.DepartmentService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yuanchu.mom.utils.QueryWrappers;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import lombok.var;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -20,6 +28,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
 * <p>
@@ -32,6 +41,7 @@
@Service
@AllArgsConstructor
@Transactional(rollbackFor = Exception.class)
@Slf4j
public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Department> implements DepartmentService {
    DepartmentMapper departmentMapper;
@@ -77,16 +87,32 @@
        return removeBatchByIds(department);
    }
    //根据选择的树展示相关的人员
    @Override
    public Map<String, Object> showUserById(Page page, UserDto user) {
        //根据部门id,查询他的所有子类id
        List<Integer> list = departmentMapper.selectSonById(Integer.parseInt(user.getDepartId()));
        List<String> ids = list.stream()
                .map(Object::toString)
                //.collect(Collectors.joining(","));
                .collect(Collectors.toList());
        log.info(ids+"\n");
        Map<String, Object> map = new HashMap<>();
        map.put("head", PrintChina.printChina(UserDto.class));
        map.put("body", departmentMapper.showUserById(page, ids, QueryWrappers.queryWrappers(user)));
        return map;
    }
    //判断是否有子类,直到没有为止
    public List<Department> getDepartment(Integer id){
    public List<Department> getDepartment(Integer id) {
        List<Department> list = new ArrayList<>();
        Department depart = baseMapper.selectById(id);
        list.add(depart);
        List<Department> departments = baseMapper.selectList(Wrappers.<Department>lambdaQuery().eq(Department::getFatherId, id));
        if (ObjectUtils.isNotEmpty(departments)){
        if (ObjectUtils.isNotEmpty(departments)) {
            list.addAll(departments);
            for (Department department : departments){
            for (Department department : departments) {
                list.addAll(getDepartment(department.getId()));
            }
        }