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_)
        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})
    
    
        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_)
        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})
        
    
    
    
        UPDATE course_schedule
        
            
                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},
            
            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}
        
    
    
    
    
    
    
    
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
    
    
    
    
        
        
        
        
        
        
        
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
        
            (cs.del_flag_ != 1 OR cs.del_flag_ IS NULL)
            AND sa.user_id_=#{userId}
            AND cs.status_ != 'NOT_START'
            
                AND cs.teach_mode_=#{teachMode}
            
            
                AND cs.group_type_ = #{type}
            
            
                AND sa.status_=#{status}
            
        
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    	
            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 NOW() < CONCAT(cs.class_date_," ",cs.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()
            
        
    
    
    
    
    
    
    
    
    
    
    
    
    
    
        
        
        
        
        
        
        
        
        
        
        
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
        
        
            
        
    
    
    
    
    
    
    
    
    
    
    
    
    
    
        DELETE
        FROM
            course_schedule_student_payment
        WHERE user_id_ =#{userId}  AND course_schedule_id_ IN
        
            #{courseScheduleId}
        
    
    
        DELETE FROM course_schedule WHERE id_ IN
        
            #{courseScheduleId}