Browse Source

课程转换

zouxuan 2 năm trước cách đây
mục cha
commit
ca7e9e30d5

+ 6 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/TeacherAttendanceService.java

@@ -1,9 +1,11 @@
 package com.ym.mec.biz.service;
 
+import com.ym.mec.biz.dal.dao.TeacherAttendanceDao;
 import com.ym.mec.biz.dal.dto.StudentStandardDto;
 import com.ym.mec.biz.dal.dto.TeacherAttendanceComplaintsDto;
 import com.ym.mec.biz.dal.dto.TeacherAttendanceDetailDto;
 import com.ym.mec.biz.dal.dto.TeacherSignOutDto;
+import com.ym.mec.biz.dal.entity.CourseSchedule;
 import com.ym.mec.biz.dal.entity.TeacherAttendance;
 import com.ym.mec.biz.dal.enums.UpdateAttendanceEnum;
 import com.ym.mec.biz.dal.page.TeacherAttendanceComplaintsQueryInfo;
@@ -16,6 +18,8 @@ import java.util.Map;
 
 public interface TeacherAttendanceService extends BaseService<Long, TeacherAttendance> {
 
+	TeacherAttendanceDao getDao();
+
 	/**
 	* @description: 处理学员学习标准是否达标
 	 * @param studentStandardDtos
@@ -154,4 +158,6 @@ public interface TeacherAttendanceService extends BaseService<Long, TeacherAtten
 	 * @param signOutDeviceNum
 	 */
 	void updateDeviceNum(Integer courseId, String userId,String signInDeviceNum, String signOutDeviceNum);
+
+	void addTeacherAttendance(List<CourseSchedule> courseScheduleList);
 }

+ 10 - 7
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleConvertServiceImpl.java

@@ -3,7 +3,6 @@ package com.ym.mec.biz.service.impl;
 import com.alibaba.fastjson.JSONArray;
 import com.ym.mec.biz.dal.dao.CourseScheduleConvertDao;
 import com.ym.mec.biz.dal.dao.StudentDao;
-import com.ym.mec.biz.dal.dao.TeacherAttendanceDao;
 import com.ym.mec.biz.dal.dto.BasicUserDto;
 import com.ym.mec.biz.dal.dto.CourseConvertSumDto;
 import com.ym.mec.biz.dal.entity.*;
@@ -49,7 +48,7 @@ public class CourseScheduleConvertServiceImpl implements CourseScheduleConvertSe
     @Autowired
     private ClassGroupService classGroupService;
     @Autowired
-    private TeacherAttendanceDao teacherAttendanceDao;
+    private TeacherAttendanceService teacherAttendanceService;
     @Autowired
     private CloudTeacherFreeCourseService cloudTeacherFreeCourseService;
 
@@ -83,13 +82,14 @@ public class CourseScheduleConvertServiceImpl implements CourseScheduleConvertSe
         //校验主教助教是否冲突
         classGroups.stream().forEach(e->classGroupTeacherMapperService.checkTeachingBishop(e.getClassGroupTeacherMapperList()));
         int classNum = classGroups.size();
+        //课程列表
+        List<CourseSchedule> courseScheduleList = new ArrayList<>();
         //老师课酬
         List<CourseScheduleTeacherSalary> courseScheduleTeacherSalaryList = new ArrayList<>();
         //学员课程价值
         List<CourseScheduleStudentPayment> courseScheduleStudentPayments = new ArrayList<>();
         List<Integer> studentIdList = new ArrayList<>();
-        //获取学员课程总价值
-        List<Long> courseIdList = new ArrayList<>();
+
         for (ClassGroupDto groupDto : classGroups) {
             List<Integer> userIdStrSet = Arrays.stream(groupDto.getUserIds().split(",")).map(id -> Integer.valueOf(id)).collect(Collectors.toList());
             studentIdList.addAll(userIdStrSet);
@@ -115,7 +115,7 @@ public class CourseScheduleConvertServiceImpl implements CourseScheduleConvertSe
                 return result;
             }else {
                 if(groupDto.getConfirmGenerate()){
-                    courseIdList.addAll(result.getData().stream().map(e->e.getId()).collect(Collectors.toList()));
+                    courseScheduleList.addAll(result.getData());
                     courseScheduleTeacherSalaryList.addAll(groupDto.getCourseScheduleTeacherSalaryList());
                     courseScheduleStudentPayments.addAll(groupDto.getCourseScheduleStudentPayments());
                 }else {
@@ -132,10 +132,13 @@ public class CourseScheduleConvertServiceImpl implements CourseScheduleConvertSe
         List<CourseScheduleStudentPayment> studentPayments = courseScheduleStudentPaymentService.getDao().findByCourseScheduleIds(oldCourseIdList);
         //保存老师课酬
         courseScheduleTeacherSalaryService.splitTeacherSalary(courseScheduleTeacherSalaryList,teacherSalaries);
+        //生成老师考勤
+        teacherAttendanceService.addTeacherAttendance(courseScheduleList);
         //保存学员课程关联
         courseScheduleStudentPaymentService.splitStudentPayment(courseScheduleStudentPayments,studentPayments);
         List<Integer> newClassGroupIds = classGroups.stream().map(e -> e.getClassGroupId()).collect(Collectors.toList());
         //记录云教练课程
+        List<Long> courseIdList = courseScheduleList.stream().map(e -> e.getId()).collect(Collectors.toList());
         cloudTeacherFreeCourseService.courseConvert(oldCourseIdList,courseIdList);
         //记录课程转换相关信息
         courseConvertLogService.save(courseIds,newClassGroupIds,courseIdList,teacherSalaries,studentPayments);
@@ -172,7 +175,7 @@ public class CourseScheduleConvertServiceImpl implements CourseScheduleConvertSe
         courseScheduleTeacherSalaryService.getDao().batchInsert(JSONArray.parseArray(teacherSalaryJson,CourseScheduleTeacherSalary.class));
         //保存考勤
         String teacherAttendanceJson = courseConvertLog.getOldTeacherAttendanceJson();
-        teacherAttendanceDao.batchInsert(JSONArray.parseArray(teacherAttendanceJson,TeacherAttendance.class));
+        teacherAttendanceService.getDao().batchInsert(JSONArray.parseArray(teacherAttendanceJson,TeacherAttendance.class));
 
         //删除转换后的课程、课酬、学员课程价值
         this.delByCourse(newCourseIdList);
@@ -183,7 +186,7 @@ public class CourseScheduleConvertServiceImpl implements CourseScheduleConvertSe
         //删除转换后的课程、课酬、学员课程价值
         courseScheduleService.getDao().batchDeleteCourseSchedulesWithoutCheck(newCourseIdList);
         //删除老师考勤
-        teacherAttendanceDao.batchDeleteByCourseSchedules(newCourseIdList);
+        teacherAttendanceService.getDao().batchDeleteByCourseSchedules(newCourseIdList);
         //删除老师课酬
         courseScheduleTeacherSalaryService.getDao().batchDeleteByCourseScheduleIds(newCourseIdList);
         //删除学员课程价值

+ 22 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherAttendanceServiceImpl.java

@@ -80,7 +80,12 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 		return teacherAttendanceDao;
 	}
 
-	@Transactional(rollbackFor = Exception.class)
+    @Override
+    public TeacherAttendanceDao getDao() {
+        return teacherAttendanceDao;
+    }
+
+    @Transactional(rollbackFor = Exception.class)
 	@Override
 	public void saveStudentStandard(List<StudentStandardDto> studentStandardDtos,Long courseScheduleId){
 		if(studentStandardDtos == null || studentStandardDtos.size() == 0){
@@ -994,4 +999,20 @@ public class TeacherAttendanceServiceImpl extends BaseServiceImpl<Long, TeacherA
 	public void updateDeviceNum(Integer courseId, String userId, String signInDeviceNum, String signOutDeviceNum) {
 		teacherAttendanceDao.updateDeviceNum(courseId,userId,signInDeviceNum,signOutDeviceNum);
 	}
+
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void addTeacherAttendance(List<CourseSchedule> courseScheduleList) {
+		List<TeacherAttendance> teacherAttendanceList = new ArrayList<>();
+		for (CourseSchedule courseSchedule : courseScheduleList) {
+			TeacherAttendance teacherAttendance = new TeacherAttendance();
+			teacherAttendance.setGroupType(courseSchedule.getGroupType());
+			teacherAttendance.setTeacherId(courseSchedule.getActualTeacherId());
+			teacherAttendance.setMusicGroupId(courseSchedule.getMusicGroupId());
+			teacherAttendance.setClassGroupId(courseSchedule.getClassGroupId());
+			teacherAttendance.setCourseScheduleId(courseSchedule.getId());
+			teacherAttendanceList.add(teacherAttendance);
+		}
+		teacherAttendanceDao.batchInsert(teacherAttendanceList);
+	}
 }