فهرست منبع

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

zouxuan 5 سال پیش
والد
کامیت
60b565fd9e

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ClassGroupDao.java

@@ -519,7 +519,7 @@ public interface ClassGroupDao extends BaseDAO<Integer, ClassGroup> {
      * @param classGroupIdList
      * @return
      */
-    int batchUpdateStudentNumMinusOne(List<Integer> classGroupIdList);
+    int batchUpdateStudentNumMinusOne(@Param("classGroupIds") List<Integer> classGroupIdList);
 
     int updateTest(@Param("delFlag") YesOrNoEnum delFlag);
 }

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/CourseScheduleTeacherSalaryDao.java

@@ -94,6 +94,17 @@ public interface CourseScheduleTeacherSalaryDao extends BaseDAO<Long, CourseSche
 									   @Param("userIds") List<Integer> userIds);
 
 	/**
+	 * @describe 根据课程编号与老师编号删除对应教师课酬记录
+	 * @author Joburgess
+	 * @date 2019/12/2
+	 * @param courseScheduleId: 课程编号
+	 * @param userIds: 教师编号列表
+	 * @return int
+	 */
+	int batchDeleteByCourseAndTeacher(@Param("courseScheduleId") Long courseScheduleId,
+									  @Param("userIds") List<Integer> userIds);
+
+	/**
 	 * @param courseScheduleIds:
 	 * @param teacherRole:
 	 * @return java.util.List<com.ym.mec.biz.dal.dto.BasicUserDto>

+ 24 - 12
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ClassGroupServiceImpl.java

@@ -1044,12 +1044,16 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         //3、将老师加入关联关系
         List<ClassGroupTeacherMapper> classGroupTeacherMapperList = classGroup4MixDto.getClassGroupTeacherMapperList();
 
-        classGroupTeacherMapperList.forEach(classGroupTeacherMapper -> {
-            classGroupTeacherMapper.setGroupType(classGroup.getGroupType());
-            classGroupTeacherMapper.setClassGroupId(classGroup.getId());
-            classGroupTeacherMapper.setMusicGroupId(classGroup4MixDto.getMusicGroupId());
-            userIds.add(classGroupTeacherMapper.getUserId());
-        });
+        Integer teacherId = null;
+        for (ClassGroupTeacherMapper groupTeacherMapper : classGroupTeacherMapperList) {
+            groupTeacherMapper.setGroupType(classGroup.getGroupType());
+            groupTeacherMapper.setClassGroupId(classGroup.getId());
+            groupTeacherMapper.setMusicGroupId(classGroup4MixDto.getMusicGroupId());
+            userIds.add(groupTeacherMapper.getUserId());
+            if (groupTeacherMapper.getTeacherRole().equals(TeachTypeEnum.BISHOP)) {
+                teacherId = groupTeacherMapper.getUserId();
+            }
+        }
         classGroupTeacherMapperDao.classGroupTeachersInsert(classGroupTeacherMapperList);
 
         //创建IM群组
@@ -1104,6 +1108,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 courseSchedule.setType(classGroup4MixDto.getCourseType());
                 courseSchedule.setGroupType(GroupType.MUSIC);
                 courseSchedule.setName(subjectNames + "-" + CourseSchedule.CourseScheduleType.SINGLE.getMsg());
+                courseSchedule.setTeacherId(teacherId);
+                courseSchedule.setActualTeacherId(teacherId);
 
                 courseScheduleDao.insert(courseSchedule);
 
@@ -1426,12 +1432,16 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
         //3、将老师加入关联关系
         List<ClassGroupTeacherMapper> classGroupTeacherMapperList = classGroup4MixDto.getClassGroupTeacherMapperList();
 
-        classGroupTeacherMapperList.forEach(classGroupTeacherMapper -> {
-            classGroupTeacherMapper.setGroupType(classGroup.getGroupType());
-            classGroupTeacherMapper.setClassGroupId(classGroup.getId());
-            classGroupTeacherMapper.setMusicGroupId(classGroup4MixDto.getMusicGroupId());
-            userIds.add(classGroupTeacherMapper.getUserId());
-        });
+        Integer teacherId = null;
+        for (ClassGroupTeacherMapper groupTeacherMapper : classGroupTeacherMapperList) {
+            groupTeacherMapper.setGroupType(classGroup.getGroupType());
+            groupTeacherMapper.setClassGroupId(classGroup.getId());
+            groupTeacherMapper.setMusicGroupId(classGroup4MixDto.getMusicGroupId());
+            userIds.add(groupTeacherMapper.getUserId());
+            if (groupTeacherMapper.getTeacherRole().equals(TeachTypeEnum.BISHOP)) {
+                teacherId = groupTeacherMapper.getUserId();
+            }
+        }
         classGroupTeacherMapperDao.classGroupTeachersInsert(classGroupTeacherMapperList);
 
         //创建IM群组
@@ -1487,6 +1497,8 @@ public class ClassGroupServiceImpl extends BaseServiceImpl<Integer, ClassGroup>
                 courseSchedule.setGroupType(GroupType.MUSIC);
                 courseSchedule.setMusicGroupId(classGroup.getMusicGroupId());
                 courseSchedule.setName(subjectNames + "-" + CourseSchedule.CourseScheduleType.SINGLE.getMsg());
+                courseSchedule.setTeacherId(teacherId);
+                courseSchedule.setActualTeacherId(teacherId);
 
                 courseScheduleDao.insert(courseSchedule);
 

+ 27 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -532,12 +532,26 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		errInfo.append("安排的课程存在冲突,");
 		errInfo.append("冲突课程为:");
 		if(Objects.nonNull(preCourseSchedule.getId())&&existCourseScheduleIds.contains(preCourseSchedule.getId())){
+			MusicGroup musicGroup = musicGroupDao.get(preCourseSchedule.getMusicGroupId());
+			if(Objects.nonNull(musicGroup)){
+				errInfo.append(musicGroup.getName());
+				errInfo.append("(");
+				errInfo.append(musicGroup.getId());
+				errInfo.append(")-");
+			}
 			errInfo.append(preCourseSchedule.getName());
 			errInfo.append("(");
 			errInfo.append(preCourseSchedule.getId());
 			errInfo.append(")");
 		}
 		if(Objects.nonNull(backCourseSchedule.getId())&&existCourseScheduleIds.contains(backCourseSchedule.getId())){
+			MusicGroup musicGroup = musicGroupDao.get(backCourseSchedule.getMusicGroupId());
+			if(Objects.nonNull(musicGroup)){
+				errInfo.append(musicGroup.getName());
+				errInfo.append("(");
+				errInfo.append(musicGroup.getId());
+				errInfo.append(")-");
+			}
 			errInfo.append(backCourseSchedule.getName());
 			errInfo.append("(");
 			errInfo.append(backCourseSchedule.getId());
@@ -689,10 +703,10 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		List<Long> newCourseScheduleIds = newCourseSchedules.stream().map(CourseSchedule::getId).collect(Collectors.toList());
 		//获取对应未修改的课程列表
 		List<CourseSchedule> oldCourseScheduleList = courseScheduleDao.findByCourseScheduleIds(newCourseScheduleIds);
-		if(oldCourseScheduleList.size()!=newCourseSchedules.size()){
+//		if(oldCourseScheduleList.size()!=newCourseSchedules.size()){
+		if(oldCourseScheduleList.size()<newCourseSchedules.size()){
 			throw new BizException("课程信息错误");
 		}
-		Integer courseScheduleId = null;
 
 		Date now=new Date();
 		//明天日期
@@ -705,14 +719,19 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 		List<CourseScheduleTeacherSalary> teachingTeacherSalarys = courseScheduleDao.findTeachingTeachers(newCourseScheduleIds);
 		Map<Long,List<CourseScheduleTeacherSalary>> courseTeachingTeacherMaps = teachingTeacherSalarys.stream().collect(Collectors.groupingBy(CourseScheduleTeacherSalary::getCourseScheduleId));
 
-		Map<Long, CourseSchedule> oldCourseSchedules = oldCourseScheduleList.stream().collect(Collectors.toMap(CourseSchedule::getId,courseSchedule -> courseSchedule));
+		Map<Long, List<CourseSchedule>> oldCourseScheduleMap = oldCourseScheduleList.stream().collect(Collectors.groupingBy(CourseSchedule::getId));
+
+		Map<Long, CourseSchedule> oldCourseSchedules = new HashMap<>();
+
 		newCourseSchedules.forEach(newCourseSchedule -> {
 
 			if(newCourseSchedule.getStartClassTime().before(tomorrow)&&sysUser.getUserType().equals(SysUserType.TEACHER)){
 			    throw new BizException("调整时间必须为明天及以后");
             }
 
-			CourseSchedule oldCourseSchedule = oldCourseSchedules.get(newCourseSchedule.getId());
+			CourseSchedule oldCourseSchedule = oldCourseScheduleMap.get(newCourseSchedule.getId()).get(0);
+
+			oldCourseSchedules.put(newCourseSchedule.getId(),oldCourseSchedule);
 
             if(oldCourseSchedule.getStartClassTime().before(now)&&sysUser.getUserType().equals(SysUserType.TEACHER)){
                 throw new BizException("不能调整今天及以前的课程");
@@ -818,9 +837,11 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
 				oldCourseSchedule.setSchoolId(newCourseSchedule.getSchoolId());
 			}
 			courseScheduleDao.update(oldCourseSchedule);
-			//将被修改的教师预计薪水置零
+			//删除被修改的教师课酬记录
 			if(!CollectionUtils.isEmpty(beReplaceTeacherIds)){
-				courseScheduleTeacherSalaryDao.batchUpdateTeacherExpectSalary(newCourseSchedule.getId().intValue(),beReplaceTeacherIds);
+//				courseScheduleTeacherSalaryDao.batchUpdateTeacherExpectSalary(newCourseSchedule.getId().intValue(),beReplaceTeacherIds);
+				courseScheduleTeacherSalaryDao.batchDeleteByCourseAndTeacher(newCourseSchedule.getId(),beReplaceTeacherIds);
+
 			}
 		});
 		//生成修改后的教师课酬

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

@@ -1127,7 +1127,7 @@ public class VipGroupServiceImpl extends BaseServiceImpl<Long, VipGroup> impleme
 		Set<Integer> roleIds = new HashSet<>(1);
 		roleIds.add(SysUserRole.EDUCATIONAL_TEACHER);
 		Map<String,Object> memo = new HashMap<>(2);
-		memo.put("Id",vipGroupId);
+		memo.put("Id",studentApplyRefunds.getId());
 		memo.put("type","VIPGROUP");
 		sysMessageService.batchSeoMessage(musicGroupDao.queryUserIdByRoleId(roleIds,sysUser.getOrganId()),MessageTypeEnum.BACKSTAGE_STUDENT_APPLY_QUIT_COURSE,JSONObject.toJSONString(memo),sysUser.getUsername());
 	}

+ 2 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleMapper.xml

@@ -1206,6 +1206,8 @@
     <select id="findAllCourseByDateZone" resultMap="CourseSchedule">
         SELECT
             cs.id_,
+            cs.music_group_id_,
+            cs.group_type_,
             cs.class_group_id_,
             cs.status_,
             cs.subsidy_,

+ 10 - 0
mec-biz/src/main/resources/config/mybatis/CourseScheduleTeacherSalaryMapper.xml

@@ -329,6 +329,16 @@
 			</foreach>
 	</update>
 
+	<update id="batchDeleteByCourseAndTeacher">
+		DELETE FROM course_schedule_teacher_salary
+		WHERE
+		course_schedule_id_ = #{courseScheduleId}
+		AND user_id_ IN
+		<foreach collection="userIds" item="userId" open="(" close=")" separator=",">
+			#{userId}
+		</foreach>
+	</update>
+
 	<select id="findCourseScheduleTeacherSalaryByMusicGroupId" resultMap="CourseScheduleTeacherSalary">
 		SELECT * FROM course_schedule_teacher_salary WHERE music_group_id_=#{musicGroupId} AND group_type_ = #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
 	</select>