diff --git a/yudao-ui-admin-vben-master/src/api/xxjj/businessWarehouse/index.ts b/yudao-ui-admin-vben-master/src/api/xxjj/businessWarehouse/index.ts index 29ea922..31c76ba 100644 --- a/yudao-ui-admin-vben-master/src/api/xxjj/businessWarehouse/index.ts +++ b/yudao-ui-admin-vben-master/src/api/xxjj/businessWarehouse/index.ts @@ -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'}) -} diff --git a/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganizationConfig/index.vue b/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganizationConfig/index.vue index 083a188..6febdb4 100644 --- a/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganizationConfig/index.vue +++ b/yudao-ui-admin-vben-master/src/views/xxjj/businessOrganizationConfig/index.vue @@ -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({}) -const deptList = await getDeptUserList(); -console.log('deptList',deptList) - const [registerTable, { getForm, reload }] = useTable({ title: '业务组织配置列表', api: getBusinessUserList, diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/dept/DeptController.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/dept/DeptController.java index 5ed90a9..22ffdca 100644 --- a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/dept/DeptController.java +++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/controller/admin/dept/DeptController.java @@ -127,12 +127,17 @@ public class DeptController { DeptListReqVO deptListReqVO = new DeptListReqVO(); deptListReqVO.setStatus(CommonStatusEnum.ENABLE.getStatus()); List deptDOList = deptService.getDeptList(deptListReqVO); - deptDOList.forEach(deptDO -> { - List adminUserDOList = userService.getUserListByDeptIds(Collections.singleton(deptDO.getId())); - deptDO.setChildren(adminUserDOList); - }); - - return success(deptDOList); + //将list转为树状 + List list = deptService.buildTree(deptDOList,0); + //为部门list添加下级用户 + List list1 = deptService.setBuildTree(list); +// for (DeptDO deptDO : list){ +// if (deptDO.getChildren() == null){ +// List adminUserDOList = userService.getUserListByDeptIds(Collections.singleton(deptDO.getId())); +// deptDO.setChildren(adminUserDOList); +// } +// } + return success(list1); } } diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/service/dept/DeptService.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/service/dept/DeptService.java index dc73e62..0e86e03 100644 --- a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/service/dept/DeptService.java +++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/service/dept/DeptService.java @@ -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 ids); + /** + * 组装为树形结构 + * + */ + List buildTree(List deptDOList, long pid); + /** + * 为部门树形结构添加用户 + * + */ + List setBuildTree(List deptDOList); } diff --git a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/service/dept/DeptServiceImpl.java b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/service/dept/DeptServiceImpl.java index d904739..06e3c17 100644 --- a/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/service/dept/DeptServiceImpl.java +++ b/yunxi-module-system/yunxi-module-system-biz/src/main/java/com/yunxi/scm/module/system/service/dept/DeptServiceImpl.java @@ -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 buildTree(List deptDOList, long pid) { + List 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 setBuildTree(List deptDOList) { + List tree = new ArrayList<>(); + for (DeptDO deptDO : deptDOList) { + if (deptDO.getChildren() != null && deptDO.getChildren().size()>0) { + setBuildTree(deptDO.getChildren()); + }else{ + List adminUserDOList = userService.getUserListByDeptIds(Collections.singleton(deptDO.getId())); + deptDO.setChildren(adminUserDOList); + } + } + return tree; + } + }