部门列表

qhw-dev-1010
杨世强 1 year ago
parent d19160843e
commit ccc73b1696

@ -45,7 +45,3 @@ export function getBusinessPage(params) {
export function getBusinessUserList(params) {
return defHttp.get({ url: '/system/business-warehouse/business-user', params })
}
export function getDeptUserList() {
return defHttp.get({ url: '/system/dept/list-dept-user'})
}

@ -42,7 +42,7 @@ import { useModal } from '@/components/Modal'
import BusinessWarehouseModal from './BusinessWarehouseModal.vue'
import { IconEnum } from '@/enums/appEnum'
import { BasicTable, useTable, TableAction } from '@/components/Table'
import { deleteBusinessWarehouse, exportBusinessWarehouse, getBusinessWarehousePage, getBusinessUserList, getDeptUserList } from '@/api/xxjj/businessWarehouse'
import { deleteBusinessWarehouse, exportBusinessWarehouse, getBusinessWarehousePage, getBusinessUserList } from '@/api/xxjj/businessWarehouse'
import { columns, searchFormSchema } from './businessWarehouse.data'
import BusinessTree from './BusinessTree.vue'
@ -53,9 +53,6 @@ const { createConfirm, createMessage } = useMessage()
const [registerModal, { openModal }] = useModal()
const searchInfo = reactive<Recordable>({})
const deptList = await getDeptUserList();
console.log('deptList',deptList)
const [registerTable, { getForm, reload }] = useTable({
title: '业务组织配置列表',
api: getBusinessUserList,

@ -127,12 +127,17 @@ public class DeptController {
DeptListReqVO deptListReqVO = new DeptListReqVO();
deptListReqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
List<DeptDO> deptDOList = deptService.getDeptList(deptListReqVO);
deptDOList.forEach(deptDO -> {
List<AdminUserDO> adminUserDOList = userService.getUserListByDeptIds(Collections.singleton(deptDO.getId()));
deptDO.setChildren(adminUserDOList);
});
return success(deptDOList);
//将list转为树状
List<DeptDO> list = deptService.buildTree(deptDOList,0);
//为部门list添加下级用户
List<DeptDO> list1 = deptService.setBuildTree(list);
// for (DeptDO deptDO : list){
// if (deptDO.getChildren() == null){
// List<AdminUserDO> adminUserDOList = userService.getUserListByDeptIds(Collections.singleton(deptDO.getId()));
// deptDO.setChildren(adminUserDOList);
// }
// }
return success(list1);
}
}

@ -5,6 +5,7 @@ import com.yunxi.scm.framework.common.util.collection.CollectionUtils;
import com.yunxi.scm.module.system.controller.admin.dept.vo.dept.DeptCreateReqVO;
import com.yunxi.scm.module.system.controller.admin.dept.vo.dept.DeptListReqVO;
import com.yunxi.scm.module.system.controller.admin.dept.vo.dept.DeptUpdateReqVO;
import com.yunxi.scm.module.system.controller.admin.user.vo.user.UserPageItemRespVO;
import com.yunxi.scm.module.system.dal.dataobject.dept.DeptDO;
import java.util.*;
@ -101,4 +102,14 @@ public interface DeptService {
*/
void validateDeptList(Collection<Long> ids);
/**
*
*
*/
List<DeptDO> buildTree(List<DeptDO> deptDOList, long pid);
/**
*
*
*/
List<DeptDO> setBuildTree(List<DeptDO> deptDOList);
}

@ -9,10 +9,12 @@ import com.yunxi.scm.module.system.controller.admin.dept.vo.dept.DeptListReqVO;
import com.yunxi.scm.module.system.controller.admin.dept.vo.dept.DeptUpdateReqVO;
import com.yunxi.scm.module.system.convert.dept.DeptConvert;
import com.yunxi.scm.module.system.dal.dataobject.dept.DeptDO;
import com.yunxi.scm.module.system.dal.dataobject.user.AdminUserDO;
import com.yunxi.scm.module.system.dal.mysql.dept.DeptMapper;
import com.yunxi.scm.module.system.dal.redis.RedisKeyConstants;
import com.yunxi.scm.module.system.enums.dept.DeptIdEnum;
import com.google.common.annotations.VisibleForTesting;
import com.yunxi.scm.module.system.service.user.AdminUserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable;
@ -38,6 +40,8 @@ public class DeptServiceImpl implements DeptService {
@Resource
private DeptMapper deptMapper;
@Resource
private AdminUserService userService;
@Override
@CacheEvict(cacheNames = RedisKeyConstants.DEPT_CHILDREN_ID_LIST,
@ -202,4 +206,30 @@ public class DeptServiceImpl implements DeptService {
});
}
@Override
public List<DeptDO> buildTree(List<DeptDO> deptDOList, long pid) {
List<DeptDO> treeList = new ArrayList<>();
for (DeptDO dept : deptDOList) {
if (dept.getParentId() == pid) {
dept.setChildren(buildTree(deptDOList, dept.getId()));
treeList.add(dept);
}
}
return treeList;
}
@Override
public List<DeptDO> setBuildTree(List<DeptDO> deptDOList) {
List<DeptDO> tree = new ArrayList<>();
for (DeptDO deptDO : deptDOList) {
if (deptDO.getChildren() != null && deptDO.getChildren().size()>0) {
setBuildTree(deptDO.getChildren());
}else{
List<AdminUserDO> adminUserDOList = userService.getUserListByDeptIds(Collections.singleton(deptDO.getId()));
deptDO.setChildren(adminUserDOList);
}
}
return tree;
}
}

Loading…
Cancel
Save