INSERT INTO exam_room (id_,name_,examination_basic_id_,exam_mode_,exam_location_id_,subject_id_list_,subject_name_list_,
main_teacher_user_id_,main_teacher_user_name_,assistant_teacher_user_id_list_,assistant_teacher_user_name_list_,
exam_start_time_,exam_end_time_,del_flag_,organ_id_,exam_plan_push_flag_,
exam_room_student_num_,create_time_,update_time_,tenant_id_,exam_flag_)
VALUES(#{id},#{name},#{examinationBasicId},#{examMode,typeHandler=com.keao.edu.common.dal.CustomEnumTypeHandler},#{examLocationId},
#{subjectIdList},#{subjectNameList},#{mainTeacherUserId},#{mainTeacherName},#{assistantTeacherUserIdList},#{assistantTeacherUserNameList},
#{examStartTime},#{examEndTime},#{delFlag},#{organId},#{examPlanPushFlag},
#{examRoomStudentNum},NOW(),NOW(),#{tenantId},#{examFlag})
INSERT INTO exam_room (name_,examination_basic_id_,exam_mode_,exam_location_id_,subject_id_list_,subject_name_list_,
main_teacher_user_id_,main_teacher_user_name_,assistant_teacher_user_id_list_,assistant_teacher_user_name_list_,
exam_start_time_,exam_end_time_,del_flag_,organ_id_,exam_plan_push_flag_,
exam_room_student_num_,create_time_,update_time_,tenant_id_)
VALUES
(#{examRoom.name},#{examRoom.examinationBasicId},#{examRoom.examMode,typeHandler=com.keao.edu.common.dal.CustomEnumTypeHandler},#{examRoom.examLocationId},
#{examRoom.subjectIdList},#{examRoom.subjectNameList},
#{examRoom.mainTeacherUserId},#{examRoom.mainTeacherName},#{examRoom.assistantTeacherUserIdList},#{examRoom.assistantTeacherUserNameList},
#{examRoom.examStartTime},#{examRoom.examEndTime},#{examRoom.delFlag},#{examRoom.organId},#{examRoom.examPlanPushFlag},
#{examRoom.examRoomStudentNum},NOW(),NOW(),#{examRoom.tenantId})
UPDATE exam_room
name_=#{name},
shield_user_id_ = #{shieldUserId},
exam_flag_ = #{examFlag},
del_flag_ = #{delFlag},
open_flag_ = #{openFlag},
examination_basic_id_ = #{examinationBasicId},
exam_start_time_ = #{examStartTime},
exam_end_time_ = #{examEndTime},
subject_id_list_ = #{subjectIdList},
subject_name_list_ = #{subjectNameList},
tenant_id_ = #{tenantId},
exam_mode_ = #{examMode,typeHandler=com.keao.edu.common.dal.CustomEnumTypeHandler},
exam_location_id_ = #{examLocationId},
main_teacher_user_id_ = #{mainTeacherUserId},
main_teacher_user_name_ = #{mainTeacherName},
assistant_teacher_user_id_list_ = #{assistantTeacherUserIdList},
assistant_teacher_user_name_list_ = #{assistantTeacherUserNameList},
organ_id_ = #{organId},
exam_plan_push_flag_ = #{examPlanPushFlag},
exam_room_student_num_=#{examRoomStudentNum},
update_time_ = NOW()
WHERE id_ = #{id}
UPDATE exam_room
name_=#{er.name},
del_flag_ = #{er.delFlag},
open_flag_ = #{er.openFlag},
examination_basic_id_ = #{er.examinationBasicId},
exam_start_time_ = #{er.examStartTime},
exam_end_time_ = #{er.examEndTime},
subject_id_list_ = #{er.subjectIdList},
subject_name_list_ = #{er.subjectNameList},
tenant_id_ = #{er.tenantId},
exam_mode_ = #{er.examMode,typeHandler=com.keao.edu.common.dal.CustomEnumTypeHandler},
exam_location_id_ = #{er.examLocationId},
main_teacher_user_id_ = #{er.mainTeacherUserId},
main_teacher_user_name_ = #{er.mainTeacherName},
assistant_teacher_user_id_list_ = #{er.assistantTeacherUserIdList},
assistant_teacher_user_name_list_ = #{er.assistantTeacherUserNameList},
organ_id_ = #{er.organId},
exam_plan_push_flag_ = #{er.examPlanPushFlag},
exam_room_student_num_=#{er.examRoomStudentNum},
update_time_ = NOW()
WHERE id_ = #{er.id}
UPDATE exam_room
del_flag_ = #{delFlag},
examination_basic_id_ = #{examinationBasicId},
exam_start_time_ = #{examStartTime},
exam_end_time_ = #{examEndTime},
subject_id_list_ = #{subjectIdList},
subject_name_list_ = #{subjectNameList},
tenant_id_ = #{tenantId},
exam_mode_ = #{examMode,typeHandler=com.keao.edu.common.dal.CustomEnumTypeHandler},
exam_location_id_ = #{examLocationId},
main_teacher_user_id_ = #{mainTeacherUserId},
main_teacher_user_name_ = #{mainTeacherName},
assistant_teacher_user_id_list_ = #{assistantTeacherUserIdList},
assistant_teacher_user_name_list_ = #{assistantTeacherUserNameList},
organ_id_ = #{organId},
exam_plan_push_flag_ = #{examPlanPushFlag},
exam_room_student_num_=#{examRoomStudentNum},
update_time_ = NOW()
WHERE id_ = #{id} AND update_time_=#{updateTime}
DELETE FROM exam_room WHERE id_ = #{id}
DELETE FROM exam_room WHERE exam_plan_push_flag_=0 AND id_ IN
#{examRoomId}
AND er.organ_id_ IN
#{organId}
AND er.id_ = #{examRoomId}
AND er.examination_basic_id_ = #{examId}
AND er.tenant_id_ = #{tenantId}
AND eb.expect_exam_start_time_ >= #{startTime}
AND eb.expect_exam_end_time_ <= #{endTime}
AND eb.name_ LIKE CONCAT('%',#{search},'%')
AND eb.status_ = #{examStatusEnum}
er.exam_plan_push_flag_ = 1 AND (er.main_teacher_user_id_ = #{teacherId} OR FIND_IN_SET(#{teacherId},er.assistant_teacher_user_id_list_))
AND DATE_FORMAT(er.exam_end_time_,'%Y-%m-%d') BETWEEN #{startTime} AND #{endTime}
AND eb.status_ = #{examBaseStatus}
AND er.exam_mode_ = #{examMode}
AND er.open_flag_ = #{openFlag}
AND er.open_flag_ = #{openFlag}
AND er.organ_id_ IN
#{organId}
AND er.id_=#{examRoomId}
AND er.examination_basic_id_ = #{examId}
AND (er.id_=#{search})