diff --git a/servers/boe-server-all/src/main/java/com/xboe/school/study/service/impl/StudyServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/school/study/service/impl/StudyServiceImpl.java index bf521d31..dd133c43 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/school/study/service/impl/StudyServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/school/study/service/impl/StudyServiceImpl.java @@ -209,8 +209,30 @@ public class StudyServiceImpl implements IStudyService{ return pageList; } } - - return scItemDao.findPage(query.builder()); + String sql2 = "select bsc.id,bsc.course_id,bsc.course_name,bsc.aname,item.progress,item.status from boe_study_course bsc left join " + + "boe_study_course_item item on item.course_id = bsc.course_id and item.study_id = bsc.id " + + "where bsc.`status` in (2,9) and bsc.course_id = '"+ courseId+"' " + + "UNION ALL " + + " select bsc.id,bsc.course_id,bsc.course_name,bsc.aname,0 as progress,1 as status from boe_study_course bsc " + + " LEFT JOIN boe_study_course_item item on item.course_id = bsc.course_id " + + " where bsc.course_id = '"+courseId+"' and bsc.id != (" + + " select bsc.id from boe_study_course bsc " + + " left join boe_study_course_item item on item.course_id = bsc.course_id and item.study_id = bsc.id " + + " where bsc.course_id = '" + courseId + "' and item.content_id = '"+ contentId+"'" + + " )"; + List list = scDao.sqlFindList(sql2); + List item = new ArrayList<>(); + for (Object[] objs : list) { + StudyCourseItem sc = new StudyCourseItem(); + sc.setCourseId(objs[1].toString()); + sc.setContentId(objs[4].toString()); + sc.setProgress((Integer) objs[5]); + sc.setStatus((Integer) objs[6]); + sc.setAname(objs[3].toString()); + item.add(sc); + } + PageList pageList = new PageList<>(item); + return pageList; }