Browse Source

Merge remote-tracking branch 'origin/master'

Joburgess 5 years ago
parent
commit
b56729837f

+ 34 - 21
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -345,12 +345,20 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		// 查询班级学生信息
 		List<ClassGroupStudentMapper> classGroupStudentMapperList = classGroupStudentMapperDao.findByClassGroup(classGroupId);
 		String usernameList = classGroupStudentMapperList.stream().map(ClassGroupStudentMapper::getUserName).collect(Collectors.joining("、"));
-
-		Map<Integer, CourseTimeDto> dayOfWeekMap = teachingArrangementList.stream().collect(Collectors.toMap(CourseTimeDto::getDayOfWeek, ct -> ct));
+		
+		Map<Integer, List<CourseTimeDto>> dayOfWeekMap = new HashMap<Integer, List<CourseTimeDto>>();
+		for(CourseTimeDto dto : teachingArrangementList){
+			List<CourseTimeDto> list = dayOfWeekMap.get(dto.getDayOfWeek());
+			if(list == null){
+				list = new ArrayList<CourseTimeDto>();
+			}
+			list.add(dto);
+			dayOfWeekMap.put(dto.getDayOfWeek(), list);
+		}
 
 		Calendar calendar = Calendar.getInstance();
 		Date now = new Date();
-		CourseTimeDto courseTimeDto = null;
+		List<CourseTimeDto> courseTimeDtoList = null;
 		List<CourseSchedule> courseScheduleList = new ArrayList<CourseSchedule>();
 		List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries = new ArrayList<CourseScheduleTeacherSalary>();
 		List<CourseScheduleStudentPayment> courseScheduleStudentPayments = new ArrayList<CourseScheduleStudentPayment>();
@@ -367,21 +375,24 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			}
 		}
 		calendar.setTime(startDate);
-		for (int i = 0; i < coursesTimes; i++) {
-			while (true) {
-	            if (holidayDays.containsKey(DateUtil.format(calendar.getTime(), "MMdd"))) {
-	                calendar.add(Calendar.DATE, 1);
-	                continue;
-	            }
-				// 查询当前日期是周几
-				int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
-				if (dayOfWeek == 1) {
-					dayOfWeek = 7;
-				} else {
-					dayOfWeek = dayOfWeek - 1;
-				}
-				courseTimeDto = dayOfWeekMap.get(dayOfWeek);
-				if (courseTimeDto != null) {
+		
+		int currentCourseTimes = 0;
+		while (coursesTimes != currentCourseTimes) {
+            if (holidayDays.containsKey(DateUtil.format(calendar.getTime(), "MMdd"))) {
+                calendar.add(Calendar.DATE, 1);
+                continue;
+            }
+			// 查询当前日期是周几
+			int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);
+			if (dayOfWeek == 1) {
+				dayOfWeek = 7;
+			} else {
+				dayOfWeek = dayOfWeek - 1;
+			}
+			courseTimeDtoList = dayOfWeekMap.get(dayOfWeek);
+			if (courseTimeDtoList != null) {
+				for(CourseTimeDto courseTimeDto : courseTimeDtoList){
+
 					// 课表
 					CourseSchedule courseSchedule = new CourseSchedule();
 					courseSchedule.setMusicGroupId(classGroup.getMusicGroupId());
@@ -521,11 +532,13 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 						teacherAttendance.setCreateTime(now);
 						teacherAttendances.add(teacherAttendance);
 					}
-	                calendar.add(Calendar.DATE, 1);
-					break;
+	                ++currentCourseTimes;
+	                if(coursesTimes == currentCourseTimes){
+	                	break;
+	                }
 				}
-                calendar.add(Calendar.DATE, 1);
 			}
+            calendar.add(Calendar.DATE, 1);
 		}
 		
 		//检查冲突