|  | @@ -6,32 +6,38 @@ import static com.ym.mec.biz.dal.enums.GroupType.VIP;
 | 
	
		
			
				|  |  |  import static com.ym.mec.biz.dal.enums.PracticeGroupType.CHARGE;
 | 
	
		
			
				|  |  |  import static com.ym.mec.biz.dal.enums.PracticeGroupType.FREE;
 | 
	
		
			
				|  |  |  import static com.ym.mec.biz.dal.enums.PracticeGroupType.TRIAL;
 | 
	
		
			
				|  |  | -import static java.math.BigDecimal.ONE;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  import java.lang.reflect.InvocationTargetException;
 | 
	
		
			
				|  |  |  import java.math.BigDecimal;
 | 
	
		
			
				|  |  | -import java.math.BigInteger;
 | 
	
		
			
				|  |  |  import java.text.SimpleDateFormat;
 | 
	
		
			
				|  |  |  import java.time.LocalDate;
 | 
	
		
			
				|  |  |  import java.time.LocalDateTime;
 | 
	
		
			
				|  |  | -import java.util.*;
 | 
	
		
			
				|  |  | +import java.util.ArrayList;
 | 
	
		
			
				|  |  | +import java.util.Arrays;
 | 
	
		
			
				|  |  | +import java.util.Calendar;
 | 
	
		
			
				|  |  | +import java.util.Collection;
 | 
	
		
			
				|  |  | +import java.util.Collections;
 | 
	
		
			
				|  |  | +import java.util.Comparator;
 | 
	
		
			
				|  |  | +import java.util.Date;
 | 
	
		
			
				|  |  | +import java.util.HashMap;
 | 
	
		
			
				|  |  | +import java.util.HashSet;
 | 
	
		
			
				|  |  | +import java.util.Iterator;
 | 
	
		
			
				|  |  | +import java.util.List;
 | 
	
		
			
				|  |  | +import java.util.Map;
 | 
	
		
			
				|  |  | +import java.util.Objects;
 | 
	
		
			
				|  |  | +import java.util.Set;
 | 
	
		
			
				|  |  | +import java.util.TreeSet;
 | 
	
		
			
				|  |  |  import java.util.stream.Collectors;
 | 
	
		
			
				|  |  |  import java.util.stream.Stream;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -import com.ym.mec.biz.dal.entity.*;
 | 
	
		
			
				|  |  | -import com.ym.mec.biz.dal.dto.*;
 | 
	
		
			
				|  |  | -import com.ym.mec.biz.dal.enums.*;
 | 
	
		
			
				|  |  | -import com.ym.mec.biz.event.source.CourseEventSource;
 | 
	
		
			
				|  |  |  import org.apache.commons.collections.ListUtils;
 | 
	
		
			
				|  |  |  import org.apache.commons.lang3.StringUtils;
 | 
	
		
			
				|  |  | -import org.apache.tomcat.jni.Local;
 | 
	
		
			
				|  |  |  import org.slf4j.Logger;
 | 
	
		
			
				|  |  |  import org.slf4j.LoggerFactory;
 | 
	
		
			
				|  |  |  import org.springframework.beans.BeanUtils;
 | 
	
		
			
				|  |  |  import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  |  import org.springframework.context.annotation.Lazy;
 | 
	
		
			
				|  |  |  import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  | -import org.springframework.transaction.annotation.Isolation;
 | 
	
		
			
				|  |  |  import org.springframework.transaction.annotation.Propagation;
 | 
	
		
			
				|  |  |  import org.springframework.transaction.annotation.Transactional;
 | 
	
		
			
				|  |  |  import org.springframework.util.CollectionUtils;
 | 
	
	
		
			
				|  | @@ -70,7 +76,9 @@ import com.ym.mec.biz.dal.dao.VipGroupDao;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.dto.BatchInsertCoursesDto;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.dto.ClassDateAdjustDto;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.dto.CourseAttendanceDetailHeadInfoDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.CourseMergeDto;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.dto.CoursePostponeDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.dto.CourseRepeatCheckDto;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.dto.CourseScheduleDto;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.dto.CourseScheduleEndDto;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.dto.CourseScheduleRateDto;
 | 
	
	
		
			
				|  | @@ -93,10 +101,49 @@ import com.ym.mec.biz.dal.entity.ClassGroupTeacherSalary;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.CourseGenerateDto;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.CourseSchedule;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.CourseScheduleAuditDetailDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.CourseScheduleComplaints;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.CourseScheduleEvaluate;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.CourseScheduleModifyLog;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.CourseScheduleReview;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.CourseScheduleStudentPayment;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.CourseScheduleTeacherSalary;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.CoursesGroup;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.CoursesGroupModifyLog;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.Group;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.MusicGroup;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.PracticeGroup;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.School;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.StudentAttendance;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.StudentCourseScheduleRecordDto;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.Subject;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.SysConfig;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.Teacher;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.TeacherAttendance;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.TeacherDefaultMusicGroupSalary;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.TeacherDefaultPracticeGroupSalary;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.TeacherDefaultVipGroupSalary;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.VipGroup;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.enums.AuditStatusEnum;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.enums.ClassGroupStudentStatusEnum;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.enums.ClassGroupTypeEnum;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.enums.CourseStatusEnum;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.enums.GroupStatusEnum;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.enums.GroupType;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.enums.MessageTypeEnum;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.enums.MusicGroupStatusEnum;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.enums.ParamEnum;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.enums.SalarySettlementTypeEnum;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.enums.StudentAttendanceStatusEnum;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.enums.TeachModeEnum;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.enums.TeachTypeEnum;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.enums.VipGroupStatusEnum;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.enums.YesOrNoEnum;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.page.CourseScheduleQueryInfo;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.page.EndCourseScheduleQueryInfo;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.page.StudentCourseScheduleRecordQueryInfo;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.page.VipGroupQueryInfo;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.event.source.CourseEventSource;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.service.ClassGroupService;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.service.ClassGroupTeacherMapperService;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.service.CourseHomeworkService;
 | 
	
	
		
			
				|  | @@ -4338,10 +4385,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 | 
	
		
			
				|  |  |              results = courseScheduleDao.endFindCourseSchedules(params);
 | 
	
		
			
				|  |  |              List<Long> courseScheduleIds = results.stream().map(CourseScheduleEndDto::getId).collect(Collectors.toList());
 | 
	
		
			
				|  |  |              //Map<Long, String> studentIdMap = MapUtil.convertIntegerMap(courseScheduleStudentPaymentDao.getStudentIdMap(courseScheduleIds));
 | 
	
		
			
				|  |  | -            //List<Integer> teacherIds=results.stream().filter(t->Objects.nonNull(t.getActualTeacherId())).map(CourseSchedule::getActualTeacherId).collect(Collectors.toList());
 | 
	
		
			
				|  |  | +            List<Integer> teacherIds=results.stream().filter(t->Objects.nonNull(t.getActualTeacherId())).map(CourseSchedule::getActualTeacherId).collect(Collectors.toList());
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            //List<Map<Integer, String>> nameIdMaps = teacherDao.queryNameByIdList(teacherIds);
 | 
	
		
			
				|  |  | -            //Map<Integer, String> nameIdMap=MapUtil.convertIntegerMap(nameIdMaps);
 | 
	
		
			
				|  |  | +            List<Map<Integer, String>> nameIdMaps = teacherDao.queryNameByIdList(teacherIds);
 | 
	
		
			
				|  |  | +            Map<Integer, String> nameIdMap=MapUtil.convertIntegerMap(nameIdMaps);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			//List<Map<Long, String>> coursesSettlementTimeMaps = courseScheduleTeacherSalaryDao.getCoursesSettlementTime(courseScheduleIds);
 | 
	
		
			
				|  |  |  			//Map<Long, String> coursesSettlementTimeMap = MapUtil.convertIntegerMap(coursesSettlementTimeMaps);
 | 
	
	
		
			
				|  | @@ -4365,7 +4412,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 | 
	
		
			
				|  |  |              Map<Integer, String> classGroupSubjectNameMap = MapUtil.convertIntegerMap(classGroupSubjectNameMaps);
 | 
	
		
			
				|  |  |  			for (CourseScheduleEndDto result : results) {
 | 
	
		
			
				|  |  |  				result.setTeacher(null);
 | 
	
		
			
				|  |  | -				//result.setTeacherName(nameIdMap.get(result.getActualTeacherId()));
 | 
	
		
			
				|  |  | +				result.setTeacherName(nameIdMap.get(result.getActualTeacherId()));
 | 
	
		
			
				|  |  |  				result.setSubjectName(classGroupSubjectNameMap.get(result.getId()));
 | 
	
		
			
				|  |  |  				//result.setStudentId(studentIdMap.get(result.getId()));
 | 
	
		
			
				|  |  |  				//result.setPracticeGroup(idPracticeMap.get(Long.valueOf(result.getMusicGroupId())));
 |