소스 검색

导出加入是否回复作业

周箭河 5 년 전
부모
커밋
0073d275cd
1개의 변경된 파일33개의 추가작업 그리고 31개의 파일을 삭제
  1. 33 31
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

+ 33 - 31
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -68,10 +68,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
     private StudentAttendanceDao studentAttendanceDao;
     @Autowired
     private ClassGroupStudentMapperDao classGroupStudentMapperDao;
-    
+
     @Autowired
     private TeacherDefaultPracticeGroupSalaryDao teacherDefaultPracticeGroupSalaryDao;
-    
+
     @Autowired
     private SysMessageService sysMessageService;
     @Autowired
@@ -116,10 +116,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
     private SchoolDao schoolDao;
     @Autowired
 	private ImFeignService imFeignService;
-    
+
     @Autowired
     private CourseHomeworkService courseHomeworkService;
-    
+
     @Autowired
     private GroupDao groupDao;
     @Autowired
@@ -296,7 +296,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			}
 			subSidy = school.getSubsidy();
 		}
-		
+
 		//查询声部
 		String subjectName = subjectDao.findNames(classGroup.getSubjectIdList());
 
@@ -361,7 +361,7 @@ 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, List<CourseTimeDto>> dayOfWeekMap = new HashMap<Integer, List<CourseTimeDto>>();
 		for(CourseTimeDto dto : teachingArrangementList){
 			//检查是否有开始时间
@@ -395,7 +395,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			}
 		}
 		calendar.setTime(startDate);
-		
+
 		int currentCourseTimes = 0;
 		while (coursesTimes != currentCourseTimes) {
             if (holidayDays.containsKey(DateUtil.format(calendar.getTime(), "MMdd"))) {
@@ -441,7 +441,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 							throw new BizException("必须设置上课结束时间");
 						}
 					}
-					
+
 					courseSchedule.setTeacherId(teacherId);
 					courseSchedule.setActualTeacherId(teacherId);
 					courseSchedule.setCreateTime(now);
@@ -457,7 +457,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 					} else {
 						courseSchedule.setName(type.getMsg());
 					}
-					
+
 					// 判断课程时间是否超过排课结束时间
 					if(groupStartDate != null){
 						if(groupStartDate.after(calendar.getTime())){
@@ -469,7 +469,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 							throw new BizException("排课时间超出排课截止日期({})", groupEndDate);
 						}
 					}
-					
+
 					courseScheduleDao.insert(courseSchedule);
 					courseScheduleList.add(courseSchedule);
 
@@ -573,7 +573,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			}
             calendar.add(Calendar.DATE, 1);
 		}
-		
+
 		//检查冲突
 		checkNewCourseSchedules(courseScheduleList, false);
 
@@ -2248,23 +2248,23 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         Date now = new Date();
 		// 课程信息处理
 		List<Long> courseScheduleIds = newCourseSchedules.stream().map(CourseSchedule::getId).distinct().collect(Collectors.toList());
-        
+
         //已结算的课不能调整
         /*List<Map<Long, Integer>> courseSettlementMaps = courseScheduleTeacherSalaryDao.checkCoursesIsSettlement(courseScheduleIds);
         if(courseSettlementMaps!=null && courseSettlementMaps.size()>0){
         	throw new BizException("调整的课程中存在已结算的课程");
         }*/
-		
+
         //查询数据库中的课程信息
         List<CourseSchedule> oldCourseScheduleList = courseScheduleDao.findByCourseScheduleIds(courseScheduleIds);
-        
+
 		Map<Long, CourseSchedule> oldCourseScheduleMap = oldCourseScheduleList.stream().collect(Collectors.toMap(CourseSchedule::getId, c -> c));
-		
+
         for(CourseSchedule newCourseSchedule : newCourseSchedules){
 
         	//获取数据库中的记录
             CourseSchedule oldCourseSchedule = oldCourseScheduleMap.get(newCourseSchedule.getId());
-            
+
             //课程是否已结算
             int settlementNum = courseScheduleTeacherSalaryDao.checkCourseIsSettlement(oldCourseSchedule.getId().intValue());
             if (settlementNum > 0) {
@@ -2278,7 +2278,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
             }
             //学生已点名不能调整(请假可以调整)
             List<StudentAttendance> studentAttendanceList = studentAttendanceDao.findByCourseId(oldCourseSchedule.getId());
-            
+
             for(StudentAttendance studentAttendance : studentAttendanceList){
             	if(studentAttendance.getStatus() != StudentAttendanceStatusEnum.LEAVE){
             		throw new BizException("{}[{}] {}-{}课程已点名",
@@ -2296,7 +2296,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
                     throw new BizException("主教和助教不可重复");
                 }
             }
-            
+
             if(newCourseSchedule.getStatus() == oldCourseSchedule.getStatus() && newCourseSchedule.getStatus() == CourseStatusEnum.OVER){
             	throw new BizException("已结束的课程需要调整课程状态");
             }
@@ -2321,7 +2321,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
             if (Objects.isNull(newCourseSchedule.getTeachMode())) {
                 newCourseSchedule.setTeachMode(oldCourseSchedule.getTeachMode());
             }
-            
+
 			if (newCourseSchedule.getGroupType() == GroupType.VIP) {
 				if (newCourseSchedule.getTeachMode() != oldCourseSchedule.getTeachMode() && newCourseSchedule.getTeachMode() == TeachModeEnum.OFFLINE) {
 					throw new BizException("不允许将线上课调整为线下课");
@@ -2334,7 +2334,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			if (newCourseSchedule.getTeachMode() != oldCourseSchedule.getTeachMode() && newCourseSchedule.getTeachMode() == TeachModeEnum.ONLINE) {
 				newCourseSchedule.setSchoolId(null);
 			}
-			
+
             if (Objects.isNull(newCourseSchedule.getActualTeacherId())) {
                 newCourseSchedule.setActualTeacherId(oldCourseSchedule.getActualTeacherId());
             }
@@ -2363,9 +2363,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
             if (newCourseSchedule.getEndClassTime().before(now)) {
                 newCourseSchedule.setStatus(CourseStatusEnum.OVER);
             }
-        
+
         }
-        
+
         //课程冲突检测
         checkNewCourseSchedules(newCourseSchedules, false);
 
@@ -2394,10 +2394,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		// 课程对应乐团结算方式集合
 		List<Map<String, String>> musicGroupSettlementTypeByCourse = courseScheduleTeacherSalaryDao.findMusicGroupSettlementTypeByCourse(courseScheduleIds);
 		Map<String, String> musicGroupSettlementsMap = MapUtil.convertMybatisMap(musicGroupSettlementTypeByCourse);
-		
+
 		Map<Long,Map<Integer,CourseScheduleTeacherSalary>> courseScheduleTeacherSalaryMap = new HashMap<Long, Map<Integer,CourseScheduleTeacherSalary>>();
 		List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaryList = courseScheduleTeacherSalaryDao.findByCourseSchedules(courseScheduleIds);
-		
+
 		for (CourseScheduleTeacherSalary ts : courseScheduleTeacherSalaryList) {
 			Map<Integer, CourseScheduleTeacherSalary> map = courseScheduleTeacherSalaryMap.get(ts.getCourseScheduleId());
 			if (map == null) {
@@ -2410,7 +2410,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		Date entryDate = DateUtil.stringToDate(sysConfigDao.findByParamName(SysConfigService.TEACHER_ENTRY_DATE).getParanValue(), "yyyy-MM-dd");
 
 		List<CourseScheduleModifyLog> insertCourseScheduleModifyLogList = new ArrayList<CourseScheduleModifyLog>();
-		
+
 		List<CourseScheduleStudentPayment> insertCourseScheduleStudentPaymentList = new ArrayList<CourseScheduleStudentPayment>();
 
 		for (CourseSchedule newCourseSchedule : newCourseSchedules) {
@@ -2442,7 +2442,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 					insertTeacherAttendanceList.add(ta);
 				}
 			}
-			
+
 			if(newCourseSchedule.getStatus() == CourseStatusEnum.NOT_START && newCourseSchedule.getGroupType() == GroupType.MUSIC){
 				//查询新生(之前排课没有这个人,后来新进来的学生)
 				List<ClassGroupStudentMapper> newStudentList = classGroupStudentMapperDao.queryNewStudentListByCourseScheduleId(courseScheduleId);
@@ -2458,7 +2458,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 						sp.setMusicGroupId(newCourseSchedule.getMusicGroupId());
 						sp.setUpdateTime(date);
 						sp.setUserId(cgsm.getUserId());
-						
+
 						insertCourseScheduleStudentPaymentList.add(sp);
 					}
 				}
@@ -2470,7 +2470,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
             }
 
             if ((newCourseSchedule.getStatus() != oldCourseSchedule.getStatus() && newCourseSchedule.getStatus() == CourseStatusEnum.NOT_START)) {
-				
+
 				if(newCourseSchedule.getGroupType() == GroupType.MUSIC){
 					//清理课程作业
 					courseHomeworkService.delHomwworkByCourseScheduleId(courseScheduleId);
@@ -2591,7 +2591,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 								ts.setExpectSalary(new BigDecimal(tdms.getAssistantTeacher90MinSalary().doubleValue() * newMinutes / unitMinutes));
 							}
 						}
-					
+
 					} else if (newCourseSchedule.getGroupType() == GroupType.VIP) {
 						/*Map<Integer, TeacherDefaultVipGroupSalary> map = vipGroupSalaryMap.get(teacherId);
 						if (map == null) {
@@ -2659,7 +2659,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		if (insertCourseScheduleModifyLogList.size() > 0) {
 			courseScheduleModifyLogDao.batchInsert(insertCourseScheduleModifyLogList);
 		}
-		
+
 		if(newCourseSchedules.size() > 0){
 			courseScheduleDao.batchUpdate(newCourseSchedules);
             List<Integer> classGroupIds = newCourseSchedules.stream().filter(courseSchedule -> Objects.nonNull(courseSchedule.getClassGroupId())).map(CourseSchedule::getClassGroupId).collect(Collectors.toList());
@@ -2667,7 +2667,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
                 classGroupService.updateClassGroupsCourseInfo(classGroupIds);
             }
         }
-		
+
 		if(insertCourseScheduleStudentPaymentList.size() > 0){
 			courseScheduleStudentPaymentDao.batchInsert(insertCourseScheduleStudentPaymentList);
 		}
@@ -4138,6 +4138,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 					List<CourseScheduleReview> review = reviews.get(e.getCourseScheduleId().intValue());
 					e.setTeachingContent(review.get(0).getTeachingMaterial());
 				}
+			}
+			for (CourseScheduleRateDto e:courseScheduleRateDtos) {
 				if(e.getCourseScheduleId().equals(courseSchedule.getId())){
 					e.setIsDefault(true);
 					break;