diff --git a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/controller/OrgController.java b/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/controller/OrgController.java deleted file mode 100644 index 2d58bc84c..000000000 --- a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/controller/OrgController.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.pig4cloud.pigx.flow.task.controller; - -import com.pig4cloud.pigx.common.core.util.R; -import com.pig4cloud.pigx.flow.task.service.IOrgService; -import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -/** - * @author : willian fu - * @date : 2022/6/27 - */ -@RestController -@RequiredArgsConstructor -@RequestMapping("/org") -public class OrgController { - - private final IOrgService orgService; - - /** - * 查询组织架构树 - * @param deptId 部门id - * @param showLeave 是否显示离职员工 - * @return 组织架构树数据 - */ - @GetMapping("tree") - public R getOrgTreeData(@RequestParam(defaultValue = "0") Long deptId, String type, - @RequestParam(defaultValue = "false") Boolean showLeave) { - return orgService.getOrgTreeData(deptId, type, showLeave); - } - - /** - * 模糊搜索用户 - * @param userName 用户名/拼音/首字母 - * @return 匹配到的用户 - */ - @GetMapping("tree/user/search") - public R getOrgTreeUser(@RequestParam String userName) { - return orgService.getOrgTreeUser(userName.trim()); - } - -} diff --git a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/IOrgService.java b/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/IOrgService.java deleted file mode 100644 index 81cf342a7..000000000 --- a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/IOrgService.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.pig4cloud.pigx.flow.task.service; - -import com.pig4cloud.pigx.common.core.util.R; - -/** - * @author : willian fu - * @version : 1.0 - */ -public interface IOrgService { - - /** - * 查询组织架构树 - * @param deptId 部门id - * @param type 只查询部门架构 - * @param showLeave 是否显示离职员工 - * @return 组织架构树数据 - */ - R getOrgTreeData(Long deptId, String type, Boolean showLeave); - - /** - * 模糊搜索用户 - * @param userName 用户名/拼音/首字母 - * @return 匹配到的用户 - */ - R getOrgTreeUser(String userName); - -} diff --git a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/OrgServiceImpl.java b/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/OrgServiceImpl.java deleted file mode 100644 index 08b5c4352..000000000 --- a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/OrgServiceImpl.java +++ /dev/null @@ -1,139 +0,0 @@ -package com.pig4cloud.pigx.flow.task.service.impl; - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.lang.Dict; -import cn.hutool.core.util.StrUtil; -import com.pig4cloud.pigx.admin.api.entity.SysDept; -import com.pig4cloud.pigx.admin.api.entity.SysRole; -import com.pig4cloud.pigx.admin.api.entity.SysUser; -import com.pig4cloud.pigx.admin.api.feign.RemoteDeptService; -import com.pig4cloud.pigx.admin.api.feign.RemoteRoleService; -import com.pig4cloud.pigx.admin.api.feign.RemoteUserService; -import com.pig4cloud.pigx.common.core.util.R; -import com.pig4cloud.pigx.common.core.util.RetOps; -import com.pig4cloud.pigx.flow.task.constant.NodeUserTypeEnum; -import com.pig4cloud.pigx.flow.task.service.IOrgService; -import com.pig4cloud.pigx.flow.task.utils.DataUtil; -import com.pig4cloud.pigx.flow.task.vo.OrgTreeVo; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; - -import java.util.ArrayList; -import java.util.LinkedList; -import java.util.List; -import java.util.stream.Collectors; - -@Service -@RequiredArgsConstructor -public class OrgServiceImpl implements IOrgService { - - private final RemoteUserService remoteUserService; - - private final RemoteRoleService remoteRoleService; - - private final RemoteDeptService remoteDeptService; - - /** - * 查询组织架构树 - * @param deptId 部门id - * @param type 只查询部门架构 - * @param showLeave 是否显示离职员工 - * @return 组织架构树数据 - */ - @Override - public R getOrgTreeData(Long deptId, String type, Boolean showLeave) { - List orgs = new LinkedList<>(); - - if (StrUtil.equals(type, NodeUserTypeEnum.ROLE.getKey())) { - // 角色 - - List roleList = remoteRoleService.getAllRole().getData(); - - for (SysRole role : roleList) { - OrgTreeVo orgTreeVo = new OrgTreeVo(); - orgTreeVo.setId(role.getRoleId()); - orgTreeVo.setName(role.getRoleName()); - orgTreeVo.setType(NodeUserTypeEnum.ROLE.getKey()); - orgTreeVo.setSelected(false); - orgs.add(orgTreeVo); - } - - Dict dict = Dict.create() - .set("roleList", orgs) - .set("childDepartments", orgs) - .set("employees", new ArrayList<>()); - return R.ok(dict); - - } - - Dict dict = Dict.create() - .set("titleDepartments", new ArrayList<>()) - .set("roleList", new ArrayList<>()) - .set("employees", new ArrayList<>()); - - List deptList = remoteDeptService.getAllDept().getData(); - - // 查询所有部门及员工 - { - List deptVoList = new ArrayList(); - for (SysDept dept : deptList) { - OrgTreeVo orgTreeVo = new OrgTreeVo(); - orgTreeVo.setId(dept.getDeptId()); - orgTreeVo.setName(dept.getName()); - orgTreeVo.setType(NodeUserTypeEnum.DEPT.getKey()); - orgTreeVo.setSelected(false); - deptVoList.add(orgTreeVo); - } - dict.set("childDepartments", deptVoList); - } - if (!StrUtil.equals(type, NodeUserTypeEnum.DEPT.getKey())) { - - List userVoList = new ArrayList(); - - List userList = remoteUserService.getUserIdListByDeptIdList(CollUtil.toList(deptId)).getData(); - - for (SysUser user : userList) { - OrgTreeVo orgTreeVo = new OrgTreeVo(); - orgTreeVo.setId(user.getUserId()); - orgTreeVo.setName(user.getUsername()); - orgTreeVo.setType(NodeUserTypeEnum.USER.getKey()); - orgTreeVo.setSelected(false); - orgTreeVo.setAvatar(user.getAvatar()); - userVoList.add(orgTreeVo); - } - dict.set("employees", userVoList); - } - - if (deptId > 0) { - List allDept = remoteDeptService.getAllDept().getData(); - List depts = DataUtil.selectParentByDept(deptId, allDept); - dict.set("titleDepartments", CollUtil.reverse(depts)); - } - - return R.ok(dict); - } - - /** - * 模糊搜索用户 - * @param userName 用户名/拼音/首字母 - * @return 匹配到的用户 - */ - @Override - public R getOrgTreeUser(String userName) { - return R.ok(RetOps.of(remoteUserService.getUserListByUserName(userName)) - .getData() - .orElseGet(ArrayList::new) - .stream() - .map(user -> { - OrgTreeVo orgTreeVo = new OrgTreeVo(); - orgTreeVo.setId(user.getUserId()); - orgTreeVo.setName(user.getUsername()); - orgTreeVo.setType(NodeUserTypeEnum.USER.getKey()); - orgTreeVo.setSelected(false); - orgTreeVo.setAvatar(user.getAvatar()); - return orgTreeVo; - }) - .collect(Collectors.toList())); - } - -} diff --git a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/RemoteServiceImpl.java b/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/RemoteServiceImpl.java index 3e71b308b..30df47ac5 100644 --- a/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/RemoteServiceImpl.java +++ b/pigx-flow/pigx-flow-task/pigx-flow-task-biz/src/main/java/com/pig4cloud/pigx/flow/task/service/impl/RemoteServiceImpl.java @@ -8,6 +8,7 @@ import com.pig4cloud.pigx.admin.api.entity.SysDept; import com.pig4cloud.pigx.admin.api.entity.SysUser; import com.pig4cloud.pigx.admin.api.feign.RemoteDeptService; import com.pig4cloud.pigx.admin.api.feign.RemoteUserService; +import com.pig4cloud.pigx.admin.api.utils.DataUtil; import com.pig4cloud.pigx.common.core.util.R; import com.pig4cloud.pigx.flow.task.constant.NodeStatusEnum; import com.pig4cloud.pigx.flow.task.dto.*; @@ -16,7 +17,6 @@ import com.pig4cloud.pigx.flow.task.entity.ProcessCopy; import com.pig4cloud.pigx.flow.task.entity.ProcessGroup; import com.pig4cloud.pigx.flow.task.entity.ProcessInstanceRecord; import com.pig4cloud.pigx.flow.task.service.*; -import com.pig4cloud.pigx.flow.task.utils.DataUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -112,7 +112,7 @@ public class RemoteServiceImpl implements IRemoteService { Long parentId = checkParentDto.getParentId(); List deptIdList = checkParentDto.getDeptIdList(); // 查询子级包括自己 - List allDept = deptService.getAllDept().getData(); + List allDept = deptService.getAllDept(null).getData(); List childrenDeptList = DataUtil.selectChildrenByDept(parentId, allDept); List childrenDeptIdList = childrenDeptList.stream().map(SysDept::getDeptId).collect(Collectors.toList()); @@ -148,14 +148,11 @@ public class RemoteServiceImpl implements IRemoteService { Long childId = checkChildDto.getChildId(); List deptIdList = checkChildDto.getDeptIdList(); // 查询父级包括自己 - List allDept = deptService.getAllDept().getData(); + List allDept = deptService.getAllDept(null).getData(); List parentDeptList = DataUtil.selectParentByDept(childId, allDept); - List parentDeptIdList = parentDeptList.stream().map(SysDept::getDeptId).collect(Collectors.toList()); parentDeptIdList.remove(childId); - List remainIdList = CollUtil.removeAny(deptIdList, ArrayUtil.toArray(parentDeptIdList, Long.class)); - return R.ok(remainIdList.isEmpty()); } diff --git a/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/feign/RemoteDeptService.java b/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/feign/RemoteDeptService.java index 6cdab9b04..05308af10 100644 --- a/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/feign/RemoteDeptService.java +++ b/pigx-upms/pigx-upms-api/src/main/java/com/pig4cloud/pigx/admin/api/feign/RemoteDeptService.java @@ -25,6 +25,7 @@ import com.pig4cloud.pigx.common.core.util.R; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestParam; import java.util.List; @@ -37,10 +38,11 @@ public interface RemoteDeptService { /** * 获取所有部门接口 + * @param parentDeptId 父部门ID * @return R 返回结果对象,包含所有部门信息列表 */ @GetMapping("/dept/list") - R> getAllDept(); + R> getAllDept(@RequestParam("parentDeptId") Long parentDeptId); /** * 通过部门ID获取负责人列表