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..4e642137 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 @@ -1,5 +1,6 @@ package com.xboe.school.study.service.impl; +import java.math.BigInteger; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.HashMap; @@ -183,8 +184,10 @@ public class StudyServiceImpl implements IStudyService{ if(status!=null) { if(status==3) { query.addFilter(FieldFilters.eq("status", 2)); + return scItemDao.findPage(query.builder()); }else if(status==2){ query.addFilter(FieldFilters.eq("status",9)); + return scItemDao.findPage(query.builder()); }else if (status == 1) { String sql = "select bsc.id,bsc.course_id,bsc.course_name,bsc.aname from boe_study_course bsc " + " where bsc.course_id = '"+courseId+"' and bsc.id != (" + @@ -209,8 +212,28 @@ public class StudyServiceImpl implements IStudyService{ return pageList; } } - - return scItemDao.findPage(query.builder()); + String sql2 = "select * from (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+"'" + + " )) a group by a.id"; + List list = scDao.sqlFindList(sql2); + List item = new ArrayList<>(); + for (Object[] objs : list) { + StudyCourseItem sc = new StudyCourseItem(); + sc.setProgress(Integer.valueOf(objs[4].toString())); + sc.setStatus(Integer.valueOf(objs[5].toString())); + sc.setAname(objs[3].toString()); + item.add(sc); + } + PageList pageList = new PageList<>(item); + return pageList; }