|
@@ -61,6 +61,8 @@ public class StudentExtracurricularExercisesSituationServiceImpl extends BaseSer
|
|
|
private CourseHomeworkDao courseHomeworkDao;
|
|
|
@Autowired
|
|
|
private ClassGroupDao classGroupDao;
|
|
|
+ @Autowired
|
|
|
+ private CourseScheduleStudentPaymentDao courseScheduleStudentPaymentDao;
|
|
|
|
|
|
@Override
|
|
|
public BaseDAO<Long, StudentExtracurricularExercisesSituation> getDAO() {
|
|
@@ -346,9 +348,11 @@ public class StudentExtracurricularExercisesSituationServiceImpl extends BaseSer
|
|
|
MapUtil.populateMap(params, queryInfo);
|
|
|
params.put("courseIds", courseIds);
|
|
|
|
|
|
- Map<Long,Long> memberNumMap = MapUtil.convertIntegerMap(studentDao.countCourseStudentMemberNum(courseIds));
|
|
|
- Map<Long,String> studentSubjectMap = MapUtil.convertMybatisMap(studentDao.countCourseStudentSubjectName(courseIds));
|
|
|
-
|
|
|
+ List<CourseHomework> courseHomeworks = courseHomeworkDao.findByCourseSchedules(new ArrayList<>(courseIds));
|
|
|
+ Map<Long, Long> courseHomeworkMap = new HashMap<>();
|
|
|
+ if(!CollectionUtils.isEmpty(courseHomeworks)){
|
|
|
+ courseHomeworkMap = courseHomeworks.stream().collect(Collectors.groupingBy(CourseHomework::getCourseScheduleId, Collectors.counting()));
|
|
|
+ }
|
|
|
List<TeacherServeHomeworkDto> dataList = new ArrayList<>();
|
|
|
int count = courseScheduleDao.countByCourseScheduleIds(params);
|
|
|
if (count > 0) {
|
|
@@ -361,12 +365,6 @@ public class StudentExtracurricularExercisesSituationServiceImpl extends BaseSer
|
|
|
List<ClassGroup> classGroups = classGroupDao.findByClassGroupIds(classGroupIds, null);
|
|
|
idClassGroupMap = classGroups.stream().collect(Collectors.toMap(ClassGroup::getId, c -> c, (c1, c2) -> c1));
|
|
|
}
|
|
|
-
|
|
|
- List<CourseHomework> courseHomeworks = courseHomeworkDao.findByCourseSchedules(new ArrayList<>(courseIds));
|
|
|
- Map<Long, Long> courseHomeworkMap = new HashMap<>();
|
|
|
- if(!CollectionUtils.isEmpty(courseHomeworks)){
|
|
|
- courseHomeworkMap = courseHomeworks.stream().collect(Collectors.groupingBy(CourseHomework::getCourseScheduleId, Collectors.counting()));
|
|
|
- }
|
|
|
List<Integer> subjectIds = new ArrayList<>();
|
|
|
for (CourseSchedule courseSchedule : courseSchedules) {
|
|
|
if(idClassGroupMap.containsKey(courseSchedule.getClassGroupId())&&StringUtils.isNotBlank(idClassGroupMap.get(courseSchedule.getClassGroupId()).getSubjectIdList())){
|
|
@@ -386,9 +384,6 @@ public class StudentExtracurricularExercisesSituationServiceImpl extends BaseSer
|
|
|
subjects = subjectDao.findBySubjectIds(new ArrayList<>(subjectIds));
|
|
|
}
|
|
|
for (TeacherServeHomeworkDto teacherServeHomeworkDto : dataList) {
|
|
|
- Long aLong = memberNumMap.get(teacherServeHomeworkDto.getId());
|
|
|
- teacherServeHomeworkDto.setMemberNum(aLong==null?0:aLong.intValue());
|
|
|
- teacherServeHomeworkDto.setStudentSubjectName(studentSubjectMap.get(teacherServeHomeworkDto.getId()));
|
|
|
if(idClassGroupMap.containsKey(teacherServeHomeworkDto.getClassGroupId())){
|
|
|
ClassGroup classGroup = idClassGroupMap.get(teacherServeHomeworkDto.getClassGroupId());
|
|
|
if(StringUtils.isNotBlank(classGroup.getSubjectIdList())){
|
|
@@ -407,6 +402,53 @@ public class StudentExtracurricularExercisesSituationServiceImpl extends BaseSer
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ public PageInfo<TeacherServeHomeworkPojo> queryTeacherServeHomeworkDetail1(TeacherServeHomeworkQueryInfo queryInfo) {
|
|
|
+ if(Objects.isNull(queryInfo.getMonth())){
|
|
|
+ throw new BizException("请指定课程时间");
|
|
|
+ }
|
|
|
+ PageInfo<TeacherServeHomeworkPojo> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
|
|
|
+ //获取时间段内有服务指标的课程(课后作业)
|
|
|
+ Date firstDayOfMonth = DateUtil.getFirstDayOfMonth(queryInfo.getMonth());
|
|
|
+ Date lastDayOfMonth = DateUtil.getLastDayOfMonth(queryInfo.getMonth());
|
|
|
+ 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);
|
|
|
+ params.put("courseIds", courseIds);
|
|
|
+
|
|
|
+ Map<Long,Long> memberNumMap = MapUtil.convertIntegerMap(studentDao.countCourseStudentMemberNum(courseIds));
|
|
|
+ Map<Long,String> studentSubjectMap = MapUtil.convertMybatisMap(studentDao.countCourseStudentSubjectName(courseIds));
|
|
|
+ Map<Long, Long> studentNumMap = MapUtil.convertIntegerMap(courseScheduleStudentPaymentDao.countCourseStudentNum(courseIds));
|
|
|
+
|
|
|
+ List<CourseHomework> courseHomeworks = courseHomeworkDao.findByCourseSchedules(new ArrayList<>(courseIds));
|
|
|
+ if(!CollectionUtils.isEmpty(courseHomeworks)){
|
|
|
+ Set<Long> collect = courseHomeworks.stream().map(e -> e.getCourseScheduleId()).collect(Collectors.toSet());
|
|
|
+ courseIds.removeAll(collect);
|
|
|
+ }
|
|
|
+ if(courseIds.size() == 0){
|
|
|
+ return pageInfo;
|
|
|
+ }
|
|
|
+ List<TeacherServeHomeworkPojo> homeworkPojos;
|
|
|
+ int count = courseScheduleDao.countHomeworkPojoByCourseScheduleIds(params);
|
|
|
+ if (count > 0) {
|
|
|
+ pageInfo.setTotal(count);
|
|
|
+ params.put("offset", pageInfo.getOffset());
|
|
|
+ homeworkPojos = courseScheduleDao.queryHomeworkPojoByCourseScheduleIds(params);
|
|
|
+ pageInfo.setRows(homeworkPojos);
|
|
|
+ for (TeacherServeHomeworkPojo homeworkPojo : homeworkPojos) {
|
|
|
+ Long aLong = memberNumMap.get(homeworkPojo.getCourseScheduleId());
|
|
|
+ homeworkPojo.setMemberNum(aLong==null?0:aLong.intValue());
|
|
|
+ Long aLong1 = studentNumMap.get(homeworkPojo.getCourseScheduleId());
|
|
|
+ homeworkPojo.setStudentNum(aLong1==null?0:aLong1.intValue());
|
|
|
+ homeworkPojo.setSubjectName(studentSubjectMap.get(homeworkPojo.getCourseScheduleId()));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return pageInfo;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
public PageInfo<TeacherServeExtraDto> queryTeacherServeExtraDetail(TeacherServeHomeworkQueryInfo queryInfo) {
|
|
|
if(Objects.isNull(queryInfo.getMonday())||Objects.isNull(queryInfo.getSunday())||Objects.isNull(queryInfo.getTeacherId())){
|
|
|
throw new BizException("请指定教师");
|