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