Browse Source

feat:课表列表新增调整

Joburgess 4 years ago
parent
commit
94e9abbdbb

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

@@ -7,6 +7,7 @@ import static com.ym.mec.biz.dal.enums.PracticeGroupType.*;
 
 import java.lang.reflect.InvocationTargetException;
 import java.math.BigDecimal;
+import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
@@ -2836,6 +2837,12 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			courseScheduleTeacherSalaryDao.deleteWithCourseAndTeachRole(courseAdjustInfo.getCourseScheduleIds(), TeachTypeEnum.TEACHING);
 		}
 
+		List<CourseScheduleTeacherSalary> oldCourseScheduleTeacherSalaryList = courseScheduleTeacherSalaryDao.findByCourseSchedules(courseAdjustInfo.getCourseScheduleIds());
+		Map<Long, List<CourseScheduleTeacherSalary>> courseSalaryListMap = new HashMap<>();
+		if(!CollectionUtils.isEmpty(oldCourseScheduleTeacherSalaryList)){
+			courseSalaryListMap = oldCourseScheduleTeacherSalaryList.stream().collect(Collectors.groupingBy(CourseScheduleTeacherSalary::getCourseScheduleId));
+		}
+
 		if(CollectionUtils.isEmpty(courseAdjustInfo.getClassGroupTeacherMapperList())){
 			courseAdjustInfo.setClassGroupTeacherMapperList(Collections.EMPTY_LIST);
 		}
@@ -2906,7 +2913,17 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 				String courseStartTimeStr = DateUtil.dateToString(oldCourses.get(i).getClassDate(), "yyyy-MM-dd") + " " + startTime.toString();
 				String courseEndTimeStr = DateUtil.dateToString(oldCourses.get(i).getClassDate(), "yyyy-MM-dd") + " " + endTime.toString();
 				oldCourses.get(i).setStartClassTime(DateUtil.stringToDate(courseStartTimeStr, "yyyy-MM-dd HH:mm"));
+				try {
+					oldCourses.get(i).setStartClassTimeStr(startTime.toString());
+				} catch (ParseException e) {
+					e.printStackTrace();
+				}
 				oldCourses.get(i).setEndClassTime(DateUtil.stringToDate(courseEndTimeStr, "yyyy-MM-dd HH:mm"));
+				try {
+					oldCourses.get(i).setEndClassTimeStr(endTime.toString());
+				} catch (ParseException e) {
+					e.printStackTrace();
+				}
 			}
 
 			if(Objects.nonNull(courseAdjustInfo.getSchoolId())){
@@ -2946,6 +2963,9 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 				courseScheduleTeacherSalary.setClassGroupId(oldCourses.get(i).getClassGroupId());
 				courseScheduleTeacherSalary.setCreateTime(now);
 				courseScheduleTeacherSalary.setUpdateTime(now);
+				if(CourseScheduleType.PRACTICE.equals(oldCourses.get(i).getType())&&courseSalaryListMap.containsKey(oldCourses.get(i).getId())){
+					courseScheduleTeacherSalary.setExpectSalary(courseSalaryListMap.get(oldCourses.get(i).getId()).get(0).getExpectSalary());
+				}
 				courseScheduleTeacherSalaryService.updateSingleCourseTeacherSalary(oldCourses.get(i), courseScheduleTeacherSalary);
 				courseScheduleTeacherSalaries.add(courseScheduleTeacherSalary);
 
@@ -2997,13 +3017,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 			List<CourseScheduleEndDto> results = new ArrayList<>();
 			for (CourseSchedule oldCours : oldCourses) {
 				CourseScheduleEndDto courseEnd = new CourseScheduleEndDto();
-				try {
-					org.apache.commons.beanutils.BeanUtils.copyProperties(courseEnd, oldCours);
-				} catch (IllegalAccessException e) {
-					e.printStackTrace();
-				} catch (InvocationTargetException e) {
-					e.printStackTrace();
-				}
+				BeanUtils.copyProperties(oldCours, courseEnd);
 				courseEnd.setTeacherName(idNameMap.get(oldCours.getActualTeacherId()));
 				if(courseTeachTypeTeacherIdsMap.containsKey(oldCours.getId())){
 					Set<Integer> teacherIds = courseTeachTypeTeacherIdsMap.get(oldCours.getId());

+ 13 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleTeacherSalaryServiceImpl.java

@@ -1327,14 +1327,22 @@ public class CourseScheduleTeacherSalaryServiceImpl extends BaseServiceImpl<Long
     private void createPracticeGroupCourseTeacherSalaries(CourseSchedule courseSchedule, List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaries){
         List<Integer> teacherIds = courseScheduleTeacherSalaries.stream().map(CourseScheduleTeacherSalary::getUserId).collect(Collectors.toList());
 
+        SysConfig practiceCourseSalaryConfig = sysConfigService.findByParamName(SysConfigService.PRACTICE_COURSE_SALARY);
+        BigDecimal freeTeacherSalary = new BigDecimal(practiceCourseSalaryConfig.getParanValue());
+
         List<TeacherDefaultPracticeGroupSalary> allTeacherDefaultPracticeGroupSalaryList = teacherDefaultPracticeGroupSalaryDao.queryByUserIdList(teacherIds);
         Map<Integer, List<TeacherDefaultPracticeGroupSalary>> teacherSalaryMap = allTeacherDefaultPracticeGroupSalaryList.stream().collect(Collectors.groupingBy(TeacherDefaultPracticeGroupSalary::getUserId));
         for (CourseScheduleTeacherSalary courseScheduleTeacherSalary : courseScheduleTeacherSalaries) {
-            final List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaryList = teacherSalaryMap.get(courseScheduleTeacherSalary.getUserId());
-            if (teacherDefaultPracticeGroupSalaryList != null && teacherDefaultPracticeGroupSalaryList.size() > 0) {
-                courseScheduleTeacherSalary.setExpectSalary(teacherDefaultPracticeGroupSalaryList.get(0).getMainTeacherSalary());
-            } else {
-                throw new BizException("请设置老师 的网管课课酬");
+            List<TeacherDefaultPracticeGroupSalary> teacherDefaultPracticeGroupSalaryList = teacherSalaryMap.get(courseScheduleTeacherSalary.getUserId());
+
+            if(Objects.nonNull(courseScheduleTeacherSalary.getExpectSalary())&&freeTeacherSalary.compareTo(courseScheduleTeacherSalary.getExpectSalary())==0){
+                courseScheduleTeacherSalary.setExpectSalary(freeTeacherSalary);
+            }else{
+                if (teacherDefaultPracticeGroupSalaryList != null && teacherDefaultPracticeGroupSalaryList.size() > 0) {
+                    courseScheduleTeacherSalary.setExpectSalary(teacherDefaultPracticeGroupSalaryList.get(0).getMainTeacherSalary());
+                } else {
+                    throw new BizException("请设置老师 的网管课课酬");
+                }
             }
         }
     }