INSERT INTO course_schedule
        (id_,group_type_,music_group_id_,class_group_id_,status_,subsidy_,class_date_,start_class_time_,end_class_time_,teacher_id_,actual_teacher_id_,create_time_,update_time_,type_,name_,teach_mode_,student_num_,leave_student_num_,schoole_id_,is_lock_,note_,teaching_content_)
        VALUES(#{id},#{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{musicGroupId},#{classGroupId},#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{subsidy},#{classDate},#{startClassTime},#{endClassTime},#{teacherId},#{teacherId},now(),now(),
        #{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{name},#{teachMode,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{studentNum},#{leaveStudentNum},#{schoolId},#{isLock},#{note},#{teachingContent})
    
    
        INSERT INTO course_schedule
        (group_type_,music_group_id_,class_group_id_,status_,subsidy_,class_date_,start_class_time_,end_class_time_,
        teacher_id_,actual_teacher_id_,create_time_,update_time_,type_,name_,teach_mode_,student_num_,leave_student_num_,
        schoole_id_,is_lock_,note_,teaching_content_)
        VALUE
        
            (#{course.groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{course.musicGroupId},
            #{course.classGroupId},#{course.status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
            #{course.subsidy},#{course.classDate},#{course.startClassTime},#{course.endClassTime},#{course.teacherId},
            #{course.teacherId},now(),now(),#{course.type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
            #{course.name},#{course.teachMode,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{course.studentNum},
            #{course.leaveStudentNum},#{course.schoolId},#{course.isLock},#{course.note},#{course.teachingContent})
        
    
    
    
        UPDATE course_schedule
        
            
                note_ = #{note},
            
            
                teaching_content_ = #{teachingContent},
            
            
                class_date_ = #{classDate},
            
            
                music_group_id_ = #{musicGroupId},
            
            
                end_class_time_ = #{endClassTime},
            
            
                status_ = #{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
            
            
                type_ = #{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
            
            
                group_type_ = #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
            
            
                actual_teacher_id_ = #{actualTeacherId},
            
            
                subsidy_ = #{subsidy},
            
            
                class_group_id_ = #{classGroupId},
            
            
                start_class_time_ = #{startClassTime},
            
            
                teacher_id_ = #{teacherId},
            
            
                student_num_ = #{studentNum},
            
            
                leave_student_num_ = #{leaveStudentNum},
            
            
                schoole_id_ = #{schoolId},
            
            
                schoole_id_ = null,
            
            
                teach_mode_ = #{teachMode,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
            
            
                is_lock_ = #{isLock},
            
            update_time_ = NOW()
        
        WHERE id_ = #{id}
    
    
    
        DELETE
        FROM course_schedule
        WHERE id_ = #{id}
    
    
        DELETE
        FROM course_schedule
        WHERE music_group_id_ = #{musicGroupId}
          AND group_type_ = #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
          and status_ = 'NOT_START'
    
    
        update course_schedule
        set del_flag_    = '1',
            update_time_ = NOW()
        WHERE music_group_id_ = #{musicGroupID}
          AND group_type_ = 'MUSIC'
          and status_ = 'NOT_START'
    
    
        update course_schedule
        set del_flag_    = '0',
            update_time_ = NOW()
        WHERE music_group_id_ = #{musicGroupID}
          AND group_type_ = 'MUSIC'
          and status_ = 'NOT_START'
          and del_flag_ = '1'
    
    
        DELETE FROM course_schedule
        WHERE
        CONCAT( class_date_, ' ', start_class_time_ ) > NOW()
        AND id_ IN
        
            #{courseScheduleId}
        
    
    
        DELETE FROM course_schedule
        WHERE id_ IN
        
            #{courseScheduleId}
        
    
    
    
    
    
    
    
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
    
    
    
    
        
        
        
        
        
        
        
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
        
            cssp.user_id_=#{userId}
            AND cs.status_ != 'NOT_START'
            AND cs.del_flag_ = 0
            
                AND cs.teach_mode_=#{teachMode}
            
            
                AND cs.group_type_ = #{type}
            
            
                AND sa.status_ = #{status}
            
            
                AND (sa.status_ = #{status} OR sa.status_ IS NULL)
            
        
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
        
            UPDATE course_schedule
            
                
                    class_date_ = #{item.classDate},
                
                
                    end_class_time_ = #{item.endClassTime},
                
                
                    status_ = #{item.status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
                
                
                    type_ = #{item.type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
                
                
                    actual_teacher_id_ = #{item.actualTeacherId},
                
                
                    subsidy_ = #{item.subsidy},
                
                
                    class_group_id_ = #{item.classGroupId},
                
                
                    start_class_time_ = #{item.startClassTime},
                
                
                    teacher_id_ = #{item.teacherId},
                
                
                    student_num_ = #{item.studentNum},
                
                
                    leave_student_num_ = #{item.leaveStudentNum},
                
                schoole_id_ = #{item.schoolId},
                
                    schoole_id_ = null,
                
                
                    teach_mode_ = #{item.teachMode,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
                
                update_time_ = NOW()
            
            WHERE id_ = #{item.id}
        
    
    
        UPDATE course_schedule cs
        SET cs.schoole_id_ = #{schoolId},
            update_time_   = NOW()
        WHERE cs.class_group_id_ IN (SELECT cg.id_
                                     FROM class_group cg
                                     WHERE cg.music_group_id_ = #{musicGroupId}
                                       AND cg.group_type_ = 'MUSIC')
    
    
        UPDATE course_schedule
        SET status_      = #{status},
            update_time_ = NOW()
        WHERE id_ = #{courseScheduleId}
    
    
        UPDATE course_schedule cs
        SET cs.schoole_id_ = #{schoolId},
            update_time_   = NOW()
        WHERE cs.music_group_id_ = #{musicGroupId}
          AND cs.group_type_ = 'MUSIC'
          AND NOW() < CONCAT(cs.class_date_, " ", cs.start_class_time_);
    
    
        UPDATE course_schedule cs
        SET cs.schoole_id_ = #{schoolId},
            update_time_   = NOW()
        WHERE cs.music_group_id_ = #{groupId}
          AND cs.group_type_ = #{groupType}
          AND cs.teach_mode_ = "OFFLINE"
          AND NOW() < CONCAT(cs.class_date_, " ", cs.start_class_time_);
    
    
        UPDATE course_schedule
        SET is_lock_     = #{isLock},
            update_time_ = NOW()
        WHERE music_group_id_ = #{groupId}
          AND group_type_ = #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
          AND NOW() < CONCAT(class_date_, " ", start_class_time_);
    
    
    
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
    
    
        
            (cs.del_flag_ != 1 OR cs.del_flag_ IS NULL)
            AND cs.class_group_id_ = #{classGroupId}
            
                AND csts.user_id_ = #{userId}
            
            
                AND CONCAT( cs.class_date_, ' ', cs.end_class_time_ )<now()
            
        
    
    
    
        
            cs.actual_teacher_id_=#{teacherId}
            AND cs.music_group_id_ = #{groupId}
            AND cs.group_type_ = #{groupType}
        
    
    
    
    
    
    
    
    
    
    
    
    
    
    
        
        
        
        
        
        
        
        
        
        
        
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
        
        
            
        
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
        DELETE
        FROM
        course_schedule_student_payment
        WHERE user_id_ =#{userId} AND course_schedule_id_ IN
        
            #{courseScheduleId}
        
    
    
        DELETE FROM course_schedule WHERE id_ IN
        
            #{courseScheduleId}
        
    
    
        DELETE
        FROM course_schedule
        WHERE music_group_id_ = #{groupId}
          AND group_type_ = #{groupType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
        
            
                AND cs.id_ IN
                
                    #{courseId}
                
            
        
    
    
    
    
    
    
    
    
    
    
    
        
            AND cs.class_date_ > DATE_FORMAT(#{startTime},"%Y-%m-%d")
        
        
            AND cs.class_date_ < DATE_FORMAT(#{endTime},"%Y-%m-%d")
        
        
            AND cs.class_date_ BETWEEN DATE_FORMAT(#{startTime},"%Y-%m-%d") AND DATE_FORMAT(#{endTime},"%Y-%m-%d")
        
        
            AND cs.status_ = #{courseStatus,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
        
        
            AND cs.type_ = #{courseType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}
        
        
            AND cs.schoole_id_ = #{schoolId}
        
        
            AND FIND_IN_SET(cs.actual_teacher_id_,#{teacherIdList})
        
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
        
        
        
        
        
        
        
    
    
    
    
        
        
        
        
        
        
        
    
    
    
    
    
    
        UPDATE course_schedule SET name_=#{name} WHERE group_type_=#{groupType, typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler} AND music_group_id_ = #{groupId};