|
@@ -6,10 +6,9 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.ruoyi.common.core.domain.entity.SysDept;
|
|
import com.ruoyi.common.core.domain.entity.SysDept;
|
|
import com.ruoyi.common.exception.ServiceException;
|
|
import com.ruoyi.common.exception.ServiceException;
|
|
import com.ruoyi.system.service.ISysDeptService;
|
|
import com.ruoyi.system.service.ISysDeptService;
|
|
|
|
+import org.apache.poi.ss.formula.functions.T;
|
|
|
|
|
|
-import java.util.List;
|
|
|
|
-import java.util.Map;
|
|
|
|
-import java.util.Objects;
|
|
|
|
|
|
+import java.util.*;
|
|
import java.util.function.BiConsumer;
|
|
import java.util.function.BiConsumer;
|
|
import java.util.function.Function;
|
|
import java.util.function.Function;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
@@ -59,4 +58,30 @@ public class DeptUstil {
|
|
list.forEach(item -> setNickNameMap.accept(item, nickNameMapByIds.get(idMapper.apply(item))));
|
|
list.forEach(item -> setNickNameMap.accept(item, nickNameMapByIds.get(idMapper.apply(item))));
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 赋值部门名称列表树
|
|
|
|
+ */
|
|
|
|
+ public static <T> void assignmentDeptNames(List<T> dataList, Function<T, Long> getIdFun, BiConsumer<T, List<String>> setAttributeFun) {
|
|
|
|
+ Map<Long, SysDept> sysDeptMap = sysDeptService.list().stream().collect(Collectors.toMap(SysDept::getDeptId, Function.identity()));
|
|
|
|
+ for (T item : dataList) {
|
|
|
|
+ //赋值部门信息
|
|
|
|
+ List<String> deptNameList = new ArrayList<>();
|
|
|
|
+ Long deptId = getIdFun.apply(item);
|
|
|
|
+ while (true) {
|
|
|
|
+ SysDept sysDept = sysDeptMap.get(deptId);
|
|
|
|
+ if (ObjectUtil.isEmpty(sysDept)) {
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ deptNameList.add(sysDept.getDeptName());
|
|
|
|
+ if (sysDept.getType() == 0) {
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ deptId = sysDept.getParentId();
|
|
|
|
+ }
|
|
|
|
+ //递归完数据是反的翻转一下
|
|
|
|
+ Collections.reverse(deptNameList);
|
|
|
|
+ setAttributeFun.accept(item, deptNameList);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|