From 39c1e511a96cfed6a45dc47eb5fb618256389575 Mon Sep 17 00:00:00 2001 From: "jimmy.zeng" Date: Thu, 4 Jul 2019 20:46:56 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E7=BB=84=E7=BB=87=E6=A0=91=20=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=9D=83=E9=99=90=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/iservice/busi/ICoreMemTreeService.java | 24 ++++- .../core/api/iservice/busi/IPersonnelService.java | 4 +- .../api/iservice/busi/ISysOrganizeService.java | 11 +++ .../controller/busi/PersonnelController.java | 4 +- .../controller/busi/SysMemTreeController.java | 22 +++++ .../controller/busi/SysOrganizeController.java | 29 +++++- .../serviceimpl/busi/CoreMemTreeService.java | 101 ++++++++++++++++++++- .../serviceimpl/busi/PersonnelServiceService.java | 65 +++++++------ .../serviceimpl/busi/SysOrganizeService.java | 44 +++++---- 9 files changed, 244 insertions(+), 60 deletions(-) diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ICoreMemTreeService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ICoreMemTreeService.java index 662ff68..efb8a76 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ICoreMemTreeService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ICoreMemTreeService.java @@ -1,7 +1,6 @@ package cn.estsh.i3plus.core.api.iservice.busi; -import cn.estsh.i3plus.pojo.platform.bean.SysPosition; -import cn.estsh.i3plus.pojo.platform.bean.SysRefUserPosition; +import cn.estsh.i3plus.pojo.platform.bean.*; import io.swagger.annotations.ApiOperation; import java.util.List; @@ -59,4 +58,25 @@ public interface ICoreMemTreeService { @ApiOperation(value = "查询岗位子节点",notes = "查询字节点岗位ID") List findChildSysPosition(SysPosition position); + /********************************************* Start SysOrganize Tree *********************************************/ + + @ApiOperation(value = "分装组织树",notes = "分装组织树") + List packTreeSysOrganize(List list,Long parentId); + + @ApiOperation(value = "分装组织树",notes = "根据用户组织关系分装组织树") + List packTreeSysOrganizeBySysRefUserOrganize(List list, List refList); + + @ApiOperation(value = "分装组织树",notes = "根据用户组织关系分装组织树") + List packTreeSysOrganizeBySysRefUserInfoOrganize(List list, List refList); + + @ApiOperation(value = "分装组织树",notes = "根据制定IDS分装组织树") + List packTreeSysOrganizeByIds(List list, List ids); + + @ApiOperation(value = "分装组织树",notes = "根据制定ID分装组织树") + SysOrganize packTreeSysOrganizeById(List list, Long id); + + @ApiOperation(value = "查询组织子节点",notes = "查询字节点组织ID") + List findChildSysOrganize(SysOrganize organize); + + /********************************************* End SysOrganize Tree *********************************************/ } 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 f72c8ba..20f435c 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 @@ -82,7 +82,7 @@ public interface IPersonnelService { List findSysRefUserRoleById(Long userId); @ApiOperation(value = "查询账号部门关系") - List findSysRefUserDepartmentById(Long userId); + List findSysRefUserDepartmentByUserId(Long userId); @ApiOperation(value = "查询账号部门关系") List querySysRefUserDepartmentByUserDetailModel(UserDetailModel model); @@ -102,6 +102,8 @@ public interface IPersonnelService { @ApiOperation(value = "查询账户组织关系") List findSysUserOrganize(Long infoId); + List findSysOrganizeList(); + @ApiOperation(value = "查询用户岗位关系") List findSysRefUserPositionById(Long infoId); diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysOrganizeService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysOrganizeService.java index 09d834e..68e1c86 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysOrganizeService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysOrganizeService.java @@ -4,6 +4,7 @@ import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.platform.bean.SessionUser; import cn.estsh.i3plus.pojo.platform.bean.SysOrganize; +import cn.estsh.i3plus.pojo.platform.bean.SysRefUserDepartment; import io.swagger.annotations.ApiOperation; import java.util.List; @@ -71,6 +72,8 @@ public interface ISysOrganizeService { @ApiOperation(value = "查询组织信息",notes = "查询 组织信息(分页、组合)") ListPager querySysOrganize(SysOrganize organize, Pager pager); + ListPager querySysOrganize(SysOrganize organize,List idList, Pager pager); + /** * 根据id 数据 * @param id @@ -85,4 +88,12 @@ public interface ISysOrganizeService { */ @ApiOperation(value = "查询组织个数") long getSysOrganizeCount(); + + /** + * 根据 组织ID 查询当前用户所有组织数据 + * @return + */ + @ApiOperation(value = "查询当前用户所有组织数据",notes = "查询当前用户所有组织数据") + List findOrganizeIdByRefUsers(List sysRefUserDepartments); + } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/PersonnelController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/PersonnelController.java index 4d069de..1f903b6 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/PersonnelController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/PersonnelController.java @@ -297,7 +297,7 @@ public class PersonnelController extends CoreBaseController { List refUserInfoDepartmentList = personnelService.findSysRefUserInfoDepartmentById(info.getId()); List refUserPositionList = personnelService.findSysRefUserPositionById(info.getId()); - List refUserDepartmentList = personnelService.findSysRefUserDepartmentById(user.getId()); + List refUserDepartmentList = personnelService.findSysRefUserDepartmentByUserId(user.getId()); List refUserRoleList = personnelService.findSysRefUserRoleById(user.getId()); SysFile image = info.getUserImageId() != null ? fileService.getSysFileById(info.getUserImageId()) : null; @@ -331,7 +331,7 @@ public class PersonnelController extends CoreBaseController { SysUser user = personnelService.getSysUserById(Long.parseLong(id)); - List refUserInfoDepartmentList = personnelService.findSysRefUserDepartmentById(user.getId()); + List refUserInfoDepartmentList = personnelService.findSysRefUserDepartmentByUserId(user.getId()); List refUserRoleList = personnelService.findSysRefUserRoleById(user.getId()); resultMap.put("refUserDepartmentList", refUserInfoDepartmentList); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMemTreeController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMemTreeController.java index 2c05c45..ea4a7f0 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMemTreeController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMemTreeController.java @@ -6,7 +6,9 @@ import cn.estsh.i3plus.core.api.iservice.busi.ISysPositionService; import cn.estsh.i3plus.platform.common.util.PlatformConstWords; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; +import cn.estsh.i3plus.pojo.platform.bean.SysOrganize; import cn.estsh.i3plus.pojo.platform.bean.SysPosition; +import cn.estsh.i3plus.pojo.platform.bean.SysRefUserDepartment; import cn.estsh.i3plus.pojo.platform.bean.SysRefUserPosition; import cn.estsh.i3plus.pojo.platform.repository.SysRefUserPositionRepository; import cn.estsh.impp.framework.base.controller.CoreBaseController; @@ -156,4 +158,24 @@ public class SysMemTreeController extends CoreBaseController { } } + /** + * 根据用户ID 获取用户组织树 + * @return + */ + @GetMapping(value="/organize/user") + @ApiOperation(value="查询岗位树",notes="通过部门主键获取岗位树,-1为根节点") + public ResultBean findSysOrganizeByUser() { + try { + List list = personnelService.findSysOrganizeList(); + List listTree = memTreeService.packTreeSysOrganize(list, CommonEnumUtil.PARENT.DEFAULT.getValue()); + List refList = personnelService.findSysRefUserDepartmentByUserId(getSessionUser().getUserInfo().getId()); + List userTreeList = memTreeService.packTreeSysOrganizeBySysRefUserOrganize(listTree, refList); + + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(userTreeList); + }catch(ImppBusiException busExcep){ + return ResultBean.fail(busExcep); + }catch(Exception e){ + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } } diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrganizeController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrganizeController.java index 3236956..b2f8a39 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrganizeController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysOrganizeController.java @@ -1,5 +1,7 @@ package cn.estsh.i3plus.core.apiservice.controller.busi; +import cn.estsh.i3plus.core.api.iservice.busi.ICoreMemTreeService; +import cn.estsh.i3plus.core.api.iservice.busi.IPersonnelService; import cn.estsh.i3plus.core.api.iservice.busi.ISysOrganizeService; import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.platform.common.tool.StringTool; @@ -9,6 +11,7 @@ import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; import cn.estsh.i3plus.pojo.platform.bean.SysOrganize; +import cn.estsh.i3plus.pojo.platform.bean.SysRefUserDepartment; import cn.estsh.impp.framework.base.controller.CoreBaseController; import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppBusiException; @@ -21,9 +24,13 @@ import io.swagger.annotations.ApiOperation; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.*; +import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; +import java.util.stream.Stream; /** * @Description : 组织对外接口 @@ -42,6 +49,12 @@ public class SysOrganizeController extends CoreBaseController{ @Autowired private ISysOrganizeService organizeService; + @Autowired + private IPersonnelService personnelService; + + @Autowired + private ICoreMemTreeService coreMemTreeService; + /** * 新增组织 * @param organize 组织 @@ -133,8 +146,9 @@ public class SysOrganizeController extends CoreBaseController{ @ApiOperation(value = "查询所有组织", notes = "查询所有组织") public ResultBean findSysOrganizeAll() { try { - List list = organizeService.listSysOrganize(); - return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(list); + List refList = personnelService.findSysRefUserDepartmentByUserId(getSessionUser().getUser().getId()); + List result = organizeService.findOrganizeIdByRefUsers(refList); + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(result); } catch (ImppBusiException busExcep) { return ResultBean.fail(busExcep); } catch (Exception e) { @@ -152,8 +166,15 @@ public class SysOrganizeController extends CoreBaseController{ @ApiOperation(value="查询组织",notes="组合查询组织外加分页") public ResultBean queryPosition(SysOrganize organize, Pager pager){ try{ - ListPager listPager = organizeService.querySysOrganize(organize, pager); - return ResultBean.success("操作成功").setListPager(listPager).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + List refList = personnelService.findSysRefUserDepartmentByUserId(getSessionUser().getUser().getId()); + if(refList != null && refList.size() > 0){ + List idList = new ArrayList<>(refList.size()); + refList.forEach(ref ->idList.add(ref.getOrganizeId())); + + return ResultBean.success("操作成功").setListPager(organizeService.querySysOrganize(organize, idList, pager)) + .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ return ResultBean.fail(busExcep); }catch(Exception e){ diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/CoreMemTreeService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/CoreMemTreeService.java index 1c1a699..cd95341 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/CoreMemTreeService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/CoreMemTreeService.java @@ -3,8 +3,8 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; import cn.estsh.i3plus.core.api.iservice.busi.ICoreMemTreeService; import cn.estsh.i3plus.platform.common.util.CommonConstWords; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; -import cn.estsh.i3plus.pojo.platform.bean.SysPosition; -import cn.estsh.i3plus.pojo.platform.bean.SysRefUserPosition; +import cn.estsh.i3plus.pojo.platform.bean.*; +import io.swagger.annotations.ApiOperation; import org.springframework.stereotype.Service; import java.util.ArrayList; @@ -100,4 +100,101 @@ public class CoreMemTreeService implements ICoreMemTreeService { return result; } + + + /********************************************* Start SysOrganize Tree *********************************************/ + @Override + public List packTreeSysOrganize(List list, Long parentId) { + List result = new ArrayList<>(); + List copyList = new ArrayList<>(list); + + if(list != null && list.size() > 0){ + list.forEach(organize -> { + if(organize.getParentId() != null && organize.getParentId().equals(parentId)){ + result.add(organize); + copyList.remove(organize); + organize.setChildList(packTreeSysOrganize(copyList, organize.getId())); + } + }); + } + + return result; + } + + @Override + public List packTreeSysOrganizeBySysRefUserOrganize(List list, List refList) { + List ids = new ArrayList<>(refList.size()); + + if(refList != null && refList.size() > 0){ + refList.forEach(ref ->{ + ids.add(ref.getOrganizeId()); + }); + } + + return packTreeSysOrganizeByIds(list, ids); + } + + @Override + public List packTreeSysOrganizeBySysRefUserInfoOrganize(List list, List refList) { + List ids = new ArrayList<>(refList.size()); + + if(refList != null && refList.size() > 0){ + refList.forEach(ref ->{ + ids.add(ref.getOrganizeId()); + }); + } + + return packTreeSysOrganizeByIds(list, ids); + } + + @Override + public List packTreeSysOrganizeByIds(List list, List ids) { + List result = new ArrayList<>(); + + if(list != null && list.size() > 0){ + list.forEach(organize -> { + if(organize.getChildList() == null || organize.getChildList().size() <= 0){ + if(ids.contains(organize.getId())){ + result.add(organize); + } + }else{ + List childList = packTreeSysOrganizeByIds(organize.getChildList(), ids); + if(ids.contains(organize.getId()) || childList != null && childList.size() > 0){ + organize.setChildList(childList); + result.add(organize); + } + } + }); + } + + return result; + } + + @Override + public SysOrganize packTreeSysOrganizeById(List list, Long id) { + if(list != null && list.size() > 0){ + for (SysOrganize organize : list) { + if(organize.getId().equals(id)){ + organize.setChildList(packTreeSysOrganize(list, organize.getId())); + return organize; + } + } + } + return null; + } + + @Override + public List findChildSysOrganize(SysOrganize organize) { + List result = new ArrayList<>(); + + if(organize != null && organize.getChildList() != null && organize.getChildList().size() > 0){ + for (SysOrganize so : organize.getChildList()) { + result.add(so.getId()); + result.addAll(findChildSysOrganize(so)); + } + } + + return result; + } + /********************************************* End SysOrganize Tree *********************************************/ } 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 bf7fb6f..6ec9c01 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 @@ -17,7 +17,6 @@ import cn.estsh.i3plus.pojo.model.platform.UserDetailModel; import cn.estsh.i3plus.pojo.platform.bean.*; import cn.estsh.i3plus.pojo.platform.repository.*; import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack; -import cn.estsh.i3plus.pojo.wms.sqlpack.WmsHqlPack; import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.exception.ImppExceptionEnum; @@ -97,13 +96,13 @@ public class PersonnelServiceService implements IPersonnelService { @Override public SysUser saveSysUser(SysUser user) { - LOGGER.debug("平台账号 SysUser user:{}", user); + LOGGER.info("平台账号 SysUser user:{}", user); return userRDao.save(user); } @Override public SysUserInfo saveSysUserInfo(SysUserInfo info) { - LOGGER.debug("平台用户 SysUserInfo info:{}", info); + LOGGER.info("平台用户 SysUserInfo info:{}", info); return userInfoRDao.save(info); } @@ -114,7 +113,7 @@ public class PersonnelServiceService implements IPersonnelService { @Override public void updateSysUserOrganize(Long userId, Long organizeId) { - LOGGER.debug("平台账号 SysUser userId:{} organizeId",userId, organizeId); + LOGGER.info("平台账号 SysUser userId:{} organizeId",userId, organizeId); SysUser user = userRDao.getById(userId); if(user != null){ user.setOrganizeId(organizeId); @@ -125,7 +124,7 @@ public class PersonnelServiceService implements IPersonnelService { @Override @ApiOperation(value = "删除账号信息") public void deleteSysUser(Long[] userIdList,String userName) { - LOGGER.debug("平台账号 SysUser userIdList:{}", userIdList); + LOGGER.info("平台账号 SysUser userIdList:{}", userIdList); // 删除账号信息 userRDao.updateValidStatusByPropertyIn("id", userIdList,CommonEnumUtil.IS_VAILD.INVAILD.getValue(), userName); @@ -137,7 +136,7 @@ public class PersonnelServiceService implements IPersonnelService { @Override @ApiOperation(value = "删除用户信息") public void deleteSysUserInfo(Long[] infoIdList,String userName) { - LOGGER.debug("平台用户 SysUserInfo infoIdList:{}", infoIdList); + LOGGER.info("平台用户 SysUserInfo infoIdList:{}", infoIdList); // 删除用户信息 userInfoRDao.updateValidStatusByPropertyIn("id", infoIdList,CommonEnumUtil.IS_VAILD.INVAILD.getValue(), userName); @@ -153,7 +152,7 @@ public class PersonnelServiceService implements IPersonnelService { @Override public List findSysUserByIds(Long[] ids) { - LOGGER.debug("平台用户 SysUserInfo ids:{}", ids); + LOGGER.info("平台用户 SysUserInfo ids:{}", ids); String infoWhere = CoreHqlPack.packHqlIds("id", ids); return userRDao.findByHqlWhere(infoWhere); @@ -161,7 +160,7 @@ public class PersonnelServiceService implements IPersonnelService { @Override public List querySysUserByUserDetailModelOrIds(UserDetailModel model, List ids) { - LOGGER.debug("平台用户 SysUser model:{} ids:{}", model, ids); + LOGGER.info("平台用户 SysUser model:{} ids:{}", model, ids); String modeWhere = HqlModelPack.packHqlSysUserByModelOrIds(model, ids); return userRDao.findByHqlWhere(modeWhere); @@ -170,7 +169,7 @@ public class PersonnelServiceService implements IPersonnelService { @Override @ApiOperation(value = "查询账号信息") public ListPager querySysUserPagerByUserDetailModelOrIds(UserDetailModel model,Pager pager, List ids) { - LOGGER.debug("平台用户 SysUser model:{} ids:{}", model, ids); + LOGGER.info("平台用户 SysUser model:{} ids:{}", model, ids); String modeWhere = HqlModelPack.packHqlSysUserByModelOrIds(model, ids); pager = PagerHelper.getPager(pager, userRDao.findByHqlWhereCount(modeWhere)); @@ -199,7 +198,7 @@ public class PersonnelServiceService implements IPersonnelService { @Override public SessionUser queryUserLogin(String userName, String password, String languageCode) { - LOGGER.debug("平台用户 SYS_USER loginName:{} \t password:{} \t languageCode:{}", userName, password, languageCode); + LOGGER.info("平台用户 SYS_USER loginName:{} \t password:{} \t languageCode:{}", userName, password, languageCode); UserToken token = new UserToken(userName,password,languageCode); SessionUser sessionUser = AuthUtil.login(token); AuthUtil.setSessionUser(sessionUser); @@ -214,7 +213,7 @@ public class PersonnelServiceService implements IPersonnelService { @Override public List findSysUserInfoByIds(Long[] ids) { - LOGGER.debug("平台用户 SysUserInfo ids:{}", ids); + LOGGER.info("平台用户 SysUserInfo ids:{}", ids); String infoWhere = CoreHqlPack.packHqlIds("id", ids); return userInfoRDao.findByHqlWhere(infoWhere); @@ -222,13 +221,13 @@ public class PersonnelServiceService implements IPersonnelService { @Override public List findSysRefUserRoleById(Long userId) { - LOGGER.debug("平台账号角色 SysRefUserRole userId:{}", userId); + LOGGER.info("平台账号角色 SysRefUserRole userId:{}", userId); return refUserRoleRDao.findByProperty("userId",userId); } @Override - public List findSysRefUserDepartmentById(Long userId) { - LOGGER.debug("平台账号部门 SysRefUserDepartment userId:{}", userId); + public List findSysRefUserDepartmentByUserId(Long userId) { + LOGGER.info("平台账号部门 SysRefUserDepartment userId:{}", userId); return refUserDepartmentRDao.findByProperty("userId",userId); } @@ -252,14 +251,14 @@ public class PersonnelServiceService implements IPersonnelService { @Override public List findSysRefUserInfoDepartmentById(Long infoId) { - LOGGER.debug("平台用户部门关系 SysRefUserInfoDepartment infoId:{}", infoId); + LOGGER.info("平台用户部门关系 SysRefUserInfoDepartment infoId:{}", infoId); return refUserInfoDepartmentRDao.findByProperty("userId",infoId); } @Override @ApiOperation(value = "查询用户部门关系") public List findSysUserInfoDepartmentByInfoId(Long infoId) { - LOGGER.debug("平台用户部门 SysDepartment infoId:{}", infoId); + LOGGER.info("平台用户部门 SysDepartment infoId:{}", infoId); List result = new ArrayList<>(); List refs = findSysRefUserInfoDepartmentById(infoId); @@ -277,10 +276,10 @@ public class PersonnelServiceService implements IPersonnelService { @Override @ApiOperation(value = "查询账号部门关系") public List findSysUserDepartmentByInfoId(Long infoId) { - LOGGER.debug("平台用户部门 SysDepartment infoId:{}", infoId); + LOGGER.info("平台用户部门 SysDepartment infoId:{}", infoId); List result = new ArrayList<>(); - List refs = findSysRefUserDepartmentById(infoId); + List refs = findSysRefUserDepartmentByUserId(infoId); if(refs != null && refs.size() > 0){ Long[] ids = new Long[refs.size()]; for (int i = 0; i < refs.size(); i++) { @@ -294,7 +293,7 @@ public class PersonnelServiceService implements IPersonnelService { @Override public List findSysUserInfoOrganize(Long infoId) { - LOGGER.debug("平台用户部门 SysDepartment infoId:{}", infoId); + LOGGER.info("平台用户部门 SysDepartment infoId:{}", infoId); List result = new ArrayList<>(); List refs = findSysRefUserInfoDepartmentById(infoId); @@ -311,10 +310,10 @@ public class PersonnelServiceService implements IPersonnelService { @Override public List findSysUserOrganize(Long infoId) { - LOGGER.debug("平台用户部门 SysDepartment infoId:{}", infoId); + LOGGER.info("平台用户部门 SysOrganize infoId:{}", infoId); List result = new ArrayList<>(); - List refs = findSysRefUserDepartmentById(infoId); + List refs = findSysRefUserDepartmentByUserId(infoId); if(refs != null && refs.size() > 0){ List ids = new ArrayList<>(); refs.forEach(ref -> { @@ -329,8 +328,16 @@ public class PersonnelServiceService implements IPersonnelService { } @Override + public List findSysOrganizeList() { + LOGGER.info("平台用户部门 SysOrganize Find All"); + return organizeRDao.findByProperty( + new String[]{"isDeleted","isValid"}, + new Object[]{CommonEnumUtil.IS_DEAL.NO.getValue(),CommonEnumUtil.IS_VAILD.VAILD.getValue()}); + } + + @Override public List findSysRefUserPositionById(Long infoId) { - LOGGER.debug("平台用户岗位 SysRefUserPosition infoId:{}", infoId); + LOGGER.info("平台用户岗位 SysRefUserPosition infoId:{}", infoId); return refUserPositionRDao.findByProperty("userId",infoId); } @@ -387,7 +394,7 @@ public class PersonnelServiceService implements IPersonnelService { @Override @ApiOperation(value = "重置密码检查") public Integer checkSysUserResetPassword(SysUser user) { - LOGGER.debug("平台用户岗位 SysUser user:{}", user); + LOGGER.info("平台用户岗位 SysUser user:{}", user); Integer num = 0; if(user != null){ String day = DateFormatUtils.ISO_8601_EXTENDED_DATE_FORMAT.format(new Date()); @@ -410,7 +417,7 @@ public class PersonnelServiceService implements IPersonnelService { @Override public void checkSysPositionRef(Long positionId) { - LOGGER.debug("平台岗位 SysPosition positionId:{}", positionId); + LOGGER.info("平台岗位 SysPosition positionId:{}", positionId); if(positionId != null){ List positionList = positionRDao.findByProperty("parentId", positionId); @@ -445,7 +452,7 @@ public class PersonnelServiceService implements IPersonnelService { @Override public void checkSysDepartmentRef(Long departmentId) { - LOGGER.debug("平台部门 SysDepartment departmentId:{}", departmentId); + LOGGER.info("平台部门 SysDepartment departmentId:{}", departmentId); if(departmentId != null){ List departmentList = departmentRDao.findByProperty("parentId", departmentId); @@ -490,7 +497,7 @@ public class PersonnelServiceService implements IPersonnelService { @Override public void checkSysOrganizeRef(Long organizeId) { - LOGGER.debug("平台部门 SysOrganize organizeId:{}", organizeId); + LOGGER.info("平台部门 SysOrganize organizeId:{}", organizeId); if(organizeId != null){ List organizeList = organizeRDao.findByProperty("parentId", organizeId); @@ -547,7 +554,7 @@ public class PersonnelServiceService implements IPersonnelService { @Override public void checkSysUserPassword(String password) { - LOGGER.debug("平台用户 SysUser password:{}", password); + LOGGER.info("平台用户 SysUser password:{}", password); if(StringUtils.isNotBlank(password)){ // 密码长度校验 @@ -763,7 +770,7 @@ public class PersonnelServiceService implements IPersonnelService { @Override public void refreshRefSysUserRole(Long userId, Long[] roleIds) { - LOGGER.debug("账号角色关系信息 RefSysUserRole userId:{} roleIds:{} ", userId,roleIds); + LOGGER.info("账号角色关系信息 RefSysUserRole userId:{} roleIds:{} ", userId,roleIds); SysUser user = userRDao.getById(userId); if(user != null){ // 根据IDS 查询所有的角色信息 @@ -801,7 +808,7 @@ public class PersonnelServiceService implements IPersonnelService { @Override public void refreshUpdateSysRoleRdd(Long roleId) { - LOGGER.debug("角色信息 RefSysUserRole roleId:{}", roleId); + LOGGER.info("角色信息 RefSysUserRole roleId:{}", roleId); if(roleId != null){ SysRole role = roleRDao.getById(roleId); if(role != null){ diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysOrganizeService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysOrganizeService.java index 33d2179..96852bf 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysOrganizeService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysOrganizeService.java @@ -2,12 +2,15 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; import cn.estsh.i3plus.core.api.iservice.busi.IPersonnelService; import cn.estsh.i3plus.core.api.iservice.busi.ISysOrganizeService; +import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; 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.tool.DdlPreparedPack; import cn.estsh.i3plus.pojo.platform.bean.SessionUser; import cn.estsh.i3plus.pojo.platform.bean.SysOrganize; +import cn.estsh.i3plus.pojo.platform.bean.SysRefUserDepartment; import cn.estsh.i3plus.pojo.platform.repository.SysOrganizeRepository; import cn.estsh.i3plus.pojo.platform.sqlpack.CoreHqlPack; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; @@ -18,8 +21,11 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; +import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; /** * @Description : 组织业务接口实现 @@ -42,9 +48,6 @@ public class SysOrganizeService implements ISysOrganizeService { @Autowired private IPersonnelService personnelService; - - - @Override @ApiOperation(value = "更新组织", notes = "传入持久化组织对象,进行更新") public void updateSysOrganize(SysOrganize organize) { @@ -170,24 +173,14 @@ public class SysOrganizeService implements ISysOrganizeService { @ApiOperation(value = "查询组织信息", notes = "查询 组织信息(分页、组合)") public ListPager querySysOrganize(SysOrganize organize, Pager pager) { LOGGER.info("组织信息 SysOrganize find SysOrganize page"); + return querySysOrganize(organize, null, pager); + } - if (organize == null) { - //不传入实体对象,查询所有 - int count = organizeRDao.listCount(); - pager = PagerHelper.getPager(pager, count); - return new ListPager(organizeRDao.listPager(pager), pager); - } else { - if (organize.getParentId() != null) { - SysOrganize parent = coreTreeService.getSysOrganizeTreeById(organize.getParentId()); - List childIds = coreTreeService.findSysOrganizeChildIds(parent); - organize.setChildIdList(childIds); - } - - //生成hql查询语句 - String hqlPack = CoreHqlPack.packHqlSysOrganize(organize); - pager = PagerHelper.getPager(pager, organizeRDao.findByHqlWhereCount(hqlPack)); - return new ListPager(organizeRDao.findByHqlWherePage(hqlPack + organize.orderBy(), pager), pager); - } + @Override + public ListPager querySysOrganize(SysOrganize organize, List idList, Pager pager) { + DdlPackBean packBean = CoreHqlPack.packHqlSysOrganize(organize, idList); + pager = PagerHelper.getPager(pager, organizeRDao.findByHqlWhereCount(packBean)); + return new ListPager(organizeRDao.findByHqlWherePage(packBean, pager), pager); } @Override @@ -201,4 +194,15 @@ public class SysOrganizeService implements ISysOrganizeService { public long getSysOrganizeCount() { return organizeRDao.listCount(); } + + @Override + @ApiOperation(value = "查询当前用户所有组织数据", notes = "查询当前用户所有组织数据") + public List findOrganizeIdByRefUsers(List sysRefUserDepartments) { + if (CollectionUtils.isEmpty(sysRefUserDepartments)) { + return null; + } else { + DdlPackBean packBean = CoreHqlPack.packHqlSysOrganize(sysRefUserDepartments); + return organizeRDao.findByHqlWhere(packBean); + } + } } From cb135ade39b54419010aeea34e2b2beca1f11d5f Mon Sep 17 00:00:00 2001 From: "wei.peng" <123456> Date: Thu, 4 Jul 2019 20:51:28 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E7=94=A8=E6=88=B7=E6=9D=83=E9=99=90?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/iservice/busi/ICoreMemTreeService.java | 7 ----- .../core/api/iservice/busi/IPersonnelService.java | 3 +++ .../api/iservice/busi/ISysPositionService.java | 5 ++++ .../core/api/iservice/busi/ISysRoleService.java | 3 +++ .../controller/busi/SysMemTreeController.java | 3 +-- .../controller/busi/SysPositionController.java | 20 +++++++++++--- .../controller/busi/SysRoleController.java | 31 +++++++++++++++++++--- .../serviceimpl/busi/PersonnelServiceService.java | 21 +++++++++++++++ .../serviceimpl/busi/SysPositionService.java | 18 +++++-------- .../serviceimpl/busi/SysRoleService.java | 19 ++++++------- 10 files changed, 92 insertions(+), 38 deletions(-) diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ICoreMemTreeService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ICoreMemTreeService.java index 662ff68..02654cf 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ICoreMemTreeService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ICoreMemTreeService.java @@ -51,12 +51,5 @@ public interface ICoreMemTreeService { @ApiOperation(value = "分装岗位树",notes = "根据制定ID分装岗位树") SysPosition packTreeSysPositionById(List list, Long id); - /** - * 获取制定树的所有叶子节点ID - * @param position - * @return - */ - @ApiOperation(value = "查询岗位子节点",notes = "查询字节点岗位ID") - List findChildSysPosition(SysPosition position); } 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 f72c8ba..b7bb4e1 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 @@ -81,6 +81,9 @@ public interface IPersonnelService { @ApiOperation(value = "查询账号角色关系") List findSysRefUserRoleById(Long userId); + @ApiOperation(value = "查询角色",notes = "查询制定用户的角色信息") + List findSysRoleByUserId(Long userId); + @ApiOperation(value = "查询账号部门关系") List findSysRefUserDepartmentById(Long userId); diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysPositionService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysPositionService.java index 18d232b..bd1f216 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysPositionService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysPositionService.java @@ -59,13 +59,18 @@ public interface ISysPositionService { /** * 复杂查询 + * 不建议使用, 没有数据权限 * @param position * @param pager * @return */ + @Deprecated @ApiOperation(value = "查询岗位信息",notes = "查询岗位信息 (分页,组合)") ListPager querySysPosition(SysPosition position, Pager pager); + @ApiOperation(value = "查询岗位信息",notes = "查询岗位信息 (分页,组合)") + ListPager querySysPosition(SysPosition position,List idList, Pager pager); + /** * 根据Key 数据 * diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysRoleService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysRoleService.java index 82b84be..b72259d 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysRoleService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ISysRoleService.java @@ -144,6 +144,9 @@ public interface ISysRoleService { @ApiOperation(value = "查信角色信息",notes = "查询角色信息(分页/组合)") ListPager querySysRole(SysRole role, Pager pager); + @ApiOperation(value = "查信角色信息",notes = "查询角色信息(分页/组合)") + ListPager querySysRole(SysRole role,List idList, Pager pager); + /*** * 检查角色唯一性 * @param role 角色信息 diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMemTreeController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMemTreeController.java index 2c05c45..dd51e35 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMemTreeController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysMemTreeController.java @@ -68,12 +68,11 @@ public class SysMemTreeController extends CoreBaseController { /** * 根据用户ID 获取用户组织树 - * @param userId * @return */ @GetMapping(value="/position/user") @ApiOperation(value="查询岗位树",notes="通过部门主键获取岗位树,-1为根节点") - public ResultBean listSysPositionParentId(Long userId) { + public ResultBean listSysPositionParentId() { try { List list = positionService.listSysPosition(); List listTree = memTreeService.packTreeSysPosition(list, CommonEnumUtil.PARENT.DEFAULT.getValue()); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysPositionController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysPositionController.java index 493a310..5b8e13a 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysPositionController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysPositionController.java @@ -1,5 +1,6 @@ package cn.estsh.i3plus.core.apiservice.controller.busi; +import cn.estsh.i3plus.core.api.iservice.busi.IPersonnelService; import cn.estsh.i3plus.core.api.iservice.busi.ISysPositionService; import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.platform.common.tool.StringTool; @@ -10,6 +11,7 @@ import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; import cn.estsh.i3plus.pojo.platform.bean.SysPosition; import cn.estsh.i3plus.pojo.platform.bean.SessionUser; +import cn.estsh.i3plus.pojo.platform.bean.SysRefUserPosition; import cn.estsh.impp.framework.base.controller.CoreBaseController; import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppBusiException; @@ -24,6 +26,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.ArrayList; import java.util.List; /** @@ -42,6 +45,9 @@ public class SysPositionController extends CoreBaseController { @Autowired private ISysPositionService positionService; + @Autowired + private IPersonnelService personnelService; + /** * 返回内容添加岗位 * @@ -139,10 +145,16 @@ public class SysPositionController extends CoreBaseController { @ApiOperation(value = "查询岗位", notes = "复杂查询岗位带分页") public ResultBean querySysPosition(SysPosition position, Pager pager) { try { - position.setOrganizeCode(AuthUtil.getOrganize().getOrganizeCode()); - ListPager listPager = positionService.querySysPosition(position, pager); - return ResultBean.success("操作成功").setListPager(listPager) - .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + List refList = personnelService.findSysRefUserPositionById(getSessionUser().getUserInfo().getId()); + if(refList != null && refList.size() > 0){ + List idList = new ArrayList<>(); + refList.forEach(ref -> idList.add(ref.getPositionId())); + + ListPager listPager = positionService.querySysPosition(position,idList, pager); + return ResultBean.success("操作成功").setListPager(listPager).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } + + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); } catch (ImppBusiException busExcep) { return ResultBean.fail(busExcep); } catch (Exception e) { diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysRoleController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysRoleController.java index 3e657ee..68445e9 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysRoleController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysRoleController.java @@ -1,5 +1,6 @@ package cn.estsh.i3plus.core.apiservice.controller.busi; +import cn.estsh.i3plus.core.api.iservice.busi.IPersonnelService; import cn.estsh.i3plus.core.api.iservice.busi.ISysRoleService; import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.platform.common.tool.StringTool; @@ -9,6 +10,7 @@ import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; import cn.estsh.i3plus.pojo.platform.bean.SysRefRoleMenu; +import cn.estsh.i3plus.pojo.platform.bean.SysRefUserRole; import cn.estsh.i3plus.pojo.platform.bean.SysRole; import cn.estsh.impp.framework.base.controller.CoreBaseController; import cn.estsh.impp.framework.boot.auth.AuthUtil; @@ -24,6 +26,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.ArrayList; import java.util.List; /** @@ -43,6 +46,9 @@ public class SysRoleController extends CoreBaseController{ @Autowired private ISysRoleService sysRoleService; + @Autowired + private IPersonnelService personnelService; + /** * 新增系统角色 * @param role 角色信息 @@ -141,6 +147,19 @@ public class SysRoleController extends CoreBaseController{ } } + @GetMapping(value = "/list-user") + @ApiOperation(value = "查询角色", notes = "查询用户所拥有的角色信息") + public ResultBean findSysRoleByUser() { + try { + List result = personnelService.findSysRoleByUserId(getSessionUser().getUser().getId()); + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setResultList(result); + } catch (ImppBusiException busExcep) { + return ResultBean.fail(busExcep); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + /** * 查询所有角色 * @param ids 角色id数组 @@ -191,10 +210,16 @@ public class SysRoleController extends CoreBaseController{ @ApiOperation(value="查询角色",notes="组合查询角色,外带分页功能") public ResultBean querySysRole(SysRole role, Pager pager){ try{ - ListPager listPager = sysRoleService.querySysRole(role, pager); + List refList = personnelService.findSysRefUserRoleById(getSessionUser().getUser().getId()); - return ResultBean.success("操作成功").setListPager(listPager) - .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + if(refList != null && refList.size() > 0){ + List idList = new ArrayList<>(refList.size()); + refList.forEach(ref -> idList.add(ref.getRoleId())); + + return ResultBean.success("操作成功").setListPager(sysRoleService.querySysRole(role, idList, pager)) + .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); }catch(ImppBusiException busExcep){ return ResultBean.fail(busExcep); }catch(Exception e){ 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 bf7fb6f..e4791df 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 @@ -6,6 +6,7 @@ import cn.estsh.i3plus.core.api.iservice.busi.ISysRoleService; import cn.estsh.i3plus.core.apiservice.util.HqlModelPack; import cn.estsh.i3plus.platform.common.tool.StringTool; import cn.estsh.i3plus.platform.common.util.CommonConstWords; +import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.common.PagerHelper; @@ -227,6 +228,26 @@ public class PersonnelServiceService implements IPersonnelService { } @Override + public List findSysRoleByUserId(Long userId) { + LOGGER.debug("平台账号角色 SysRole userId:{}", userId); + + List refList = findSysRefUserRoleById(userId); + if(refList != null && refList.size() > 0){ + List idList = new ArrayList<>(); + StringBuffer findWhere = new StringBuffer(); + refList.forEach(ref -> idList.add(ref.getRoleId())); + + HqlPack.getInPack(StringUtils.join(idList,","),"id",findWhere); + HqlPack.getNumEqualPack(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(),"isDeleted",findWhere); + HqlPack.getNumEqualPack(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue(),"isValid",findWhere); + + return roleRDao.findByHqlWhere(findWhere.toString()); + } + + return null; + } + + @Override public List findSysRefUserDepartmentById(Long userId) { LOGGER.debug("平台账号部门 SysRefUserDepartment userId:{}", userId); return refUserDepartmentRDao.findByProperty("userId",userId); diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysPositionService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysPositionService.java index 9226218..ae5f0af 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysPositionService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysPositionService.java @@ -155,18 +155,14 @@ public class SysPositionService implements ISysPositionService { @ApiOperation(value = "查询岗位信息", notes = "查询岗位信息 (分页,组合)") public ListPager querySysPosition(SysPosition position, Pager pager) { LOGGER.info("岗位信息 SysPosition find SysPosition page"); + return querySysPosition(position, null, pager); + } - if (position == null) { - //不传入实体对象,查询所有 - int count = positionRDao.listCount(); - pager = PagerHelper.getPager(pager, count); - return new ListPager(positionRDao.listPager(pager), pager); - } else { - //生成hql查询语句 - DdlPackBean ddlPackBean = CoreHqlPack.packHqlSysPosition(position); - pager = PagerHelper.getPager(pager, positionRDao.findByHqlWhereCount(ddlPackBean)); - return new ListPager(positionRDao.findByHqlWherePage(ddlPackBean, pager), pager); - } + @Override + public ListPager querySysPosition(SysPosition position, List idList, Pager pager) { + DdlPackBean ddlPackBean = CoreHqlPack.packHqlSysPosition(position,idList); + pager = PagerHelper.getPager(pager, positionRDao.findByHqlWhereCount(ddlPackBean)); + return new ListPager(positionRDao.findByHqlWherePage(ddlPackBean, pager), pager); } @Override diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysRoleService.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysRoleService.java index 4b1aad3..be301f1 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysRoleService.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/serviceimpl/busi/SysRoleService.java @@ -3,6 +3,7 @@ package cn.estsh.i3plus.core.apiservice.serviceimpl.busi; import cn.estsh.i3plus.core.api.iservice.busi.IPersonnelService; import cn.estsh.i3plus.core.api.iservice.busi.ISysRoleService; import cn.estsh.i3plus.core.apiservice.dao.IUserPermissionDao; +import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.bean.ListPager; import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.i3plus.pojo.base.common.PagerHelper; @@ -238,18 +239,14 @@ public class SysRoleService implements ISysRoleService { @ApiOperation(value = "查信角色信息",notes = "查询角色信息(分页/组合)") public ListPager querySysRole(SysRole role, Pager pager) { LOGGER.info("系统角色 SysRole find role :{} page :{}", role, pager); + return querySysRole(role, null, pager); + } - if (role == null) { - //不传入实体对象,查询所有 - int count = roleRDao.listCount(); - pager = PagerHelper.getPager(pager, count); - return new ListPager(roleRDao.listPager(pager), pager); - } else { - //生成hql查询语句 - String hqlPack = CoreHqlPack.packHqlSysRole(role); - pager = PagerHelper.getPager(pager, roleRDao.findByHqlWhereCount(hqlPack)); - return new ListPager(roleRDao.findByHqlWherePage(hqlPack + role.orderBy(), pager), pager); - } + @Override + public ListPager querySysRole(SysRole role, List idList, Pager pager) { + DdlPackBean packBean = CoreHqlPack.packDdlBeanSysRole(role,idList); + pager = PagerHelper.getPager(pager, roleRDao.findByHqlWhereCount(packBean)); + return new ListPager(roleRDao.findByHqlWherePage(packBean , pager), pager); } @Override From e741f81809098e49d85ceb4a084b79bc3d84fa34 Mon Sep 17 00:00:00 2001 From: "wei.peng" <123456> Date: Thu, 4 Jul 2019 20:52:13 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E7=94=A8=E6=88=B7=E6=9D=83=E9=99=90?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../estsh/i3plus/core/api/iservice/busi/ICoreMemTreeService.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ICoreMemTreeService.java b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ICoreMemTreeService.java index 02654cf..e7064f3 100644 --- a/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ICoreMemTreeService.java +++ b/modules/i3plus-core-api/src/main/java/cn/estsh/i3plus/core/api/iservice/busi/ICoreMemTreeService.java @@ -51,5 +51,13 @@ public interface ICoreMemTreeService { @ApiOperation(value = "分装岗位树",notes = "根据制定ID分装岗位树") SysPosition packTreeSysPositionById(List list, Long id); + /** + * 获取制定树的所有叶子节点ID + * @param position + * @return + */ + @ApiOperation(value = "查询岗位子节点",notes = "查询字节点岗位ID") + List findChildSysPosition(SysPosition position); + } From 6e21f73a86e9170881c51f425de2b0fe68ffe68a Mon Sep 17 00:00:00 2001 From: "wei.peng" <123456> Date: Fri, 5 Jul 2019 14:18:12 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E7=94=A8=E6=88=B7=E6=9D=83=E9=99=90?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/apiservice/controller/base/AuthController.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/AuthController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/AuthController.java index 6512304..ea1a95a 100644 --- a/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/AuthController.java +++ b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/base/AuthController.java @@ -77,6 +77,18 @@ public class AuthController extends CoreBaseController { } } + @GetMapping(value = "/get-user-type") + @ApiOperation(value = "获取登录用户信息", notes = "获取当前登录用户账号详细信息") + public ResultBean getUserType() { + LOGGER.info("获取用户信息...lang:{}", AuthUtil.getSessionAttribute("languageCode")); + try { + CommonEnumUtil.USER_TYPE type = AuthUtil.getUserType(); + return new ResultBean(true, "", type); + } catch (ImppBusiException e) { + return new ResultBean(false, e.getErrorDetail() + "-[解决]" + e.getErrorSolution()); + } + } + /** * 获取登录用户信息