zouxuan 5 年之前
父节点
当前提交
18a49d1ee2

+ 8 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TeacherAttendanceDao.java

@@ -11,6 +11,7 @@ import org.apache.ibatis.annotations.Param;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 public interface TeacherAttendanceDao extends BaseDAO<Long, TeacherAttendance> {
 
@@ -153,4 +154,11 @@ public interface TeacherAttendanceDao extends BaseDAO<Long, TeacherAttendance> {
 	 * @param courseScheduleId
 	 */
 	void cuntinueCourseSign(@Param("courseScheduleId")Long courseScheduleId,@Param("startDateTime")Date startDateTime,@Param("endDateTime")Date endDateTime);
+
+	/**
+	 * 修改课程的签到老师
+	 * @param courseScheduleIds
+	 * @param teacherId
+	 */
+    void batchUpdateTeacher(@Param("courseScheduleIds") Set<Long> courseScheduleIds, @Param("teacherId") Integer teacherId);
 }

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/CourseScheduleServiceImpl.java

@@ -2566,6 +2566,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         Set<Long> courseScheduleIds = courseSchedules.stream().map(e -> e.getId()).collect(Collectors.toSet());
         checkNewCourseSchedules(courseSchedules,false);
         courseScheduleDao.update(oldCourseSchedule);
+        teacherAttendanceDao.batchUpdateTeacher(courseScheduleIds,teacherId);
         courseScheduleTeacherSalaryDao.batchUpdateTeacher(courseScheduleIds,teacherId);
         Map<Integer, String> map = new HashMap<>(2);
         map.put(teacherId,teacherId.toString());
@@ -2606,6 +2607,7 @@ public class CourseScheduleServiceImpl extends BaseServiceImpl<Long, CourseSched
         classGroupTeacherMapperService.updateTeacher(classGroupIds,teacherId);
         classGroupTeacherSalaryDao.updateTeacher(classGroupIds,teacherId);
         practiceGroupDao.updateUserId(practiceGroupId,teacherId);
+        teacherAttendanceDao.batchUpdateTeacher(courseScheduleIds,teacherId);
         if (teacherIdMap != null && teacherIdMap.size() > 0) {
             sysMessageService.batchSendMessage(MessageSender.JIGUANG, MessageTypeEnum.TEACHER_PUSH_COURSE_SCHEDULE_CHANGE_RESULT,
                     teacherIdMap, null, 0, "7","TEACHER");

+ 9 - 0
mec-biz/src/main/resources/config/mybatis/TeacherAttendanceMapper.xml

@@ -360,6 +360,15 @@
         SET sign_in_time_ = #{startDateTime},sign_in_status_ = 1,sign_out_status_ = 1,sign_out_time_= #{endDateTime}
     	WHERE course_schedule_id_ = #{courseScheduleId}
     </update>
+    <update id="batchUpdateTeacher">
+        UPDATE teacher_attendance
+        SET teacher_id_ = #{teacherId}
+        WHERE sign_in_status_ IS NULL AND sign_out_status_ IS NULL
+        AND course_schedule_id_ IN
+        <foreach collection="courseScheduleIds" item="courseScheduleId" open="(" close=")" separator=",">
+            #{courseScheduleId}
+        </foreach>
+    </update>
 
     <delete id="deleteByMusicGroupId" parameterType="map" >
 		DELETE ta FROM teacher_attendance ta LEFT JOIN course_schedule cs ON ta.course_schedule_id_ = cs.id_ WHERE ta.music_group_id_=#{musicGroupId} AND ta.group_type_=#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler} and cs.status_ = 'NOT_START'