|  | @@ -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("请指定教师");
 |