diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/IPersonnelService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/IPersonnelService.java index 80c02bb..e547c86 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/IPersonnelService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/IPersonnelService.java @@ -48,6 +48,12 @@ public interface IPersonnelService { @ApiOperation(value = "获取账号信息") SysUser getSysUserById(Long id); + @ApiOperation(value = "查询账号ID",notes = "根据部门ID 查询所有的人员信息") + List findSysUserIdByDepartmentId(Long ...departmentId); + + @ApiOperation(value = "查询账号ID",notes = "根据组织代码 查询所有的人员信息") + List findSysUserIdByOrganizeCode(String ...organizeCode); + @ApiOperation(value = "查询账号信息") List findSysUserByIds(Long[] ids); @@ -63,6 +69,12 @@ public interface IPersonnelService { @ApiOperation(value = "获取用户信息") SysUserInfo getSysUserInfoById(Long id); + @ApiOperation(value = "查询账号ID",notes = "根据部门ID 查询所有的人员信息") + List findSysUserInfoIdByDepartmentId(Long ...departmentId); + + @ApiOperation(value = "查询账号ID",notes = "根据组织代码 查询所有的人员信息") + List findSysUserInfoIdByOrganizeCode(String ...organizeCode); + @ApiOperation(value = "获取部门") SysDepartment getSysDepartmentById(Long id); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/PersonnelServiceService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/PersonnelServiceService.java index 527a37b..307d77a 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/PersonnelServiceService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/PersonnelServiceService.java @@ -33,9 +33,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import java.util.*; /** * @Description : @@ -154,6 +152,36 @@ public class PersonnelServiceService implements IPersonnelService { } @Override + public List findSysUserIdByDepartmentId(Long... departmentId) { + List result = new ArrayList<>(); + if(departmentId != null && departmentId.length > 0){ + List departmentList = refUserDepartmentRDao.findByHqlWhere(CoreHqlPack.packHqlIds("departmentId", departmentId)); + if(departmentList != null && departmentList.size() > 0){ + departmentList.forEach(department -> result.add(department.getUserId())); + } + } + return result; + } + + @Override + public List findSysUserIdByOrganizeCode(String... organizeCode) { + List result = new ArrayList<>(); + if(organizeCode != null && organizeCode.length > 0){ + List organizeList = organizeRDao.findByHqlWhere(CoreHqlPack.packHqlIds("organizeCode", organizeCode)); + if(organizeList != null && organizeList.size() > 0){ + List filterIds = new ArrayList<>(); + organizeList.forEach(organize -> filterIds.add(organize.getId())); + + List departmentList = refUserDepartmentRDao.findByHqlWhere(CoreHqlPack.packHqlIds("organizeId", filterIds.toArray(new Long[filterIds.size()]))); + if(departmentList != null && departmentList.size() > 0){ + departmentList.forEach(department -> result.add(department.getUserId())); + } + } + } + return result; + } + + @Override public List findSysUserByIds(Long[] ids) { LOGGER.info("平台用户 SysUserInfo ids:{}", ids); @@ -163,7 +191,14 @@ public class PersonnelServiceService implements IPersonnelService { @Override public ListPager querySysUser(UserDetailModel model, Pager pager) { - DdlPackBean packBean = CoreHqlPack.packDdlBeanSysUser(model.getSysUser(), StringTool.getListLong(model.getUserIdList())); + Set idList = new HashSet<>(); + idList.addAll(findSysUserIdByDepartmentId(model.getSysUser().getDepartmentId())); + idList.addAll(findSysUserIdByOrganizeCode(model.getSysUser().getOrganizeCode())); + if(model.getUserIdList() != null){ + model.getUserIdList().forEach(idStr -> idList.add(Long.parseLong(idStr))); + } + + DdlPackBean packBean = CoreHqlPack.packDdlBeanSysUser(model.getSysUser(), new ArrayList<>(idList)); pager = PagerHelper.getPager(pager, userRDao.findByHqlWhereCount(packBean)); return new ListPager<>(userRDao.findByHqlWherePage(packBean, pager), pager); } @@ -192,6 +227,36 @@ public class PersonnelServiceService implements IPersonnelService { } @Override + public List findSysUserInfoIdByDepartmentId(Long... departmentId) { + List result = new ArrayList<>(); + if(departmentId != null && departmentId.length > 0){ + List departmentList = refUserInfoDepartmentRDao.findByHqlWhere(CoreHqlPack.packHqlIds("departmentId", departmentId)); + if(departmentList != null && departmentList.size() > 0){ + departmentList.forEach(department -> result.add(department.getUserId())); + } + } + return result; + } + + @Override + public List findSysUserInfoIdByOrganizeCode(String... organizeCode) { + List result = new ArrayList<>(); + if(organizeCode != null && organizeCode.length > 0){ + List organizeList = organizeRDao.findByHqlWhere(CoreHqlPack.packHqlIds("organizeCode", organizeCode)); + if(organizeList != null && organizeList.size() > 0){ + List filterIds = new ArrayList<>(); + organizeList.forEach(organize -> filterIds.add(organize.getId())); + + List departmentList = refUserInfoDepartmentRDao.findByHqlWhere(CoreHqlPack.packHqlIds("organizeId", filterIds.toArray(new Long[filterIds.size()]))); + if(departmentList != null && departmentList.size() > 0){ + departmentList.forEach(department -> result.add(department.getUserId())); + } + } + } + return result; + } + + @Override public SysDepartment getSysDepartmentById(Long id) { return departmentRDao.getById(id); } @@ -217,6 +282,9 @@ public class PersonnelServiceService implements IPersonnelService { @Override public ListPager querySysUserInfo(UserDetailModel model, Pager pager) { + + + DdlPackBean packBean = CoreHqlPack.packDdlBeanSysUserInfo(model.getSysUserInfo(), StringTool.getListLong(model.getUserInfoIdList())); pager = PagerHelper.getPager(pager, userInfoRDao.findByHqlWhereCount(packBean));