|
@@ -84,6 +84,9 @@ public class StudentExtracurricularExercisesSituationServiceImpl extends BaseSer
|
|
|
@Autowired
|
|
|
private StudentCourseHomeworkService studentCourseHomeworkService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private ExtracurricularExercisesDao extracurricularExercisesDao;
|
|
|
+
|
|
|
@Override
|
|
|
public BaseDAO<Long, StudentExtracurricularExercisesSituation> getDAO() {
|
|
|
return studentExtracurricularExercisesSituationDao;
|
|
@@ -664,23 +667,25 @@ public class StudentExtracurricularExercisesSituationServiceImpl extends BaseSer
|
|
|
public PageInfo<CourseHomeworkWrapper.CourseHomeworkList> queryTeacherServeHomeworkDetailV2(CourseHomeworkWrapper.CourseHomeworkQuery queryInfo) {
|
|
|
PageInfo<CourseHomeworkWrapper.CourseHomeworkList> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
|
|
|
//获取时间段内有服务指标的课程(课后作业)
|
|
|
- Date firstDayOfMonth;
|
|
|
- Date lastDayOfMonth;
|
|
|
- if(Objects.isNull(queryInfo.getStartTime())){
|
|
|
- firstDayOfMonth = DateUtil.getFirstDayOfMonth(queryInfo.getMonth());
|
|
|
- lastDayOfMonth = DateUtil.getLastDayOfMonth(queryInfo.getMonth());
|
|
|
- }else {
|
|
|
- firstDayOfMonth = queryInfo.getStartTime();
|
|
|
- lastDayOfMonth = queryInfo.getEndTime();
|
|
|
+
|
|
|
+ Date firstDayOfMonth = queryInfo.getStartTime();
|
|
|
+ Date lastDayOfMonth = queryInfo.getEndTime();
|
|
|
+ List<Long> courseIds = new ArrayList<>();
|
|
|
+ if (queryInfo.getCourseScheduleId() != null) {
|
|
|
+ courseIds.add(queryInfo.getCourseScheduleId().longValue());
|
|
|
+ } else {
|
|
|
+ courseIds = studentExtracurricularExercisesSituationDao.queryCourseIdByClassDate(firstDayOfMonth,
|
|
|
+ lastDayOfMonth, queryInfo.getTeacherId());
|
|
|
}
|
|
|
- List<Long> courseIds = studentExtracurricularExercisesSituationDao.queryCourseIdByClassDate(firstDayOfMonth,lastDayOfMonth,queryInfo.getTeacherId());
|
|
|
if(courseIds == null || courseIds.size() == 0){
|
|
|
return pageInfo;
|
|
|
}
|
|
|
+ Map<String, Object> params = new HashMap<>();
|
|
|
+ MapUtil.populateMap(params, queryInfo);
|
|
|
|
|
|
// 查出课程列表
|
|
|
List<CourseHomeworkWrapper.CourseHomeworkList> courseHomeworkLists = courseScheduleDao.queryTeacherServeHomeworkDetailV2(
|
|
|
- queryInfo, courseIds);
|
|
|
+ params, courseIds);
|
|
|
if (CollectionUtils.isEmpty(courseHomeworkLists)) {
|
|
|
return pageInfo;
|
|
|
}
|
|
@@ -699,17 +704,6 @@ public class StudentExtracurricularExercisesSituationServiceImpl extends BaseSer
|
|
|
List<ClassGroup> classGroups = classGroupService.queryByIds(classIds);
|
|
|
Map<Integer, ClassGroup> classGroupMap = classGroups.stream().collect(Collectors.toMap(ClassGroup::getId, Function.identity()));
|
|
|
|
|
|
- // 布置人员 和完成人员
|
|
|
-
|
|
|
- List<Integer> courseScheduleIds = courseHomeworkLists.stream().filter(e -> !e.getHomeWorkStatus().equals(
|
|
|
- EHomeWorkStatus.UNASSIGNED)).map(e -> e.getCourseScheduleId()).collect(Collectors.toList());
|
|
|
-
|
|
|
- List<StudentCourseHomework> studentCourseHomeworks = studentCourseHomeworkService.queryByCourseScheduleIds(
|
|
|
- courseScheduleIds);
|
|
|
-
|
|
|
- Map<Long, List<StudentCourseHomework>> studentCourseHomeworkMap = studentCourseHomeworks.stream().collect(Collectors.groupingBy(StudentCourseHomework::getCourseScheduleId));
|
|
|
-
|
|
|
-
|
|
|
for (CourseHomeworkWrapper.CourseHomeworkList courseHomeworkList : courseHomeworkLists) {
|
|
|
|
|
|
courseHomeworkList.setType(ELessonTrainingType.HOMEWORK);
|
|
@@ -725,18 +719,96 @@ public class StudentExtracurricularExercisesSituationServiceImpl extends BaseSer
|
|
|
if (Objects.nonNull(classGroup)) {
|
|
|
courseHomeworkList.setClassGroupName(classGroup.getName());
|
|
|
}
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ pageInfo.setRows(courseHomeworkLists);
|
|
|
+ return pageInfo;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 老师课外作业列表
|
|
|
+ *
|
|
|
+ * @param queryInfo
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public PageInfo<CourseHomeworkWrapper.CourseHomeworkList> queryTeacherExtraHomeworkDetailV2(CourseHomeworkWrapper.CourseHomeworkQuery queryInfo) {
|
|
|
+
|
|
|
+ // 获取时间段内有服务指标的乐团(课外作业)
|
|
|
+ List<String> subjectIds = new ArrayList<>();
|
|
|
+ if (queryInfo.getCourseScheduleId() == null) {
|
|
|
+ if (queryInfo.getType() == null || queryInfo.getType().equals(ELessonTrainingType.EXTRACURRICULAR)) {
|
|
|
+ if (queryInfo.getHomeWorkStatus() == null || queryInfo.getHomeWorkStatus().equals(EHomeWorkStatus.UNASSIGNED)) {
|
|
|
+ StudentExerciseMusicGroupQueryInfo query = new StudentExerciseMusicGroupQueryInfo();
|
|
|
+ query.setMondayDate(DateUtil.dateToString(queryInfo.getStartTime()));
|
|
|
+ query.setSundayDate(DateUtil.dateToString(queryInfo.getEndTime()));
|
|
|
+ query.setTeacherId(queryInfo.getTeacherId());
|
|
|
+ query.setPage(1);
|
|
|
+ query.setRows(10000);
|
|
|
+ PageInfo<MusicGroupExtracurricularSummaryDto> groupList = queryStudentExerciseMusicGroupList(query);
|
|
|
+
|
|
|
+ if (!CollectionUtils.isEmpty(groupList.getRows())) {
|
|
|
+ subjectIds = groupList.getRows().stream().map(o -> o.getMusicGroupId()).collect(Collectors.toList());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ PageInfo<CourseHomeworkWrapper.CourseHomeworkList> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
|
|
|
+
|
|
|
+ Map<String, Object> params = new HashMap<>();
|
|
|
+ MapUtil.populateMap(params, queryInfo);
|
|
|
+ params.put("subjectIds", subjectIds);
|
|
|
+
|
|
|
+ int count = extracurricularExercisesDao.countTeacherExtraHomeworkDetailV2(params);
|
|
|
+ if (count > 0) {
|
|
|
+ pageInfo.setTotal(count);
|
|
|
+ params.put("offset", pageInfo.getOffset());
|
|
|
+ List<CourseHomeworkWrapper.CourseHomeworkList> courseHomeworkLists = extracurricularExercisesDao.queryTeacherExtraHomeworkDetailV2(params);
|
|
|
+
|
|
|
|
|
|
- // 布置人员 和完成人员
|
|
|
- List<StudentCourseHomework> studentCourseHomeworkList = studentCourseHomeworkMap.get(courseHomeworkList.getCourseScheduleId());
|
|
|
- if (!CollectionUtils.isEmpty(studentCourseHomeworkList)) {
|
|
|
- courseHomeworkList.setStudentNum(studentCourseHomeworkList.size());
|
|
|
- courseHomeworkList.setFinishNum(studentCourseHomeworkList.stream().filter(e -> e.getStandardFlag().equals(StandardEnum.STANDARD) || e.getStandardFlag().equals(StandardEnum.EXCELLENT)).collect(
|
|
|
- Collectors.toList()).size());
|
|
|
+ // 乐团信息
|
|
|
+ List<String> musicGroupIds = courseHomeworkLists.stream().map(e -> e.getMusicGroupId())
|
|
|
+ .filter(Objects::nonNull)
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ Map<String, MusicGroup> musicGroupMap = new HashMap<>();
|
|
|
+ if (!CollectionUtils.isEmpty(musicGroupIds)) {
|
|
|
+ List<MusicGroup> musicGroups = musicGroupService.queryListByIds(new HashSet<>(musicGroupIds));
|
|
|
+ musicGroupMap = musicGroups.stream()
|
|
|
+ .collect(Collectors.toMap(MusicGroup::getId, Function.identity()));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ // 班级名称
|
|
|
+
|
|
|
+ List<Integer> classIds = courseHomeworkLists.stream().map(e -> e.getClassGroupId())
|
|
|
+ .filter(Objects::nonNull)
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ Map<Integer, ClassGroup> classGroupMap = new HashMap<>();
|
|
|
+ List<ClassGroup> classGroups = classGroupService.queryByIds(classIds);
|
|
|
+ if (!CollectionUtils.isEmpty(classGroups)) {
|
|
|
+ classGroupMap = classGroups.stream().collect(Collectors.toMap(ClassGroup::getId, Function.identity()));
|
|
|
+ }
|
|
|
+ for (CourseHomeworkWrapper.CourseHomeworkList courseHomeworkList : courseHomeworkLists) {
|
|
|
+
|
|
|
+ courseHomeworkList.setType(ELessonTrainingType.HOMEWORK);
|
|
|
+ // 乐团信息
|
|
|
+ MusicGroup musicGroup = musicGroupMap.get(courseHomeworkList.getMusicGroupId());
|
|
|
+ if (Objects.nonNull(musicGroup)) {
|
|
|
+ courseHomeworkList.setMusicGroupName(musicGroup.getName());
|
|
|
+ courseHomeworkList.setMusicGroupImg(musicGroup.getImg());
|
|
|
+ }
|
|
|
+
|
|
|
+ // 班级信息
|
|
|
+ ClassGroup classGroup = classGroupMap.get(courseHomeworkList.getClassGroupId());
|
|
|
+ if (Objects.nonNull(classGroup)) {
|
|
|
+ courseHomeworkList.setClassGroupName(classGroup.getName());
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
+ pageInfo.setRows(courseHomeworkLists);
|
|
|
}
|
|
|
|
|
|
|
|
|
- pageInfo.setRows(courseHomeworkLists);
|
|
|
return pageInfo;
|
|
|
}
|
|
|
|