diff --git a/servers/boe-server-all/src/main/java/com/xboe/data/dto/UserOrgIds.java b/servers/boe-server-all/src/main/java/com/xboe/data/dto/UserOrgIds.java index 207084c2..78827b50 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/data/dto/UserOrgIds.java +++ b/servers/boe-server-all/src/main/java/com/xboe/data/dto/UserOrgIds.java @@ -17,5 +17,7 @@ public class UserOrgIds { private Map permissions=new HashMap(); private List ids; + //hrbp只读权限 + private List readIds; } diff --git a/servers/boe-server-all/src/main/java/com/xboe/data/outside/OutSideDataServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/data/outside/OutSideDataServiceImpl.java index cbafc01a..989e3442 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/data/outside/OutSideDataServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/data/outside/OutSideDataServiceImpl.java @@ -229,8 +229,10 @@ public class OutSideDataServiceImpl implements IOutSideDataService { public UserOrgIds getOrgIds() { UserOrgIds uids=new UserOrgIds(); List orgIds = new ArrayList<>(); - + List readIds = new ArrayList<>(); + uids.setIds(orgIds); + uids.setReadIds(readIds); String token = TokenProxy.getToken(request); String type="application/json"; String[] headers=new String[] {"token",token,"Content-Type",type}; @@ -282,6 +284,7 @@ public class OutSideDataServiceImpl implements IOutSideDataService { String oid=elements.next().asText(); if(!orgSetIds.contains(oid)) { orgIds.add(oid); + readIds.add(oid); } } } diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseManageApi.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseManageApi.java index f3aa6041..c3a31e73 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseManageApi.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/api/CourseManageApi.java @@ -144,6 +144,7 @@ public class CourseManageApi extends ApiBaseController{ } dto.setOrgAid(aid); dto.setOrgIds(ids); + dto.setReadIds(userOrgIds.getReadIds()); PageList coursePageList = courseService.findPage(pager.getPageIndex(), pager.getPageSize(),dto); return success(coursePageList); }catch(Exception e) { diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/dto/CourseQueryDto.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/dto/CourseQueryDto.java index 141d7ec6..54aa0d7e 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/dto/CourseQueryDto.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/dto/CourseQueryDto.java @@ -104,6 +104,9 @@ public class CourseQueryDto { * */ private String orgIds; + //hrpb只读 + private List readIds; + /**用户权限的查询*/ private String orgAid; diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/service/impl/CourseServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/service/impl/CourseServiceImpl.java index e5190670..c438a180 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/service/impl/CourseServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/service/impl/CourseServiceImpl.java @@ -414,16 +414,21 @@ public class CourseServiceImpl implements ICourseService { if (TempFilterConfig.Manager_CourseFile_ByOrgIds) { if (dto.getIsSystemAdmin() == null || !dto.getIsSystemAdmin()) { List finalStrings = strings; - //去掉未发布的课程 + listByFilters2.removeIf(e -> { + //去掉未发布的课程 if (!e.getPublished() && seache.contains(e.getId()) && !finalStrings.contains(e.getOrgId()) && !dto.getOrgAid().equals(e.getSysCreateAid())) { return true; } + //去掉所有条件都不符合的课程 + if(!seache.contains(e.getId())&&!dto.getReadIds().contains(e.getId())&& !finalStrings.contains(e.getOrgId()) && !dto.getOrgAid().equals(e.getSysCreateAid())){ + return true; + } return false; }); //将需要隐藏的做标记 listByFilters2.forEach(e -> { - if (seache.contains(e.getId()) && !finalStrings.contains(e.getOrgId()) && !dto.getOrgAid().equals(e.getSysCreateAid())) { + if ((seache.contains(e.getId())||dto.getReadIds().contains(e.getId())) && !finalStrings.contains(e.getOrgId()) && !dto.getOrgAid().equals(e.getSysCreateAid())) { e.setIsPermission(false); } else { e.setIsPermission(true); @@ -431,6 +436,7 @@ public class CourseServiceImpl implements ICourseService { }); } } + listByFilters2.sort(Comparator.comparing(Course::getIsPermission).reversed()); List paginate = paginate(listByFilters2, pageIndex, pageSize); PageList rs = new PageList<>(); rs.setCount(listByFilters2.size());