diff --git a/basic-interface/src/main/java/ink/wgink/interfaces/department/IDepartmentUserBaseService.java b/basic-interface/src/main/java/ink/wgink/interfaces/department/IDepartmentUserBaseService.java index cb70881f..fcbdd23b 100644 --- a/basic-interface/src/main/java/ink/wgink/interfaces/department/IDepartmentUserBaseService.java +++ b/basic-interface/src/main/java/ink/wgink/interfaces/department/IDepartmentUserBaseService.java @@ -87,4 +87,12 @@ public interface IDepartmentUserBaseService { */ SuccessResultList> listPage(String departmentId, ListPage page); + /** + * 用户列表 + * + * @param departmentId 部门ID + * @param params 参数 + * @return + */ + List list(String departmentId, Map params); } diff --git a/service-department/src/main/java/ink/wgink/service/department/controller/api/DepartmentUserController.java b/service-department/src/main/java/ink/wgink/service/department/controller/api/DepartmentUserController.java index b8a9087b..18104559 100644 --- a/service-department/src/main/java/ink/wgink/service/department/controller/api/DepartmentUserController.java +++ b/service-department/src/main/java/ink/wgink/service/department/controller/api/DepartmentUserController.java @@ -88,6 +88,18 @@ public class DepartmentUserController extends DefaultBaseController { return departmentUserService.listPage(departmentId, page); } + @ApiOperation(value = "组织部门用户列表", notes = "组织部门用户列表接口") + @ApiImplicitParams({ + @ApiImplicitParam(name = "departmentId", value = "部门ID", paramType = "path"), + @ApiImplicitParam(name = "keywords", value = "关键字", paramType = "query") + }) + @ApiResponses({@ApiResponse(code = 400, message = "请求失败", response = ErrorResult.class)}) + @GetMapping("list/{departmentId}") + public List list(@PathVariable("departmentId") String departmentId) { + Map params = requestParams(); + return departmentUserService.list(departmentId, params); + } + @ApiOperation(value = "组织部门用户ID列表", notes = "组织部门用户ID列表接口") @ApiImplicitParams({ @ApiImplicitParam(name = "departmentId", value = "部门ID", paramType = "path"), diff --git a/service-department/src/main/java/ink/wgink/service/department/service/impl/DepartmentUserServiceImpl.java b/service-department/src/main/java/ink/wgink/service/department/service/impl/DepartmentUserServiceImpl.java index 6eefc258..36215fa8 100644 --- a/service-department/src/main/java/ink/wgink/service/department/service/impl/DepartmentUserServiceImpl.java +++ b/service-department/src/main/java/ink/wgink/service/department/service/impl/DepartmentUserServiceImpl.java @@ -208,6 +208,14 @@ public class DepartmentUserServiceImpl extends DefaultBaseService implements IDe return listPageUser(departmentId, page); } + @Override + public List list(String departmentId, Map params) { + if (StringUtils.equals(departmentId, ISystemConstant.TREE_BASE_ROOT_ID_VALUE)) { + return listUserByExcludeDepartment(params); + } + return listUser(departmentId, params); + } + private List listGroupUserId(Map params) { return departmentUserDao.listGroupUserId(params); } @@ -228,6 +236,22 @@ public class DepartmentUserServiceImpl extends DefaultBaseService implements IDe return listPageExcludeDepartmentUser(successResultList); } + /** + * 没有组织机构的用户分页列表 + * + * @param params + * @return + */ + private List listUserByExcludeDepartment(Map params) { + List hasDepartmentUsers = list(getHashMap(0)); + List userIds = new ArrayList<>(); + for (DepartmentUserDTO hasDepartmentUserId : hasDepartmentUsers) { + userIds.add(hasDepartmentUserId.getUserId()); + } + List userDTOs = userBaseService.listByExcludeIds(userIds, params); + return listPageExcludeDepartmentUser(successResultList); + } + /** * 组织机构的用户分页列表 * @@ -248,6 +272,19 @@ public class DepartmentUserServiceImpl extends DefaultBaseService implements IDe return listPageDepartmentUser(successResultList, hasDepartmentUsers); } + private List listUser(String departmentId, Map params) { + List hasDepartmentUsers = list(getHashMap(0)); + if (hasDepartmentUsers.isEmpty()) { + return new ArrayList<>(); + } + List userIds = new ArrayList<>(); + for (DepartmentUserDTO hasDepartmentUserId : hasDepartmentUsers) { + userIds.add(hasDepartmentUserId.getUserId()); + } + List userDTOs = userBaseService.listByIds(userIds, params); + return listDepartmentUser(userDTOs, hasDepartmentUsers); + } + /** * 机构用户分页列表 * @@ -267,6 +304,24 @@ public class DepartmentUserServiceImpl extends DefaultBaseService implements IDe return new SuccessResultList<>(departmentUserDTOs, successResultList.getPage(), successResultList.getTotal()); } + /** + * 机构用户分页列表 + * + * @param userDTOs + * @return + */ + private List listExcludeDepartmentUser(List userDTOs) { + // 查询用户排序 + List departmentUserDTOs = new ArrayList<>(); + for (UserDTO userDTO : userDTOs) { + DepartmentUserDTO departmentUserDTO = new DepartmentUserDTO(userDTO); + departmentUserDTO.setDepartmentId(""); + departmentUserDTO.setUserSort("ZZZ-000"); + departmentUserDTOs.add(departmentUserDTO); + } + return departmentUserDTOs; + } + /** * 机构用户分页列表 * @@ -291,4 +346,7 @@ public class DepartmentUserServiceImpl extends DefaultBaseService implements IDe return new SuccessResultList<>(departmentUserDTOs, successResultList.getPage(), successResultList.getTotal()); } + private List listDepartmentUser(List userDTOs, List hasDepartmentUsers) { + } + } diff --git a/service-department/src/main/resources/templates/department/user/select-user.html b/service-department/src/main/resources/templates/department/user/select-user.html index fa0d0820..6206d6b7 100644 --- a/service-department/src/main/resources/templates/department/user/select-user.html +++ b/service-department/src/main/resources/templates/department/user/select-user.html @@ -161,16 +161,18 @@ } } } + console.log(data) var userDom = ''; for(var i = 0, item; item = data[i++];) { var avatarDom; - if(null == item.userAvatar || '' == item.userAvatar) { + if(item.userAvatar) { avatarDom = ' ' } else { avatarDom = ' '; } userDom += ''+ avatarDom + item.userName +' ['+ item.userUsername +']'; } + console.log(userDom) $('#userWrapper').append(userDom); } // 初始化懒加载 @@ -201,10 +203,10 @@ return; } var loadLayerIndex; - top.restAjax.get(top.restAjax.path('api/department/user/listpage/{department}', [selectedParentId]), { + top.restAjax.get(top.restAjax.path('api/department/user/list/{department}', [selectedParentId]), { keywords: searchUser }, null, function(code, data) { - addSearchUserDom(data); + addSearchUserDom(data.rows); }, function(code, data) { top.dialog.msg(data.msg); }, function() {