Просмотр исходного кода

Merge branch 'master' of http://git.dayaedu.com/yonge/mec

zouxuan 5 лет назад
Родитель
Сommit
2bc58c3465

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

@@ -1833,43 +1833,51 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 					// 重新生成课酬
 					if (newCourseSchedule.getGroupType() == GroupType.MUSIC) {
 						Map<CourseScheduleType, TeacherDefaultMusicGroupSalary> map = musicGroupSalaryMap.get(teacherId);
-						TeacherDefaultMusicGroupSalary tdms = map.get(newCourseSchedule.getType());
-						if (tdms != null) {
-							// 乐团结算方式
-							String settlementType = musicGroupSettlementsMap.get(courseScheduleId);
-							int unitMinutes = 30;
-
-							// 如果当前教师是在指定日期之后入职的,则按照3.0的方式结算
-							Teacher teacher = teacherMap.get(teacherId);
-							if (Objects.nonNull(teacher.getEntryDate())
-									&& (teacher.getEntryDate().after(entryDate) || teacher.getEntryDate().getTime() == entryDate.getTime())) {
-								settlementType = SalarySettlementTypeEnum.GRADIENT_SALARY.getCode();
-							}
-							if (StringUtils.equals(settlementType, "TEACHER_DEFAULT")) {
-								if (newCourseSchedule.getType() == CourseScheduleType.CLASSROOM) {
-									unitMinutes = 40;
-								} else if (newCourseSchedule.getType() == CourseScheduleType.HIGH) {
-									unitMinutes = 45;
-								}
-								if (ts.getTeacherRole() == TeachTypeEnum.BISHOP) {
-									ts.setExpectSalary(new BigDecimal(tdms.getMainTeacher30MinSalary().doubleValue() * newMinutes / unitMinutes));
-								} else {
-									ts.setExpectSalary(new BigDecimal(tdms.getAssistantTeacher30MinSalary().doubleValue() * newMinutes / unitMinutes));
-								}
-							} else if (StringUtils.equals(settlementType, "GRADIENT_SALARY")) {
-								unitMinutes = 90;
-								if (newCourseSchedule.getType() == CourseScheduleType.CLASSROOM) {
-									unitMinutes = 40;
-								} else if (newCourseSchedule.getType() == CourseScheduleType.HIGH) {
-									unitMinutes = 45;
+
+						if (map != null) {
+							TeacherDefaultMusicGroupSalary tdms = map.get(newCourseSchedule.getType());
+							if (tdms != null) {
+								// 乐团结算方式
+								String settlementType = musicGroupSettlementsMap.get(courseScheduleId);
+								int unitMinutes = 30;
+
+								// 如果当前教师是在指定日期之后入职的,则按照3.0的方式结算
+								Teacher teacher = teacherMap.get(teacherId);
+								if (Objects.nonNull(teacher.getEntryDate())
+										&& (teacher.getEntryDate().after(entryDate) || teacher.getEntryDate().getTime() == entryDate.getTime())) {
+									settlementType = SalarySettlementTypeEnum.GRADIENT_SALARY.getCode();
 								}
-								if (ts.getTeacherRole() == TeachTypeEnum.BISHOP) {
-									ts.setExpectSalary(new BigDecimal(tdms.getMainTeacher90MinSalary().doubleValue() * newMinutes / unitMinutes));
-								} else {
-									ts.setExpectSalary(new BigDecimal(tdms.getAssistantTeacher90MinSalary().doubleValue() * newMinutes / unitMinutes));
+								if (StringUtils.equals(settlementType, "TEACHER_DEFAULT")) {
+									if (newCourseSchedule.getType() == CourseScheduleType.CLASSROOM) {
+										unitMinutes = 40;
+									} else if (newCourseSchedule.getType() == CourseScheduleType.HIGH) {
+										unitMinutes = 45;
+									}
+									if (ts.getTeacherRole() == TeachTypeEnum.BISHOP) {
+										ts.setExpectSalary(new BigDecimal(tdms.getMainTeacher30MinSalary().doubleValue() * newMinutes / unitMinutes));
+									} else {
+										ts.setExpectSalary(new BigDecimal(tdms.getAssistantTeacher30MinSalary().doubleValue() * newMinutes / unitMinutes));
+									}
+								} else if (StringUtils.equals(settlementType, "GRADIENT_SALARY")) {
+									unitMinutes = 90;
+									if (newCourseSchedule.getType() == CourseScheduleType.CLASSROOM) {
+										unitMinutes = 40;
+									} else if (newCourseSchedule.getType() == CourseScheduleType.HIGH) {
+										unitMinutes = 45;
+									}
+									if (ts.getTeacherRole() == TeachTypeEnum.BISHOP) {
+										ts.setExpectSalary(new BigDecimal(tdms.getMainTeacher90MinSalary().doubleValue() * newMinutes / unitMinutes));
+									} else {
+										ts.setExpectSalary(new BigDecimal(tdms.getAssistantTeacher90MinSalary().doubleValue() * newMinutes / unitMinutes));
+									}
 								}
+							} else {
+								ts.setExpectSalary(new BigDecimal(0));
 							}
+						} else {
+							ts.setExpectSalary(new BigDecimal(0));
 						}
+						
 					} else if (newCourseSchedule.getGroupType() == GroupType.VIP) {
 						Map<Integer, TeacherDefaultVipGroupSalary> map = vipGroupSalaryMap.get(teacherId);
 						if (vipGroup == null) {
@@ -1884,7 +1892,8 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 							}
 						}
 					} else if (newCourseSchedule.getGroupType() == GroupType.PRACTICE) {
-						List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaryList = teacherDefaultPracticeGroupSalaryDao.queryByUserId(teacherId);
+						List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaryList = teacherDefaultPracticeGroupSalaryDao
+								.queryByUserId(teacherId);
 						if (teacherDefaultPracticeGroupSalaryList != null && teacherDefaultPracticeGroupSalaryList.size() > 0) {
 							ts.setExpectSalary(teacherDefaultPracticeGroupSalaryList.get(0).getMainTeacherSalary());
 						} else {

+ 1 - 1
mec-biz/src/main/resources/config/mybatis/ClassGroupStudentMapperMapper.xml

@@ -388,6 +388,6 @@
     <select id="queryNewStudentListByCourseScheduleId" resultMap="ClassGroupStudentMapper">
       	SELECT cgsm.* FROM class_group_student_mapper cgsm LEFT JOIN course_schedule cs ON cgsm.class_group_id_= cs.class_group_id_
 		LEFT JOIN course_schedule_student_payment cssp on cssp.course_schedule_id_ = cs.id_ and cssp.user_id_ = cgsm.user_id_
-		WHERE cssp.id_ IS NULL AND cgsm.status_ != 'QUIT' and cssp.course_schedule_id_ = #{courseScheduleId}
+		WHERE cssp.id_ IS NULL AND cgsm.status_ != 'QUIT' and cs.id_ = #{courseScheduleId}
     </select>
 </mapper>