树形结构查列表完成

yun-zuoyi
wei.peng 6 years ago
parent c43c062519
commit 9c31732a94

@ -67,6 +67,12 @@ public interface ICoreTreeService {
@ApiOperation(value = "获取部门树",notes = "根据父节点获取部门树")
SysDepartment getSysDepartmentTreeById(long id);
@ApiOperation(value = "获取部门ID集合",notes = "根据组织ID获取部门子集ID集合")
List<Long> findSysDepartmentIdByOrganizeId(long id);
@ApiOperation(value = "获取部门ID集合",notes = "获取部门子集ID集合")
List<Long> findSysDepartmentChildIds(SysDepartment department);
/**
*
* @param parent

@ -120,6 +120,9 @@ public interface ISysUserService {
@ApiOperation(value = "查询用户ID 集合",notes = "根据角色Id 查询用户ID集合")
List<Long> findSysUserIdListByRoleId(Long roleId);
@ApiOperation(value = "查询用户ID 集合",notes = "根据部门Id 查询用户ID集合")
List<Long> findSysUserIdListByDepartmentId(List<Long> idList);
/**
*
* @param user

@ -115,9 +115,7 @@ public class SysOrganizeController extends CoreBaseController{
public ResultBean findSysOrganizeAll() {
try {
List<SysOrganize> list = organizeService.listSysOrganize();
return ResultBean.success("操作成功")
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
.setResultList(list);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(list);
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
@ -130,9 +128,7 @@ public class SysOrganizeController extends CoreBaseController{
public ResultBean queryPosition(SysOrganize organize, Pager pager){
try{
ListPager<SysOrganize> listPager = organizeService.querySysOrganize(organize, pager);
return ResultBean.success("操作成功")
.setListPager(listPager)
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
return ResultBean.success("操作成功").setListPager(listPager).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){

@ -177,7 +177,7 @@ public class SysRoleController extends CoreBaseController{
ValidatorBean.checkNotZero(status, "角色状态不能为空");
sysRoleService.updateSysRoleStatus(Long.parseLong(id), status, AuthUtil.getSessionUser());
return new ResultBean(true);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {

@ -252,20 +252,8 @@ public class SysUserController extends CoreBaseController{
@ApiOperation(value="查询系统用户",notes="组合查询用户,外带分页查询(isValid = 1)")
public ResultBean querySysUserByPager(SysUser user, Pager pager){
try{
// 初始化用户查询讯息
if(null == user) {
user = new SysUser();
}
if(user.getRoleId() != null){
List<Long> ids = sysUserService.findSysUserIdListByRoleId(Long.parseLong(user.getRoleId()));
user.setRoleIdList(ids);
}
ListPager<SysUser> listPager = sysUserService.querySysUserByPager(user, pager);
return ResultBean.success("操作成功").setListPager(listPager)
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
return ResultBean.success("操作成功").setListPager(listPager).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){

@ -140,8 +140,7 @@ public class SysUserInfoController extends CoreBaseController{
public ResultBean querySysUserInfo(SysUserInfo SysUserInfo, Pager pager){
try{
ListPager<SysUserInfo> listPager = sysUserInfoService.querySysUserInfo(SysUserInfo, pager);
return ResultBean.success("操作成功").setListPager(listPager)
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
return ResultBean.success("操作成功").setListPager(listPager).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
}catch(ImppBusiException busExcep){
return ResultBean.fail(busExcep);
}catch(Exception e){

@ -146,6 +146,37 @@ public class CoreTreeService implements ICoreTreeService {
}
@Override
@ApiOperation(value = "获取部门ID集合",notes = "根据组织ID获取部门子集ID集合")
public List<Long> findSysDepartmentIdByOrganizeId(long id) {
List<Long> result = new ArrayList<>();
if(id > 0){
List<SysDepartment> list = departmentRDao.findByProperty("organizeId", id);
if(list != null && list.size()> 0){
for (SysDepartment department : list) {
findSysDepartmentChildrenTreePack(department,0);
result.addAll(findSysDepartmentChildIds(department));
}
}
}
return result;
}
@Override
@ApiOperation(value = "获取部门ID集合",notes = "获取部门子集ID集合")
public List<Long> findSysDepartmentChildIds(SysDepartment department) {
List<Long> result = new ArrayList<>();
if(null != department){
if(department.getChildList() != null && department.getChildList().size() > 0){
for (SysDepartment dep : department.getChildList()) {
result.addAll(findSysDepartmentChildIds(dep));
}
}
result.add(department.getId());
}
return result;
}
@Override
@ApiOperation(value = "封装部门树",notes = "封装当前部门树")
public void findSysDepartmentChildrenTreePack(SysDepartment parent, int step) {
++step;

@ -167,6 +167,12 @@ public class SysOrganizeService implements ISysOrganizeService {
pager = PagerHelper.getPager(pager,count);
return new ListPager(organizeRDao.listPager(pager),pager);
}else {
if(organize.getParentId() != null){
SysOrganize parent = coreTreeService.getSysOrganizeTreeById(organize.getParentId());
List<Long> childIds = coreTreeService.findSysOrganizeChildIds(parent);
organize.setChildIdList(childIds);
}
//生成hql查询语句
String hqlPack = CoreHqlPack.packHqlSysOrganize(organize);
pager = PagerHelper.getPager(pager,organizeRDao.findByHqlWhereCount(hqlPack));

@ -161,10 +161,9 @@ public class SysRoleService implements ISysRoleService {
ref.setRoleNameRdd(role.getName());
ref.setMenuNameRdd(menu.getName());
ref.setMenuId(menu.getId());
ref.setIsValid(CommonEnumUtil.IS_VAILD.VAILD.getValue());
ref.setMenuTypeRdd(menu.getMenuType());
// ConvertBean.serviceModelInitialize(ref,userName);
refs.add(ref);
}

@ -1,5 +1,6 @@
package cn.estsh.i3plus.core.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.core.api.iservice.busi.ICoreTreeService;
import cn.estsh.i3plus.core.api.iservice.busi.ISysUserInfoService;
import cn.estsh.i3plus.platform.common.tool.StringTool;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
@ -58,6 +59,9 @@ public class SysUserInfoService implements ISysUserInfoService {
@Autowired
private SysOrganizeRepository organizeRDao;
@Autowired
private ICoreTreeService coreTreeService;
/***
* @param userInfo
* @return
@ -257,6 +261,29 @@ public class SysUserInfoService implements ISysUserInfoService {
pager = PagerHelper.getPager(pager, sysUserInfoRDao.listCount());
return new ListPager(sysUserInfoRDao.listPager(pager),pager);
}else {
List<Long> departmentIdList = new ArrayList<>();
if(userInfo.getOrganizeId() != null){
// 查出所有组织 ID 集合
SysOrganize parent = coreTreeService.getSysOrganizeTreeById(userInfo.getOrganizeId());
List<Long> childIds = coreTreeService.findSysOrganizeChildIds(parent);
// 查询所有部门 ID 集合
if(childIds != null && childIds.size() > 0){
for (Long organizeId : childIds) {
departmentIdList.addAll(coreTreeService.findSysDepartmentIdByOrganizeId(organizeId));
}
}
}
// 封装部门 ID 信息
if(userInfo.getDepartmentId() != null){
SysDepartment department = departmentRDao.getById(userInfo.getDepartmentId());
departmentIdList.addAll(coreTreeService.findSysDepartmentChildIds(department));
}
userInfo.setDepartmentIdList(StringTool.getListString(departmentIdList));
String hqlPack = CoreHqlPack.packHqlSysUserInfo(userInfo);
pager = PagerHelper.getPager(pager, sysUserInfoRDao.findByHqlWhereCount(hqlPack));
return new ListPager(sysUserInfoRDao.findByHqlWherePage(hqlPack + userInfo.orderBy(),pager),pager);

@ -7,12 +7,12 @@ import cn.estsh.i3plus.core.api.iservice.busi.ISysUserService;
import cn.estsh.i3plus.core.apiservice.dao.IUserPermissionDao;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.tool.EncryptTool;
import cn.estsh.i3plus.platform.common.tool.StringTool;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.common.PagerHelper;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ImppEnumUtil;
import cn.estsh.i3plus.pojo.base.shirotoken.UserToken;
import cn.estsh.i3plus.pojo.base.tool.HqlPack;
import cn.estsh.i3plus.pojo.platform.bean.*;
@ -22,6 +22,9 @@ import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.collections.ListUtils;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authc.AuthenticationException;
import org.apache.shiro.authc.CredentialsException;
import org.apache.shiro.authc.UnknownAccountException;
@ -72,7 +75,7 @@ public class SysUserService implements ISysUserService {
private SysFileRepository sysFileRDao;
@Autowired
private SysDepartmentRepository sysDepartmentRDao;
private SysDepartmentRepository departmentRDao;
@Autowired
private SysPositionRepository sysPositionRDao;
@ -315,10 +318,58 @@ public class SysUserService implements ISysUserService {
}
@Override
@ApiOperation(value = "查询用户ID 集合",notes = "根据部门Id 查询用户ID集合")
public List<Long> findSysUserIdListByDepartmentId(List<Long> idList) {
List<Long> result = new ArrayList<>();
if(idList != null){
StringBuffer hqlWhere = new StringBuffer();
HqlPack.getInPack(StringUtils.join(idList, ","), "departmentId", hqlWhere);
List<SysRefUserDepartment> list = refUserDepartmentRDao.findByHqlWhere(hqlWhere.toString());
if(list != null && list.size() > 0){
for (SysRefUserDepartment ref : list) {
result.add(ref.getUserId());
}
}
}
return result;
}
@Override
@ApiOperation(value = "账号分页查询", notes = "组合查询")
public ListPager<SysUser> querySysUserByPager(SysUser user, Pager pager) {
LOGGER.debug("系统用户 SysUser find user :{} page :{}", user, pager);
// 角色查询
if(user.getRoleId() != null){
List<Long> ids = findSysUserIdListByRoleId(Long.parseLong(user.getRoleId()));
user.setRoleIdList(StringTool.getListString(ids));
}
List<Long> departmentIdList = new ArrayList<>();
if(user.getOrganizeId() != null){
// 查出所有组织 ID 集合
SysOrganize parent = coreTreeService.getSysOrganizeTreeById(user.getOrganizeId());
List<Long> childIds = coreTreeService.findSysOrganizeChildIds(parent);
// 查询所有部门 ID 集合
if(childIds != null && childIds.size() > 0){
for (Long organizeId : childIds) {
List<Long> ids = coreTreeService.findSysDepartmentIdByOrganizeId(organizeId);
departmentIdList.addAll(ids);
}
}
}
// 封装部门 ID 信息
if(user.getDepartmentId() != null){
SysDepartment department = departmentRDao.getById(user.getDepartmentId());
departmentIdList.addAll(coreTreeService.findSysDepartmentChildIds(department));
}
List<Long> idList = findSysUserIdListByDepartmentId(departmentIdList);
user.setDepartmentIdList(StringTool.getListString(idList));
//生成hql查询语句
String hqlPack = CoreHqlPack.packHqlSysUser(user);
pager = PagerHelper.getPager(pager, sysUserRDao.findByHqlWhereCount(hqlPack));
@ -626,7 +677,7 @@ public class SysUserService implements ISysUserService {
personnelService.findSysRefUserInfoDepartmentById(userInfo.id);
userInfo.setDepartment(sysDepartmentRDao.getById(userInfo.getDepartmentId()));
userInfo.setDepartment(departmentRDao.getById(userInfo.getDepartmentId()));
userInfo.setDepartmentList(personnelService.findSysUserInfoDepartmentByInfoId(userInfo.getId()));
}catch (Exception e){
LOGGER.error(" SysUser Peck Department information Error userId : {} Exception Message : {} " ,userInfo.getId(),e.getMessage());
@ -643,7 +694,7 @@ public class SysUserService implements ISysUserService {
try {
LOGGER.debug("平台用户 SYS_USER user id :{}", user.getId());
user.setDepartment(sysDepartmentRDao.getById(user.getDepartmentId()));
user.setDepartment(departmentRDao.getById(user.getDepartmentId()));
user.setDepartmentList(personnelService.findSysUserDepartmentByInfoId(user.id));
}catch (Exception e){
LOGGER.error(" SysUser Peck Department information Error userId : {} Exception Message : {} " ,user.getId(),e.getMessage());

Loading…
Cancel
Save