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 bd1f216..7eaa0c8 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 @@ -52,10 +52,13 @@ public interface ISysPositionService { * @return */ @ApiOperation(value = "查询所有岗位信息") - List listSysPosition(); + List listSysPosition(); + + @ApiOperation(value = "查询岗位信息",notes = "根据岗位编码查询岗位信息") + List findSysPositionByOrganizeCode(String organizeCode); @ApiOperation(value = "根据组织代码获取岗位列表") - List findSysPositionList(SysPosition position); + List findSysPositionList(SysPosition position); /** * 复杂查询 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 ba92d3e..bd50fe1 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 @@ -73,22 +73,16 @@ public class SysMemTreeController extends CoreBaseController { @ApiOperation(value="查询岗位树",notes="通过部门主键获取岗位树,-1为根节点") public ResultBean listSysPositionParentId() { try { - List list = positionService.listSysPosition(); - List listTree = memTreeService.packTreeSysPosition(list, CommonEnumUtil.PARENT.DEFAULT.getValue()); - - if (AuthUtil.getUserType().getValue() == CommonEnumUtil.USER_TYPE.USER.getValue()) { + List result = null; - List refList = personnelService.findSysRefUserPositionById(getSessionUser().getUserInfo().getId()); - List userTreeList = memTreeService.packTreeSysPositionBySysRefUserPosition(listTree, refList); - - return ResultBean.success("查询部门树成功") - .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()) - .setResultList(userTreeList); - } else { - return ResultBean.success("查询部门树成功") - .setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()) - .setResultList(listTree); + if (AuthUtil.getUserType().equals(CommonEnumUtil.USER_TYPE.ADMIN.getValue())) { + result = positionService.listSysPosition(); + }else{ + result = positionService.findSysPositionByOrganizeCode(AuthUtil.getOrganize().getOrganizeCode()); } + + return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()) + .setResultList(memTreeService.packTreeSysPosition(result, CommonEnumUtil.PARENT.DEFAULT.getValue())); }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/SysPositionController.java b/modules/i3plus-core-apiservice/src/main/java/cn/estsh/i3plus/core/apiservice/controller/busi/SysPositionController.java index b7f6a91..4a9d06e 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 @@ -140,6 +140,28 @@ public class SysPositionController extends CoreBaseController { } /** + * 查询所有岗位 + * @return 处理结果 + */ + @GetMapping(value = "/list-user") + @ApiOperation(value = "查询所有岗位", notes = "查询所有岗位") + public ResultBean findSysPositionListUser(SysPosition position) { + try { + List result = null; + if(AuthUtil.getUserType().equals(CommonEnumUtil.USER_TYPE.USER)){ + position.setOrganizeCode(AuthUtil.getOrganize().getOrganizeCode()); + } + result = positionService.findSysPositionList(position); + + return ResultBean.success("操作成功").setResultList(result).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } catch (ImppBusiException busExcep) { + return ResultBean.fail(busExcep); + } catch (Exception e) { + return ResultBean.fail(e).setCode(ImppExceptionEnum.SYSTEM_EXCEPTION.getCode()); + } + } + + /** * 查询岗位 * @param position 查询条件 * @param pager 分页信息 @@ -149,23 +171,20 @@ public class SysPositionController extends CoreBaseController { @ApiOperation(value = "查询岗位", notes = "复杂查询岗位带分页") public ResultBean querySysPosition(SysPosition position, Pager pager) { try { - List refList = personnelService.findSysRefUserPositionById(getSessionUser().getUserInfo().getId()); - if(refList != null && refList.size() > 0){ - List idList = new ArrayList<>(); - - if(position.getParentId() != null){ - idList = memTreeService.findSysPositionChildIdList(position.getParentId()); - }else{ - for (SysRefUserPosition ref : refList) { - idList.add(ref.getPositionId()); - } - } - - ListPager listPager = positionService.querySysPosition(position,idList, pager); - return ResultBean.success("操作成功").setListPager(listPager).setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + ListPager listPager = null; + + List idList = new ArrayList<>(); + if(position.getParentId() != null){ + idList = memTreeService.findSysPositionChildIdList(position.getParentId()); } - return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + if(!AuthUtil.getUserType().equals(CommonEnumUtil.USER_TYPE.ADMIN)){ + position.setOrganizeCode(AuthUtil.getOrganize().getOrganizeCode()); + } + + listPager = positionService.querySysPosition(position,idList, pager); + + return ResultBean.success("操作成功").setListPager(listPager).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 08db85e..89dc392 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 @@ -99,7 +99,8 @@ public class CoreMemTreeService implements ICoreMemTreeService { if(position != null && position.getChildList() != null && position.getChildList().size() > 0){ for (SysPosition sp : position.getChildList()) { result.add(sp.getId()); - result.addAll(findChildSysPosition(sp)); + List list = findChildSysPosition(sp); + result.addAll(list); } } @@ -112,8 +113,7 @@ public class CoreMemTreeService implements ICoreMemTreeService { if(position != null){ List list = personnelService.findSysPositionList(); if(list != null && list.size() > 0){ - List treeList = packTreeSysPosition(list, CommonEnumUtil.PARENT.DEFAULT.getValue()); - SysPosition treeSPosition = packTreeSysPositionById(treeList, position.getId()); + SysPosition treeSPosition = packTreeSysPositionById(list, position.getId()); List idList = findChildSysPosition(treeSPosition); idList.add(position.getId()); return idList; 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 ae5f0af..1b3946e 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 @@ -146,6 +146,12 @@ public class SysPositionService implements ISysPositionService { } @Override + public List findSysPositionByOrganizeCode(String organizeCode) { + LOGGER.info("岗位信息 SysPosition list"); + return positionRDao.findByHqlWhere(DdlPackBean.getDdlPackBean(organizeCode)); + } + + @Override public List findSysPositionList(SysPosition position) { LOGGER.info("岗位信息 SysPosition By position:{}",position); return positionRDao.findByHqlWhere(CoreHqlPack.packHqlSysPositionList(position));