From f950788e0891195e437033f80f5e883b80dea702 Mon Sep 17 00:00:00 2001 From: xiaozhequ <792962424@qq.com> Date: Mon, 24 Jun 2024 14:58:13 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E6=9D=83=E9=99=90=E5=AD=A6?= =?UTF-8?q?=E4=B9=A0=E8=B7=AF=E5=BE=84=E5=9B=BE=E4=BF=9D=E6=8C=81=E4=B8=80?= =?UTF-8?q?=E8=87=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/CourseServiceImpl.java | 84 +++++++++++++++++-- 1 file changed, 77 insertions(+), 7 deletions(-) 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 4188a942..8b0778e2 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 @@ -262,7 +262,10 @@ public class CourseServiceImpl implements ICourseService { public PageList findPage(int pageIndex, int pageSize, CourseQueryDto dto) { List filters = createFilters(dto); List filters2 = createFilters(dto); - List list = getStrings(dto); + List list1 = getProject(dto); + List list2 = getRouter(dto); + Set list = new HashSet<>(list1); + list.addAll(list2); //有权限的查询,也同时查询出创建人的数据,在权限上 if(TempFilterConfig.Manager_CourseFile_ByOrgIds) { if(dto.getIsSystemAdmin()==null || !dto.getIsSystemAdmin()) { @@ -347,7 +350,72 @@ public class CourseServiceImpl implements ICourseService { return rs; } - private List getStrings(CourseQueryDto dto) { + private List getRouter(CourseQueryDto dto) { + List list=new ArrayList<>(); + if(StringUtil.isNotBlank(dto.getOrgIds())){ + if(dto.getOrgIds().contains(",")){ + String[] split = dto.getOrgIds().split(","); + List strings = Arrays.asList(split); + String sql = "SELECT DISTINCT\n" + + "rt.course_id\n" + + "FROM\n" + + "boe.student s INNER JOIN boe.router_task rt on s.pid=rt.router_id inner join boe_base.boe_course c on c.id=rt.course_id\n" + + "\n" + + "WHERE\n" + + "\n" + + "s.deleted = 0 \n" + + "and rt.deleted=0\n" + + "and rt.type=1\n" + + "and c.deleted=0\n" + + "AND s.type =2 \n" + + "AND s.student_id = ?1\n" + + "and c.org_id not in(?2)\n" + + "and c.sys_create_aid !=?3"; + list = courseTeacherDao.sqlFindList(sql, dto.getOrgAid(),strings,dto.getOrgAid()); + } + else { + String sql = "SELECT DISTINCT\n" + + "rt.course_id\n" + + "FROM\n" + + "boe.student s INNER JOIN boe.router_task rt on s.pid=rt.router_id inner join boe_base.boe_course c on c.id=rt.course_id\n" + + "\n" + + "WHERE\n" + + "\n" + + "s.deleted = 0 \n" + + "and rt.deleted=0\n" + + "and rt.type=1\n" + + "and c.deleted=0\n" + + "AND s.type =2 \n" + + "AND s.student_id = ?1\n" + + "and c.org_id !=?2\n" + + "and c.sys_create_aid !=?3"; + list = courseTeacherDao.sqlFindList(sql, dto.getOrgAid(), dto.getOrgIds(),dto.getOrgAid()); + } + }else { + String sql = "SELECT DISTINCT\n" + + "rt.course_id\n" + + "FROM\n" + + "boe.student s INNER JOIN boe.router_task rt on s.pid=rt.router_id inner join boe_base.boe_course c on c.id=rt.course_id\n" + + "\n" + + "WHERE\n" + + "\n" + + "s.deleted = 0 \n" + + "and rt.deleted=0\n" + + "and rt.type=1\n" + + "and c.deleted=0\n" + + "AND s.type =2 \n" + + "AND s.student_id = ?1\n" + + "and c.sys_create_aid !=?2"; + list = courseTeacherDao.sqlFindList(sql, dto.getOrgAid(),dto.getOrgAid()); + } + Listlist1=new ArrayList<>(); + for (Object obj : list) { + list1.add(obj.toString()); + } + + return list1; + } + private List getProject(CourseQueryDto dto) { List list=new ArrayList<>(); if(StringUtil.isNotBlank(dto.getOrgIds())){ if(dto.getOrgIds().contains(",")){ @@ -362,8 +430,9 @@ public class CourseServiceImpl implements ICourseService { "\n" + "s.deleted = 0 \n" + "and pt.deleted=0\n" + + "and pt.type=1\n" + "and c.deleted=0\n" + - "AND s.type in (1,2) \n" + + "AND s.type =1 \n" + "AND s.student_id = ?1\n" + "and c.org_id not in(?2)\n" + "and c.sys_create_aid !=?3"; @@ -379,8 +448,9 @@ public class CourseServiceImpl implements ICourseService { "\n" + "s.deleted = 0 \n" + "and pt.deleted=0\n" + + "and pt.type=1\n" + "and c.deleted=0\n" + - "AND s.type in (1,2) \n" + + "AND s.type =1 \n" + "AND s.student_id = ?1\n" + "and c.org_id !=?2\n" + "and c.sys_create_aid !=?3"; @@ -396,20 +466,20 @@ public class CourseServiceImpl implements ICourseService { "\n" + "s.deleted = 0 \n" + "and pt.deleted=0\n" + + "and pt.type=1\n" + "and c.deleted=0\n" + - "AND s.type in (1,2) \n" + + "AND s.type =1 \n" + "AND s.student_id = ?1\n" + "and c.sys_create_aid !=?2"; list = courseTeacherDao.sqlFindList(sql, dto.getOrgAid(),dto.getOrgAid()); } - Listlist1=new ArrayList<>(); + Listlist1=new ArrayList<>(); for (Object obj : list) { list1.add(obj.toString()); } return list1; } - public static List paginate(List list, int pageNumber, int pageSize) { if (list == null || list.isEmpty() || pageNumber <= 0 || pageSize <= 0) { return null;