|
@@ -1,69 +1,119 @@
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
|
-<mapper namespace="com.qmth.themis.business.dao.TOeExamRecordMapper">
|
|
|
+<mapper
|
|
|
+ namespace="com.qmth.themis.business.dao.TOeExamRecordMapper">
|
|
|
|
|
|
- <select id="getUnFinishExam" resultType="com.qmth.themis.business.dto.response.TEExamUnFinishDto">
|
|
|
- select
|
|
|
- tee.id,
|
|
|
- teea.id as examActivityId,
|
|
|
- toer.id as recordId,
|
|
|
- tees.id as examStudentId,
|
|
|
- tee.name,
|
|
|
- tee.mode,
|
|
|
- tee.pre_notice as preNotice,
|
|
|
- tee.pre_notice_stay_seconds as preNoticeStaySeconds,
|
|
|
- tee.post_notice as postNotice,
|
|
|
- tee.code as examCode,
|
|
|
- teea.code as examActivityCode,
|
|
|
- tee.start_time as examStartTime,
|
|
|
- tee.end_time as examEndTime,
|
|
|
- teea.start_time as examActivityStartTime,
|
|
|
- teea.finish_time as examActivityFinishTime,
|
|
|
- tees.course_code as courseCode,
|
|
|
- teec.course_name as courseName,
|
|
|
- tee.prepare_seconds as prepareSeconds,
|
|
|
- tee.min_duration_seconds as minDurationSeconds,
|
|
|
- tee.max_duration_seconds as maxDurationSeconds,
|
|
|
- tee.exam_count as examCount,
|
|
|
- tee.force_finish as fouceFinish,
|
|
|
- tee.entry_authentication_policy as entryAuthenticationPolicy,
|
|
|
- tee.in_process_face_verify as inProcessFaceVerify,
|
|
|
- tee.in_process_face_stranger_ignore as inProcessFaceStrangerIgnore,
|
|
|
- tee.in_process_liveness_verify as inProcessLivenessVerify,
|
|
|
- tee.in_process_liveness_fixed_range as inProcessLivenessFixedRange,
|
|
|
- tee.in_process_liveness_judge_policy as inProcessLivenessJudgePolicy,
|
|
|
- tee.camera_photo_upload as cameraPhotoUpload,
|
|
|
- tee.mobile_photo_upload as mobilePhotoUpload,
|
|
|
- tee.break_expire_seconds as breakExpireSeconds,
|
|
|
- tee.break_resume_count as breakResumeCount,
|
|
|
- toer.duration_seconds as durationSeconds,
|
|
|
- toer.client_last_sync_time as clientLastSyncTime
|
|
|
- from
|
|
|
- t_oe_exam_record toer
|
|
|
- left join t_e_exam_student tees on
|
|
|
- tees.id = toer.exam_student_id
|
|
|
- left join t_e_exam_course teec on
|
|
|
- teec.course_code = tees.course_code
|
|
|
- left join t_e_exam tee on
|
|
|
- tee.id = tees.exam_id
|
|
|
- left join t_e_exam_activity teea on
|
|
|
- teea.id = tees.exam_activity_id
|
|
|
- <where>
|
|
|
- <if test="studentId != null and studentId != ''">
|
|
|
- and tees.student_id = #{studentId}
|
|
|
- </if>
|
|
|
- and tee.enable = 1
|
|
|
- and teea.enable = 1
|
|
|
- and tees.enable = 1
|
|
|
- <if test="orgId != null and orgId != ''">
|
|
|
- and tee.org_id = #{orgId}
|
|
|
- </if>
|
|
|
- <if test="examId != null and examId != ''">
|
|
|
- and tee.id = #{examId}
|
|
|
- </if>
|
|
|
- </where>
|
|
|
- </select>
|
|
|
- <update id="dataUpdate">
|
|
|
- update t_oe_exam_record t set t.${colName}=#{colValue} where t.id=#{recordId}
|
|
|
+ <select id="getUnFinishExam"
|
|
|
+ resultType="com.qmth.themis.business.dto.response.TEExamUnFinishDto">
|
|
|
+ select
|
|
|
+ tee.id,
|
|
|
+ teea.id as examActivityId,
|
|
|
+ toer.id as recordId,
|
|
|
+ tees.id as
|
|
|
+ examStudentId,
|
|
|
+ tee.name,
|
|
|
+ tee.mode,
|
|
|
+ tee.pre_notice as preNotice,
|
|
|
+ tee.pre_notice_stay_seconds as preNoticeStaySeconds,
|
|
|
+ tee.post_notice as
|
|
|
+ postNotice,
|
|
|
+ tee.code as examCode,
|
|
|
+ teea.code as examActivityCode,
|
|
|
+ tee.start_time as examStartTime,
|
|
|
+ tee.end_time as examEndTime,
|
|
|
+ teea.start_time as examActivityStartTime,
|
|
|
+ teea.finish_time as
|
|
|
+ examActivityFinishTime,
|
|
|
+ tees.course_code as courseCode,
|
|
|
+ teec.course_name as courseName,
|
|
|
+ tee.prepare_seconds as prepareSeconds,
|
|
|
+ tee.min_duration_seconds as minDurationSeconds,
|
|
|
+ tee.max_duration_seconds as maxDurationSeconds,
|
|
|
+ tee.exam_count as
|
|
|
+ examCount,
|
|
|
+ tee.force_finish as fouceFinish,
|
|
|
+ tee.entry_authentication_policy as entryAuthenticationPolicy,
|
|
|
+ tee.in_process_face_verify as inProcessFaceVerify,
|
|
|
+ tee.in_process_face_stranger_ignore as inProcessFaceStrangerIgnore,
|
|
|
+ tee.in_process_liveness_verify as inProcessLivenessVerify,
|
|
|
+ tee.in_process_liveness_fixed_range as inProcessLivenessFixedRange,
|
|
|
+ tee.in_process_liveness_judge_policy as inProcessLivenessJudgePolicy,
|
|
|
+ tee.camera_photo_upload as cameraPhotoUpload,
|
|
|
+ tee.mobile_photo_upload
|
|
|
+ as mobilePhotoUpload,
|
|
|
+ tee.break_expire_seconds as breakExpireSeconds,
|
|
|
+ tee.break_resume_count as breakResumeCount,
|
|
|
+ toer.duration_seconds as
|
|
|
+ durationSeconds,
|
|
|
+ toer.client_last_sync_time as clientLastSyncTime
|
|
|
+ from
|
|
|
+ t_oe_exam_record toer
|
|
|
+ left join t_e_exam_student tees on
|
|
|
+ tees.id =
|
|
|
+ toer.exam_student_id
|
|
|
+ left join t_e_exam_course teec on
|
|
|
+ teec.course_code
|
|
|
+ = tees.course_code
|
|
|
+ left join t_e_exam tee on
|
|
|
+ tee.id = tees.exam_id
|
|
|
+ left
|
|
|
+ join t_e_exam_activity teea on
|
|
|
+ teea.id = tees.exam_activity_id
|
|
|
+ <where>
|
|
|
+ <if test="studentId != null and studentId != ''">
|
|
|
+ and tees.student_id = #{studentId}
|
|
|
+ </if>
|
|
|
+ and tee.enable = 1
|
|
|
+ and teea.enable = 1
|
|
|
+ and tees.enable = 1
|
|
|
+ <if test="orgId != null and orgId != ''">
|
|
|
+ and tee.org_id = #{orgId}
|
|
|
+ </if>
|
|
|
+ <if test="examId != null and examId != ''">
|
|
|
+ and tee.id = #{examId}
|
|
|
+ </if>
|
|
|
+ </where>
|
|
|
+ </select>
|
|
|
+ <update id="dataUpdate">
|
|
|
+ update t_oe_exam_record t set
|
|
|
+ t.${colName}=#{colValue} where t.id=#{recordId}
|
|
|
</update>
|
|
|
+ <select id="invigilatePageQuery"
|
|
|
+ resultType="com.qmth.themis.business.bean.backend.InvigilateListBean">
|
|
|
+ select t.exam_id examId,t.exam_activity_id
|
|
|
+ examActivityId,t.exam_student_id
|
|
|
+ examStudentId,
|
|
|
+ t.id recordId,s.identity
|
|
|
+ identity,s.room_code roomCode,s.name
|
|
|
+ name,s.course_name
|
|
|
+ courseName,s.course_code courseCode,
|
|
|
+ t.paper_download
|
|
|
+ paperDownload,t.status statusCode,t.answer_progress
|
|
|
+ progress,t.client_current_ip clientCurrentIp,
|
|
|
+ t.warning_count
|
|
|
+ warningCount,t.breach_status breachStatus
|
|
|
+ from t_oe_exam_record t
|
|
|
+ left
|
|
|
+ join t_e_exam_student s on t.exam_student_id=s.id
|
|
|
+ where t.exam_id=#{param.examId} and
|
|
|
+ t.exam_activity_id=#{param.examActivityId} and s.room_code=#{param.roomCode}
|
|
|
+ <if test="param.paperDownload != null">
|
|
|
+ and t.paper_download=#{param.paperDownload}
|
|
|
+ </if>
|
|
|
+ <if test="param.status != null and param.status != ''">
|
|
|
+ and t.status=#{param.status}
|
|
|
+ </if>
|
|
|
+ <if test="param.name != null and param.name !=''">
|
|
|
+ and s.name like CONCAT(#{param.name},'%')
|
|
|
+ </if>
|
|
|
+ <if test="param.identity != null and param.identity !=''">
|
|
|
+ and s.identity like CONCAT(#{param.identity},'%')
|
|
|
+ </if>
|
|
|
+ <if test="param.maxWarningCount != null">
|
|
|
+ and t.warning_count<=#{param.maxWarningCount}
|
|
|
+ </if>
|
|
|
+ <if test="param.minWarningCount != null">
|
|
|
+ and t.warning_count>=#{param.minWarningCount}
|
|
|
+ </if>
|
|
|
+ </select>
|
|
|
</mapper>
|